<?php

namespace ContainerCTI34Y8;

use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;

/**
 * @internal This class has been auto-generated by the Symfony Dependency Injection Component.
 */
class getOAuth2AccessTokenCreationActionService extends App_KernelDevDebugContainer
{
    /**
     * Gets the public 'OAT\Bundle\Lti1p3Bundle\Action\Platform\Service\OAuth2AccessTokenCreationAction' shared service.
     *
     * @return \OAT\Bundle\Lti1p3Bundle\Action\Platform\Service\OAuth2AccessTokenCreationAction
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'oat-sa'.\DIRECTORY_SEPARATOR.'bundle-lti1p3'.\DIRECTORY_SEPARATOR.'Action'.\DIRECTORY_SEPARATOR.'Platform'.\DIRECTORY_SEPARATOR.'Service'.\DIRECTORY_SEPARATOR.'OAuth2AccessTokenCreationAction.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'symfony'.\DIRECTORY_SEPARATOR.'psr-http-message-bridge'.\DIRECTORY_SEPARATOR.'HttpFoundationFactoryInterface.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'symfony'.\DIRECTORY_SEPARATOR.'psr-http-message-bridge'.\DIRECTORY_SEPARATOR.'Factory'.\DIRECTORY_SEPARATOR.'HttpFoundationFactory.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'oat-sa'.\DIRECTORY_SEPARATOR.'lib-lti1p3-core'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Security'.\DIRECTORY_SEPARATOR.'OAuth2'.\DIRECTORY_SEPARATOR.'Generator'.\DIRECTORY_SEPARATOR.'AccessTokenResponseGeneratorInterface.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'oat-sa'.\DIRECTORY_SEPARATOR.'lib-lti1p3-core'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Security'.\DIRECTORY_SEPARATOR.'OAuth2'.\DIRECTORY_SEPARATOR.'Generator'.\DIRECTORY_SEPARATOR.'AccessTokenResponseGenerator.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'oat-sa'.\DIRECTORY_SEPARATOR.'lib-lti1p3-core'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Security'.\DIRECTORY_SEPARATOR.'OAuth2'.\DIRECTORY_SEPARATOR.'Factory'.\DIRECTORY_SEPARATOR.'AuthorizationServerFactory.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'league'.\DIRECTORY_SEPARATOR.'oauth2-server'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Repositories'.\DIRECTORY_SEPARATOR.'RepositoryInterface.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'league'.\DIRECTORY_SEPARATOR.'oauth2-server'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Repositories'.\DIRECTORY_SEPARATOR.'ClientRepositoryInterface.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'oat-sa'.\DIRECTORY_SEPARATOR.'lib-lti1p3-core'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Security'.\DIRECTORY_SEPARATOR.'OAuth2'.\DIRECTORY_SEPARATOR.'Repository'.\DIRECTORY_SEPARATOR.'ClientRepository.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'oat-sa'.\DIRECTORY_SEPARATOR.'lib-lti1p3-core'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Security'.\DIRECTORY_SEPARATOR.'Jwks'.\DIRECTORY_SEPARATOR.'Fetcher'.\DIRECTORY_SEPARATOR.'JwksFetcherInterface.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'oat-sa'.\DIRECTORY_SEPARATOR.'lib-lti1p3-core'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Security'.\DIRECTORY_SEPARATOR.'Jwks'.\DIRECTORY_SEPARATOR.'Fetcher'.\DIRECTORY_SEPARATOR.'JwksFetcher.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'codercat'.\DIRECTORY_SEPARATOR.'jwk-to-pem'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'JWKConverter.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'league'.\DIRECTORY_SEPARATOR.'oauth2-server'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Repositories'.\DIRECTORY_SEPARATOR.'AccessTokenRepositoryInterface.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'oat-sa'.\DIRECTORY_SEPARATOR.'lib-lti1p3-core'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Security'.\DIRECTORY_SEPARATOR.'OAuth2'.\DIRECTORY_SEPARATOR.'Repository'.\DIRECTORY_SEPARATOR.'AccessTokenRepository.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'league'.\DIRECTORY_SEPARATOR.'oauth2-server'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Repositories'.\DIRECTORY_SEPARATOR.'ScopeRepositoryInterface.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'oat-sa'.\DIRECTORY_SEPARATOR.'lib-lti1p3-core'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Security'.\DIRECTORY_SEPARATOR.'OAuth2'.\DIRECTORY_SEPARATOR.'Repository'.\DIRECTORY_SEPARATOR.'ScopeRepository.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'guzzlehttp'.\DIRECTORY_SEPARATOR.'guzzle'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'ClientInterface.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'psr'.\DIRECTORY_SEPARATOR.'http-client'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'ClientInterface.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'guzzlehttp'.\DIRECTORY_SEPARATOR.'guzzle'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'ClientTrait.php';
        include_once \dirname(__DIR__, 4).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'guzzlehttp'.\DIRECTORY_SEPARATOR.'guzzle'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Client.php';

        $a = ($container->services['cache.app'] ?? $container->load('getCache_AppService'));
        $b = ($container->privates['logger'] ?? ($container->privates['logger'] = new \Symfony\Component\HttpKernel\Log\Logger()));

        return $container->services['OAT\\Bundle\\Lti1p3Bundle\\Action\\Platform\\Service\\OAuth2AccessTokenCreationAction'] = new \OAT\Bundle\Lti1p3Bundle\Action\Platform\Service\OAuth2AccessTokenCreationAction(new \Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory(), ($container->privates['Symfony\\Bridge\\PsrHttpMessage\\HttpMessageFactoryInterface'] ?? $container->load('getHttpMessageFactoryInterfaceService')), new \OAT\Library\Lti1p3Core\Security\OAuth2\Generator\AccessTokenResponseGenerator(($container->privates['OAT\\Library\\Lti1p3Core\\Security\\Key\\KeyChainRepository'] ?? $container->load('getKeyChainRepositoryService')), new \OAT\Library\Lti1p3Core\Security\OAuth2\Factory\AuthorizationServerFactory(new \OAT\Library\Lti1p3Core\Security\OAuth2\Repository\ClientRepository(($container->privates['OAT\\Bundle\\Lti1p3Bundle\\Repository\\RegistrationRepository'] ?? $container->load('getRegistrationRepositoryService')), new \OAT\Library\Lti1p3Core\Security\Jwks\Fetcher\JwksFetcher($a, ($container->privates['GuzzleHttp\\ClientInterface'] ?? ($container->privates['GuzzleHttp\\ClientInterface'] = new \GuzzleHttp\Client())), new \CoderCat\JWKToPEM\JWKConverter(), $b), $b, ($container->privates['OAT\\Library\\Lti1p3Core\\Security\\Jwt\\Validator\\ValidatorInterface'] ?? $container->load('getValidatorInterfaceService')), ($container->privates['OAT\\Library\\Lti1p3Core\\Security\\Jwt\\Parser\\ParserInterface'] ?? $container->load('getParserInterfaceService'))), new \OAT\Library\Lti1p3Core\Security\OAuth2\Repository\AccessTokenRepository($a, $b), new \OAT\Library\Lti1p3Core\Security\OAuth2\Repository\ScopeRepository(), $container->getEnv('LTI1P3_SERVICE_ENCRYPTION_KEY'))), $b);
    }
}
