<?php

use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;

// This file has been auto-generated by the Symfony Dependency Injection Component for internal use.
// Returns the private 'App\Invoice\ServiceInvoice' shared autowired service.

include_once \dirname(__DIR__, 4).'/src/Invoice/ServiceInvoice.php';
include_once \dirname(__DIR__, 4).'/src/Utils/FileHelper.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/AbstractRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/RendererInterface.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/DocxRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/AbstractTwigRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/JsonRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/AbstractSpreadsheetRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/OdsRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/PdfRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/TextRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/TwigRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/XlsxRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Renderer/XmlRenderer.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/NumberGeneratorInterface.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/NumberGenerator/ConfigurableNumberGenerator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/NumberGenerator/DateNumberGenerator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Calculator/AbstractCalculator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Calculator/AbstractMergedCalculator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/CalculatorInterface.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Calculator/AbstractSumInvoiceCalculator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Calculator/ActivityInvoiceCalculator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Calculator/DateInvoiceCalculator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Calculator/DefaultCalculator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Calculator/ProjectInvoiceCalculator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Calculator/ShortInvoiceCalculator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Calculator/UserInvoiceCalculator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/Calculator/WeeklyInvoiceCalculator.php';
include_once \dirname(__DIR__, 4).'/src/Invoice/InvoiceItemRepositoryInterface.php';
include_once \dirname(__DIR__, 4).'/src/Repository/TimesheetInvoiceItemRepository.php';

$a = ($this->privates['App\\Repository\\InvoiceRepository'] ?? $this->load('getInvoiceRepositoryService.php'));

$this->privates['App\\Invoice\\ServiceInvoice'] = $instance = new \App\Invoice\ServiceInvoice(($this->privates['App\\Repository\\InvoiceDocumentRepository'] ?? $this->load('getInvoiceDocumentRepositoryService.php')), new \App\Utils\FileHelper((\dirname(__DIR__, 3).'/data')), $a, ($this->privates['App\\Timesheet\\UserDateTimeFactory'] ?? $this->getUserDateTimeFactoryService()), ($this->privates['App\\Configuration\\LanguageFormattings'] ?? $this->getLanguageFormattingsService()));

$b = ($this->services['twig'] ?? $this->getTwigService());

$instance->addRenderer(new \App\Invoice\Renderer\DocxRenderer());
$instance->addRenderer(new \App\Invoice\Renderer\JsonRenderer($b));
$instance->addRenderer(new \App\Invoice\Renderer\OdsRenderer());
$instance->addRenderer(new \App\Invoice\Renderer\PdfRenderer($b, ($this->privates['App\\Utils\\MPdfConverter'] ?? ($this->privates['App\\Utils\\MPdfConverter'] = new \App\Utils\MPdfConverter($this->targetDir.'')))));
$instance->addRenderer(new \App\Invoice\Renderer\TextRenderer($b));
$instance->addRenderer(new \App\Invoice\Renderer\TwigRenderer($b));
$instance->addRenderer(new \App\Invoice\Renderer\XlsxRenderer());
$instance->addRenderer(new \App\Invoice\Renderer\XmlRenderer($b));
$instance->addNumberGenerator(new \App\Invoice\NumberGenerator\ConfigurableNumberGenerator($a, ($this->privates['App\\Configuration\\SystemConfiguration'] ?? $this->load('getSystemConfigurationService.php'))));
$instance->addNumberGenerator(new \App\Invoice\NumberGenerator\DateNumberGenerator());
$instance->addCalculator(new \App\Invoice\Calculator\ActivityInvoiceCalculator());
$instance->addCalculator(new \App\Invoice\Calculator\DateInvoiceCalculator());
$instance->addCalculator(new \App\Invoice\Calculator\DefaultCalculator());
$instance->addCalculator(new \App\Invoice\Calculator\ProjectInvoiceCalculator());
$instance->addCalculator(new \App\Invoice\Calculator\ShortInvoiceCalculator());
$instance->addCalculator(new \App\Invoice\Calculator\UserInvoiceCalculator());
$instance->addCalculator(new \App\Invoice\Calculator\WeeklyInvoiceCalculator());
$instance->addInvoiceItemRepository(new \App\Repository\TimesheetInvoiceItemRepository(($this->privates['App\\Repository\\TimesheetRepository'] ?? $this->getTimesheetRepositoryService())));

return $instance;
