          steps = (1,) * len(axes) if self._steps is None else self._steps
          assert len(axes) == len(steps) == len(self._starts) == len(self._ends)
          return list(zip(axes, self._starts, self._ends, steps))
  
      def compute_output_shape(self, input_shape: T.Tuple[int, ...]) -> T.Tuple[int, ...]:
          """Computes the output shape of the layer.
  
          Assumes that the layer will be built to match that input shape provided.
  
          Parameters
 
</s> remove                  input_shape: T.Optional[T.Tuple[int, int, int]] = None) -> None:
 </s> add                  input_shape: tuple[int, int, int] | None = None) -> None: </s> remove     def _get_inputs(self) -> T.List[tf.keras.layers.Input]:
 </s> add     def _get_inputs(self) -> list[tf.keras.layers.Input]: </s> remove     def _get_input_shape(self) -> T.Tuple[int, int, int]:
 </s> add     def _get_input_shape(self) -> tuple[int, int, int]: </s> remove     def __init__(self, input_shape: T.Tuple[int, ...], config: dict) -> None:
 </s> add     def __init__(self, input_shape: tuple[int, ...], config: dict) -> None: </s> remove     def _get_slices(self, dimensions: int) -> T.List[T.Tuple[int, ...]]:
 </s> add     def _get_slices(self, dimensions: int) -> list[tuple[int, ...]]:
    def compute_output_shape(self, input_shape: tuple[int, ...]) -> tuple[int, ...]:
          steps = (1,) * len(axes) if self._steps is None else self._steps
          assert len(axes) == len(steps) == len(self._starts) == len(self._ends)
          return list(zip(axes, self._starts, self._ends, steps))
  
    def compute_output_shape(self, input_shape: tuple[int, ...]) -> tuple[int, ...]:
          """Computes the output shape of the layer.
  
          Assumes that the layer will be built to match that input shape provided.
  
          Parameters
keep keep keep keep replace keep keep keep keep keep
 Rebase code (#1326)

* Remove tensorflow_probability requirement

* setup.py - fix progress bars

* requirements.txt: Remove pre python 3.9 packages

* update apple requirements.txt

* update INSTALL.md

* Remove python<3.9 code

* setup.py - fix Windows Installer

* typing: python3.9 compliant

* Update pytest and readthedocs python versions

* typing fixes

* Python Version updates
  - Reduce max version to 3.10
  - Default to 3.10 in installers
  - Remove incompatible 3.11 tests

* Update dependencies

* Downgrade imageio dep for Windows

* typing: merge optional unions and fixes

* Updates
  - min python version 3.10
  - typing to python 3.10 spec
  - remove pre-tf2.10 code
  - Add conda tests

* train: re-enable optimizer saving

* Update dockerfiles

* Update setup.py
  - Apple Conda deps to setup.py
  - Better Cuda + dependency handling

* bugfix: Patch logging to prevent Autograph errors

* Update dockerfiles

* Setup.py - Setup.py - stdout to utf-8

* Add more OSes to github Actions

* suppress mac-os end to end test 
plugins/extract/detect/s3fd.py