\begin{longtable}{lp{0.6\linewidth}}
\toprule
Table Name & Parameter / Description \\
\midrule
\endfirsthead
\toprule
Table Name & Parameter / Description \\
\midrule
\endhead
\midrule
\multicolumn{2}{r}{Continued on next page} \\
\midrule
\endfoot
\bottomrule
\endlastfoot
\multirow[t]{2}{*}{JIT Compile} & compile\_kwargs.jit\_compile \\
 & Defines whether to compile the model using Just-In-Time compilation for performance \\
\cline{1-2}
\multirow[t]{2}{*}{Epochs} & fit\_kwargs.epochs \\
 & Maximum number of epochs \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Size} & fit\_kwargs.batch\_size \\
 & Batch size used for training \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Decay Steps} & fit\_kwargs.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Steps after which to decay the learning rate with the scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Initial Learning Rate} & fit\_kwargs.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Scheduler} & fit\_kwargs.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Early Stopping} & fit\_kwargs.early\_stopping \\
 & Enable early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Validation Split} & fit\_kwargs.validation\_split \\
 & Fraction of training data to be used as validation data \\
\cline{1-2}
\multirow[t]{2}{*}{Output Distribution} & model\_kwargs.distribution \\
 & Specifies the type of output distribution used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Flows} & model\_kwargs.num\_layers \\
 & Total number of layers in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Bijector} & model\_kwargs.bijector \\
 & Specifies the bijector type to be used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Bernstein Bijector Extrapolation} & model\_kwargs.bijector\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Bernstein Bijector Domain Min} & model\_kwargs.bijector\_kwargs.domain.0 \\
 & Lower bound of the Bernstein polynomial bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Bernstein Bijector Domain Max} & model\_kwargs.bijector\_kwargs.domain.1 \\
 & Upper bound of the Bernstein polynomial bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Invert Bijector} & model\_kwargs.invert \\
 & Indicates if the bijector should be inverted \\
\cline{1-2}
\multirow[t]{2}{*}{Allow Flexible Bounds for Parameters} & model\_kwargs.parameters\_constraint\_fn\_kwargs.allow\_flexible\_bounds \\
 & Defines if flexible bounds are allowed for the parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Bounds constraints for Parameters} & model\_kwargs.parameters\_constraint\_fn\_kwargs.bounds \\
 & Defining the type of constraints on the bounds for the parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Codomain Min} & model\_kwargs.parameters\_constraint\_fn\_kwargs.low \\
 & Defines the lower bound for the corresponding parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Codomain Max} & model\_kwargs.parameters\_constraint\_fn\_kwargs.high \\
 & Defines the upper bound for the corresponding parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Parameters} & model\_kwargs.num\_parameters \\
 & Total number of parameters in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Low Constraint for Layer Overwrite -2} & model\_kwargs.layer\_overwrites.-2.parameters\_constraint\_fn\_kwargs.low \\
 & Lower constraint for parameters in layer overwrite -2 \\
\cline{1-2}
\multirow[t]{2}{*}{High Constraint for Layer Overwrite -2} & model\_kwargs.layer\_overwrites.-2.parameters\_constraint\_fn\_kwargs.high \\
 & Upper constraint for parameters in layer overwrite -2 \\
\cline{1-2}
\multirow[t]{2}{*}{Low Constraint for Layer Overwrite -1} & model\_kwargs.layer\_overwrites.-1.parameters\_constraint\_fn\_kwargs.low \\
 & Lower constraint for parameters in layer overwrite -1 \\
\cline{1-2}
\multirow[t]{2}{*}{High Constraint for Layer Overwrite -1} & model\_kwargs.layer\_overwrites.-1.parameters\_constraint\_fn\_kwargs.high \\
 & Upper constraint for parameters in layer overwrite -1 \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function} & model\_kwargs.parameters\_fn\_kwargs.activation \\
 & Activation function of the used neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Normalization} & model\_kwargs.parameters\_fn\_kwargs.batch\_norm \\
 & Specifies if batch normalization should be enabled in the used neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Dropout Rate} & model\_kwargs.parameters\_fn\_kwargs.dropout \\
 & Dropout rate for the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Third Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.2 \\
 & Number of units in the third hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Conditional} & model\_kwargs.parameters\_fn\_kwargs.conditional \\
 & Indicates if the parameter functions should get the covariates as input \\
\cline{1-2}
\multirow[t]{2}{*}{Conditional Event Shape} & model\_kwargs.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the covariate vector \\
\cline{1-2}
\multirow[t]{2}{*}{JIT Compile} & compile\_kwargs.jit\_compile \\
 & Defines whether to compile the model using Just-In-Time compilation for performance \\
\cline{1-2}
\multirow[t]{2}{*}{Epochs} & fit\_kwargs.epochs \\
 & Maximum number of epochs \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Size} & fit\_kwargs.batch\_size \\
 & Batch size used for training \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Decay Steps} & fit\_kwargs.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Steps after which to decay the learning rate with the scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Initial Learning Rate} & fit\_kwargs.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Scheduler} & fit\_kwargs.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Early Stopping} & fit\_kwargs.early\_stopping \\
 & Enable early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Validation Split} & fit\_kwargs.validation\_split \\
 & Fraction of training data to be used as validation data \\
