class_docstr: NOTE: This class is auto generated by OpenAPI Generator
  Ref: https://openapi-generator.tech
  
  Do not edit the class manually.
class_docstr_tok: ["NOTE",":","This","class","is","auto","generated","by","OpenAPI","Generator","Ref",":","https",":","\/\/openapi-generator.tech","Do","not","edit","the","class","manually","."]
docstr: (Deprecated) perform_tag_arithmetics_bitmask  # noqa: E501
  
  DEPRECATED, use performTagArithmetics - Performs tag arithmetics to compute a new bitmask out of two existing tags. Does not create a new tag regardless if newTagName is provided  # noqa: E501
  This method makes a synchronous HTTP request by default. To make an
  asynchronous HTTP request, please pass async_req=True
  
  >>> thread = api.perform_tag_arithmetics_bitmask_with_http_info(dataset_id, tag_arithmetics_request, async_req=True)
  >>> result = thread.get()
  
  :param dataset_id: ObjectId of the dataset (required)
  :type dataset_id: str
  :param tag_arithmetics_request: (required)
  :type tag_arithmetics_request: TagArithmeticsRequest
  :param async_req: Whether to execute the request asynchronously.
  :type async_req: bool, optional
  :param _preload_content: if False, the ApiResponse.data will
                           be set to none and raw_data will store the 
                           HTTP response body without reading/decoding.
                           Default is True.
  :type _preload_content: bool, optional
  :param _return_http_data_only: response data instead of ApiResponse
                                 object with status code, headers, etc
  :type _return_http_data_only: bool, optional
  :param _request_timeout: timeout setting for this request. If one
                           number provided, it will be total request
                           timeout. It can also be a pair (tuple) of
                           (connection, read) timeouts.
  :param _request_auth: set to override the auth_settings for an a single
                        request; this effectively ignores the authentication
                        in the spec for a single request.
  :type _request_auth: dict, optional
  :type _content_type: string, optional: force content-type for the request
  :return: Returns the result object.
           If the method is called asynchronously,
           returns the request thread.
  :rtype: tuple(TagBitMaskResponse, status_code(int), headers(HTTPHeaderDict))
code: def perform_tag_arithmetics_bitmask_with_http_info(
      self,
      dataset_id: Annotated[
          constr(strict=True),
          Field(..., description="ObjectId of the dataset"),
      ],
      tag_arithmetics_request: TagArithmeticsRequest,
      **kwargs,
  ) -> ApiResponse:  # noqa: E501
      """(Deprecated) perform_tag_arithmetics_bitmask  # noqa: E501
  
      DEPRECATED, use performTagArithmetics - Performs tag arithmetics to compute a new bitmask out of two existing tags. Does not create a new tag regardless if newTagName is provided  # noqa: E501
      This method makes a synchronous HTTP request by default. To make an
      asynchronous HTTP request, please pass async_req=True
  
      >>> thread = api.perform_tag_arithmetics_bitmask_with_http_info(dataset_id, tag_arithmetics_request, async_req=True)
      >>> result = thread.get()
  
      :param dataset_id: ObjectId of the dataset (required)
      :type dataset_id: str
      :param tag_arithmetics_request: (required)
      :type tag_arithmetics_request: TagArithmeticsRequest
      :param async_req: Whether to execute the request asynchronously.
      :type async_req: bool, optional
      :param _preload_content: if False, the ApiResponse.data will
                               be set to none and raw_data will store the
                               HTTP response body without reading/decoding.
                               Default is True.
      :type _preload_content: bool, optional
      :param _return_http_data_only: response data instead of ApiResponse
                                     object with status code, headers, etc
      :type _return_http_data_only: bool, optional
      :param _request_timeout: timeout setting for this request. If one
                               number provided, it will be total request
                               timeout. It can also be a pair (tuple) of
                               (connection, read) timeouts.
      :param _request_auth: set to override the auth_settings for an a single
                            request; this effectively ignores the authentication
                            in the spec for a single request.
      :type _request_auth: dict, optional
      :type _content_type: string, optional: force content-type for the request
      :return: Returns the result object.
               If the method is called asynchronously,
               returns the request thread.
      :rtype: tuple(TagBitMaskResponse, status_code(int), headers(HTTPHeaderDict))
      """
  
      warnings.warn(
          "POST /v1/datasets/{datasetId}/tags/arithmetics/bitmask is deprecated.",
          DeprecationWarning,
      )
  
      _params = locals()
  
      _all_params = ["dataset_id", "tag_arithmetics_request"]
      _all_params.extend(
          [
              "async_req",
              "_return_http_data_only",
              "_preload_content",
              "_request_timeout",
              "_request_auth",
              "_content_type",
              "_headers",
          ]
      )
  
      # validate the arguments
      for _key, _val in _params["kwargs"].items():
          if _key not in _all_params:
              raise ApiTypeError(
                  "Got an unexpected keyword argument '%s'"
                  " to method perform_tag_arithmetics_bitmask" % _key
              )
          _params[_key] = _val
      del _params["kwargs"]
  
      _collection_formats = {}
  
      # process the path parameters
      _path_params = {}
      if _params["dataset_id"]:
          _path_params["datasetId"] = _params["dataset_id"]
  
      # process the query parameters
      _query_params = []
      # process the header parameters
      _header_params = dict(_params.get("_headers", {}))
      # process the form parameters
      _form_params = []
      _files = {}
      # process the body parameter
      _body_params = None
      if _params["tag_arithmetics_request"] is not None:
          _body_params = _params["tag_arithmetics_request"]
  
      # set the HTTP header `Accept`
      _header_params["Accept"] = self.api_client.select_header_accept(
          ["application/json"]
      )  # noqa: E501
  
      # set the HTTP header `Content-Type`
      _content_types_list = _params.get(
          "_content_type",
          self.api_client.select_header_content_type(
              ["application/json"]
          ),
      )
      if _content_types_list:
          _header_params["Content-Type"] = _content_types_list
  
      # authentication setting
      _auth_settings = ["auth0Bearer", "ApiKeyAuth"]  # noqa: E501
  
      _response_types_map = {
          "200": "TagBitMaskResponse",
          "400": "ApiErrorResponse",
          "401": "ApiErrorResponse",
          "403": "ApiErrorResponse",
          "404": "ApiErrorResponse",
      }
  
      return self.api_client.call_api(
          "/v1/datasets/{datasetId}/tags/arithmetics/bitmask",
          "POST",
          _path_params,
          _query_params,
          _header_params,
          body=_body_params,
          post_params=_form_params,
          files=_files,
          response_types_map=_response_types_map,
          auth_settings=_auth_settings,
          async_req=_params.get("async_req"),
          _return_http_data_only=_params.get(
              "_return_http_data_only"
          ),  # noqa: E501
          _preload_content=_params.get("_preload_content", True),
          _request_timeout=_params.get("_request_timeout"),
          collection_formats=_collection_formats,
          _request_auth=_params.get("_request_auth"),
      )
  
