def __init__(
        self,
        in_channels: int,
        out_channels: int,
        lorder: int,
        hidden_size: int
    ):
        """
        Initializes the Gated_FSMN_dilated module.
        
        Args:
            in_channels (int): Number of input channels (features).
            out_channels (int): Number of output channels (features).
            lorder (int): Order of the FSMN.
            hidden_size (int): Number of hidden units in the feedforward layers.
        """
        super().__init__()
        
        # Feedforward convolution for the u-gate
        self.to_u = FFConvM(
            dim_in=in_channels,
            dim_out=hidden_size,
            norm_klass=nn.LayerNorm,
            dropout=0.1,
        )
        
        # Feedforward convolution for the v-gate
        self.to_v = FFConvM(
            dim_in=in_channels,
            dim_out=hidden_size,
            norm_klass=nn.LayerNorm,
            dropout=0.1,
        )
        
        # Initialize the dilated FSMN
        self.fsmn = UniDeepFsmn_dilated(in_channels, out_channels, lorder, hidden_size)

        Initializes the Gated_FSMN_dilated module.
        
        Args:
            in_channels (int): Number of input channels (features).
            out_channels (int): Number of output channels (features).
            lorder (int): Order of the FSMN.
            hidden_size (int): Number of hidden units in the feedforward layers.
        
clearvoice/clearvoice/models/mossformer2_ss/mossformer2_block.py