<?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 getEvaluateProductModelsService extends KernelProdContainer
{
    /*
     * Gets the private 'Akeneo\Pim\Automation\DataQualityInsights\Application\ProductEvaluation\EvaluateProductModels' shared service.
     *
     * @return \Akeneo\Pim\Automation\DataQualityInsights\Application\ProductEvaluation\EvaluateProductModels
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/ProductEvaluation/EvaluateProductModels.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/ProductEvaluation/EvaluatePendingCriteria.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/ProductEvaluation/CriteriaEvaluationRegistry.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Domain/Query/ProductEvaluation/GetPendingCriteriaEvaluationsByEntityIdsQueryInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Infrastructure/Persistence/Query/ProductEvaluation/GetPendingCriteriaEvaluationsByEntityIdsQuery.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Domain/Query/ProductEnrichment/GetEvaluableProductValuesQueryInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Infrastructure/Persistence/Query/ProductEnrichment/GetEvaluableProductValuesQuery.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Domain/Query/ProductEnrichment/GetProductRawValuesQueryInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Infrastructure/Persistence/Query/ProductEnrichment/GetProductModelRawValuesQuery.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Domain/Query/ProductEvaluation/GetEvaluableAttributesByProductQueryInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Infrastructure/Persistence/Query/ProductEvaluation/GetEvaluableAttributesByProductModelQuery.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/Consolidation/ConsolidateProductModelScores.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/Consolidation/ComputeScores.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Domain/Repository/ProductModelScoreRepositoryInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Infrastructure/Persistence/Repository/ProductModelScoreRepository.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/ProductEvaluation/FilterPartialCriteriaEvaluations.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/ProductEntityIdFactoryInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/ProductModelIdFactory.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/ProductEvaluation/SynchronousCriterionEvaluationsFilterInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/ProductEvaluation/SynchronousCriterionEvaluationsFilter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Application/Clock.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Automation/DataQualityInsights/back/Infrastructure/Clock/SystemClock.php';

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

        if (isset($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'])) {
            return $container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'];
        }
        $b = ($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Infrastructure\\Persistence\\Query\\Structure\\CachedGetLocalesByChannelQuery'] ?? $container->load('getCachedGetLocalesByChannelQueryService'));

        if (isset($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'])) {
            return $container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'];
        }
        $c = ($container->privates['akeneo.pim.automation.data_quality_insights.query.get_product_model_criteria_evaluations'] ?? $container->load('getAkeneo_Pim_Automation_DataQualityInsights_Query_GetProductModelCriteriaEvaluationsService'));

        if (isset($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'])) {
            return $container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'];
        }
        $d = ($container->privates['akeneo.pim.automation.data_quality_insights.product_model_criteria_by_feature_registry'] ?? $container->load('getAkeneo_Pim_Automation_DataQualityInsights_ProductModelCriteriaByFeatureRegistryService'));

        if (isset($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'])) {
            return $container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'];
        }
        $e = ($container->services['event_dispatcher'] ?? $container->getEventDispatcherService());

        if (isset($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'])) {
            return $container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'];
        }
        $f = new \Akeneo\Pim\Automation\DataQualityInsights\Application\ProductEvaluation\CriteriaEvaluationRegistry(new RewindableGenerator(function () use ($container) {
            yield 0 => ($container->privates['akeneo.pim.automation.data_quality_insights.criteria_evaluation.evaluate_product_model_completeness_of_required_attributes'] ?? $container->load('getAkeneo_Pim_Automation_DataQualityInsights_CriteriaEvaluation_EvaluateProductModelCompletenessOfRequiredAttributesService'));
            yield 1 => ($container->privates['akeneo.pim.automation.data_quality_insights.criteria_evaluation.evaluate_product_model_completeness_of_non_required_attributes'] ?? $container->load('getAkeneo_Pim_Automation_DataQualityInsights_CriteriaEvaluation_EvaluateProductModelCompletenessOfNonRequiredAttributesService'));
            yield 2 => ($container->privates['akeneo.pim.automation.data_quality_insights.application.evaluate_product_model_image_enrichment'] ?? $container->load('getAkeneo_Pim_Automation_DataQualityInsights_Application_EvaluateProductModelImageEnrichmentService'));
        }, 3));
        $g = ($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductModelIdFactory'] ?? ($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductModelIdFactory'] = new \Akeneo\Pim\Automation\DataQualityInsights\Application\ProductModelIdFactory()));

        return $container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\EvaluateProductModels'] = new \Akeneo\Pim\Automation\DataQualityInsights\Application\ProductEvaluation\EvaluateProductModels(new \Akeneo\Pim\Automation\DataQualityInsights\Application\ProductEvaluation\EvaluatePendingCriteria(($container->privates['akeneo.pim.automation.data_quality_insights.repository.product_model_criterion_evaluation'] ?? $container->load('getAkeneo_Pim_Automation_DataQualityInsights_Repository_ProductModelCriterionEvaluationService')), $f, ($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Application\\ProductEvaluation\\CriteriaApplicabilityRegistry'] ?? $container->load('getCriteriaApplicabilityRegistryService')), new \Akeneo\Pim\Automation\DataQualityInsights\Infrastructure\Persistence\Query\ProductEvaluation\GetPendingCriteriaEvaluationsByEntityIdsQuery($a, 'pim_data_quality_insights_product_model_criteria_evaluation', $g), new \Akeneo\Pim\Automation\DataQualityInsights\Infrastructure\Persistence\Query\ProductEnrichment\GetEvaluableProductValuesQuery(new \Akeneo\Pim\Automation\DataQualityInsights\Infrastructure\Persistence\Query\ProductEnrichment\GetProductModelRawValuesQuery($a), new \Akeneo\Pim\Automation\DataQualityInsights\Infrastructure\Persistence\Query\ProductEvaluation\GetEvaluableAttributesByProductModelQuery($a), $b), ($container->privates['akeneo.pim.automation.data_quality_insights.synchronous_criterion_evaluations_filter'] ?? ($container->privates['akeneo.pim.automation.data_quality_insights.synchronous_criterion_evaluations_filter'] = new \Akeneo\Pim\Automation\DataQualityInsights\Application\ProductEvaluation\SynchronousCriterionEvaluationsFilter())), ($container->privates['monolog.logger'] ?? $container->load('getMonolog_LoggerService')), $g), new \Akeneo\Pim\Automation\DataQualityInsights\Application\Consolidation\ConsolidateProductModelScores($c, new \Akeneo\Pim\Automation\DataQualityInsights\Application\Consolidation\ComputeScores($b, $f), new \Akeneo\Pim\Automation\DataQualityInsights\Infrastructure\Persistence\Repository\ProductModelScoreRepository($a), ($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Infrastructure\\Clock\\SystemClock'] ?? ($container->privates['Akeneo\\Pim\\Automation\\DataQualityInsights\\Infrastructure\\Clock\\SystemClock'] = new \Akeneo\Pim\Automation\DataQualityInsights\Infrastructure\Clock\SystemClock())), new \Akeneo\Pim\Automation\DataQualityInsights\Application\ProductEvaluation\FilterPartialCriteriaEvaluations($d)), $e);
    }
}