\cline{1-2}
\multirow[t]{2}{*}{Output Distribution} & model\_kwargs.distribution \\
 & Specifies the type of output distribution used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Flows} & model\_kwargs.num\_layers \\
 & Total number of layers in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Bijector} & model\_kwargs.bijector \\
 & Specifies the bijector type to be used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Parameters} & model\_kwargs.num\_parameters \\
 & Total number of parameters in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function} & model\_kwargs.parameters\_fn\_kwargs.activation \\
 & Activation function of the used neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Normalization} & model\_kwargs.parameters\_fn\_kwargs.batch\_norm \\
 & Specifies if batch normalization should be enabled in the used neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Dropout Rate} & model\_kwargs.parameters\_fn\_kwargs.dropout \\
 & Dropout rate for the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Third Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.2 \\
 & Number of units in the third hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Spline Bijector Domain Min} & model\_kwargs.bijector\_kwargs.range\_min \\
 & Lower bound of the quadratic spline bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Interval Width for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.interval\_width \\
 & Specifies the interval width for constraint parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Slope for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.min\_slope \\
 & Defines the minimum slope constraint for parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Bin Width for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.min\_bin\_width \\
 & Defines the minimum bin width for the nested Spline bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Bins for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.nbins \\
 & Defines the number of bins used by the nested bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Conditional} & model\_kwargs.parameters\_fn\_kwargs.conditional \\
 & Indicates if the parameter functions should get the covariates as input \\
\cline{1-2}
\multirow[t]{2}{*}{Conditional Event Shape} & model\_kwargs.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the covariate vector \\
\cline{1-2}
\multirow[t]{2}{*}{JIT Compile} & compile\_kwargs.jit\_compile \\
 & Defines whether to compile the model using Just-In-Time compilation for performance \\
\cline{1-2}
\multirow[t]{2}{*}{Epochs} & fit\_kwargs.epochs \\
 & Maximum number of epochs \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Size} & fit\_kwargs.batch\_size \\
 & Batch size used for training \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Decay Steps} & fit\_kwargs.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Steps after which to decay the learning rate with the scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Initial Learning Rate} & fit\_kwargs.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Scheduler} & fit\_kwargs.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Early Stopping} & fit\_kwargs.early\_stopping \\
 & Enable early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Validation Split} & fit\_kwargs.validation\_split \\
 & Fraction of training data to be used as validation data \\
\cline{1-2}
\multirow[t]{2}{*}{Output Distribution} & model\_kwargs.distribution \\
 & Specifies the type of output distribution used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Flows} & model\_kwargs.num\_layers \\
 & Total number of layers in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Bijector} & model\_kwargs.bijector \\
 & Specifies the bijector type to be used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Bernstein Bijector Extrapolation} & model\_kwargs.bijector\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Bernstein Bijector Domain Min} & model\_kwargs.bijector\_kwargs.domain.0 \\
 & Lower bound of the Bernstein polynomial bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Bernstein Bijector Domain Max} & model\_kwargs.bijector\_kwargs.domain.1 \\
 & Upper bound of the Bernstein polynomial bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Invert Bijector} & model\_kwargs.invert \\
 & Indicates if the bijector should be inverted \\
\cline{1-2}
\multirow[t]{2}{*}{Allow Flexible Bounds for Parameters} & model\_kwargs.parameters\_constraint\_fn\_kwargs.allow\_flexible\_bounds \\
 & Defines if flexible bounds are allowed for the parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Bounds constraints for Parameters} & model\_kwargs.parameters\_constraint\_fn\_kwargs.bounds \\
 & Defining the type of constraints on the bounds for the parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Codomain Min} & model\_kwargs.parameters\_constraint\_fn\_kwargs.low \\
 & Defines the lower bound for the corresponding parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Codomain Max} & model\_kwargs.parameters\_constraint\_fn\_kwargs.high \\
 & Defines the upper bound for the corresponding parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Parameters} & model\_kwargs.num\_parameters \\
 & Total number of parameters in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function} & model\_kwargs.parameters\_fn\_kwargs.activation \\
 & Activation function of the used neural network \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Third Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.2 \\
 & Number of units in the third hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Layer Overwrite 0 Domain Min} & model\_kwargs.layer\_overwrites.0.bijector\_kwargs.domain.0 \\
 & Lower boundary for the domain in layer overwrite 0 \\
\cline{1-2}
\multirow[t]{2}{*}{Layer Overwrite 0 Domain Max} & model\_kwargs.layer\_overwrites.0.bijector\_kwargs.domain.1 \\
 & Upper boundary for the domain in layer overwrite 0 \\
\cline{1-2}
\multirow[t]{2}{*}{Conditional} & model\_kwargs.parameters\_fn\_kwargs.conditional \\
 & Indicates if the parameter functions should get the covariates as input \\
\cline{1-2}
\multirow[t]{2}{*}{Conditional Event Shape} & model\_kwargs.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the covariate vector \\
\cline{1-2}
\multirow[t]{2}{*}{JIT Compile} & compile\_kwargs.jit\_compile \\
 & Defines whether to compile the model using Just-In-Time compilation for performance \\
\cline{1-2}
\multirow[t]{2}{*}{Epochs} & fit\_kwargs.epochs \\
 & Maximum number of epochs \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Size} & fit\_kwargs.batch\_size \\
 & Batch size used for training \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Decay Steps} & fit\_kwargs.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Steps after which to decay the learning rate with the scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Initial Learning Rate} & fit\_kwargs.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Scheduler} & fit\_kwargs.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Early Stopping} & fit\_kwargs.early\_stopping \\
 & Enable early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Validation Split} & fit\_kwargs.validation\_split \\
 & Fraction of training data to be used as validation data \\
