<?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 getAkeneo_Pim_Enrichment_Product_Grid_Query_FetchProductAndProductModelRowsService extends KernelProdContainer
{
    /*
     * Gets the private 'akeneo.pim.enrichment.product.grid.query.fetch_product_and_product_model_rows' shared service.
     *
     * @return \Akeneo\Pim\Enrichment\Bundle\Storage\ElasticsearchAndSql\ProductGrid\FetchProductAndProductModelRows
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Grid/Query/FetchProductAndProductModelRows.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/ElasticsearchAndSql/ProductGrid/FetchProductAndProductModelRows.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Query/FetchProductRowsFromIdentifiersInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/ProductGrid/FetchProductRowsFromUuids.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Query/FetchProductModelRowsFromCodesInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/ProductGrid/FetchProductModelRowsFromCodes.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/ProductGrid/ProductModelImagesFromCodes.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Grid/Query/AddAdditionalProductPropertiesRegistry.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Grid/Query/AddAdditionalProductModelPropertiesRegistry.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Elasticsearch/Facet/ProductAndProductsModelDocumentTypeFacetFactory.php';

        $a = ($container->services['doctrine.dbal.default_connection'] ?? $container->getDoctrine_Dbal_DefaultConnectionService());

        if (isset($container->privates['akeneo.pim.enrichment.product.grid.query.fetch_product_and_product_model_rows'])) {
            return $container->privates['akeneo.pim.enrichment.product.grid.query.fetch_product_and_product_model_rows'];
        }
        $b = ($container->privates['akeneo.pim.enrichment.factory.write_value_collection'] ?? $container->load('getAkeneo_Pim_Enrichment_Factory_WriteValueCollectionService'));

        if (isset($container->privates['akeneo.pim.enrichment.product.grid.query.fetch_product_and_product_model_rows'])) {
            return $container->privates['akeneo.pim.enrichment.product.grid.query.fetch_product_and_product_model_rows'];
        }
        $c = ($container->privates['pim_channel.query.cache.channel_exists_with_locale'] ?? $container->load('getPimChannel_Query_Cache_ChannelExistsWithLocaleService'));

        if (isset($container->privates['akeneo.pim.enrichment.product.grid.query.fetch_product_and_product_model_rows'])) {
            return $container->privates['akeneo.pim.enrichment.product.grid.query.fetch_product_and_product_model_rows'];
        }

        return $container->privates['akeneo.pim.enrichment.product.grid.query.fetch_product_and_product_model_rows'] = new \Akeneo\Pim\Enrichment\Bundle\Storage\ElasticsearchAndSql\ProductGrid\FetchProductAndProductModelRows(new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\ProductGrid\FetchProductRowsFromUuids($a, $b, $c), new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\ProductGrid\FetchProductModelRowsFromCodes($a, $b, new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\ProductGrid\ProductModelImagesFromCodes($a, $b), $c), new \Akeneo\Pim\Enrichment\Component\Product\Grid\Query\AddAdditionalProductPropertiesRegistry(new RewindableGenerator(function () use ($container) {
            yield 0 => ($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Infrastructure\\ProductGrid\\AddProductScoreProperty'] ?? $container->load('getAddProductScorePropertyService'));
        }, 1)), new \Akeneo\Pim\Enrichment\Component\Product\Grid\Query\AddAdditionalProductModelPropertiesRegistry(new RewindableGenerator(function () use ($container) {
            yield 0 => ($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Infrastructure\\ProductGrid\\AddProductModelScoreProperty'] ?? $container->load('getAddProductModelScorePropertyService'));
        }, 1)), new \Akeneo\Pim\Enrichment\Bundle\Elasticsearch\Facet\ProductAndProductsModelDocumentTypeFacetFactory());
    }
}
