code: def analyze(parameter: core.Parameter) -> ParameterInfo:
      """Analyzes a parameter to provide useful information about it"""
      params = list_data(parameter)
      int_layers = list(
          itertools.chain.from_iterable(
              [_layering.Int.filter_from(x) for x in params]
          )
      )
      return ParameterInfo(
          deterministic=all(lay.deterministic for lay in int_layers),
          continuous=not any(lay.deterministic for lay in int_layers),
          ordered=all(lay.ordered for lay in int_layers),
          arity=max(
              (
                  lay.arity
                  for lay in int_layers
                  if lay.arity is not None
              ),
              default=-1,
          ),  # only softmax params for now
      )
  
imports: import warnings
  import contextlib
  import itertools
  import numpy
  import nevergrad.common.typing
  from .None import core
  from .None import container
  from .None import _layering
  from .None import _datalayers
  from .None import data
  from .None import choice
  from .None import transforms
label_desc: Use image node_id 3 for calling a global function with example usage: analyze(parameter) and returns: ParameterInfo