\cline{1-2}
\multirow[t]{2}{*}{Output Distribution} & model\_kwargs.distribution \\
 & Specifies the type of output distribution used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Flows} & model\_kwargs.num\_layers \\
 & Total number of layers in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Bijector} & model\_kwargs.bijector \\
 & Specifies the bijector type to be used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Parameters} & model\_kwargs.num\_parameters \\
 & Total number of parameters in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function} & model\_kwargs.parameters\_fn\_kwargs.activation \\
 & Activation function of the used neural network \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Third Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.2 \\
 & Number of units in the third hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Spline Bijector Domain Min} & model\_kwargs.bijector\_kwargs.range\_min \\
 & Lower bound of the quadratic spline bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Interval Width for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.interval\_width \\
 & Specifies the interval width for constraint parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Slope for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.min\_slope \\
 & Defines the minimum slope constraint for parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Bin Width for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.min\_bin\_width \\
 & Defines the minimum bin width for the nested Spline bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Bins for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.nbins \\
 & Defines the number of bins used by the nested bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Conditional} & model\_kwargs.parameters\_fn\_kwargs.conditional \\
 & Indicates if the parameter functions should get the covariates as input \\
\cline{1-2}
\multirow[t]{2}{*}{Conditional Event Shape} & model\_kwargs.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the covariate vector \\
\cline{1-2}
\multirow[t]{2}{*}{JIT Compile} & compile\_kwargs.jit\_compile \\
 & Defines whether to compile the model using Just-In-Time compilation for performance \\
\cline{1-2}
\multirow[t]{2}{*}{Epochs} & fit\_kwargs.epochs \\
 & Maximum number of epochs \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Size} & fit\_kwargs.batch\_size \\
 & Batch size used for training \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Decay Steps} & fit\_kwargs.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Steps after which to decay the learning rate with the scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Initial Learning Rate} & fit\_kwargs.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Scheduler} & fit\_kwargs.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Early Stopping} & fit\_kwargs.early\_stopping \\
 & Enable early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Validation Split} & fit\_kwargs.validation\_split \\
 & Fraction of training data to be used as validation data \\
\cline{1-2}
\multirow[t]{2}{*}{Output Distribution} & model\_kwargs.distribution \\
 & Specifies the type of output distribution used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function} & model\_kwargs.parameters\_fn\_kwargs.activation \\
 & Activation function of the used neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Normalization} & model\_kwargs.parameters\_fn\_kwargs.batch\_norm \\
 & Specifies if batch normalization should be enabled in the used neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Dropout Rate} & model\_kwargs.parameters\_fn\_kwargs.dropout \\
 & Dropout rate for the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Conditional} & model\_kwargs.parameters\_fn\_kwargs.conditional \\
 & Indicates if the parameter functions should get the covariates as input \\
\cline{1-2}
\multirow[t]{2}{*}{Conditional Event Shape} & model\_kwargs.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the covariate vector \\
\cline{1-2}
\multirow[t]{2}{*}{Epochs} & fit\_kwargs.epochs \\
 & Maximum number of epochs \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Size} & fit\_kwargs.batch\_size \\
 & Batch size used for training \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Decay Steps} & fit\_kwargs.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Steps after which to decay the learning rate with the scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Initial Learning Rate} & fit\_kwargs.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Scheduler} & fit\_kwargs.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Validation Split} & fit\_kwargs.validation\_split \\
 & Fraction of training data to be used as validation data \\
\cline{1-2}
\multirow[t]{2}{*}{Two-Stage Training} & two\_stage\_training \\
 & Indicates if the model should be trained in two stages \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.bijector \\
 & Specifies the type of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Invert First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.invert \\
 & Indicates if the first marginal bijector should allow inversion \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Domain Min} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.domain.0 \\
 & Lower boundary for the domain of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Domain Max} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.domain.1 \\
 & Upper boundary for the domain of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Extrapolation} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Constraint Function} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn \\
 & Constraint function for the parameters of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Allow Flexible Bounds for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.allow\_flexible\_bounds \\
 & Defines if flexible bounds are allowed for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Bounds constraints for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.bounds \\
 & Defining the constraints on the bounds for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Codomain Max} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.high \\
 & Defines the upper bound for parameters in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Codomain Min} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.low \\
 & Defines the lower bound for parameters in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Parameters Function for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_fn \\
 & Function for calculating parameters of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Shape 0} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Shape 1} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.1 \\
 & Defines the parameter shape dimension 1 for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Joint Bijector} & model\_kwargs.joint\_bijectors.0.bijector \\
 & Specifies the first bijector type for the joint distribution \\
\cline{1-2}
\multirow[t]{2}{*}{Invert First Joint Bijector} & model\_kwargs.joint\_bijectors.0.invert \\
 & Indicates if the first joint bijector should allow inversion \\
\cline{1-2}
\multirow[t]{2}{*}{Parameter Shape 0 for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Early Stopping} & fit\_kwargs.early\_stopping \\
 & Enable early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Second Marginal Bijector} & model\_kwargs.marginal\_bijectors.1.bijector \\
 & Specifies the type of second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Invert Second Marginal Bijector} & model\_kwargs.marginal\_bijectors.1.invert \\
 & Indicates if the second marginal bijector should allow inversion \\
