<?php

namespace ContainerH4AHLTQ;

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 getPimVersioning_Repository_VersionService extends KernelProdContainer
{
    /*
     * Gets the private 'pim_versioning.repository.version' shared service.
     *
     * @return \Akeneo\Tool\Bundle\VersioningBundle\Doctrine\ORM\VersionRepository
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/VersioningBundle/Repository/VersionRepositoryInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/StorageUtilsBundle/Doctrine/ORM/Repository/CursorableRepositoryInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/VersioningBundle/Doctrine/ORM/VersionRepository.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Component/StorageUtils/Cursor/CursorFactoryInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/StorageUtilsBundle/Doctrine/ORM/Cursor/CursorFactory.php';

        $a = ($container->services['doctrine.orm.default_entity_manager'] ?? $container->getDoctrine_Orm_DefaultEntityManagerService());

        if (isset($container->privates['pim_versioning.repository.version'])) {
            return $container->privates['pim_versioning.repository.version'];
        }

        $container->privates['pim_versioning.repository.version'] = $instance = $a->getRepository('Akeneo\\Tool\\Component\\Versioning\\Model\\Version');

        $instance->setCursorFactory(new \Akeneo\Tool\Bundle\StorageUtilsBundle\Doctrine\ORM\Cursor\CursorFactory('Akeneo\\Tool\\Bundle\\VersioningBundle\\Doctrine\\ORM\\SearchVersionAfterCursor', $a, 100));

        return $instance;
    }
}
