<commit_before>services:
    surfnet_stepup_self_service_self_service.service.command:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\CommandService
        arguments:
            - "@surfnet_stepup_middleware_client.service.command"
            - "@security.token_storage"

    surfnet_stepup_self_service_self_service.service.second_factor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\SecondFactorService
        arguments:
            - "@surfnet_stepup_middleware_client.identity.service.second_factor"
            - "@surfnet_stepup_self_service_self_service.service.command"
            - "@surfnet_stepup_self_service_self_service.service.u2f_second_factor"

    surfnet_stepup_self_service_self_service.form.type.prove_yubikey_possession:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\ProveYubikeyPossessionType
        tags: [{ name: form.type, alias: ss_prove_yubikey_possession }]

    surfnet_stepup_self_service_self_service.form.type.send_sms_challenge:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\SendSmsChallengeType
        tags: [{ name: form.type, alias: ss_send_sms_challenge }]

    surfnet_stepup_self_service_self_service.form.type.verify_sms_challenge:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\VerifySmsChallengeType
        tags: [{ name: form.type, alias: ss_verify_sms_challenge }]

    surfnet_stepup_self_service_self_service.form.type.anchor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\AnchorType
        tags: [{ name: form.type, alias: anchor }]

    surfnet_stepup_self_service_self_service.form.type.verify_email:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\VerifyEmailType
        tags: [{ name: form.type, alias: ss_verify_email }]

    surfnet_stepup_self_service_self_service.form.type.revoke_second_factor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\RevokeSecondFactorType
        tags: [{ name: form.type, alias: ss_revoke_second_factor }]

    surfnet_stepup_self_service_self_service.form.type.initiate_gssf:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\InitiateGssfType
        arguments:
            - "@router"
        tags: [{ name: form.type, alias: ss_initiate_gssf }]

    surfnet_stepup_self_service_self_service.service.yubikey:
        public: false
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\YubikeyService
        arguments:
            - "@surfnet_stepup.guzzle.gateway_api"
            - "@logger"

    surfnet_stepup_self_service_self_service.service.yubikey_second_factor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\YubikeySecondFactorService
        arguments:
            - "@surfnet_stepup_self_service_self_service.service.yubikey"
            - "@surfnet_stepup_self_service_self_service.service.command"

    surfnet_stepup_self_service_self_service.service.sms_second_factor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\SmsSecondFactorService
        arguments:
            - "@surfnet_stepup.service.sms_second_factor"
            - "@translator"
            - "@surfnet_stepup_self_service_self_service.service.command"

    surfnet_stepup_self_service_self_service.service.u2f_second_factor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\U2fSecondFactorService
        arguments:
            - "@surfnet_stepup_self_service_self_service.service.u2f"
            - "@surfnet_stepup_self_service_self_service.service.command"

    surfnet_stepup_self_service_self_service.service.u2f:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\U2fService
        arguments:
            - "@surfnet_stepup.guzzle.gateway_api"
            - "@validator"
            - "@logger"

    surfnet_stepup_self_service_self_service.service.gssf:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\GssfService
        arguments:
            - "@surfnet_stepup_self_service_self_service.service.command"

    self_service.session.u2f_registration:
        class: Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBag
        factory: ['@session', 'getBag']
        arguments: ['self_service.session.u2f_registration']

    # The bag itself that is returned from the factory of the service above
    self_service.session.u2f_registration.bag:
        public: false
        class: Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBag
        arguments: ['self_service.session.u2f_registration']
        calls: [ [setName, ['self_service.session.u2f_registration']] ]

    self_service.service.identity:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\IdentityService
        arguments:
            - "@surfnet_stepup_middleware_client.identity.service.identity"
            - "@surfnet_stepup_self_service_self_service.service.command"
            - "@security.token_storage"
            - "@logger"

    self_service.service.locale_provider:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\LocaleProviderService
        arguments:
            - "@security.token_storage"

    self_service.service.ra:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\RaService
        arguments:
            - "@surfnet_stepup_middleware_client.identity.service.ra"

    self_service.service.ra_location:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\RaLocationService
        arguments:
            - "@surfnet_stepup_middleware_client.configuration.service.ra_location"

    self_service.service.institution_configuration_options:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\InstitutionConfigurationOptionsService
        arguments:
            - "@surfnet_stepup_middleware_client.configuration.service.institution_configuration_options"

    self_service.event_listener.locale:
        class: Surfnet\StepupSelfService\SelfServiceBundle\EventListener\LocaleListener
        arguments: [ "@security.token_storage", "@translator" ]
        tags: [{ name: kernel.event_subscriber }]

    self_service.locale.request_stack_locale_provider:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Locale\RequestStackLocaleProvider
        arguments:
            - "@request_stack"
            - '' # See extension
            - [] # See extension<commit_msg>Register StepupBundle LocaleCookieListener<commit_after>services:
    surfnet_stepup_self_service_self_service.service.command:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\CommandService
        arguments:
            - "@surfnet_stepup_middleware_client.service.command"
            - "@security.token_storage"

    surfnet_stepup_self_service_self_service.service.second_factor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\SecondFactorService
        arguments:
            - "@surfnet_stepup_middleware_client.identity.service.second_factor"
            - "@surfnet_stepup_self_service_self_service.service.command"
            - "@surfnet_stepup_self_service_self_service.service.u2f_second_factor"

    surfnet_stepup_self_service_self_service.form.type.prove_yubikey_possession:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\ProveYubikeyPossessionType
        tags: [{ name: form.type, alias: ss_prove_yubikey_possession }]

    surfnet_stepup_self_service_self_service.form.type.send_sms_challenge:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\SendSmsChallengeType
        tags: [{ name: form.type, alias: ss_send_sms_challenge }]

    surfnet_stepup_self_service_self_service.form.type.verify_sms_challenge:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\VerifySmsChallengeType
        tags: [{ name: form.type, alias: ss_verify_sms_challenge }]

    surfnet_stepup_self_service_self_service.form.type.anchor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\AnchorType
        tags: [{ name: form.type, alias: anchor }]

    surfnet_stepup_self_service_self_service.form.type.verify_email:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\VerifyEmailType
        tags: [{ name: form.type, alias: ss_verify_email }]

    surfnet_stepup_self_service_self_service.form.type.revoke_second_factor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\RevokeSecondFactorType
        tags: [{ name: form.type, alias: ss_revoke_second_factor }]

    surfnet_stepup_self_service_self_service.form.type.initiate_gssf:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Form\Type\InitiateGssfType
        arguments:
            - "@router"
        tags: [{ name: form.type, alias: ss_initiate_gssf }]

    surfnet_stepup_self_service_self_service.service.yubikey:
        public: false
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\YubikeyService
        arguments:
            - "@surfnet_stepup.guzzle.gateway_api"
            - "@logger"

    surfnet_stepup_self_service_self_service.service.yubikey_second_factor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\YubikeySecondFactorService
        arguments:
            - "@surfnet_stepup_self_service_self_service.service.yubikey"
            - "@surfnet_stepup_self_service_self_service.service.command"

    surfnet_stepup_self_service_self_service.service.sms_second_factor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\SmsSecondFactorService
        arguments:
            - "@surfnet_stepup.service.sms_second_factor"
            - "@translator"
            - "@surfnet_stepup_self_service_self_service.service.command"

    surfnet_stepup_self_service_self_service.service.u2f_second_factor:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\U2fSecondFactorService
        arguments:
            - "@surfnet_stepup_self_service_self_service.service.u2f"
            - "@surfnet_stepup_self_service_self_service.service.command"

    surfnet_stepup_self_service_self_service.service.u2f:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\U2fService
        arguments:
            - "@surfnet_stepup.guzzle.gateway_api"
            - "@validator"
            - "@logger"

    surfnet_stepup_self_service_self_service.service.gssf:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\GssfService
        arguments:
            - "@surfnet_stepup_self_service_self_service.service.command"

    self_service.session.u2f_registration:
        class: Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBag
        factory: ['@session', 'getBag']
        arguments: ['self_service.session.u2f_registration']

    # The bag itself that is returned from the factory of the service above
    self_service.session.u2f_registration.bag:
        public: false
        class: Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBag
        arguments: ['self_service.session.u2f_registration']
        calls: [ [setName, ['self_service.session.u2f_registration']] ]

    self_service.service.identity:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\IdentityService
        arguments:
            - "@surfnet_stepup_middleware_client.identity.service.identity"
            - "@surfnet_stepup_self_service_self_service.service.command"
            - "@security.token_storage"
            - "@logger"

    self_service.service.locale_provider:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\LocaleProviderService
        arguments:
            - "@security.token_storage"

    self_service.service.ra:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\RaService
        arguments:
            - "@surfnet_stepup_middleware_client.identity.service.ra"

    self_service.service.ra_location:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\RaLocationService
        arguments:
            - "@surfnet_stepup_middleware_client.configuration.service.ra_location"

    self_service.service.institution_configuration_options:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Service\InstitutionConfigurationOptionsService
        arguments:
            - "@surfnet_stepup_middleware_client.configuration.service.institution_configuration_options"

    self_service.event_listener.locale:
        class: Surfnet\StepupSelfService\SelfServiceBundle\EventListener\LocaleListener
        arguments: [ "@security.token_storage", "@translator" ]
        tags: [{ name: kernel.event_subscriber }]

    self_service.event_listener.locale_cookie:
        class: Surfnet\StepupBundle\EventListener\LocaleCookieListener
        arguments:
            - "@surfnet_stepup.locale_cookie_helper"
            - "@self_service.service.locale_provider"
            - "@logger"
        tags:
            - { name: kernel.event_listener, event: kernel.response, method: onKernelResponse, priority: 6 }

    self_service.locale.request_stack_locale_provider:
        class: Surfnet\StepupSelfService\SelfServiceBundle\Locale\RequestStackLocaleProvider
        arguments:
            - "@request_stack"
            - '' # See extension
            - [] # See extension
{'fraction_non_alphanumeric': 0.07915014588164884, 'fraction_numerical': 0.0017206553452532355, 'mean_word_length': 3.5624573378839592, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1795913', 'n_tokens_mistral': 4028, 'n_tokens_neox': 3969, 'n_words': 393}