\cline{1-2}
\multirow[t]{2}{*}{Parameters Function for Second Marginal Bijector} & model\_kwargs.marginal\_bijectors.1.parameters\_fn \\
 & Function for calculating parameters of the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Second Marginal Bijector Conditional Event Shape} & model\_kwargs.marginal\_bijectors.1.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the conditional events for the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Extrapolation for Second Marginal Bijector} & model\_kwargs.marginal\_bijectors.1.parameters\_fn\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Second Marginal Bijector Parameter Shape 0} & model\_kwargs.marginal\_bijectors.1.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Polynomial Order for Second Marginal Bijector} & model\_kwargs.marginal\_bijectors.1.parameters\_fn\_kwargs.polynomial\_order \\
 & Defines the order of the polynomial for computations in the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector Conditional Event Shape} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the conditional events for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Extrapolation for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Polynomial Order for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.polynomial\_order \\
 & Defines the order of the polynomial for computations in the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Parameter Shape 1 for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.1 \\
 & Defines the parameter shape dimension 1 for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Two-Stage Training} & two\_stage\_training \\
 & Indicates if the model should be trained in two stages \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.bijector \\
 & Specifies the type of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Invert First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.invert \\
 & Indicates if the first marginal bijector should allow inversion \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Domain Min} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.domain.0 \\
 & Lower boundary for the domain of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Domain Max} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.domain.1 \\
 & Upper boundary for the domain of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Extrapolation} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Constraint Function} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn \\
 & Constraint function for the parameters of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Allow Flexible Bounds for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.allow\_flexible\_bounds \\
 & Defines if flexible bounds are allowed for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Bounds constraints for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.bounds \\
 & Defining the constraints on the bounds for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Codomain Max} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.high \\
 & Defines the upper bound for parameters in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Codomain Min} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.low \\
 & Defines the lower bound for parameters in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Shape 0} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Shape 1} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.1 \\
 & Defines the parameter shape dimension 1 for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Joint Bijector} & model\_kwargs.joint\_bijectors.0.bijector \\
 & Specifies the first bijector type for the joint distribution \\
\cline{1-2}
\multirow[t]{2}{*}{Parameter Shape 0 for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Epochs} & fit\_kwargs.0.epochs \\
 & Number of epochs for training the marginal distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Batch Size} & fit\_kwargs.0.batch\_size \\
 & Batch size for training the marginal distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Learning Rate} & fit\_kwargs.0.learning\_rate \\
 & Learning rate used to optimize the marginal distribution \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Reduce LR on Plateau} & fit\_kwargs.0.reduce\_lr\_on\_plateau \\
 & Whether to reduce learning rate on a plateau during training \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Early Stopping} & fit\_kwargs.0.early\_stopping \\
 & Enables early stopping for the marginal model training \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Monitor} & fit\_kwargs.0.monitor \\
 & Metric to monitor during training for early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Verbosity} & fit\_kwargs.0.verbose \\
 & Verbosity mode for the marginal model training \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Validation Split} & fit\_kwargs.0.validation\_split \\
 & Fraction of training data to be used as validation data for the marginal model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Epochs} & fit\_kwargs.1.epochs \\
 & Maximum number of epochs for training the joint distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Batch Size} & fit\_kwargs.1.batch\_size \\
 & Batch size for training the joint distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Learning Rate Decay Steps} & fit\_kwargs.1.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Total number of decay steps for the learning rate scheduler of the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Initial Learning Rate} & fit\_kwargs.1.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler for the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Learning Rate Scheduler} & fit\_kwargs.1.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler for the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Early Stopping} & fit\_kwargs.1.early\_stopping \\
 & Enables early stopping for the joint model training \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Validation Split} & fit\_kwargs.1.validation\_split \\
 & Fraction of training data to be used as validation data for the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Masked Dimensions} & model\_kwargs.joint\_bijectors.0.bijector\_kwargs.num\_masked \\
 & Number of deimensions mask in the Coupling Flow \\
\cline{1-2}
\multirow[t]{2}{*}{First Nested Bijector} & model\_kwargs.joint\_bijectors.0.nested\_bijector.bijector \\
 & Specifies the type of nested bijector used in the first joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Invert Nested Bijector} & model\_kwargs.joint\_bijectors.0.nested\_bijector.invert \\
 & Specifies if the nested bijector should be invertible \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Domain Min} & model\_kwargs.joint\_bijectors.0.nested\_bijector.bijector\_kwargs.domain.0 \\
 & Lower boundary for the nested Bernstein bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Domain Max} & model\_kwargs.joint\_bijectors.0.nested\_bijector.bijector\_kwargs.domain.1 \\
 & Upper boundary for the nested Bernstein bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Extrapolation} & model\_kwargs.joint\_bijectors.0.nested\_bijector.bijector\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the nested Bernstein bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bijector Parameter Constraint Function} & model\_kwargs.joint\_bijectors.0.nested\_bijector.parameters\_constraint\_fn \\
 & Constraint function applied to the parameters of the nested bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Bounds constraints of Nested Bernstein Bijector} & model\_kwargs.joint\_bijectors.0.nested\_bijector.parameters\_constraint\_fn\_kwargs.bounds \\
 & Defining the type of constraints on the bounds of the nested Bernstein bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Codomain Max} & model\_kwargs.joint\_bijectors.0.nested\_bijector.parameters\_constraint\_fn\_kwargs.high \\
 & Defines the upper bound for the corresponding parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Codomain Min} & model\_kwargs.joint\_bijectors.0.nested\_bijector.parameters\_constraint\_fn\_kwargs.low \\
 & Defines the lower bound for the corresponding parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.activation \\
 & Activation function used in the neural network used to estimate the joint bijector parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Normalization for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.batch\_norm \\
 & Specifies if batch normalization should be applied in the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Dropout Rate for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.dropout \\
 & Dropout rate to apply in the joint bijector neural network \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer of the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Input Shape 0 for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.input\_shape.0 \\
 & Defines the input shape dimension 0 for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{JIT Compile} & compile\_kwargs.jit\_compile \\
 & Defines whether to compile the model using Just-In-Time compilation for performance \\
\cline{1-2}
\multirow[t]{2}{*}{Parameters Function for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_fn \\
 & Function for calculating parameters of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector Conditional Event Shape} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the conditional events for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Extrapolation for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Conditional Event Shape} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of conditional events for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Polynomial Order for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.polynomial\_order \\
 & Defines the order of the polynomial for computations in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer of the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Third Hidden Units for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.hidden\_units.2 \\
 & Number of units in the third hidden layer of the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Parameter Shape 1 for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.1 \\
 & Defines the parameter shape dimension 1 for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Is Conditional for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.conditional \\
 & Indicates if the joint bijector is conditional \\
