<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def extrinsic_events(network, previous_state, current_state, next_state, indices=None, major_complex=None):
 """Set of all mechanisms that are in the major complex but which have true causes and effects within the entire network. Args: network (Network):
 The network to analyze. previous_state (tuple[int]):
 The state of the network at ``t - 1``. current_state (tuple[int]):
 The state of the network at ``t``. next_state (tuple[int]):
 The state of the network at ``t + 1``. Keyword Args: indices (tuple[int]):
 The indices of the major complex. major_complex (AcSystemIrreducibilityAnalysis):
 The major complex. If ``major_complex`` is given then ``indices`` is ignored. Returns: tuple(actions):
 List of extrinsic events in the major complex. """

    if major_complex:
        mc_nodes = major_complex.subsystem.node_indices
    elif indices:
        mc_nodes = indices
    else:
        major_complex = compute.major_complex(network, current_state)
        mc_nodes = major_complex.subsystem.node_indices

    mechanisms = list(utils.powerset(mc_nodes, nonempty=True))
    all_nodes = network.node_indices

    return events(network, previous_state, current_state, next_state,
                  all_nodes, mechanisms=mechanisms)