)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"25fd0d0040f7a9883a8b3afe3b10183ebf092854","unresolved":true,"context_lines":[{"line_number":15,"context_line":"size of share."},{"line_number":16,"context_line":"\u0027provisioning:max_share_size\u0027"},{"line_number":17,"context_line":"\u0027provisioning:min_share_size\u0027"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Implements: blueprint share-size-limited-by-share-type"},{"line_number":20,"context_line":"Change-Id: I5ce0fabf59bfca5ebaf0be5ffe9986e2b0480295"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"d0ce336e_58fd9f62","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":0},"updated":"2021-03-05 07:58:32.000000000","message":"DocImpact\n\n\nPlease add this flag on a line by itself so that a documentation bug can be created automatically, or please add documentation for these new extra-specs within https://docs.openstack.org/manila/latest/admin/capabilities_and_extra_specs.html#share-type-common-capability-extra-specs-that-are-not-visible-to-end-users","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7197a17265e7dd329564d11ea2710bda1c72bf5","unresolved":true,"context_lines":[{"line_number":15,"context_line":"size of share."},{"line_number":16,"context_line":"\u0027provisioning:max_share_size\u0027"},{"line_number":17,"context_line":"\u0027provisioning:min_share_size\u0027"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Implements: blueprint share-size-limited-by-share-type"},{"line_number":20,"context_line":"Change-Id: I5ce0fabf59bfca5ebaf0be5ffe9986e2b0480295"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"739ea1a3_4a88ab6d","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":0},"updated":"2021-03-05 07:55:44.000000000","message":"This change introduces a change to the API behavior, so we should be bumping up the API Microversion here to suggest that this has been done. Otherwise, there is no way a user will know if these share type extra specs can be used at all - they\u0027d have to resort to trial and error. \n\nI\u0027m not saying that you should disallow this operation on older microversions - I\u0027m suggesting that we just bump the microversion to advertise that this behavior is now possible.\n\n\nBumping up the API microversion will allow you to add tests in manila-tempest-plugin - otherwise, you cannot really \"discover\" if this feature is present or not, since manila-tempest-plugin only knows about API versions and not manila releases. Can you please add some test cases in manila-tempest-plugin? We can set \"provisioning:max_share_size\" and see if we can create a larger share, and set \"provisioning:min_share_size\" and see if we can create a smaller share.","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"}],"doc/source/admin/capabilities_and_extra_specs.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"94da762b8c40768790ba1095c4dd9695f3cc27a8","unresolved":true,"context_lines":[{"line_number":259,"context_line":"  shares of that type in pools without regard for whether IPv6 is supported."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"* **provisioning:max_share_size** can set the max size of share, the value"},{"line_number":262,"context_line":"  must be integers and greater than 0. If administrators set this capability"},{"line_number":263,"context_line":"  as an extra-spec in a share type, the size of share created with the share"},{"line_number":264,"context_line":"  type can not greater than the specified value."},{"line_number":265,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"4b3cf810_ca10004c","line":262,"range":{"start_line":262,"start_character":10,"end_line":262,"end_character":18},"updated":"2021-03-07 21:43:23.000000000","message":"an integer","commit_id":"74415f6d4a7bb8b72be3e81abf79fd8597100f27"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"94da762b8c40768790ba1095c4dd9695f3cc27a8","unresolved":true,"context_lines":[{"line_number":261,"context_line":"* **provisioning:max_share_size** can set the max size of share, the value"},{"line_number":262,"context_line":"  must be integers and greater than 0. If administrators set this capability"},{"line_number":263,"context_line":"  as an extra-spec in a share type, the size of share created with the share"},{"line_number":264,"context_line":"  type can not greater than the specified value."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"* **provisioning:min_share_size** can set the min size of share, the value"},{"line_number":267,"context_line":"  must be integers and greater than 0. If administrators set this capability"}],"source_content_type":"text/x-rst","patch_set":11,"id":"d6e8733e_d9c16d90","line":264,"range":{"start_line":264,"start_character":14,"end_line":264,"end_character":15},"updated":"2021-03-07 21:43:23.000000000","message":"be","commit_id":"74415f6d4a7bb8b72be3e81abf79fd8597100f27"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"94da762b8c40768790ba1095c4dd9695f3cc27a8","unresolved":true,"context_lines":[{"line_number":264,"context_line":"  type can not greater than the specified value."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"* **provisioning:min_share_size** can set the min size of share, the value"},{"line_number":267,"context_line":"  must be integers and greater than 0. If administrators set this capability"},{"line_number":268,"context_line":"  as an extra-spec in a share type, the size of share created with the share"},{"line_number":269,"context_line":"  type can not less than the specified value."}],"source_content_type":"text/x-rst","patch_set":11,"id":"107732ab_46c37f65","line":267,"range":{"start_line":267,"start_character":10,"end_line":267,"end_character":18},"updated":"2021-03-07 21:43:23.000000000","message":"an integer","commit_id":"74415f6d4a7bb8b72be3e81abf79fd8597100f27"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"94da762b8c40768790ba1095c4dd9695f3cc27a8","unresolved":true,"context_lines":[{"line_number":266,"context_line":"* **provisioning:min_share_size** can set the min size of share, the value"},{"line_number":267,"context_line":"  must be integers and greater than 0. If administrators set this capability"},{"line_number":268,"context_line":"  as an extra-spec in a share type, the size of share created with the share"},{"line_number":269,"context_line":"  type can not less than the specified value."}],"source_content_type":"text/x-rst","patch_set":11,"id":"f4e1b0e2_e2039ff9","line":269,"range":{"start_line":269,"start_character":14,"end_line":269,"end_character":15},"updated":"2021-03-07 21:43:23.000000000","message":"be","commit_id":"74415f6d4a7bb8b72be3e81abf79fd8597100f27"}],"manila/api/openstack/api_version_request.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"94da762b8c40768790ba1095c4dd9695f3cc27a8","unresolved":true,"context_lines":[{"line_number":161,"context_line":"    * 2.59 - Add driver ``details`` field to migration get progress."},{"line_number":162,"context_line":"    * 2.60 - API URLs no longer need to include a project_id parameter."},{"line_number":163,"context_line":"    * 2.61 - Added optional provisioning:max_share_size and"},{"line_number":164,"context_line":"             provisioning:min_share_size extra spec,"},{"line_number":165,"context_line":"             which was add minimum and maximum share size restrictions"},{"line_number":166,"context_line":"             on a per share-type granularity."},{"line_number":167,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"a7e17adf_1db9406e","line":164,"range":{"start_line":164,"start_character":47,"end_line":164,"end_character":51},"updated":"2021-03-07 21:43:23.000000000","message":"specs","commit_id":"74415f6d4a7bb8b72be3e81abf79fd8597100f27"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"94da762b8c40768790ba1095c4dd9695f3cc27a8","unresolved":true,"context_lines":[{"line_number":162,"context_line":"    * 2.60 - API URLs no longer need to include a project_id parameter."},{"line_number":163,"context_line":"    * 2.61 - Added optional provisioning:max_share_size and"},{"line_number":164,"context_line":"             provisioning:min_share_size extra spec,"},{"line_number":165,"context_line":"             which was add minimum and maximum share size restrictions"},{"line_number":166,"context_line":"             on a per share-type granularity."},{"line_number":167,"context_line":"\"\"\""},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"b94613e8_f6ecf989","line":165,"range":{"start_line":165,"start_character":19,"end_line":165,"end_character":22},"updated":"2021-03-07 21:43:23.000000000","message":"can","commit_id":"74415f6d4a7bb8b72be3e81abf79fd8597100f27"}],"manila/share/api.py":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"73163b1c6928ea222ee9225aa2719bdea27fcb11","unresolved":true,"context_lines":[{"line_number":771,"context_line":""},{"line_number":772,"context_line":"        self.share_rpcapi.update_share_replica(context, share_replica)"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"    def manage(self, context, share_data, driver_options):"},{"line_number":775,"context_line":""},{"line_number":776,"context_line":"        # Check whether there\u0027s a share already with the provided options:"},{"line_number":777,"context_line":"        filters \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"fed4ac9c_e6bf7746","line":774,"range":{"start_line":774,"start_character":0,"end_line":774,"end_character":58},"updated":"2021-01-29 19:17:48.000000000","message":"This might be an operation that we should check against too. It is more tricky because need to be handled on share-manager since the driver is responsible for providing the real size of the share. Have you think about it?","commit_id":"b3031b24215691b49fd1ba788f0a680a8ccc2c53"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8e3f8e7f410b5eefd4f765238cad5922e9f553b5","unresolved":true,"context_lines":[{"line_number":771,"context_line":""},{"line_number":772,"context_line":"        self.share_rpcapi.update_share_replica(context, share_replica)"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"    def manage(self, context, share_data, driver_options):"},{"line_number":775,"context_line":""},{"line_number":776,"context_line":"        # Check whether there\u0027s a share already with the provided options:"},{"line_number":777,"context_line":"        filters \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"d3cd715b_bd64cde0","line":774,"range":{"start_line":774,"start_character":0,"end_line":774,"end_character":58},"in_reply_to":"fed4ac9c_e6bf7746","updated":"2021-02-01 07:37:36.000000000","message":"yes, it should be check when we manage share. i agree with you,thanks.\ni will add check it at manager layer after get true share share.","commit_id":"b3031b24215691b49fd1ba788f0a680a8ccc2c53"}],"manila/share/manager.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7197a17265e7dd329564d11ea2710bda1c72bf5","unresolved":true,"context_lines":[{"line_number":2593,"context_line":"            if not share_update.get(\u0027size\u0027):"},{"line_number":2594,"context_line":"                msg \u003d _(\"Driver cannot calculate share size.\")"},{"line_number":2595,"context_line":"                raise exception.InvalidShare(reason\u003dmsg)"},{"line_number":2596,"context_line":"            else:"},{"line_number":2597,"context_line":"                share_types.provision_filter_on_size(context,"},{"line_number":2598,"context_line":"                                                     share_type,"},{"line_number":2599,"context_line":"                                                     share_update.get(\u0027size\u0027))"},{"line_number":2600,"context_line":""},{"line_number":2601,"context_line":"            deltas \u003d {"},{"line_number":2602,"context_line":"                \u0027project_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"772fa5e1_5634d7ae","line":2599,"range":{"start_line":2596,"start_character":12,"end_line":2599,"end_character":78},"updated":"2021-03-05 07:55:44.000000000","message":"This isn\u0027t very useful - how is this expected to work?\n\nManage allows you to bring in an existing share, and if we fail to \"manage\" here, it\u0027ll leave the state in a \"manage_error\" state. Since manage is expected to be an administrator driven workflow, we shouldn\u0027t raise an error here - at best we can log a warning suggesting that the min and max share size limits have been violated.","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"5dc06ed5eb0b9c21481e0b73f7de6902abca2d60","unresolved":true,"context_lines":[{"line_number":2593,"context_line":"            if not share_update.get(\u0027size\u0027):"},{"line_number":2594,"context_line":"                msg \u003d _(\"Driver cannot calculate share size.\")"},{"line_number":2595,"context_line":"                raise exception.InvalidShare(reason\u003dmsg)"},{"line_number":2596,"context_line":"            else:"},{"line_number":2597,"context_line":"                share_types.provision_filter_on_size(context,"},{"line_number":2598,"context_line":"                                                     share_type,"},{"line_number":2599,"context_line":"                                                     share_update.get(\u0027size\u0027))"},{"line_number":2600,"context_line":""},{"line_number":2601,"context_line":"            deltas \u003d {"},{"line_number":2602,"context_line":"                \u0027project_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"ebadb383_27ce1689","line":2599,"range":{"start_line":2596,"start_character":12,"end_line":2599,"end_character":78},"in_reply_to":"772fa5e1_5634d7ae","updated":"2021-03-06 06:37:04.000000000","message":"this means administrator have higher privileges and are exempt from this rule, only give warning. but only administrator can create share type or update share type extra specs with this extra spec, this means administrator want this restrict, if we only warning here, Is it not in line with the administrator\u0027s expectations?","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"}],"manila/share/share_types.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7197a17265e7dd329564d11ea2710bda1c72bf5","unresolved":true,"context_lines":[{"line_number":49,"context_line":"    except exception.InvalidExtraSpec as e:"},{"line_number":50,"context_line":"        raise exception.InvalidShareType(reason\u003dsix.text_type(e))"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    extra_specs \u003d sanitize_extra_specs(extra_specs)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    try:"},{"line_number":55,"context_line":"        type_ref \u003d db.share_type_create(context,"}],"source_content_type":"text/x-python","patch_set":9,"id":"cfbebf65_529c5020","line":52,"range":{"start_line":52,"start_character":0,"end_line":52,"end_character":51},"updated":"2021-03-05 07:55:44.000000000","message":"You could add some error checking here to ensure that the values for \"provisioning:min_share_size\" and \"provisioning:max_share_size\" are integers greater than 0.","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"5dc06ed5eb0b9c21481e0b73f7de6902abca2d60","unresolved":true,"context_lines":[{"line_number":49,"context_line":"    except exception.InvalidExtraSpec as e:"},{"line_number":50,"context_line":"        raise exception.InvalidShareType(reason\u003dsix.text_type(e))"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    extra_specs \u003d sanitize_extra_specs(extra_specs)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    try:"},{"line_number":55,"context_line":"        type_ref \u003d db.share_type_create(context,"}],"source_content_type":"text/x-python","patch_set":9,"id":"0ca3a343_299cff00","line":52,"range":{"start_line":52,"start_character":0,"end_line":52,"end_character":51},"in_reply_to":"cfbebf65_529c5020","updated":"2021-03-06 06:37:04.000000000","message":"good idea, i will add some check.\nand when we create new share type extra specs or update share tyep extra specs should check also.\n\ni will add the check in function get_valid_optional_extra_specs ----\u003e is_valid_optional_extra_spec to check the size if greater than 0.","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7197a17265e7dd329564d11ea2710bda1c72bf5","unresolved":true,"context_lines":[{"line_number":436,"context_line":"    if share_type:"},{"line_number":437,"context_line":"        size_int \u003d int(size)"},{"line_number":438,"context_line":"        extra_specs \u003d share_type.get(\u0027extra_specs\u0027, {})"},{"line_number":439,"context_line":"        min_size \u003d extra_specs.get(MIN_SIZE_KEY)"},{"line_number":440,"context_line":"        if min_size and size_int \u003c int(min_size):"},{"line_number":441,"context_line":"            msg \u003d _(\"Specified share size of \u0027%(req_size)d\u0027 is less \""},{"line_number":442,"context_line":"                    \"than the minimum required size of \u0027%(min_size)s\u0027 \""}],"source_content_type":"text/x-python","patch_set":9,"id":"89a0c696_27b62726","line":439,"range":{"start_line":439,"start_character":19,"end_line":439,"end_character":48},"updated":"2021-03-05 07:55:44.000000000","message":"How do we know this is a valid integer. See the comment about validation for the value of this extra spec above..","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"5dc06ed5eb0b9c21481e0b73f7de6902abca2d60","unresolved":true,"context_lines":[{"line_number":436,"context_line":"    if share_type:"},{"line_number":437,"context_line":"        size_int \u003d int(size)"},{"line_number":438,"context_line":"        extra_specs \u003d share_type.get(\u0027extra_specs\u0027, {})"},{"line_number":439,"context_line":"        min_size \u003d extra_specs.get(MIN_SIZE_KEY)"},{"line_number":440,"context_line":"        if min_size and size_int \u003c int(min_size):"},{"line_number":441,"context_line":"            msg \u003d _(\"Specified share size of \u0027%(req_size)d\u0027 is less \""},{"line_number":442,"context_line":"                    \"than the minimum required size of \u0027%(min_size)s\u0027 \""}],"source_content_type":"text/x-python","patch_set":9,"id":"fc4b675c_1cc147a7","line":439,"range":{"start_line":439,"start_character":19,"end_line":439,"end_character":48},"in_reply_to":"89a0c696_27b62726","updated":"2021-03-06 06:37:04.000000000","message":"i have add function to check if this value is integer. when create share type or share type extra specs or update share type extra specs this value will be checked by function is_valid_optional_extra_spec.","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"}],"releasenotes/notes/min-max-share-size-on-type-a7c69046e5c57944.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7197a17265e7dd329564d11ea2710bda1c72bf5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ability to add minimum and maximum share size restrictions which"},{"line_number":4,"context_line":"    can be set on a per share-type granularity. Add new share type keys"},{"line_number":5,"context_line":"    of \u0027provisioning:max_share_size\u0027 and \u0027provisioning:min_share_size\u0027"},{"line_number":6,"context_line":"    to extra specs of share type."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5b1371de_4ec8388c","line":5,"range":{"start_line":4,"start_character":48,"end_line":5,"end_character":6},"updated":"2021-03-05 07:55:44.000000000","message":"Added new extra specs:","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"5dc06ed5eb0b9c21481e0b73f7de6902abca2d60","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Ability to add minimum and maximum share size restrictions which"},{"line_number":4,"context_line":"    can be set on a per share-type granularity. Add new share type keys"},{"line_number":5,"context_line":"    of \u0027provisioning:max_share_size\u0027 and \u0027provisioning:min_share_size\u0027"},{"line_number":6,"context_line":"    to extra specs of share type."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"b27b8063_f5f25c83","line":5,"range":{"start_line":4,"start_character":48,"end_line":5,"end_character":6},"in_reply_to":"5b1371de_4ec8388c","updated":"2021-03-06 06:37:04.000000000","message":"Done","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7197a17265e7dd329564d11ea2710bda1c72bf5","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - Ability to add minimum and maximum share size restrictions which"},{"line_number":4,"context_line":"    can be set on a per share-type granularity. Add new share type keys"},{"line_number":5,"context_line":"    of \u0027provisioning:max_share_size\u0027 and \u0027provisioning:min_share_size\u0027"},{"line_number":6,"context_line":"    to extra specs of share type."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"b81f929f_8c2e5f1d","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":33},"updated":"2021-03-05 07:55:44.000000000","message":"remove","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"5dc06ed5eb0b9c21481e0b73f7de6902abca2d60","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Ability to add minimum and maximum share size restrictions which"},{"line_number":4,"context_line":"    can be set on a per share-type granularity. Add new share type keys"},{"line_number":5,"context_line":"    of \u0027provisioning:max_share_size\u0027 and \u0027provisioning:min_share_size\u0027"},{"line_number":6,"context_line":"    to extra specs of share type."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"41cc4018_47ee59bd","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":33},"in_reply_to":"b81f929f_8c2e5f1d","updated":"2021-03-06 06:37:04.000000000","message":"Done","commit_id":"de6147a8928b3edb917faed1a6645d1914c6069d"}]}
