services:
    # default configuration for services in *this* file
    _defaults:
        public: false

    routing.resolver:
        class: Symfony\Component\Config\Loader\LoaderResolver

    routing.loader.xml:
        class: Symfony\Component\Routing\Loader\XmlFileLoader
        arguments:
            - '@file_locator'
        tags: ['routing.loader']

    routing.loader.yaml:
        class: Symfony\Component\Routing\Loader\YamlFileLoader
        arguments:
            - '@file_locator'
        tags: ['routing.loader']

    routing.loader.php:
        class: Symfony\Component\Routing\Loader\PhpFileLoader
        arguments:
            - '@file_locator'
        tags: ['routing.loader']

    routing.loader.glob:
        class: Symfony\Component\Routing\Loader\GlobFileLoader
        arguments:
            - '@file_locator'
        tags: ['routing.loader']

    routing.loader.directory:
        class: Symfony\Component\Routing\Loader\DirectoryLoader
        arguments:
            - '@file_locator'
        tags: ['routing.loader']

    routing.loader.service:
        class: Symfony\Component\Routing\Loader\ContainerLoader
        arguments:
            - '@service_container'
        tags: ['routing.loader']

    routing.loader:
        public: true
        class: Symfony\Component\Config\Loader\DelegatingLoader
        arguments:
            - '@routing.resolver'
            - {}

    router.default:
        class: Symfony\Component\Routing\Router
        arguments:
            - '@routing.loader'
            - 'kernel::loadRoutes'
            - { resource_type: 'service' }
            - '@?router.request_context'

    router:
        alias: router.default
        public: true

    router.request_context:
        class: Symfony\Component\Routing\RequestContext

    router.router_listener:
        class: Symfony\Component\HttpKernel\EventListener\RouterListener
        arguments:
            - '@router'
            - '@request_stack'
            - '@?router.request_context'