\cline{1-2}
\multirow[t]{2}{*}{Two-Stage Training} & two\_stage\_training \\
 & Indicates if the model should be trained in two stages \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.bijector \\
 & Specifies the type of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Invert First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.invert \\
 & Indicates if the first marginal bijector should allow inversion \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Domain Min} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.domain.0 \\
 & Lower boundary for the domain of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Domain Max} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.domain.1 \\
 & Upper boundary for the domain of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Extrapolation} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Constraint Function} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn \\
 & Constraint function for the parameters of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Allow Flexible Bounds for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.allow\_flexible\_bounds \\
 & Defines if flexible bounds are allowed for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Bounds constraints for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.bounds \\
 & Defining the constraints on the bounds for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Codomain Max} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.high \\
 & Defines the upper bound for parameters in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Codomain Min} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.low \\
 & Defines the lower bound for parameters in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Shape 0} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Shape 1} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.1 \\
 & Defines the parameter shape dimension 1 for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Joint Bijector} & model\_kwargs.joint\_bijectors.0.bijector \\
 & Specifies the first bijector type for the joint distribution \\
\cline{1-2}
\multirow[t]{2}{*}{Parameter Shape 0 for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Epochs} & fit\_kwargs.0.epochs \\
 & Number of epochs for training the marginal distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Batch Size} & fit\_kwargs.0.batch\_size \\
 & Batch size for training the marginal distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Learning Rate} & fit\_kwargs.0.learning\_rate \\
 & Learning rate used to optimize the marginal distribution \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Reduce LR on Plateau} & fit\_kwargs.0.reduce\_lr\_on\_plateau \\
 & Whether to reduce learning rate on a plateau during training \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Early Stopping} & fit\_kwargs.0.early\_stopping \\
 & Enables early stopping for the marginal model training \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Monitor} & fit\_kwargs.0.monitor \\
 & Metric to monitor during training for early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Verbosity} & fit\_kwargs.0.verbose \\
 & Verbosity mode for the marginal model training \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Validation Split} & fit\_kwargs.0.validation\_split \\
 & Fraction of training data to be used as validation data for the marginal model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Epochs} & fit\_kwargs.1.epochs \\
 & Maximum number of epochs for training the joint distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Batch Size} & fit\_kwargs.1.batch\_size \\
 & Batch size for training the joint distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Learning Rate Decay Steps} & fit\_kwargs.1.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Total number of decay steps for the learning rate scheduler of the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Initial Learning Rate} & fit\_kwargs.1.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler for the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Learning Rate Scheduler} & fit\_kwargs.1.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler for the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Early Stopping} & fit\_kwargs.1.early\_stopping \\
 & Enables early stopping for the joint model training \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Validation Split} & fit\_kwargs.1.validation\_split \\
 & Fraction of training data to be used as validation data for the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Masked Dimensions} & model\_kwargs.joint\_bijectors.0.bijector\_kwargs.num\_masked \\
 & Number of deimensions mask in the Coupling Flow \\
\cline{1-2}
\multirow[t]{2}{*}{First Nested Bijector} & model\_kwargs.joint\_bijectors.0.nested\_bijector.bijector \\
 & Specifies the type of nested bijector used in the first joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.activation \\
 & Activation function used in the neural network used to estimate the joint bijector parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Normalization for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.batch\_norm \\
 & Specifies if batch normalization should be applied in the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Dropout Rate for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.dropout \\
 & Dropout rate to apply in the joint bijector neural network \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer of the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer of the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Third Hidden Units for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.hidden\_units.2 \\
 & Number of units in the third hidden layer of the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Input Shape 0 for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.input\_shape.0 \\
 & Defines the input shape dimension 0 for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Parameter Shape 1 for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.1 \\
 & Defines the parameter shape dimension 1 for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Spline Bijector Range Min} & model\_kwargs.joint\_bijectors.0.nested\_bijector.bijector\_kwargs.range\_min \\
 & Minimum range value for the nested bijector transformation \\
\cline{1-2}
\multirow[t]{2}{*}{Interval Width for Nested Spline Bijector} & model\_kwargs.joint\_bijectors.0.nested\_bijector.parameters\_constraint\_fn\_kwargs.interval\_width \\
 & Specifies the interval width for constraint parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Slope for Nested Spline Bijector} & model\_kwargs.joint\_bijectors.0.nested\_bijector.parameters\_constraint\_fn\_kwargs.min\_slope \\
 & Defines the minimum slope constraint for parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Bin Width for Nested Spline Bijector} & model\_kwargs.joint\_bijectors.0.nested\_bijector.parameters\_constraint\_fn\_kwargs.min\_bin\_width \\
 & Defines the minimum bin width for the nested Spline bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Bins for Nested Spline Bijector} & model\_kwargs.joint\_bijectors.0.nested\_bijector.parameters\_constraint\_fn\_kwargs.nbins \\
 & Defines the number of bins used by the nested bijector \\
\cline{1-2}
\multirow[t]{2}{*}{JIT Compile} & compile\_kwargs.jit\_compile \\
 & Defines whether to compile the model using Just-In-Time compilation for performance \\
\cline{1-2}
\multirow[t]{2}{*}{Parameters Function for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_fn \\
 & Function for calculating parameters of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector Conditional Event Shape} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the conditional events for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Extrapolation for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Conditional Event Shape} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of conditional events for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Polynomial Order for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.polynomial\_order \\
 & Defines the order of the polynomial for computations in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Is Conditional for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.conditional \\
 & Indicates if the joint bijector is conditional \\
