                                  self._config["bottleneck_norm"])
  
          return KerasModel(input_, var_x, name="encoder")
  
      def _get_encoder_model(self):
          """ Return the model defined by the selected architecture.
  
          Parameters
          ----------
          input_shape: tuple
 
</s> remove         Parameters
        ----------
        input_shape: tuple
            The input shape for the model

 </s> add  </s> remove     def __init__(self, input_shape, config):
 </s> add     def __init__(self, input_shape: Tuple[int, int, int], config: dict) -> None: </s> remove     def __init__(self, side, input_shape, config):
 </s> add     def __init__(self,
                 side: Literal["a", "b", "both"],
                 input_shape: Tuple[int, int, int],
                 config: dict) -> None: </s> remove     def _scale_filters(self, original_filters):
 </s> add     def _scale_filters(self, original_filters: int) -> int: </s> remove     def _selected_model(self):
        """ dict: The selected encoder model options dictionary """
 </s> add     def _selected_model(self) -> Tuple[_EncoderInfo, dict]:
        """ tuple(dict, :class:`_EncoderInfo`): The selected encoder model and it's associated
        keyword arguments """
    def _get_encoder_model(self) -> keras.models.Model:
                                  self._config["bottleneck_norm"])
  
          return KerasModel(input_, var_x, name="encoder")
  
    def _get_encoder_model(self) -> keras.models.Model:
          """ Return the model defined by the selected architecture.
  
          Parameters
          ----------
          input_shape: tuple
keep keep keep keep replace keep keep keep keep keep
 Model updates
- Increase model summary width
- Phaze A updates
  - Update some min/max values
  - Add Decoder Filter Slope Mode
  - Add additional arguments for Upsampling2D
  - Adjust upsampling method for multiple upsamples in FC layers
  - Typing 
plugins/train/model/phaze_a.py