old_contents: import os
  
  from enum import Enum, auto
  
  from .gn import GnBuilder
  
  
  class GenioApp(Enum):
      LIGHT = auto()
      SHELL = auto()
  
      def ExampleName(self):
          if self == GenioApp.LIGHT:
              return 'lighting-app'
          elif self == GenioApp.SHELL:
              return 'shell'
          else:
              raise Exception('Unknown app type: %r' % self)
  
      def AppNamePrefix(self):
          if self == GenioApp.LIGHT:
              return 'chip-genio-lighting-app-example'
          elif self == GenioApp.SHELL:
              return 'chip-genio-shell-example'
          else:
              raise Exception('Unknown app type: %r' % self)
  
      def FlashBundleName(self):
          if self == GenioApp.LIGHT:
              return 'lighting_app.flashbundle.txt'
          elif self == GEnioApp.SHELL:
              return 'shell.flashbundle.txt'
          else:
              raise Exception('Unknown app type: %r' % self)
  
      def BuildRoot(self, root):
          return os.path.join(root, 'examples', self.ExampleName(), 'genio')
  
  
  class GenioBuilder(GnBuilder):
  
      def __init__(self,
                   root,
                   runner,
                   app: GenioApp = GenioApp.LIGHT):
          super(GenioBuilder, self).__init__(
              root=app.BuildRoot(root),
              runner=runner)
          self.app = app
  
      def build_outputs(self):
          items = {}
          for extension in ['out', 'out.map', 'bin']:
              name = '%s.%s' % (self.app.AppNamePrefix(), extension)
              items[name] = os.path.join(self.output_dir, name)
  
          return items
  
new_contents: import os
  
  from enum import Enum, auto
  
  from .gn import GnBuilder
  
  
  class GenioApp(Enum):
      LIGHT = auto()
      SHELL = auto()
  
      def ExampleName(self):
          if self == GenioApp.LIGHT:
              return 'lighting-app'
          elif self == GenioApp.SHELL:
              return 'shell'
          else:
              raise Exception('Unknown app type: %r' % self)
  
      def AppNamePrefix(self):
          if self == GenioApp.LIGHT:
              return 'chip-mt793x-lighting-app-example'
          elif self == GenioApp.SHELL:
              return 'chip-mt793x-shell-example'
          else:
              raise Exception('Unknown app type: %r' % self)
  
      def FlashBundleName(self):
          if self == GenioApp.LIGHT:
              return 'lighting_app.flashbundle.txt'
          elif self == GEnioApp.SHELL:
              return 'shell.flashbundle.txt'
          else:
              raise Exception('Unknown app type: %r' % self)
  
      def BuildRoot(self, root):
          return os.path.join(root, 'examples', self.ExampleName(), 'genio')
  
  
  class GenioBuilder(GnBuilder):
  
      def __init__(self,
                   root,
                   runner,
                   app: GenioApp = GenioApp.LIGHT):
          super(GenioBuilder, self).__init__(
              root=app.BuildRoot(root),
              runner=runner)
          self.app = app
  
      def build_outputs(self):
          items = {}
          for extension in ['out', 'out.map', 'bin']:
              name = '%s.%s' % (self.app.AppNamePrefix(), extension)
              items[name] = os.path.join(self.output_dir, name)
  
          return items
  
subject: Fix file naming for genio (#22918)