\cline{1-2}
\multirow[t]{2}{*}{Epochs} & fit\_kwargs.epochs \\
 & Maximum number of epochs \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Decay Steps} & fit\_kwargs.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Steps after which to decay the learning rate with the scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Learning Rate Scheduler} & fit\_kwargs.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Early Stopping} & fit\_kwargs.early\_stopping \\
 & Enable early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Output Distribution} & model\_kwargs.distribution \\
 & Specifies the type of output distribution used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Flows} & model\_kwargs.num\_layers \\
 & Total number of layers in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Bijector} & model\_kwargs.bijector \\
 & Specifies the bijector type to be used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function} & model\_kwargs.parameters\_fn\_kwargs.activation \\
 & Activation function of the used neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Spline Bijector Domain Min} & model\_kwargs.bijector\_kwargs.range\_min \\
 & Lower bound of the quadratic spline bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Interval Width for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.interval\_width \\
 & Specifies the interval width for constraint parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Slope for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.min\_slope \\
 & Defines the minimum slope constraint for parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Bin Width for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.min\_bin\_width \\
 & Defines the minimum bin width for the nested Spline bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Use Invertible Linear Transformations} & model\_kwargs.use\_invertible\_linear\_transformations \\
 & Specifies if invertible linear transformations should be employed \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Size} & fit\_kwargs.batch\_size \\
 & Batch size used for training \\
\cline{1-2}
\multirow[t]{2}{*}{Initial Learning Rate} & fit\_kwargs.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Parameters} & model\_kwargs.num\_parameters \\
 & Total number of parameters in the model \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units} & model\_kwargs.parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer of the neural network \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Bins for Nested Spline Bijector} & model\_kwargs.parameters\_constraint\_fn\_kwargs.nbins \\
 & Defines the number of bins used by the nested bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Two-Stage Training} & two\_stage\_training \\
 & Indicates if the model should be trained in two stages \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.bijector \\
 & Specifies the type of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Invert First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.invert \\
 & Indicates if the first marginal bijector should allow inversion \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Extrapolation} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Constraint Function} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn \\
 & Constraint function for the parameters of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Allow Flexible Bounds for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.allow\_flexible\_bounds \\
 & Defines if flexible bounds are allowed for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Bounds constraints for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.bounds \\
 & Defining the constraints on the bounds for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Codomain Max} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.high \\
 & Defines the upper bound for parameters in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Codomain Min} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.low \\
 & Defines the lower bound for parameters in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Parameters Function for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_fn \\
 & Function for calculating parameters of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Shape 1} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.1 \\
 & Defines the parameter shape dimension 1 for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Reduce LR on Plateau} & fit\_kwargs.0.reduce\_lr\_on\_plateau \\
 & Whether to reduce learning rate on a plateau during training \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Early Stopping} & fit\_kwargs.0.early\_stopping \\
 & Enables early stopping for the marginal model training \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Monitor} & fit\_kwargs.0.monitor \\
 & Metric to monitor during training for early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Verbosity} & fit\_kwargs.0.verbose \\
 & Verbosity mode for the marginal model training \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Epochs} & fit\_kwargs.1.epochs \\
 & Maximum number of epochs for training the joint distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Learning Rate Decay Steps} & fit\_kwargs.1.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Total number of decay steps for the learning rate scheduler of the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Learning Rate Scheduler} & fit\_kwargs.1.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler for the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Early Stopping} & fit\_kwargs.1.early\_stopping \\
 & Enables early stopping for the joint model training \\
\cline{1-2}
\multirow[t]{2}{*}{Type of Joint Flow} & model\_kwargs.joint\_flow\_type \\
 & Specifies the type of flow used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Flows} & model\_kwargs.joint\_bijectors.num\_layers \\
 & Total number of layers in the joint bijectors \\
\cline{1-2}
\multirow[t]{2}{*}{Use Invertible Linear Transformations} & model\_kwargs.joint\_bijectors.use\_invertible\_linear\_transformations \\
 & Specifies if invertible linear transformations should be used \\
\cline{1-2}
\multirow[t]{2}{*}{Random Permutation Seed} & model\_kwargs.joint\_bijectors.random\_permutation\_seed \\
 & Seed value for random permutation in bijectors \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector} & model\_kwargs.joint\_bijectors.bijector \\
 & Specifies the bijector type to be used in the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector Range Min} & model\_kwargs.joint\_bijectors.bijector\_kwargs.range\_min \\
 & Minimum range value for the joint bijector transformation \\
