code: public function build(ContainerBuilder $container): void
      {
          parent::build($container);
  
          /** @var SecurityExtension $extension */
          $extension = $container->getExtension('security');
          $extension->addSecurityListenerFactory(new ContaoLoginFactory());
  
          $container->addCompilerPass(new MakeServicesPublicPass());
          $container->addCompilerPass(new AddPackagesPass());
          $container->addCompilerPass(new AddAssetsPackagesPass());
          $container->addCompilerPass(new AddSessionBagsPass());
          $container->addCompilerPass(new AddResourcesPathsPass());
          $container->addCompilerPass(new DoctrineMigrationsPass(), PassConfig::TYPE_BEFORE_REMOVING);
          $container->addCompilerPass(new PickerProviderPass());
          $container->addCompilerPass(new RegisterFragmentsPass());
          $container->addCompilerPass(new FragmentRendererPass('contao.fragment.handler'));
          $container->addCompilerPass(new MapFragmentsToGlobalsPass());
          $container->addCompilerPass(new DataContainerCallbackPass());
          $container->addCompilerPass(new RegisterHookListenersPass(), PassConfig::TYPE_OPTIMIZE);
      }
docs: {@inheritdoc}