code: def analyze(self, scratch, **kwargs):
          
          all_scripts = list(self.iter_scripts(scratch))
          results = defaultdict(set)
          broadcast = dict((x, self.get_broadcast_events(x))  # Events by script
                           for x in all_scripts)
          correct = self.get_receive(all_scripts)
          results['never broadcast'] = set(correct.keys())
  
          for script, events in broadcast.items():
              for event in events.keys():
                  if event is True:  # Remove dynamic broadcasts
                      results['dynamic broadcast'].add(script.morph.name)
                      del events[event]
                  elif event in correct:
                      results['never broadcast'].discard(event)
                  else:
                      results['never received'].add(event)
  
          # remove events from correct dict that were never broadcast
          for event in correct.keys():
              if event in results['never broadcast']:
                  del correct[event]
  
          # Find scripts that have more than one broadcast event on any possible
          # execution path through the program
          # TODO: Permit mutually exclusive broadcasts
          for events in broadcast.values():
              if len(events) > 1:
                  for event in events:
                      if event in correct:
                          results['parallel broadcasts'].add(event)
                          del correct[event]
  
          # Find events that have two (or more) receivers in which one of the
          # receivers has a "delay" block
          for event, scripts in correct.items():
              if len(scripts) > 1:
                  for script in scripts:
                      for _, _, block in self.iter_blocks(script.blocks):
                          if block.type.shape == 'stack':
                              results['multiple receivers with delay'].add(event)
                              if event in correct:
                                  del correct[event]
  
          results['success'] = set(correct.keys())
          return {'broadcast': results}
docs: Run and return the results from the BroadcastReceive plugin.