imports: import re
  import io
  import warnings
  from pydantic import validate_arguments, ValidationError
  from typing_extensions import Annotated
  from pydantic import Field, StrictBool, StrictInt, StrictStr, conint, constr, validator
  from typing import List, Optional, Union
  from lightly.openapi_generated.swagger_client.models.create_entity_response import CreateEntityResponse
  from lightly.openapi_generated.swagger_client.models.file_name_format import FileNameFormat
  from lightly.openapi_generated.swagger_client.models.file_output_format import FileOutputFormat
  from lightly.openapi_generated.swagger_client.models.filename_and_read_url import FilenameAndReadUrl
  from lightly.openapi_generated.swagger_client.models.initial_tag_create_request import InitialTagCreateRequest
  from lightly.openapi_generated.swagger_client.models.label_box_data_row import LabelBoxDataRow
  from lightly.openapi_generated.swagger_client.models.label_box_v4_data_row import LabelBoxV4DataRow
  from lightly.openapi_generated.swagger_client.models.label_studio_task import LabelStudioTask
  from lightly.openapi_generated.swagger_client.models.sama_task import SamaTask
  from lightly.openapi_generated.swagger_client.models.tag_arithmetics_request import TagArithmeticsRequest
  from lightly.openapi_generated.swagger_client.models.tag_arithmetics_response import TagArithmeticsResponse
  from lightly.openapi_generated.swagger_client.models.tag_bit_mask_response import TagBitMaskResponse
  from lightly.openapi_generated.swagger_client.models.tag_create_request import TagCreateRequest
  from lightly.openapi_generated.swagger_client.models.tag_data import TagData
  from lightly.openapi_generated.swagger_client.models.tag_update_request import TagUpdateRequest
  from lightly.openapi_generated.swagger_client.models.tag_upsize_request import TagUpsizeRequest
  from lightly.openapi_generated.swagger_client.api_client import ApiClient
  from lightly.openapi_generated.swagger_client.api_response import ApiResponse
  from lightly.openapi_generated.swagger_client.exceptions import ApiTypeError, ApiValueError
label_desc: Use image node_id 31 for calling the TagsApi obj's underlying member method code with example usage: obj.perform_tag_arithmetics_bitmask_with_http_info(dataset_id, tag_arithmetics_request) and returns: self