\cline{1-2}
\multirow[t]{2}{*}{Interval Width for Joint Bijector} & model\_kwargs.joint\_bijectors.parameters\_constraint\_fn\_kwargs.interval\_width \\
 & Specifies the interval width for constraint parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Slope for Joint Bijector} & model\_kwargs.joint\_bijectors.parameters\_constraint\_fn\_kwargs.min\_slope \\
 & Defines the minimum slope constraint for parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Bin Width for Joint Bijector} & model\_kwargs.joint\_bijectors.parameters\_constraint\_fn\_kwargs.min\_bin\_width \\
 & Defines the minimum bin width for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Bins for Joint Bijector} & model\_kwargs.joint\_bijectors.parameters\_constraint\_fn\_kwargs.nbins \\
 & Defines the number of bins used by the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Parameters for Joint Bijectors} & model\_kwargs.joint\_bijectors.num\_parameters \\
 & Total number of parameters in the joint bijectors \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function for MAF} & model\_kwargs.joint\_bijectors.maf\_parameters\_fn\_kwargs.activation \\
 & Activation function used in the neural network for MAF parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function for X0 Parameters} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.activation \\
 & Activation function for x0 parameters in the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Normalization for X0 Parameters} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.batch\_norm \\
 & Specifies if batch normalization should be applied to x0 parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Dropout Rate for X0 Parameters} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.dropout \\
 & Dropout rate for the x0 parameters neural network \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Shape 0} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Epochs} & fit\_kwargs.0.epochs \\
 & Number of epochs for training the marginal distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Batch Size} & fit\_kwargs.0.batch\_size \\
 & Batch size for training the marginal distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Learning Rate} & fit\_kwargs.0.learning\_rate \\
 & Learning rate used to optimize the marginal distribution \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Batch Size} & fit\_kwargs.1.batch\_size \\
 & Batch size for training the joint distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Initial Learning Rate} & fit\_kwargs.1.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler for the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units for MAF} & model\_kwargs.joint\_bijectors.maf\_parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer of the MAF \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units for MAF} & model\_kwargs.joint\_bijectors.maf\_parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer of the MAF \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units for X0 Network} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer for x0 parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units for X0 Network} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer for x0 parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Two-Stage Training} & two\_stage\_training \\
 & Indicates if the model should be trained in two stages \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.bijector \\
 & Specifies the type of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Invert First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.invert \\
 & Indicates if the first marginal bijector should allow inversion \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Domain Min} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.domain.0 \\
 & Lower boundary for the domain of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Domain Max} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.domain.1 \\
 & Upper boundary for the domain of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Bijector Extrapolation} & model\_kwargs.marginal\_bijectors.0.bijector\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Constraint Function} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn \\
 & Constraint function for the parameters of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Allow Flexible Bounds for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.allow\_flexible\_bounds \\
 & Defines if flexible bounds are allowed for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Bounds constraints for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.bounds \\
 & Defining the constraints on the bounds for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Codomain Max} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.high \\
 & Defines the upper bound for parameters in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Codomain Min} & model\_kwargs.marginal\_bijectors.0.parameters\_constraint\_fn\_kwargs.low \\
 & Defines the lower bound for parameters in the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Parameters Function for First Marginal Bijector} & model\_kwargs.marginal\_bijectors.0.parameters\_fn \\
 & Function for calculating parameters of the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Shape 0} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{First Marginal Bijector Parameter Shape 1} & model\_kwargs.marginal\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.1 \\
 & Defines the parameter shape dimension 1 for the first marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Second Marginal Bijector} & model\_kwargs.marginal\_bijectors.1.bijector \\
 & Specifies the type of second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Invert Second Marginal Bijector} & model\_kwargs.marginal\_bijectors.1.invert \\
 & Indicates if the second marginal bijector should allow inversion \\
\cline{1-2}
\multirow[t]{2}{*}{Parameters Function for Second Marginal Bijector} & model\_kwargs.marginal\_bijectors.1.parameters\_fn \\
 & Function for calculating parameters of the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Second Marginal Bijector Conditional Event Shape} & model\_kwargs.marginal\_bijectors.1.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the conditional events for the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Extrapolation for Second Marginal Bijector} & model\_kwargs.marginal\_bijectors.1.parameters\_fn\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Second Marginal Bijector Parameter Shape 0} & model\_kwargs.marginal\_bijectors.1.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Polynomial Order for Second Marginal Bijector} & model\_kwargs.marginal\_bijectors.1.parameters\_fn\_kwargs.polynomial\_order \\
 & Defines the order of the polynomial for computations in the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Epochs} & fit\_kwargs.0.epochs \\
 & Number of epochs for training the marginal distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Batch Size} & fit\_kwargs.0.batch\_size \\
 & Batch size for training the marginal distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Learning Rate} & fit\_kwargs.0.learning\_rate \\
 & Learning rate used to optimize the marginal distribution \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Reduce LR on Plateau} & fit\_kwargs.0.reduce\_lr\_on\_plateau \\
 & Whether to reduce learning rate on a plateau during training \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Early Stopping} & fit\_kwargs.0.early\_stopping \\
 & Enables early stopping for the marginal model training \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Monitor} & fit\_kwargs.0.monitor \\
 & Metric to monitor during training for early stopping \\
\cline{1-2}
\multirow[t]{2}{*}{Marginal Verbosity} & fit\_kwargs.0.verbose \\
 & Verbosity mode for the marginal model training \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Epochs} & fit\_kwargs.1.epochs \\
 & Maximum number of epochs for training the joint distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Batch Size} & fit\_kwargs.1.batch\_size \\
 & Batch size for training the joint distribution model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Learning Rate Decay Steps} & fit\_kwargs.1.learning\_rate.scheduler\_kwargs.decay\_steps \\
 & Total number of decay steps for the learning rate scheduler of the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Learning Rate Scheduler} & fit\_kwargs.1.learning\_rate.scheduler\_name \\
 & Name of the learning rate scheduler for the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Early Stopping} & fit\_kwargs.1.early\_stopping \\
 & Enables early stopping for the joint model training \\
\cline{1-2}
\multirow[t]{2}{*}{Second Marginal Bijector Domain Min} & model\_kwargs.marginal\_bijectors.1.parameters\_fn\_kwargs.domain.0 \\
 & Lower boundary for the domain of the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Second Marginal Bijector Domain Max} & model\_kwargs.marginal\_bijectors.1.parameters\_fn\_kwargs.domain.1 \\
 & Upper boundary for the domain of the second marginal bijector \\
\cline{1-2}
\multirow[t]{2}{*}{JIT Compile} & compile\_kwargs.jit\_compile \\
 & Defines whether to compile the model using Just-In-Time compilation for performance \\
\cline{1-2}
\multirow[t]{2}{*}{First Joint Bijector} & model\_kwargs.joint\_bijectors.0.bijector \\
 & Specifies the first bijector type for the joint distribution \\
