code: def binary_search(self, arr, start, end, target):
      while start <= end:
          mid = (start + end) // 2
          val = arr.get(mid)
          if val == target:
              return mid
          elif val > target:
              end = mid - 1
          else:
              start = mid + 1
      return -1
  
label_desc: Use image node_id 3 for calling the Solution obj's underlying member method code with example usage: obj.binary_search(arr, start, end, target) and returns: unknown, mid