\cline{1-2}
\multirow[t]{2}{*}{Invert First Joint Bijector} & model\_kwargs.joint\_bijectors.0.invert \\
 & Indicates if the first joint bijector should allow inversion \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector Conditional Event Shape} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the conditional events for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Extrapolation for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Parameter Shape 0 for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.parameter\_shape.0 \\
 & Defines the parameter shape dimension 0 for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Polynomial Order for Joint Bijector} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.polynomial\_order \\
 & Defines the order of the polynomial for computations in the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Initial Learning Rate} & fit\_kwargs.1.learning\_rate.scheduler\_kwargs.initial\_learning\_rate \\
 & Initial learning rate for the learning rate scheduler for the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Type of Joint Flow} & model\_kwargs.joint\_flow\_type \\
 & Specifies the type of flow used in the model \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Flows} & model\_kwargs.joint\_bijectors.num\_layers \\
 & Total number of layers in the joint bijectors \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector} & model\_kwargs.joint\_bijectors.bijector \\
 & Specifies the bijector type to be used in the joint model \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector Range Min} & model\_kwargs.joint\_bijectors.bijector\_kwargs.range\_min \\
 & Minimum range value for the joint bijector transformation \\
\cline{1-2}
\multirow[t]{2}{*}{Interval Width for Joint Bijector} & model\_kwargs.joint\_bijectors.parameters\_constraint\_fn\_kwargs.interval\_width \\
 & Specifies the interval width for constraint parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Slope for Joint Bijector} & model\_kwargs.joint\_bijectors.parameters\_constraint\_fn\_kwargs.min\_slope \\
 & Defines the minimum slope constraint for parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Minimum Bin Width for Joint Bijector} & model\_kwargs.joint\_bijectors.parameters\_constraint\_fn\_kwargs.min\_bin\_width \\
 & Defines the minimum bin width for the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Bins for Joint Bijector} & model\_kwargs.joint\_bijectors.parameters\_constraint\_fn\_kwargs.nbins \\
 & Defines the number of bins used by the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Number of Parameters for Joint Bijectors} & model\_kwargs.joint\_bijectors.num\_parameters \\
 & Total number of parameters in the joint bijectors \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function for MAF} & model\_kwargs.joint\_bijectors.maf\_parameters\_fn\_kwargs.activation \\
 & Activation function used in the neural network for MAF parameters \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units for MAF} & model\_kwargs.joint\_bijectors.maf\_parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer of the MAF \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units for MAF} & model\_kwargs.joint\_bijectors.maf\_parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer of the MAF \\
\cline{1-2}
\multirow[t]{2}{*}{Activation Function for X0 Parameters} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.activation \\
 & Activation function for x0 parameters in the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Batch Normalization for X0 Parameters} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.batch\_norm \\
 & Specifies if batch normalization should be applied to x0 parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Dropout Rate for X0 Parameters} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.dropout \\
 & Dropout rate for the x0 parameters neural network \\
\cline{1-2}
\multirow[t]{2}{*}{First Hidden Units for X0 Network} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.hidden\_units.0 \\
 & Number of units in the first hidden layer for x0 parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Second Hidden Units for X0 Network} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.hidden\_units.1 \\
 & Number of units in the second hidden layer for x0 parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Domain Min} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.domain.0 \\
 & Lower boundary for the nested Bernstein bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Domain Max} & model\_kwargs.joint\_bijectors.0.parameters\_fn\_kwargs.domain.1 \\
 & Upper boundary for the nested Bernstein bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector Extrapolation} & model\_kwargs.joint\_bijectors.bijector\_kwargs.extrapolation \\
 & Defines whether to allow extrapolation in the joint bijector \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Domain Min} & model\_kwargs.joint\_bijectors.bijector\_kwargs.domain.0 \\
 & Lower boundary for the nested Bernstein bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Nested Bernstein Bijector Domain Max} & model\_kwargs.joint\_bijectors.bijector\_kwargs.domain.1 \\
 & Upper boundary for the nested Bernstein bijector domain \\
\cline{1-2}
\multirow[t]{2}{*}{Invert Joint Bijector} & model\_kwargs.joint\_bijectors.invert \\
 & Indicates if the joint bijector should be invertible \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector Codomain Min} & model\_kwargs.joint\_bijectors.parameters\_constraint\_fn\_kwargs.low \\
 & Defines the lower bound for the corresponding parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Joint Bijector Codomain Max} & model\_kwargs.joint\_bijectors.parameters\_constraint\_fn\_kwargs.high \\
 & Defines the upper bound for the corresponding parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Third Hidden Units for MAF} & model\_kwargs.joint\_bijectors.maf\_parameters\_fn\_kwargs.hidden\_units.2 \\
 & Number of units in the third hidden layer of the MAF \\
\cline{1-2}
\multirow[t]{2}{*}{Is Conditional for MAF} & model\_kwargs.joint\_bijectors.maf\_parameters\_fn\_kwargs.conditional \\
 & Indicates if the MAF parameters are conditional \\
\cline{1-2}
\multirow[t]{2}{*}{MAF Conditional Event Shape} & model\_kwargs.joint\_bijectors.maf\_parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the conditional events for the MAF \\
\cline{1-2}
\multirow[t]{2}{*}{Third Hidden Units for X0 Network} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.hidden\_units.2 \\
 & Number of units in the third hidden layer for x0 parameters \\
\cline{1-2}
\multirow[t]{2}{*}{Is Conditional for X0 Parameters} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.conditional \\
 & Indicates if the x0 parameters are conditional \\
\cline{1-2}
\multirow[t]{2}{*}{X0 Parameters Conditional Event Shape} & model\_kwargs.joint\_bijectors.x0\_parameters\_fn\_kwargs.conditional\_event\_shape \\
 & Shape of the conditional events for x0 parameters \\
\cline{1-2}
\end{longtable}
