From 83d3ee8ebaf88f081b9538a4033fd630391e9452 Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Tue, 14 Jan 2025 08:55:29 -0700 Subject: [PATCH] Update to 13.4.3 --- composer.lock | 346 +++++++-------- vendor/composer/autoload_classaliasmap.php | 30 +- vendor/composer/installed.json | 400 ++++++++--------- vendor/composer/installed.php | 190 ++++---- vendor/typo3/PackageArtifact.php | 42 +- .../Classes/Clipboard/Clipboard.php | 7 +- .../Classes/Controller/BackendController.php | 2 +- .../NewContentElementController.php | 21 +- .../Controller/EditDocumentController.php | 16 +- .../Controller/PageLayoutController.php | 26 +- .../Controller/SiteSettingsController.php | 1 + .../Form/Container/InlineControlContainer.php | 8 +- .../Form/Container/OuterWrapContainer.php | 10 - .../Form/Element/CodeEditorElement.php | 2 +- .../Classes/Form/Element/ColorElement.php | 51 ++- .../SelectMultipleSideBySideElement.php | 2 +- .../Classes/Form/Element/TextElement.php | 25 +- .../Classes/Form/Element/TextTableElement.php | 6 +- .../Form/FormDataGroup/FlexFormSegment.php | 24 +- .../Classes/Form/FormDataGroup/OnTheFly.php | 17 +- .../FormDataGroup/OrderedProviderList.php | 48 +- .../SiteConfigurationDataGroup.php | 23 +- .../Form/FormDataGroup/TcaDatabaseRecord.php | 24 +- .../TcaInputPlaceholderRecord.php | 22 +- .../TcaSelectTreeAjaxFieldData.php | 24 +- .../Form/FormDataProvider/TcaFlexPrepare.php | 21 +- .../FormDataProvider/TcaSelectTreeItems.php | 2 +- .../Classes/Form/FormResultCompiler.php | 2 +- .../Form/Utility/FormEngineUtility.php | 2 +- .../Classes/Http/RouteDispatcher.php | 7 +- .../StandardContentPreviewRenderer.php | 10 +- .../Components/Buttons/LinkButton.php | 33 +- .../Classes/Template/ModuleTemplate.php | 16 + .../Classes/Utility/BackendUtility.php | 5 + .../Configuration/Backend/Routes.php | 1 + .../TCA/Overrides/tt_content.php | 19 - .../Private/Language/locallang_alt_doc.xlf | 12 + .../Private/Templates/SiteSettings/Edit.html | 1 + .../cms-backend/Resources/Private/tsref.xml | 6 +- .../Resources/Public/Css/backend.css | 25 +- .../Public/JavaScript/color-picker.js | 26 +- .../Public/JavaScript/date-time-picker.js | 2 +- .../Public/JavaScript/drag-uploader.js | 2 +- .../Public/JavaScript/form-engine-review.js | 2 +- .../JavaScript/form-engine-validation.js | 2 +- .../container/files-control-container.js | 2 +- .../container/inline-control-container.js | 2 +- .../form-engine/element/color-element.js | 2 +- .../element/select-tree-toolbar.js | 4 +- .../Public/JavaScript/grid-editor.js | 16 +- .../Resources/Public/JavaScript/modal.js | 2 +- .../Public/JavaScript/settings/editor.js | 5 +- .../settings/editor/editable-setting.js | 6 +- .../Public/JavaScript/settings/type/base.js | 2 +- .../Public/JavaScript/settings/type/color.js | 22 +- .../Public/JavaScript/settings/type/string.js | 4 +- .../Resources/Public/JavaScript/tree/tree.js | 12 +- vendor/typo3/cms-backend/composer.json | 2 +- vendor/typo3/cms-backend/ext_emconf.php | 4 +- .../Controller/BackendLogController.php | 8 + .../ViewHelpers/WorkspaceTitleViewHelper.php | 25 +- .../Private/Partials/Content/LogEntries.html | 10 +- vendor/typo3/cms-belog/composer.json | 2 +- vendor/typo3/cms-belog/ext_emconf.php | 4 +- .../Controller/BackendUserController.php | 49 ++- .../ViewHelpers/PermissionsViewHelper.php | 27 +- .../Partials/BackendUser/PaginatedList.html | 43 +- .../BackendUserGroup/PaginatedList.html | 22 +- .../Templates/BackendUser/Compare.html | 14 +- .../Private/Templates/BackendUser/List.html | 19 +- .../Private/Templates/BackendUser/Online.html | 20 +- .../Templates/BackendUserGroup/Compare.html | 13 +- .../Templates/BackendUserGroup/List.html | 17 +- vendor/typo3/cms-beuser/composer.json | 2 +- vendor/typo3/cms-beuser/ext_emconf.php | 4 +- .../Classes/Cache/Backend/FileBackend.php | 6 +- .../Cache/Backend/SimpleFileBackend.php | 59 +-- .../Cache/Backend/Typo3DatabaseBackend.php | 1 + .../typo3/cms-core/Classes/Core/Bootstrap.php | 10 +- .../Classes/DataHandling/DataHandler.php | 49 ++- .../SoftReference/UrlSoftReferenceParser.php | 12 +- .../cms-core/Classes/Database/Connection.php | 22 + .../Database/Query/ConcreteQueryBuilder.php | 2 +- .../Parser/AST/DataType/BinaryDataType.php | 5 + .../Parser/AST/DataType/CharDataType.php | 5 + .../Classes/Http/AllowedMethodsTrait.php | 43 ++ .../Http/Error/MethodNotAllowedException.php | 52 +++ vendor/typo3/cms-core/Classes/Http/Uri.php | 49 ++- .../Classes/Imaging/GraphicalFunctions.php | 63 ++- .../Classes/Imaging/ImageMagickFile.php | 3 +- .../Classes/Information/Typo3Version.php | 2 +- .../AbstractContentSecurityPolicyReporter.php | 18 +- .../cms-core/Classes/Resource/Folder.php | 8 +- .../Classes/Resource/InaccessibleFolder.php | 5 +- .../OnlineMedia/Helpers/YouTubeHelper.php | 3 +- .../Processing/LocalCropScaleMaskHelper.php | 11 + .../Processing/LocalImageProcessor.php | 9 +- .../Resource/Rendering/VimeoRenderer.php | 5 +- .../Classes/Resource/ResourceStorage.php | 24 +- .../ContentSecurityPolicy/PolicyProvider.php | 9 +- .../ContentSecurityPolicy/UriValue.php | 14 + .../Service/DependencyOrderingService.php | 2 +- .../cms-core/Classes/ServiceProvider.php | 16 +- .../Classes/Settings/Type/ColorType.php | 2 +- .../Classes/Site/Entity/SiteSettings.php | 12 +- .../TypoScript/FrontendTypoScriptFactory.php | 6 +- .../Classes/Utility/GeneralUtility.php | 29 ++ .../cms-core/Classes/Utility/PathUtility.php | 2 +- .../Configuration/DefaultConfiguration.php | 3 +- .../cms-core/Configuration/TCA/pages.php | 23 +- .../Configuration/TCA/sys_file_reference.php | 6 + ...ethodSignatureOfLogicalAndAndLogicalOr.rst | 17 + ...aking-98281-MakeAbstractPluginInternal.rst | 24 +- ...5-PSR14AfterPageTreeItemsPreparedEvent.rst | 2 +- ...SurroundingHTMLTagsForFluidSystemEmail.rst | 64 +++ ...AttributeToAutoconfigureEventListeners.rst | 62 +-- ...Feature-103211-IntroduceTreeNodeLabels.rst | 4 +- ...reateCHARAndBINARYAsFixedLengthColumns.rst | 353 +++++++++++++++ ...lenameInExtbaseModuleTemplateRendering.rst | 49 +++ ...reateCHARAndBINARYAsFixedLengthColumns.rst | 353 +++++++++++++++ .../Private/Language/Iso/it.countries.xlf | 8 +- .../Private/Language/Iso/it.languages.xlf | 2 +- .../Private/Language/Iso/pt.countries.xlf | 2 +- .../Private/Language/Iso/ru.countries.xlf | 6 +- .../Private/Language/Iso/ru.languages.xlf | 6 +- .../Private/Layouts/SystemEmail.html | 8 +- vendor/typo3/cms-core/ext_emconf.php | 2 +- vendor/typo3/cms-core/ext_tables.sql | 12 +- .../Controller/DashboardController.php | 20 +- .../WidgetGroupInitializationService.php | 4 +- .../Resources/Private/Layouts/Module.html | 38 +- .../Private/Templates/Dashboard/Main.html | 24 +- .../Resources/Public/Css/dashboard.css | 2 +- .../Public/JavaScript/dashboard-delete.js | 2 +- .../Public/JavaScript/widget-remover.js | 2 +- .../Public/JavaScript/widget-selector.js | 2 +- vendor/typo3/cms-dashboard/composer.json | 10 +- vendor/typo3/cms-dashboard/ext_emconf.php | 4 +- .../Persistence/Generic/Mapper/DataMapper.php | 38 +- .../Classes/Service/ExtensionService.php | 26 +- vendor/typo3/cms-extbase/composer.json | 2 +- vendor/typo3/cms-extbase/ext_emconf.php | 4 +- .../Classes/Controller/ActionController.php | 25 +- .../Classes/Controller/DownloadController.php | 11 + .../Classes/Controller/ListController.php | 5 + .../Controller/UpdateFromTerController.php | 5 + .../UploadExtensionFileController.php | 4 + ...leExtensionInstallationStateViewHelper.php | 22 +- .../Private/Partials/List/Distribution.html | 4 +- .../Private/Templates/Distribution/Show.html | 6 +- .../Private/Templates/List/Distributions.html | 10 +- .../List/UnresolvedDependencies.html | 23 +- .../Resources/Public/JavaScript/main.js | 2 +- .../Resources/Public/JavaScript/repository.js | 2 +- .../Resources/Public/JavaScript/update.js | 2 +- .../typo3/cms-extensionmanager/composer.json | 2 +- .../typo3/cms-extensionmanager/ext_emconf.php | 4 +- vendor/typo3/cms-felogin/composer.json | 2 +- vendor/typo3/cms-felogin/ext_emconf.php | 4 +- .../typo3/cms-filelist/Classes/FileList.php | 6 +- .../AbstractResourceLinkHandler.php | 4 + .../Classes/LinkHandler/FileLinkHandler.php | 7 + .../Private/Templates/File/UploadFile.html | 2 +- vendor/typo3/cms-filelist/composer.json | 2 +- vendor/typo3/cms-filelist/ext_emconf.php | 4 +- vendor/typo3/cms-filemetadata/composer.json | 2 +- vendor/typo3/cms-filemetadata/ext_emconf.php | 4 +- .../cms-fluid-styled-content/composer.json | 6 +- .../cms-fluid-styled-content/ext_emconf.php | 8 +- .../Classes/ViewHelpers/DebugViewHelper.php | 16 +- .../Classes/ViewHelpers/ImageViewHelper.php | 4 +- vendor/typo3/cms-fluid/composer.json | 4 +- vendor/typo3/cms-fluid/ext_emconf.php | 6 +- .../Controller/FormEditorController.php | 4 + .../Controller/FormManagerController.php | 38 +- .../Persistence/FormPersistenceManager.php | 2 - .../ViewHelpers/RenderFormValueViewHelper.php | 8 + .../Documentation/I/Config/proto/Index.rst | 2 +- .../proto/finishersDefinition/Index.rst | 2 +- .../I/Config/proto/formElements/Index.rst | 2 +- .../proto/formElements/formEditor/Index.rst | 4 +- .../proto/validatorsDefinition/Index.rst | 2 +- .../FormEditor/Modals/InsertElements.html | 8 +- .../FormEditor/Modals/InsertPages.html | 8 +- .../Templates/Backend/FormManager/Index.html | 1 + .../backend/form-manager/view-model.js | 2 +- vendor/typo3/cms-form/composer.json | 4 +- vendor/typo3/cms-form/ext_emconf.php | 12 +- .../Typolink/DatabaseRecordLinkBuilder.php | 6 +- .../295-tt_content-content_type-html.php | 9 +- .../Configuration/TCA/tt_content.php | 48 +- vendor/typo3/cms-frontend/composer.json | 2 +- vendor/typo3/cms-frontend/ext_emconf.php | 4 +- vendor/typo3/cms-impexp/composer.json | 2 +- vendor/typo3/cms-impexp/ext_emconf.php | 4 +- .../Controller/AdministrationController.php | 13 + .../Classes/FileContentParser.php | 49 ++- .../Templates/Administration/Statistic.html | 37 +- vendor/typo3/cms-indexed-search/composer.json | 2 +- .../typo3/cms-indexed-search/ext_emconf.php | 4 +- vendor/typo3/cms-info/composer.json | 2 +- vendor/typo3/cms-info/ext_emconf.php | 4 +- .../Authentication/AuthenticationService.php | 4 +- .../Classes/Command/SetupCommand.php | 16 +- .../Classes/Configuration/AbstractPreset.php | 7 + .../Controller/EnvironmentController.php | 79 +++- .../Classes/Controller/UpgradeController.php | 18 +- .../Classes/CoreVersion/CoreRelease.php | 8 +- .../Classes/CoreVersion/MajorRelease.php | 2 +- .../Php/Matcher/ScalarStringMatcher.php | 75 ++++ .../Classes/Service/EnableFileService.php | 1 + .../cms-install/Classes/ServiceProvider.php | 9 - .../Updates/DatabaseRowsUpdateWizard.php | 2 +- .../Php/ScalarStringMatcher.php | 10 + .../root-htaccess | 2 +- .../ExtensionConfiguration/ExtensionForm.html | 22 +- .../LocalConfiguration/SubSection.html | 4 +- .../Partials/Settings/Presets/Cache.html | 4 +- .../Partials/Settings/Presets/Context.html | 4 +- .../Partials/Settings/Presets/Image.html | 4 +- .../Partials/Settings/Presets/Mail.html | 4 +- .../Settings/Presets/PasswordHashing.html | 4 +- .../Upgrade/UpgradeDocs/PanelItem.html | 4 +- .../Environment/ImageProcessing.html | 69 +-- .../Settings/FeaturesGetContent.html | 7 +- .../Templates/Upgrade/ExtensionScanner.html | 8 +- .../Images/TestReference/Convert-avif.avif | Bin 0 -> 6495 bytes .../Public/Images/TestReference/Read-avif.jpg | Bin 0 -> 15032 bytes .../Images/TestReference/Write-avif.avif | Bin 0 -> 6495 bytes .../settings/extension-configuration.js | 2 +- .../JavaScript/renderable/language-packs.js | 4 +- vendor/typo3/cms-install/composer.json | 6 +- vendor/typo3/cms-install/ext_emconf.php | 8 +- .../CreateDatabaseRecordPageContent.png | Bin 43209 -> 72119 bytes vendor/typo3/cms-reactions/composer.json | 2 +- vendor/typo3/cms-reactions/ext_emconf.php | 4 +- .../Partials/RecordsTable/DeletedRecord.html | 12 +- vendor/typo3/cms-recycler/composer.json | 2 +- vendor/typo3/cms-recycler/ext_emconf.php | 4 +- .../Documentation/Configuration/Concepts.rst | 26 +- .../Configuration/ConfigureTypo3.rst | 19 +- .../Documentation/Configuration/Examples.rst | 6 +- .../Documentation/Configuration/Reference.rst | 44 +- .../Contrib/@ckeditor/ckeditor5-alignment.js | 20 +- .../Contrib/@ckeditor/ckeditor5-autoformat.js | 8 +- .../@ckeditor/ckeditor5-basic-styles.js | 94 ++-- .../@ckeditor/ckeditor5-block-quote.js | 16 +- .../Contrib/@ckeditor/ckeditor5-clipboard.js | 47 +- .../Contrib/@ckeditor/ckeditor5-code-block.js | 22 +- .../Contrib/@ckeditor/ckeditor5-core.js | 75 ++-- .../@ckeditor/ckeditor5-editor-classic.js | 14 +- .../Contrib/@ckeditor/ckeditor5-engine.js | 392 ++++++++--------- .../Contrib/@ckeditor/ckeditor5-enter.js | 16 +- .../Contrib/@ckeditor/ckeditor5-essentials.js | 6 +- .../@ckeditor/ckeditor5-find-and-replace.js | 48 +- .../Contrib/@ckeditor/ckeditor5-font.js | 76 ++-- .../Contrib/@ckeditor/ckeditor5-heading.js | 26 +- .../Contrib/@ckeditor/ckeditor5-highlight.js | 14 +- .../@ckeditor/ckeditor5-horizontal-line.js | 18 +- .../@ckeditor/ckeditor5-html-support.js | 80 ++-- .../Contrib/@ckeditor/ckeditor5-indent.js | 26 +- .../Contrib/@ckeditor/ckeditor5-language.js | 16 +- .../Contrib/@ckeditor/ckeditor5-link.js | 58 +-- .../Contrib/@ckeditor/ckeditor5-list.js | 184 ++++---- .../Contrib/@ckeditor/ckeditor5-mention.js | 24 +- .../Contrib/@ckeditor/ckeditor5-paragraph.js | 12 +- .../@ckeditor/ckeditor5-paste-from-office.js | 47 +- .../@ckeditor/ckeditor5-remove-format.js | 14 +- .../Contrib/@ckeditor/ckeditor5-select-all.js | 18 +- .../@ckeditor/ckeditor5-show-blocks.js | 14 +- .../@ckeditor/ckeditor5-source-editing.js | 10 +- .../@ckeditor/ckeditor5-special-characters.js | 36 +- .../Contrib/@ckeditor/ckeditor5-style.js | 50 +-- .../Contrib/@ckeditor/ckeditor5-table.js | 294 ++++++------- .../Contrib/@ckeditor/ckeditor5-typing.js | 40 +- .../Public/Contrib/@ckeditor/ckeditor5-ui.js | 410 +++++++++--------- .../Contrib/@ckeditor/ckeditor5-undo.js | 20 +- .../Contrib/@ckeditor/ckeditor5-upload.js | 16 +- .../Contrib/@ckeditor/ckeditor5-utils.js | 250 +++++------ .../Contrib/@ckeditor/ckeditor5-watchdog.js | 10 +- .../Contrib/@ckeditor/ckeditor5-widget.js | 32 +- .../Contrib/@ckeditor/ckeditor5-word-count.js | 6 +- .../Public/Contrib/translations/af.js | 2 +- .../Public/Contrib/translations/ar.js | 2 +- .../Public/Contrib/translations/ast.js | 2 +- .../Public/Contrib/translations/az.js | 2 +- .../Public/Contrib/translations/bg.js | 2 +- .../Public/Contrib/translations/bn.js | 2 +- .../Public/Contrib/translations/bs.js | 2 +- .../Public/Contrib/translations/ca.js | 2 +- .../Public/Contrib/translations/cs.js | 2 +- .../Public/Contrib/translations/da.js | 2 +- .../Public/Contrib/translations/de-ch.js | 2 +- .../Public/Contrib/translations/de.js | 2 +- .../Public/Contrib/translations/el.js | 2 +- .../Public/Contrib/translations/en-au.js | 2 +- .../Public/Contrib/translations/en-gb.js | 2 +- .../Public/Contrib/translations/en.js | 2 +- .../Public/Contrib/translations/eo.js | 2 +- .../Public/Contrib/translations/es-co.js | 2 +- .../Public/Contrib/translations/es.js | 2 +- .../Public/Contrib/translations/et.js | 2 +- .../Public/Contrib/translations/eu.js | 2 +- .../Public/Contrib/translations/fa.js | 2 +- .../Public/Contrib/translations/fi.js | 2 +- .../Public/Contrib/translations/fr.js | 2 +- .../Public/Contrib/translations/gl.js | 2 +- .../Public/Contrib/translations/gu.js | 2 +- .../Public/Contrib/translations/he.js | 2 +- .../Public/Contrib/translations/hi.js | 2 +- .../Public/Contrib/translations/hr.js | 2 +- .../Public/Contrib/translations/hu.js | 2 +- .../Public/Contrib/translations/hy.js | 2 +- .../Public/Contrib/translations/id.js | 2 +- .../Public/Contrib/translations/it.js | 2 +- .../Public/Contrib/translations/ja.js | 2 +- .../Public/Contrib/translations/jv.js | 2 +- .../Public/Contrib/translations/kk.js | 2 +- .../Public/Contrib/translations/km.js | 2 +- .../Public/Contrib/translations/kn.js | 2 +- .../Public/Contrib/translations/ko.js | 2 +- .../Public/Contrib/translations/ku.js | 2 +- .../Public/Contrib/translations/lt.js | 2 +- .../Public/Contrib/translations/lv.js | 2 +- .../Public/Contrib/translations/ms.js | 2 +- .../Public/Contrib/translations/nb.js | 2 +- .../Public/Contrib/translations/ne.js | 2 +- .../Public/Contrib/translations/nl.js | 2 +- .../Public/Contrib/translations/no.js | 2 +- .../Public/Contrib/translations/oc.js | 2 +- .../Public/Contrib/translations/pl.js | 2 +- .../Public/Contrib/translations/pt-br.js | 2 +- .../Public/Contrib/translations/pt.js | 2 +- .../Public/Contrib/translations/ro.js | 2 +- .../Public/Contrib/translations/ru.js | 2 +- .../Public/Contrib/translations/si.js | 2 +- .../Public/Contrib/translations/sk.js | 2 +- .../Public/Contrib/translations/sl.js | 2 +- .../Public/Contrib/translations/sq.js | 2 +- .../Public/Contrib/translations/sr-latn.js | 2 +- .../Public/Contrib/translations/sr.js | 2 +- .../Public/Contrib/translations/sv.js | 2 +- .../Public/Contrib/translations/th.js | 2 +- .../Public/Contrib/translations/ti.js | 2 +- .../Public/Contrib/translations/tk.js | 2 +- .../Public/Contrib/translations/tr.js | 2 +- .../Public/Contrib/translations/tt.js | 2 +- .../Public/Contrib/translations/ug.js | 2 +- .../Public/Contrib/translations/uk.js | 2 +- .../Public/Contrib/translations/ur.js | 2 +- .../Public/Contrib/translations/uz.js | 2 +- .../Public/Contrib/translations/vi.js | 2 +- .../Public/Contrib/translations/zh-cn.js | 2 +- .../Public/Contrib/translations/zh.js | 2 +- .../Resources/Public/JavaScript/ckeditor5.js | 2 +- vendor/typo3/cms-rte-ckeditor/composer.json | 2 +- vendor/typo3/cms-rte-ckeditor/ext_emconf.php | 6 +- .../Configuration/Sets/Sitemap/labels.xlf | 3 - .../Configuration/TCA/Overrides/pages.php | 26 -- .../Documentation/Configuration/Index.rst | 263 +---------- .../Documentation/Editor/DashboardWidgets.rst | 67 --- .../cms-seo/Documentation/Editor/Index.rst | 232 ---------- .../cms-seo/Documentation/Features/Index.rst | 153 +++++++ .../Documentation/Features/XmlSitemap.rst | 221 ++++++++++ .../Features/_xmlSitemap/_config.yaml | 16 + .../Features/_xmlSitemap/_multiple.typoscript | 30 ++ .../Features/_xmlSitemap/_record.typoscript | 31 ++ .../_xmlSitemap/_recordUnsorted.typoscript | 13 + .../GeneralRecommendations/Index.rst | 53 --- .../Documentation/Images/add-widget.png | Bin 62869 -> 0 bytes .../Documentation/Images/addDescription.png | Bin 20580 -> 0 bytes .../Documentation/Images/google-preview.png | Bin 49472 -> 0 bytes .../Images/pages-missing-description.png | Bin 59025 -> 0 bytes .../Images/social-preview-image.png | Bin 561970 -> 0 bytes .../Images/social-preview-no-image.png | Bin 40898 -> 0 bytes .../Documentation/Images/tab-social-media.png | Bin 141116 -> 0 bytes vendor/typo3/cms-seo/Documentation/Index.rst | 39 +- .../Documentation/Introduction/Index.rst | 89 +--- vendor/typo3/cms-seo/composer.json | 6 +- vendor/typo3/cms-seo/ext_emconf.php | 4 +- vendor/typo3/cms-setup/composer.json | 2 +- vendor/typo3/cms-setup/ext_emconf.php | 4 +- vendor/typo3/cms-sys-note/composer.json | 2 +- vendor/typo3/cms-sys-note/ext_emconf.php | 4 +- .../Configuration/Backend/Modules.php | 1 + .../Private/Language/locallang_info.xlf | 16 +- .../Partials/ConstantEditorFields.html | 29 +- .../Private/Templates/ConstantEditorMain.html | 20 +- .../Private/Templates/InfoModifyMain.html | 21 +- .../Public/JavaScript/constant-editor.js | 2 +- vendor/typo3/cms-tstemplate/composer.json | 2 +- vendor/typo3/cms-tstemplate/ext_emconf.php | 4 +- .../cms-viewpage/Configuration/page.tsconfig | 95 ++-- .../Resources/Private/Language/locallang.xlf | 9 +- .../Resources/Private/Templates/Show.html | 4 +- .../Resources/Public/JavaScript/main.js | 2 +- vendor/typo3/cms-viewpage/composer.json | 2 +- vendor/typo3/cms-viewpage/ext_emconf.php | 4 +- vendor/typo3/cms-webhooks/composer.json | 2 +- vendor/typo3/cms-webhooks/ext_emconf.php | 4 +- 400 files changed, 5237 insertions(+), 3619 deletions(-) delete mode 100644 vendor/typo3/cms-backend/Configuration/TCA/Overrides/tt_content.php create mode 100644 vendor/typo3/cms-core/Classes/Http/AllowedMethodsTrait.php create mode 100644 vendor/typo3/cms-core/Classes/Http/Error/MethodNotAllowedException.php create mode 100644 vendor/typo3/cms-core/Documentation/Changelog/12.4.x/Important-96218-UseProperSurroundingHTMLTagsForFluidSystemEmail.rst create mode 100644 vendor/typo3/cms-core/Documentation/Changelog/13.4.x/Important-105310-CreateCHARAndBINARYAsFixedLengthColumns.rst create mode 100644 vendor/typo3/cms-core/Documentation/Changelog/13.4.x/Important-105653-RequireATemplateFilenameInExtbaseModuleTemplateRendering.rst create mode 100644 vendor/typo3/cms-core/Documentation/Changelog/14.0/Important-105310-CreateCHARAndBINARYAsFixedLengthColumns.rst create mode 100644 vendor/typo3/cms-install/Classes/ExtensionScanner/Php/Matcher/ScalarStringMatcher.php create mode 100644 vendor/typo3/cms-install/Configuration/ExtensionScanner/Php/ScalarStringMatcher.php create mode 100644 vendor/typo3/cms-install/Resources/Public/Images/TestReference/Convert-avif.avif create mode 100644 vendor/typo3/cms-install/Resources/Public/Images/TestReference/Read-avif.jpg create mode 100644 vendor/typo3/cms-install/Resources/Public/Images/TestReference/Write-avif.avif delete mode 100644 vendor/typo3/cms-seo/Documentation/Editor/DashboardWidgets.rst delete mode 100644 vendor/typo3/cms-seo/Documentation/Editor/Index.rst create mode 100644 vendor/typo3/cms-seo/Documentation/Features/Index.rst create mode 100644 vendor/typo3/cms-seo/Documentation/Features/XmlSitemap.rst create mode 100644 vendor/typo3/cms-seo/Documentation/Features/_xmlSitemap/_config.yaml create mode 100644 vendor/typo3/cms-seo/Documentation/Features/_xmlSitemap/_multiple.typoscript create mode 100644 vendor/typo3/cms-seo/Documentation/Features/_xmlSitemap/_record.typoscript create mode 100644 vendor/typo3/cms-seo/Documentation/Features/_xmlSitemap/_recordUnsorted.typoscript delete mode 100644 vendor/typo3/cms-seo/Documentation/GeneralRecommendations/Index.rst delete mode 100644 vendor/typo3/cms-seo/Documentation/Images/add-widget.png delete mode 100644 vendor/typo3/cms-seo/Documentation/Images/addDescription.png delete mode 100644 vendor/typo3/cms-seo/Documentation/Images/google-preview.png delete mode 100644 vendor/typo3/cms-seo/Documentation/Images/pages-missing-description.png delete mode 100644 vendor/typo3/cms-seo/Documentation/Images/social-preview-image.png delete mode 100644 vendor/typo3/cms-seo/Documentation/Images/social-preview-no-image.png delete mode 100644 vendor/typo3/cms-seo/Documentation/Images/tab-social-media.png diff --git a/composer.lock b/composer.lock index 2a6587ef..f4b331ed 100644 --- a/composer.lock +++ b/composer.lock @@ -5143,23 +5143,23 @@ }, { "name": "typo3/cms-backend", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/backend.git", - "reference": "9e21b06a8c84cc5218a6259aae794e7d76eb9a93" + "reference": "53904e7773e5e665d0da0de7327e763e443922d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/backend/zipball/9e21b06a8c84cc5218a6259aae794e7d76eb9a93", - "reference": "9e21b06a8c84cc5218a6259aae794e7d76eb9a93", + "url": "https://api.github.com/repos/TYPO3-CMS/backend/zipball/53904e7773e5e665d0da0de7327e763e443922d8", + "reference": "53904e7773e5e665d0da0de7327e763e443922d8", "shasum": "" }, "require": { "ext-intl": "*", "ext-libxml": "*", "psr/event-dispatcher": "^1.0", - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5221,24 +5221,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-belog", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/belog.git", - "reference": "6bd2ea14ad6c30067fd1868eb7eda77648710d9d" + "reference": "3ef9b6e1fce1ef4bd9bc93817cd09d31c82f11f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/belog/zipball/6bd2ea14ad6c30067fd1868eb7eda77648710d9d", - "reference": "6bd2ea14ad6c30067fd1868eb7eda77648710d9d", + "url": "https://api.github.com/repos/TYPO3-CMS/belog/zipball/3ef9b6e1fce1ef4bd9bc93817cd09d31c82f11f3", + "reference": "3ef9b6e1fce1ef4bd9bc93817cd09d31c82f11f3", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5279,24 +5279,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-beuser", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/beuser.git", - "reference": "bffe9c2f6e464631f590aebbb5cb3142c5b44db5" + "reference": "3cc8cd3cc08d66c90d63001761fd3a8f483b6d42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/beuser/zipball/bffe9c2f6e464631f590aebbb5cb3142c5b44db5", - "reference": "bffe9c2f6e464631f590aebbb5cb3142c5b44db5", + "url": "https://api.github.com/repos/TYPO3-CMS/beuser/zipball/3cc8cd3cc08d66c90d63001761fd3a8f483b6d42", + "reference": "3cc8cd3cc08d66c90d63001761fd3a8f483b6d42", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5337,7 +5337,7 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-cli", @@ -5449,16 +5449,16 @@ }, { "name": "typo3/cms-core", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/core.git", - "reference": "03937b4ecff708645e7ed91a19f69e5c002f3949" + "reference": "40d287741cb86cc04bd1a375e8a8920a57357622" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/core/zipball/03937b4ecff708645e7ed91a19f69e5c002f3949", - "reference": "03937b4ecff708645e7ed91a19f69e5c002f3949", + "url": "https://api.github.com/repos/TYPO3-CMS/core/zipball/40d287741cb86cc04bd1a375e8a8920a57357622", + "reference": "40d287741cb86cc04bd1a375e8a8920a57357622", "shasum": "" }, "require": { @@ -5590,28 +5590,28 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-dashboard", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/dashboard.git", - "reference": "5e11c8015b024e4dd18fbec2e67f9a7dfcc4d9e4" + "reference": "26ada08e7a5e1d350119689372e5d06604beeff0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/dashboard/zipball/5e11c8015b024e4dd18fbec2e67f9a7dfcc4d9e4", - "reference": "5e11c8015b024e4dd18fbec2e67f9a7dfcc4d9e4", + "url": "https://api.github.com/repos/TYPO3-CMS/dashboard/zipball/26ada08e7a5e1d350119689372e5d06604beeff0", + "reference": "26ada08e7a5e1d350119689372e5d06604beeff0", "shasum": "" }, "require": { - "typo3/cms-backend": "13.4.2", - "typo3/cms-core": "13.4.2", - "typo3/cms-extbase": "13.4.2", - "typo3/cms-fluid": "13.4.2", - "typo3/cms-frontend": "13.4.2" + "typo3/cms-backend": "13.4.3", + "typo3/cms-core": "13.4.3", + "typo3/cms-extbase": "13.4.3", + "typo3/cms-fluid": "13.4.3", + "typo3/cms-frontend": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5653,20 +5653,20 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-extbase", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/extbase.git", - "reference": "c4b032e9cadfc5a729f66cdce01d5a7dba9a3eed" + "reference": "fdf4090121a2007444dc05cbf53bf3c12fc5d65e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/extbase/zipball/c4b032e9cadfc5a729f66cdce01d5a7dba9a3eed", - "reference": "c4b032e9cadfc5a729f66cdce01d5a7dba9a3eed", + "url": "https://api.github.com/repos/TYPO3-CMS/extbase/zipball/fdf4090121a2007444dc05cbf53bf3c12fc5d65e", + "reference": "fdf4090121a2007444dc05cbf53bf3c12fc5d65e", "shasum": "" }, "require": { @@ -5676,7 +5676,7 @@ "symfony/dependency-injection": "^7.1.4", "symfony/property-access": "^7.1.4", "symfony/property-info": "^7.1.3", - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5723,25 +5723,25 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-extensionmanager", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/extensionmanager.git", - "reference": "4d09e2c031b91850ce7ae04942898e34dfa26380" + "reference": "ca0fab89c55148c6bac40652c2d4eaa79c32381f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/extensionmanager/zipball/4d09e2c031b91850ce7ae04942898e34dfa26380", - "reference": "4d09e2c031b91850ce7ae04942898e34dfa26380", + "url": "https://api.github.com/repos/TYPO3-CMS/extensionmanager/zipball/ca0fab89c55148c6bac40652c2d4eaa79c32381f", + "reference": "ca0fab89c55148c6bac40652c2d4eaa79c32381f", "shasum": "" }, "require": { "ext-libxml": "*", - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5789,24 +5789,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-felogin", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/felogin.git", - "reference": "3c524867a78fe0781e3400d78739d24cddb54003" + "reference": "dc755f19dfae3ed30a2a21dbf2a6abf13bd05e73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/felogin/zipball/3c524867a78fe0781e3400d78739d24cddb54003", - "reference": "3c524867a78fe0781e3400d78739d24cddb54003", + "url": "https://api.github.com/repos/TYPO3-CMS/felogin/zipball/dc755f19dfae3ed30a2a21dbf2a6abf13bd05e73", + "reference": "dc755f19dfae3ed30a2a21dbf2a6abf13bd05e73", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5847,24 +5847,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-filelist", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/filelist.git", - "reference": "2a1c776a181b72f11ca906a8f75194998e319dd7" + "reference": "920b31aadaa41db54baa40ccf1907ffd360e7c2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/filelist/zipball/2a1c776a181b72f11ca906a8f75194998e319dd7", - "reference": "2a1c776a181b72f11ca906a8f75194998e319dd7", + "url": "https://api.github.com/repos/TYPO3-CMS/filelist/zipball/920b31aadaa41db54baa40ccf1907ffd360e7c2a", + "reference": "920b31aadaa41db54baa40ccf1907ffd360e7c2a", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5907,24 +5907,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-filemetadata", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/filemetadata.git", - "reference": "2edc47021718d63e6140145be5108d17be591499" + "reference": "028889701097c48c5ebb61eed4021cad62886ce6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/filemetadata/zipball/2edc47021718d63e6140145be5108d17be591499", - "reference": "2edc47021718d63e6140145be5108d17be591499", + "url": "https://api.github.com/repos/TYPO3-CMS/filemetadata/zipball/028889701097c48c5ebb61eed4021cad62886ce6", + "reference": "028889701097c48c5ebb61eed4021cad62886ce6", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5957,26 +5957,26 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-fluid", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/fluid.git", - "reference": "98f6a7e19b49514acba6c47168c554649305c84c" + "reference": "7eab1cf202b6529eeb4e823df63b327a94123e06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/fluid/zipball/98f6a7e19b49514acba6c47168c554649305c84c", - "reference": "98f6a7e19b49514acba6c47168c554649305c84c", + "url": "https://api.github.com/repos/TYPO3-CMS/fluid/zipball/7eab1cf202b6529eeb4e823df63b327a94123e06", + "reference": "7eab1cf202b6529eeb4e823df63b327a94123e06", "shasum": "" }, "require": { "symfony/dependency-injection": "^7.1.4", - "typo3/cms-core": "13.4.2", - "typo3/cms-extbase": "13.4.2", + "typo3/cms-core": "13.4.3", + "typo3/cms-extbase": "13.4.3", "typo3fluid/fluid": "^4.0.2" }, "conflict": { @@ -6021,26 +6021,26 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-fluid-styled-content", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/fluid_styled_content.git", - "reference": "84512d9a443b71124e408e368b1e9a157f1604d5" + "reference": "53121c1caa3313d88aef3acedbd71d159bc79de5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/fluid_styled_content/zipball/84512d9a443b71124e408e368b1e9a157f1604d5", - "reference": "84512d9a443b71124e408e368b1e9a157f1604d5", + "url": "https://api.github.com/repos/TYPO3-CMS/fluid_styled_content/zipball/53121c1caa3313d88aef3acedbd71d159bc79de5", + "reference": "53121c1caa3313d88aef3acedbd71d159bc79de5", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2", - "typo3/cms-fluid": "13.4.2", - "typo3/cms-frontend": "13.4.2" + "typo3/cms-core": "13.4.3", + "typo3/cms-fluid": "13.4.3", + "typo3/cms-frontend": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6081,27 +6081,27 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-form", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/form.git", - "reference": "69d376c4f8ad14c1e77e213d00d3df815c3c77ab" + "reference": "856c89437b7f6f533539007a6ce3d2e8c57d72f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/form/zipball/69d376c4f8ad14c1e77e213d00d3df815c3c77ab", - "reference": "69d376c4f8ad14c1e77e213d00d3df815c3c77ab", + "url": "https://api.github.com/repos/TYPO3-CMS/form/zipball/856c89437b7f6f533539007a6ce3d2e8c57d72f5", + "reference": "856c89437b7f6f533539007a6ce3d2e8c57d72f5", "shasum": "" }, "require": { "psr/http-message": "^1.1 || ^2.0", "symfony/expression-language": "^7.1.4", - "typo3/cms-core": "13.4.2", - "typo3/cms-frontend": "13.4.2" + "typo3/cms-core": "13.4.3", + "typo3/cms-frontend": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6147,25 +6147,25 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-frontend", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/frontend.git", - "reference": "99f7a1340c179b819ac6a0d769260b6906b8174d" + "reference": "d429df3547322b86bc6c1e87f76dce787a1f4b19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/frontend/zipball/99f7a1340c179b819ac6a0d769260b6906b8174d", - "reference": "99f7a1340c179b819ac6a0d769260b6906b8174d", + "url": "https://api.github.com/repos/TYPO3-CMS/frontend/zipball/d429df3547322b86bc6c1e87f76dce787a1f4b19", + "reference": "d429df3547322b86bc6c1e87f76dce787a1f4b19", "shasum": "" }, "require": { "ext-libxml": "*", - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6217,24 +6217,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-impexp", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/impexp.git", - "reference": "161d2d930f8635ee066c6b26dda0bdd9411df3ab" + "reference": "94d29d0ae7b8886fbd4d2a54c56bb7d167ab9703" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/impexp/zipball/161d2d930f8635ee066c6b26dda0bdd9411df3ab", - "reference": "161d2d930f8635ee066c6b26dda0bdd9411df3ab", + "url": "https://api.github.com/repos/TYPO3-CMS/impexp/zipball/94d29d0ae7b8886fbd4d2a54c56bb7d167ab9703", + "reference": "94d29d0ae7b8886fbd4d2a54c56bb7d167ab9703", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6275,24 +6275,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-indexed-search", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/indexed_search.git", - "reference": "6e834233e6765cd71ba2aedf2150af9b0dee8f0f" + "reference": "6baabc7ffc4b94abc9700ec2021ecca69fd7ceab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/indexed_search/zipball/6e834233e6765cd71ba2aedf2150af9b0dee8f0f", - "reference": "6e834233e6765cd71ba2aedf2150af9b0dee8f0f", + "url": "https://api.github.com/repos/TYPO3-CMS/indexed_search/zipball/6baabc7ffc4b94abc9700ec2021ecca69fd7ceab", + "reference": "6baabc7ffc4b94abc9700ec2021ecca69fd7ceab", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6334,24 +6334,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-info", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/info.git", - "reference": "6e3c7b2931f4ced1d7ebab13c8fd34210e20aa92" + "reference": "409b8131b83c025fa08c32f781cc6aa1eb064e0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/info/zipball/6e3c7b2931f4ced1d7ebab13c8fd34210e20aa92", - "reference": "6e3c7b2931f4ced1d7ebab13c8fd34210e20aa92", + "url": "https://api.github.com/repos/TYPO3-CMS/info/zipball/409b8131b83c025fa08c32f781cc6aa1eb064e0b", + "reference": "409b8131b83c025fa08c32f781cc6aa1eb064e0b", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6395,20 +6395,20 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-install", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/install.git", - "reference": "469635ae5923770321b2eadfc9723e7f48d1be77" + "reference": "f2a97f7f7fab46fa5c31681224f185ecdd7ee723" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/install/zipball/469635ae5923770321b2eadfc9723e7f48d1be77", - "reference": "469635ae5923770321b2eadfc9723e7f48d1be77", + "url": "https://api.github.com/repos/TYPO3-CMS/install/zipball/f2a97f7f7fab46fa5c31681224f185ecdd7ee723", + "reference": "f2a97f7f7fab46fa5c31681224f185ecdd7ee723", "shasum": "" }, "require": { @@ -6417,9 +6417,9 @@ "nikic/php-parser": "^5.1.0", "symfony/finder": "^7.1.4", "symfony/http-foundation": "^7.1.3", - "typo3/cms-core": "13.4.2", - "typo3/cms-extbase": "13.4.2", - "typo3/cms-fluid": "13.4.2" + "typo3/cms-core": "13.4.3", + "typo3/cms-extbase": "13.4.3", + "typo3/cms-fluid": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6463,7 +6463,7 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-introduction", @@ -6540,20 +6540,20 @@ }, { "name": "typo3/cms-reactions", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/reactions.git", - "reference": "b2d91b2e7706bfd8940e23b88e02e2d52b34e6ae" + "reference": "87d63573ac089507c277f4d2d8b0644fb0e1182a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/reactions/zipball/b2d91b2e7706bfd8940e23b88e02e2d52b34e6ae", - "reference": "b2d91b2e7706bfd8940e23b88e02e2d52b34e6ae", + "url": "https://api.github.com/repos/TYPO3-CMS/reactions/zipball/87d63573ac089507c277f4d2d8b0644fb0e1182a", + "reference": "87d63573ac089507c277f4d2d8b0644fb0e1182a", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6594,24 +6594,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-recycler", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/recycler.git", - "reference": "09ce1a7d66833d8f12a580d373fb5993ed57bc8e" + "reference": "db38e169c01fb0013449ba2c07eda11ef891c91e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/recycler/zipball/09ce1a7d66833d8f12a580d373fb5993ed57bc8e", - "reference": "09ce1a7d66833d8f12a580d373fb5993ed57bc8e", + "url": "https://api.github.com/repos/TYPO3-CMS/recycler/zipball/db38e169c01fb0013449ba2c07eda11ef891c91e", + "reference": "db38e169c01fb0013449ba2c07eda11ef891c91e", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6655,24 +6655,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-rte-ckeditor", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/rte_ckeditor.git", - "reference": "fafb3d18dce6a45d3ee5c0c01302e1db630039c3" + "reference": "8eeb49bf09be733dbe65a11c2fe9ebb9a47b1ee0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/rte_ckeditor/zipball/fafb3d18dce6a45d3ee5c0c01302e1db630039c3", - "reference": "fafb3d18dce6a45d3ee5c0c01302e1db630039c3", + "url": "https://api.github.com/repos/TYPO3-CMS/rte_ckeditor/zipball/8eeb49bf09be733dbe65a11c2fe9ebb9a47b1ee0", + "reference": "8eeb49bf09be733dbe65a11c2fe9ebb9a47b1ee0", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6716,26 +6716,26 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-seo", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/seo.git", - "reference": "803b1e6dcda44614efc43892445c32dab99ea41e" + "reference": "701a3c3fe9b49b59951c8adfe52dff4719d9c15b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/seo/zipball/803b1e6dcda44614efc43892445c32dab99ea41e", - "reference": "803b1e6dcda44614efc43892445c32dab99ea41e", + "url": "https://api.github.com/repos/TYPO3-CMS/seo/zipball/701a3c3fe9b49b59951c8adfe52dff4719d9c15b", + "reference": "701a3c3fe9b49b59951c8adfe52dff4719d9c15b", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2", - "typo3/cms-extbase": "13.4.2", - "typo3/cms-frontend": "13.4.2" + "typo3/cms-core": "13.4.3", + "typo3/cms-extbase": "13.4.3", + "typo3/cms-frontend": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6779,24 +6779,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-setup", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/setup.git", - "reference": "2514a46944ad327f42404571ef97217e5c83ba51" + "reference": "3d6d5c683a389b8602ee6e891927f6f6508700d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/setup/zipball/2514a46944ad327f42404571ef97217e5c83ba51", - "reference": "2514a46944ad327f42404571ef97217e5c83ba51", + "url": "https://api.github.com/repos/TYPO3-CMS/setup/zipball/3d6d5c683a389b8602ee6e891927f6f6508700d3", + "reference": "3d6d5c683a389b8602ee6e891927f6f6508700d3", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6837,24 +6837,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-sys-note", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/sys_note.git", - "reference": "dfc40e51c2faa8153fd82802bd2d05e92891e2a6" + "reference": "6db0c8850b9afd53ff367d3149cd9e591eadf7df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/sys_note/zipball/dfc40e51c2faa8153fd82802bd2d05e92891e2a6", - "reference": "dfc40e51c2faa8153fd82802bd2d05e92891e2a6", + "url": "https://api.github.com/repos/TYPO3-CMS/sys_note/zipball/6db0c8850b9afd53ff367d3149cd9e591eadf7df", + "reference": "6db0c8850b9afd53ff367d3149cd9e591eadf7df", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6898,24 +6898,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-tstemplate", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/tstemplate.git", - "reference": "8ddde0f89d0bbe0ac4b8265a03f51faaea682345" + "reference": "f7fcb5c6c8aba8632ce72433abdd6a48d12091bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/tstemplate/zipball/8ddde0f89d0bbe0ac4b8265a03f51faaea682345", - "reference": "8ddde0f89d0bbe0ac4b8265a03f51faaea682345", + "url": "https://api.github.com/repos/TYPO3-CMS/tstemplate/zipball/f7fcb5c6c8aba8632ce72433abdd6a48d12091bc", + "reference": "f7fcb5c6c8aba8632ce72433abdd6a48d12091bc", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6956,24 +6956,24 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-viewpage", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/viewpage.git", - "reference": "ff0249c7d130904422cf911ae2ab9a7599bf0d34" + "reference": "c1c2c7a40659f81d2ec38450029ba512cd5f45ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/viewpage/zipball/ff0249c7d130904422cf911ae2ab9a7599bf0d34", - "reference": "ff0249c7d130904422cf911ae2ab9a7599bf0d34", + "url": "https://api.github.com/repos/TYPO3-CMS/viewpage/zipball/c1c2c7a40659f81d2ec38450029ba512cd5f45ed", + "reference": "c1c2c7a40659f81d2ec38450029ba512cd5f45ed", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -7014,25 +7014,25 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/cms-webhooks", - "version": "v13.4.2", + "version": "v13.4.3", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/webhooks.git", - "reference": "33dcd9560f1338e909b6a359ff8b5acf759f327d" + "reference": "fd8b7707e3ecaef749c8b67d9403be6996c13b94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/webhooks/zipball/33dcd9560f1338e909b6a359ff8b5acf759f327d", - "reference": "33dcd9560f1338e909b6a359ff8b5acf759f327d", + "url": "https://api.github.com/repos/TYPO3-CMS/webhooks/zipball/fd8b7707e3ecaef749c8b67d9403be6996c13b94", + "reference": "fd8b7707e3ecaef749c8b67d9403be6996c13b94", "shasum": "" }, "require": { "symfony/uid": "^7.1.4", - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -7073,7 +7073,7 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-12-10T11:09:14+00:00" + "time": "2025-01-14T10:07:28+00:00" }, { "name": "typo3/html-sanitizer", diff --git a/vendor/composer/autoload_classaliasmap.php b/vendor/composer/autoload_classaliasmap.php index 9ae9eff7..e2152cdb 100644 --- a/vendor/composer/autoload_classaliasmap.php +++ b/vendor/composer/autoload_classaliasmap.php @@ -2,16 +2,28 @@ return array ( 'aliasToClassNameMapping' => array ( + 'typo3\\cms\\backend\\frontendbackenduserauthentication' => 'TYPO3\\CMS\\Frontend\\Authentication\\FrontendBackendUserAuthentication', + 'typo3\\cms\\install\\updates\\abstractdownloadextensionupdate' => 'TYPO3\\CMS\\Extensionmanager\\Updates\\AbstractDownloadExtensionUpdate', + 'typo3\\cms\\install\\updates\\extensionmodel' => 'TYPO3\\CMS\\Extensionmanager\\Updates\\ExtensionModel', 'typo3\\cms\\backend\\attribute\\controller' => 'TYPO3\\CMS\\Backend\\Attribute\\AsController', 'typo3\\cms\\core\\database\\schema\\types\\enumtype' => 'Doctrine\\DBAL\\Types\\EnumType', 'typo3\\cms\\core\\view\\fluidviewadapter' => 'TYPO3\\CMS\\Fluid\\View\\FluidViewAdapter', 'typo3\\cms\\core\\view\\fluidviewfactory' => 'TYPO3\\CMS\\Fluid\\View\\FluidViewFactory', - 'typo3\\cms\\install\\updates\\abstractdownloadextensionupdate' => 'TYPO3\\CMS\\Extensionmanager\\Updates\\AbstractDownloadExtensionUpdate', - 'typo3\\cms\\install\\updates\\extensionmodel' => 'TYPO3\\CMS\\Extensionmanager\\Updates\\ExtensionModel', - 'typo3\\cms\\backend\\frontendbackenduserauthentication' => 'TYPO3\\CMS\\Frontend\\Authentication\\FrontendBackendUserAuthentication', ), 'classNameToAliasMapping' => array ( + 'TYPO3\\CMS\\Frontend\\Authentication\\FrontendBackendUserAuthentication' => + array ( + 'typo3\\cms\\backend\\frontendbackenduserauthentication' => 'typo3\\cms\\backend\\frontendbackenduserauthentication', + ), + 'TYPO3\\CMS\\Extensionmanager\\Updates\\AbstractDownloadExtensionUpdate' => + array ( + 'typo3\\cms\\install\\updates\\abstractdownloadextensionupdate' => 'typo3\\cms\\install\\updates\\abstractdownloadextensionupdate', + ), + 'TYPO3\\CMS\\Extensionmanager\\Updates\\ExtensionModel' => + array ( + 'typo3\\cms\\install\\updates\\extensionmodel' => 'typo3\\cms\\install\\updates\\extensionmodel', + ), 'TYPO3\\CMS\\Backend\\Attribute\\AsController' => array ( 'typo3\\cms\\backend\\attribute\\controller' => 'typo3\\cms\\backend\\attribute\\controller', @@ -28,17 +40,5 @@ array ( 'typo3\\cms\\core\\view\\fluidviewfactory' => 'typo3\\cms\\core\\view\\fluidviewfactory', ), - 'TYPO3\\CMS\\Extensionmanager\\Updates\\AbstractDownloadExtensionUpdate' => - array ( - 'typo3\\cms\\install\\updates\\abstractdownloadextensionupdate' => 'typo3\\cms\\install\\updates\\abstractdownloadextensionupdate', - ), - 'TYPO3\\CMS\\Extensionmanager\\Updates\\ExtensionModel' => - array ( - 'typo3\\cms\\install\\updates\\extensionmodel' => 'typo3\\cms\\install\\updates\\extensionmodel', - ), - 'TYPO3\\CMS\\Frontend\\Authentication\\FrontendBackendUserAuthentication' => - array ( - 'typo3\\cms\\backend\\frontendbackenduserauthentication' => 'typo3\\cms\\backend\\frontendbackenduserauthentication', - ), ), ); \ No newline at end of file diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 66bd9787..672ffadb 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -5353,24 +5353,24 @@ }, { "name": "typo3/cms-backend", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/backend.git", - "reference": "9e21b06a8c84cc5218a6259aae794e7d76eb9a93" + "reference": "53904e7773e5e665d0da0de7327e763e443922d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/backend/zipball/9e21b06a8c84cc5218a6259aae794e7d76eb9a93", - "reference": "9e21b06a8c84cc5218a6259aae794e7d76eb9a93", + "url": "https://api.github.com/repos/TYPO3-CMS/backend/zipball/53904e7773e5e665d0da0de7327e763e443922d8", + "reference": "53904e7773e5e665d0da0de7327e763e443922d8", "shasum": "" }, "require": { "ext-intl": "*", "ext-libxml": "*", "psr/event-dispatcher": "^1.0", - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5388,7 +5388,7 @@ "suggest": { "typo3/cms-install": "To generate url to install tool in environment toolbar" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -5438,26 +5438,26 @@ }, { "name": "typo3/cms-belog", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/belog.git", - "reference": "6bd2ea14ad6c30067fd1868eb7eda77648710d9d" + "reference": "3ef9b6e1fce1ef4bd9bc93817cd09d31c82f11f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/belog/zipball/6bd2ea14ad6c30067fd1868eb7eda77648710d9d", - "reference": "6bd2ea14ad6c30067fd1868eb7eda77648710d9d", + "url": "https://api.github.com/repos/TYPO3-CMS/belog/zipball/3ef9b6e1fce1ef4bd9bc93817cd09d31c82f11f3", + "reference": "3ef9b6e1fce1ef4bd9bc93817cd09d31c82f11f3", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -5499,26 +5499,26 @@ }, { "name": "typo3/cms-beuser", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/beuser.git", - "reference": "bffe9c2f6e464631f590aebbb5cb3142c5b44db5" + "reference": "3cc8cd3cc08d66c90d63001761fd3a8f483b6d42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/beuser/zipball/bffe9c2f6e464631f590aebbb5cb3142c5b44db5", - "reference": "bffe9c2f6e464631f590aebbb5cb3142c5b44db5", + "url": "https://api.github.com/repos/TYPO3-CMS/beuser/zipball/3cc8cd3cc08d66c90d63001761fd3a8f483b6d42", + "reference": "3cc8cd3cc08d66c90d63001761fd3a8f483b6d42", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -5674,17 +5674,17 @@ }, { "name": "typo3/cms-core", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/core.git", - "reference": "03937b4ecff708645e7ed91a19f69e5c002f3949" + "reference": "40d287741cb86cc04bd1a375e8a8920a57357622" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/core/zipball/03937b4ecff708645e7ed91a19f69e5c002f3949", - "reference": "03937b4ecff708645e7ed91a19f69e5c002f3949", + "url": "https://api.github.com/repos/TYPO3-CMS/core/zipball/40d287741cb86cc04bd1a375e8a8920a57357622", + "reference": "40d287741cb86cc04bd1a375e8a8920a57357622", "shasum": "" }, "require": { @@ -5769,7 +5769,7 @@ "ext-zip": "", "ext-zlib": "TYPO3 uses zlib for amongst others output compression and un/packing t3x extension files" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -5822,30 +5822,30 @@ }, { "name": "typo3/cms-dashboard", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/dashboard.git", - "reference": "5e11c8015b024e4dd18fbec2e67f9a7dfcc4d9e4" + "reference": "26ada08e7a5e1d350119689372e5d06604beeff0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/dashboard/zipball/5e11c8015b024e4dd18fbec2e67f9a7dfcc4d9e4", - "reference": "5e11c8015b024e4dd18fbec2e67f9a7dfcc4d9e4", + "url": "https://api.github.com/repos/TYPO3-CMS/dashboard/zipball/26ada08e7a5e1d350119689372e5d06604beeff0", + "reference": "26ada08e7a5e1d350119689372e5d06604beeff0", "shasum": "" }, "require": { - "typo3/cms-backend": "13.4.2", - "typo3/cms-core": "13.4.2", - "typo3/cms-extbase": "13.4.2", - "typo3/cms-fluid": "13.4.2", - "typo3/cms-frontend": "13.4.2" + "typo3/cms-backend": "13.4.3", + "typo3/cms-core": "13.4.3", + "typo3/cms-extbase": "13.4.3", + "typo3/cms-fluid": "13.4.3", + "typo3/cms-frontend": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -5888,17 +5888,17 @@ }, { "name": "typo3/cms-extbase", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/extbase.git", - "reference": "c4b032e9cadfc5a729f66cdce01d5a7dba9a3eed" + "reference": "fdf4090121a2007444dc05cbf53bf3c12fc5d65e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/extbase/zipball/c4b032e9cadfc5a729f66cdce01d5a7dba9a3eed", - "reference": "c4b032e9cadfc5a729f66cdce01d5a7dba9a3eed", + "url": "https://api.github.com/repos/TYPO3-CMS/extbase/zipball/fdf4090121a2007444dc05cbf53bf3c12fc5d65e", + "reference": "fdf4090121a2007444dc05cbf53bf3c12fc5d65e", "shasum": "" }, "require": { @@ -5908,7 +5908,7 @@ "symfony/dependency-injection": "^7.1.4", "symfony/property-access": "^7.1.4", "symfony/property-info": "^7.1.3", - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -5916,7 +5916,7 @@ "suggest": { "typo3/cms-scheduler": "Additional scheduler tasks" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -5961,27 +5961,27 @@ }, { "name": "typo3/cms-extensionmanager", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/extensionmanager.git", - "reference": "4d09e2c031b91850ce7ae04942898e34dfa26380" + "reference": "ca0fab89c55148c6bac40652c2d4eaa79c32381f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/extensionmanager/zipball/4d09e2c031b91850ce7ae04942898e34dfa26380", - "reference": "4d09e2c031b91850ce7ae04942898e34dfa26380", + "url": "https://api.github.com/repos/TYPO3-CMS/extensionmanager/zipball/ca0fab89c55148c6bac40652c2d4eaa79c32381f", + "reference": "ca0fab89c55148c6bac40652c2d4eaa79c32381f", "shasum": "" }, "require": { "ext-libxml": "*", - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6030,26 +6030,26 @@ }, { "name": "typo3/cms-felogin", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/felogin.git", - "reference": "3c524867a78fe0781e3400d78739d24cddb54003" + "reference": "dc755f19dfae3ed30a2a21dbf2a6abf13bd05e73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/felogin/zipball/3c524867a78fe0781e3400d78739d24cddb54003", - "reference": "3c524867a78fe0781e3400d78739d24cddb54003", + "url": "https://api.github.com/repos/TYPO3-CMS/felogin/zipball/dc755f19dfae3ed30a2a21dbf2a6abf13bd05e73", + "reference": "dc755f19dfae3ed30a2a21dbf2a6abf13bd05e73", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6091,26 +6091,26 @@ }, { "name": "typo3/cms-filelist", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/filelist.git", - "reference": "2a1c776a181b72f11ca906a8f75194998e319dd7" + "reference": "920b31aadaa41db54baa40ccf1907ffd360e7c2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/filelist/zipball/2a1c776a181b72f11ca906a8f75194998e319dd7", - "reference": "2a1c776a181b72f11ca906a8f75194998e319dd7", + "url": "https://api.github.com/repos/TYPO3-CMS/filelist/zipball/920b31aadaa41db54baa40ccf1907ffd360e7c2a", + "reference": "920b31aadaa41db54baa40ccf1907ffd360e7c2a", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6154,26 +6154,26 @@ }, { "name": "typo3/cms-filemetadata", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/filemetadata.git", - "reference": "2edc47021718d63e6140145be5108d17be591499" + "reference": "028889701097c48c5ebb61eed4021cad62886ce6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/filemetadata/zipball/2edc47021718d63e6140145be5108d17be591499", - "reference": "2edc47021718d63e6140145be5108d17be591499", + "url": "https://api.github.com/repos/TYPO3-CMS/filemetadata/zipball/028889701097c48c5ebb61eed4021cad62886ce6", + "reference": "028889701097c48c5ebb61eed4021cad62886ce6", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6207,29 +6207,29 @@ }, { "name": "typo3/cms-fluid", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/fluid.git", - "reference": "98f6a7e19b49514acba6c47168c554649305c84c" + "reference": "7eab1cf202b6529eeb4e823df63b327a94123e06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/fluid/zipball/98f6a7e19b49514acba6c47168c554649305c84c", - "reference": "98f6a7e19b49514acba6c47168c554649305c84c", + "url": "https://api.github.com/repos/TYPO3-CMS/fluid/zipball/7eab1cf202b6529eeb4e823df63b327a94123e06", + "reference": "7eab1cf202b6529eeb4e823df63b327a94123e06", "shasum": "" }, "require": { "symfony/dependency-injection": "^7.1.4", - "typo3/cms-core": "13.4.2", - "typo3/cms-extbase": "13.4.2", + "typo3/cms-core": "13.4.3", + "typo3/cms-extbase": "13.4.3", "typo3fluid/fluid": "^4.0.2" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6274,28 +6274,28 @@ }, { "name": "typo3/cms-fluid-styled-content", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/fluid_styled_content.git", - "reference": "84512d9a443b71124e408e368b1e9a157f1604d5" + "reference": "53121c1caa3313d88aef3acedbd71d159bc79de5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/fluid_styled_content/zipball/84512d9a443b71124e408e368b1e9a157f1604d5", - "reference": "84512d9a443b71124e408e368b1e9a157f1604d5", + "url": "https://api.github.com/repos/TYPO3-CMS/fluid_styled_content/zipball/53121c1caa3313d88aef3acedbd71d159bc79de5", + "reference": "53121c1caa3313d88aef3acedbd71d159bc79de5", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2", - "typo3/cms-fluid": "13.4.2", - "typo3/cms-frontend": "13.4.2" + "typo3/cms-core": "13.4.3", + "typo3/cms-fluid": "13.4.3", + "typo3/cms-frontend": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6337,24 +6337,24 @@ }, { "name": "typo3/cms-form", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/form.git", - "reference": "69d376c4f8ad14c1e77e213d00d3df815c3c77ab" + "reference": "856c89437b7f6f533539007a6ce3d2e8c57d72f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/form/zipball/69d376c4f8ad14c1e77e213d00d3df815c3c77ab", - "reference": "69d376c4f8ad14c1e77e213d00d3df815c3c77ab", + "url": "https://api.github.com/repos/TYPO3-CMS/form/zipball/856c89437b7f6f533539007a6ce3d2e8c57d72f5", + "reference": "856c89437b7f6f533539007a6ce3d2e8c57d72f5", "shasum": "" }, "require": { "psr/http-message": "^1.1 || ^2.0", "symfony/expression-language": "^7.1.4", - "typo3/cms-core": "13.4.2", - "typo3/cms-frontend": "13.4.2" + "typo3/cms-core": "13.4.3", + "typo3/cms-frontend": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6364,7 +6364,7 @@ "typo3/cms-impexp": "Import and Export of records from TYPO3 in a custom serialized format (.T3D) for data exchange with other TYPO3 systems.", "typo3/cms-lowlevel": "To display the YAML configuration in the configuration module" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6406,22 +6406,22 @@ }, { "name": "typo3/cms-frontend", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/frontend.git", - "reference": "99f7a1340c179b819ac6a0d769260b6906b8174d" + "reference": "d429df3547322b86bc6c1e87f76dce787a1f4b19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/frontend/zipball/99f7a1340c179b819ac6a0d769260b6906b8174d", - "reference": "99f7a1340c179b819ac6a0d769260b6906b8174d", + "url": "https://api.github.com/repos/TYPO3-CMS/frontend/zipball/d429df3547322b86bc6c1e87f76dce787a1f4b19", + "reference": "d429df3547322b86bc6c1e87f76dce787a1f4b19", "shasum": "" }, "require": { "ext-libxml": "*", - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6429,7 +6429,7 @@ "suggest": { "typo3/cms-adminpanel": "Provides additional information and functionality for backend users in the frontend." }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6479,26 +6479,26 @@ }, { "name": "typo3/cms-impexp", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/impexp.git", - "reference": "161d2d930f8635ee066c6b26dda0bdd9411df3ab" + "reference": "94d29d0ae7b8886fbd4d2a54c56bb7d167ab9703" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/impexp/zipball/161d2d930f8635ee066c6b26dda0bdd9411df3ab", - "reference": "161d2d930f8635ee066c6b26dda0bdd9411df3ab", + "url": "https://api.github.com/repos/TYPO3-CMS/impexp/zipball/94d29d0ae7b8886fbd4d2a54c56bb7d167ab9703", + "reference": "94d29d0ae7b8886fbd4d2a54c56bb7d167ab9703", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6540,21 +6540,21 @@ }, { "name": "typo3/cms-indexed-search", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/indexed_search.git", - "reference": "6e834233e6765cd71ba2aedf2150af9b0dee8f0f" + "reference": "6baabc7ffc4b94abc9700ec2021ecca69fd7ceab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/indexed_search/zipball/6e834233e6765cd71ba2aedf2150af9b0dee8f0f", - "reference": "6e834233e6765cd71ba2aedf2150af9b0dee8f0f", + "url": "https://api.github.com/repos/TYPO3-CMS/indexed_search/zipball/6baabc7ffc4b94abc9700ec2021ecca69fd7ceab", + "reference": "6baabc7ffc4b94abc9700ec2021ecca69fd7ceab", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6563,7 +6563,7 @@ "ext-exif": "Used to extract exif metadata 'COMMENT' and 'ImageDescription' of uploaded images", "typo3/cms-scheduler": "For garbage collection of search statistics" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6602,21 +6602,21 @@ }, { "name": "typo3/cms-info", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/info.git", - "reference": "6e3c7b2931f4ced1d7ebab13c8fd34210e20aa92" + "reference": "409b8131b83c025fa08c32f781cc6aa1eb064e0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/info/zipball/6e3c7b2931f4ced1d7ebab13c8fd34210e20aa92", - "reference": "6e3c7b2931f4ced1d7ebab13c8fd34210e20aa92", + "url": "https://api.github.com/repos/TYPO3-CMS/info/zipball/409b8131b83c025fa08c32f781cc6aa1eb064e0b", + "reference": "409b8131b83c025fa08c32f781cc6aa1eb064e0b", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6624,7 +6624,7 @@ "replace": { "typo3/cms-info-pagetsconfig": "self.version" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6666,17 +6666,17 @@ }, { "name": "typo3/cms-install", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/install.git", - "reference": "469635ae5923770321b2eadfc9723e7f48d1be77" + "reference": "f2a97f7f7fab46fa5c31681224f185ecdd7ee723" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/install/zipball/469635ae5923770321b2eadfc9723e7f48d1be77", - "reference": "469635ae5923770321b2eadfc9723e7f48d1be77", + "url": "https://api.github.com/repos/TYPO3-CMS/install/zipball/f2a97f7f7fab46fa5c31681224f185ecdd7ee723", + "reference": "f2a97f7f7fab46fa5c31681224f185ecdd7ee723", "shasum": "" }, "require": { @@ -6685,14 +6685,14 @@ "nikic/php-parser": "^5.1.0", "symfony/finder": "^7.1.4", "symfony/http-foundation": "^7.1.3", - "typo3/cms-core": "13.4.2", - "typo3/cms-extbase": "13.4.2", - "typo3/cms-fluid": "13.4.2" + "typo3/cms-core": "13.4.3", + "typo3/cms-extbase": "13.4.3", + "typo3/cms-fluid": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6813,21 +6813,21 @@ }, { "name": "typo3/cms-reactions", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/reactions.git", - "reference": "b2d91b2e7706bfd8940e23b88e02e2d52b34e6ae" + "reference": "87d63573ac089507c277f4d2d8b0644fb0e1182a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/reactions/zipball/b2d91b2e7706bfd8940e23b88e02e2d52b34e6ae", - "reference": "b2d91b2e7706bfd8940e23b88e02e2d52b34e6ae", + "url": "https://api.github.com/repos/TYPO3-CMS/reactions/zipball/87d63573ac089507c277f4d2d8b0644fb0e1182a", + "reference": "87d63573ac089507c277f4d2d8b0644fb0e1182a", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6835,7 +6835,7 @@ "suggest": { "typo3/cms-lowlevel": "To display registered reactions in the configuration module" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6874,21 +6874,21 @@ }, { "name": "typo3/cms-recycler", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/recycler.git", - "reference": "09ce1a7d66833d8f12a580d373fb5993ed57bc8e" + "reference": "db38e169c01fb0013449ba2c07eda11ef891c91e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/recycler/zipball/09ce1a7d66833d8f12a580d373fb5993ed57bc8e", - "reference": "09ce1a7d66833d8f12a580d373fb5993ed57bc8e", + "url": "https://api.github.com/repos/TYPO3-CMS/recycler/zipball/db38e169c01fb0013449ba2c07eda11ef891c91e", + "reference": "db38e169c01fb0013449ba2c07eda11ef891c91e", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6896,7 +6896,7 @@ "suggest": { "typo3/cms-scheduler": "Remove deleted records after given time" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -6938,21 +6938,21 @@ }, { "name": "typo3/cms-rte-ckeditor", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/rte_ckeditor.git", - "reference": "fafb3d18dce6a45d3ee5c0c01302e1db630039c3" + "reference": "8eeb49bf09be733dbe65a11c2fe9ebb9a47b1ee0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/rte_ckeditor/zipball/fafb3d18dce6a45d3ee5c0c01302e1db630039c3", - "reference": "fafb3d18dce6a45d3ee5c0c01302e1db630039c3", + "url": "https://api.github.com/repos/TYPO3-CMS/rte_ckeditor/zipball/8eeb49bf09be733dbe65a11c2fe9ebb9a47b1ee0", + "reference": "8eeb49bf09be733dbe65a11c2fe9ebb9a47b1ee0", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -6960,7 +6960,7 @@ "suggest": { "typo3/cms-setup": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -7002,23 +7002,23 @@ }, { "name": "typo3/cms-seo", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/seo.git", - "reference": "803b1e6dcda44614efc43892445c32dab99ea41e" + "reference": "701a3c3fe9b49b59951c8adfe52dff4719d9c15b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/seo/zipball/803b1e6dcda44614efc43892445c32dab99ea41e", - "reference": "803b1e6dcda44614efc43892445c32dab99ea41e", + "url": "https://api.github.com/repos/TYPO3-CMS/seo/zipball/701a3c3fe9b49b59951c8adfe52dff4719d9c15b", + "reference": "701a3c3fe9b49b59951c8adfe52dff4719d9c15b", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2", - "typo3/cms-extbase": "13.4.2", - "typo3/cms-frontend": "13.4.2" + "typo3/cms-core": "13.4.3", + "typo3/cms-extbase": "13.4.3", + "typo3/cms-frontend": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -7026,7 +7026,7 @@ "suggest": { "typo3/cms-dashboard": "TYPO3 users can add widgets that can help to optimise their website for search engines" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -7068,26 +7068,26 @@ }, { "name": "typo3/cms-setup", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/setup.git", - "reference": "2514a46944ad327f42404571ef97217e5c83ba51" + "reference": "3d6d5c683a389b8602ee6e891927f6f6508700d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/setup/zipball/2514a46944ad327f42404571ef97217e5c83ba51", - "reference": "2514a46944ad327f42404571ef97217e5c83ba51", + "url": "https://api.github.com/repos/TYPO3-CMS/setup/zipball/3d6d5c683a389b8602ee6e891927f6f6508700d3", + "reference": "3d6d5c683a389b8602ee6e891927f6f6508700d3", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -7129,21 +7129,21 @@ }, { "name": "typo3/cms-sys-note", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/sys_note.git", - "reference": "dfc40e51c2faa8153fd82802bd2d05e92891e2a6" + "reference": "6db0c8850b9afd53ff367d3149cd9e591eadf7df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/sys_note/zipball/dfc40e51c2faa8153fd82802bd2d05e92891e2a6", - "reference": "dfc40e51c2faa8153fd82802bd2d05e92891e2a6", + "url": "https://api.github.com/repos/TYPO3-CMS/sys_note/zipball/6db0c8850b9afd53ff367d3149cd9e591eadf7df", + "reference": "6db0c8850b9afd53ff367d3149cd9e591eadf7df", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -7151,7 +7151,7 @@ "suggest": { "typo3/cms-dashboard": "TYPO3 users can add widgets that can help to quickly see existing sys_note records" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -7193,26 +7193,26 @@ }, { "name": "typo3/cms-tstemplate", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/tstemplate.git", - "reference": "8ddde0f89d0bbe0ac4b8265a03f51faaea682345" + "reference": "f7fcb5c6c8aba8632ce72433abdd6a48d12091bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/tstemplate/zipball/8ddde0f89d0bbe0ac4b8265a03f51faaea682345", - "reference": "8ddde0f89d0bbe0ac4b8265a03f51faaea682345", + "url": "https://api.github.com/repos/TYPO3-CMS/tstemplate/zipball/f7fcb5c6c8aba8632ce72433abdd6a48d12091bc", + "reference": "f7fcb5c6c8aba8632ce72433abdd6a48d12091bc", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -7254,26 +7254,26 @@ }, { "name": "typo3/cms-viewpage", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/viewpage.git", - "reference": "ff0249c7d130904422cf911ae2ab9a7599bf0d34" + "reference": "c1c2c7a40659f81d2ec38450029ba512cd5f45ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/viewpage/zipball/ff0249c7d130904422cf911ae2ab9a7599bf0d34", - "reference": "ff0249c7d130904422cf911ae2ab9a7599bf0d34", + "url": "https://api.github.com/repos/TYPO3-CMS/viewpage/zipball/c1c2c7a40659f81d2ec38450029ba512cd5f45ed", + "reference": "c1c2c7a40659f81d2ec38450029ba512cd5f45ed", "shasum": "" }, "require": { - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { @@ -7315,22 +7315,22 @@ }, { "name": "typo3/cms-webhooks", - "version": "v13.4.2", - "version_normalized": "13.4.2.0", + "version": "v13.4.3", + "version_normalized": "13.4.3.0", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/webhooks.git", - "reference": "33dcd9560f1338e909b6a359ff8b5acf759f327d" + "reference": "fd8b7707e3ecaef749c8b67d9403be6996c13b94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/webhooks/zipball/33dcd9560f1338e909b6a359ff8b5acf759f327d", - "reference": "33dcd9560f1338e909b6a359ff8b5acf759f327d", + "url": "https://api.github.com/repos/TYPO3-CMS/webhooks/zipball/fd8b7707e3ecaef749c8b67d9403be6996c13b94", + "reference": "fd8b7707e3ecaef749c8b67d9403be6996c13b94", "shasum": "" }, "require": { "symfony/uid": "^7.1.4", - "typo3/cms-core": "13.4.2" + "typo3/cms-core": "13.4.3" }, "conflict": { "typo3/cms": "*" @@ -7338,7 +7338,7 @@ "suggest": { "typo3/cms-lowlevel": "To display registered webhooks in the configuration module" }, - "time": "2024-12-10T11:09:14+00:00", + "time": "2025-01-14T10:07:28+00:00", "type": "typo3-cms-framework", "extra": { "typo3/cms": { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 00a96bd9..1c150fed 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => 'typo3/cms-base-distribution', 'pretty_version' => 'dev-main', 'version' => 'dev-main', - 'reference' => '4c5ae19200af36eb2a0ea89a15563d27767412f5', + 'reference' => 'a18f2021cb19ad7b226cdc00cfd3ab76433b87bb', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -757,13 +757,13 @@ 'typo3/cms-about' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-backend' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '9e21b06a8c84cc5218a6259aae794e7d76eb9a93', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '53904e7773e5e665d0da0de7327e763e443922d8', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-backend', 'aliases' => array(), @@ -772,25 +772,25 @@ 'typo3/cms-base-distribution' => array( 'pretty_version' => 'dev-main', 'version' => 'dev-main', - 'reference' => '4c5ae19200af36eb2a0ea89a15563d27767412f5', + 'reference' => 'a18f2021cb19ad7b226cdc00cfd3ab76433b87bb', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-belog' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '6bd2ea14ad6c30067fd1868eb7eda77648710d9d', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '3ef9b6e1fce1ef4bd9bc93817cd09d31c82f11f3', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-belog', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-beuser' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => 'bffe9c2f6e464631f590aebbb5cb3142c5b44db5', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '3cc8cd3cc08d66c90d63001761fd3a8f483b6d42', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-beuser', 'aliases' => array(), @@ -817,13 +817,13 @@ 'typo3/cms-context-help' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-core' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '03937b4ecff708645e7ed91a19f69e5c002f3949', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '40d287741cb86cc04bd1a375e8a8920a57357622', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-core', 'aliases' => array(), @@ -832,94 +832,94 @@ 'typo3/cms-cshmanual' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-dashboard' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '5e11c8015b024e4dd18fbec2e67f9a7dfcc4d9e4', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '26ada08e7a5e1d350119689372e5d06604beeff0', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-dashboard', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-extbase' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => 'c4b032e9cadfc5a729f66cdce01d5a7dba9a3eed', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => 'fdf4090121a2007444dc05cbf53bf3c12fc5d65e', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-extbase', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-extensionmanager' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '4d09e2c031b91850ce7ae04942898e34dfa26380', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => 'ca0fab89c55148c6bac40652c2d4eaa79c32381f', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-extensionmanager', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-felogin' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '3c524867a78fe0781e3400d78739d24cddb54003', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => 'dc755f19dfae3ed30a2a21dbf2a6abf13bd05e73', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-felogin', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-filelist' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '2a1c776a181b72f11ca906a8f75194998e319dd7', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '920b31aadaa41db54baa40ccf1907ffd360e7c2a', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-filelist', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-filemetadata' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '2edc47021718d63e6140145be5108d17be591499', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '028889701097c48c5ebb61eed4021cad62886ce6', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-filemetadata', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-fluid' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '98f6a7e19b49514acba6c47168c554649305c84c', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '7eab1cf202b6529eeb4e823df63b327a94123e06', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-fluid', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-fluid-styled-content' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '84512d9a443b71124e408e368b1e9a157f1604d5', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '53121c1caa3313d88aef3acedbd71d159bc79de5', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-fluid-styled-content', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-form' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '69d376c4f8ad14c1e77e213d00d3df815c3c77ab', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '856c89437b7f6f533539007a6ce3d2e8c57d72f5', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-form', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-frontend' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '99f7a1340c179b819ac6a0d769260b6906b8174d', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => 'd429df3547322b86bc6c1e87f76dce787a1f4b19', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-frontend', 'aliases' => array(), @@ -928,31 +928,31 @@ 'typo3/cms-func-wizards' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-impexp' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '161d2d930f8635ee066c6b26dda0bdd9411df3ab', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '94d29d0ae7b8886fbd4d2a54c56bb7d167ab9703', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-impexp', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-indexed-search' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '6e834233e6765cd71ba2aedf2150af9b0dee8f0f', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '6baabc7ffc4b94abc9700ec2021ecca69fd7ceab', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-indexed-search', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-info' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '6e3c7b2931f4ced1d7ebab13c8fd34210e20aa92', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '409b8131b83c025fa08c32f781cc6aa1eb064e0b', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-info', 'aliases' => array(), @@ -961,13 +961,13 @@ 'typo3/cms-info-pagetsconfig' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-install' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '469635ae5923770321b2eadfc9723e7f48d1be77', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => 'f2a97f7f7fab46fa5c31681224f185ecdd7ee723', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-install', 'aliases' => array(), @@ -985,13 +985,13 @@ 'typo3/cms-lang' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-reactions' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => 'b2d91b2e7706bfd8940e23b88e02e2d52b34e6ae', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '87d63573ac089507c277f4d2d8b0644fb0e1182a', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-reactions', 'aliases' => array(), @@ -1000,22 +1000,22 @@ 'typo3/cms-recordlist' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-recycler' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '09ce1a7d66833d8f12a580d373fb5993ed57bc8e', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => 'db38e169c01fb0013449ba2c07eda11ef891c91e', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-recycler', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-rte-ckeditor' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => 'fafb3d18dce6a45d3ee5c0c01302e1db630039c3', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '8eeb49bf09be733dbe65a11c2fe9ebb9a47b1ee0', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-rte-ckeditor', 'aliases' => array(), @@ -1024,22 +1024,22 @@ 'typo3/cms-saltedpasswords' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-seo' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '803b1e6dcda44614efc43892445c32dab99ea41e', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '701a3c3fe9b49b59951c8adfe52dff4719d9c15b', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-seo', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-setup' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '2514a46944ad327f42404571ef97217e5c83ba51', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '3d6d5c683a389b8602ee6e891927f6f6508700d3', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-setup', 'aliases' => array(), @@ -1048,13 +1048,13 @@ 'typo3/cms-sv' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-sys-note' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => 'dfc40e51c2faa8153fd82802bd2d05e92891e2a6', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => '6db0c8850b9afd53ff367d3149cd9e591eadf7df', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-sys-note', 'aliases' => array(), @@ -1063,31 +1063,31 @@ 'typo3/cms-t3editor' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-tstemplate' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '8ddde0f89d0bbe0ac4b8265a03f51faaea682345', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => 'f7fcb5c6c8aba8632ce72433abdd6a48d12091bc', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-tstemplate', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-viewpage' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => 'ff0249c7d130904422cf911ae2ab9a7599bf0d34', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => 'c1c2c7a40659f81d2ec38450029ba512cd5f45ed', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-viewpage', 'aliases' => array(), 'dev_requirement' => false, ), 'typo3/cms-webhooks' => array( - 'pretty_version' => 'v13.4.2', - 'version' => '13.4.2.0', - 'reference' => '33dcd9560f1338e909b6a359ff8b5acf759f327d', + 'pretty_version' => 'v13.4.3', + 'version' => '13.4.3.0', + 'reference' => 'fd8b7707e3ecaef749c8b67d9403be6996c13b94', 'type' => 'typo3-cms-framework', 'install_path' => __DIR__ . '/../typo3/cms-webhooks', 'aliases' => array(), @@ -1096,13 +1096,13 @@ 'typo3/cms-wizard-crpages' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/cms-wizard-sortpages' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v13.4.2', + 0 => 'v13.4.3', ), ), 'typo3/html-sanitizer' => array( diff --git a/vendor/typo3/PackageArtifact.php b/vendor/typo3/PackageArtifact.php index f376fa89..4bbd9e1c 100644 --- a/vendor/typo3/PackageArtifact.php +++ b/vendor/typo3/PackageArtifact.php @@ -1,7 +1,7 @@ '859dcb81f8a1b481fb915a9d7b108b41', + 'identifier' => 'da91fa2fdc9e3ffd255e4ef87e706d77', 'packageStatesConfiguration' => array ( 'packages' => @@ -98,6 +98,7 @@ ), 'packageAliasMap' => array ( + 'typo3/cms-info-pagetsconfig' => 'info', 'typo3/cms-about' => 'backend', 'typo3/cms-context-help' => 'backend', 'typo3/cms-cshmanual' => 'backend', @@ -109,39 +110,38 @@ 'typo3/cms-lang' => 'core', 'typo3/cms-saltedpasswords' => 'core', 'typo3/cms-sv' => 'core', - 'typo3/cms-info-pagetsconfig' => 'info', ), 'composerNameToPackageKeyMap' => array ( 'bk2k/bootstrap-package' => 'bootstrap_package', - 'typo3/cms-backend' => 'backend', + 'typo3/cms-introduction' => 'introduction', + 'typo3/cms-info' => 'info', 'typo3/cms-belog' => 'belog', - 'typo3/cms-beuser' => 'beuser', - 'typo3/cms-core' => 'core', - 'typo3/cms-dashboard' => 'dashboard', - 'typo3/cms-extbase' => 'extbase', - 'typo3/cms-extensionmanager' => 'extensionmanager', - 'typo3/cms-felogin' => 'felogin', + 'typo3/cms-tstemplate' => 'tstemplate', + 'typo3/cms-fluid' => 'fluid', 'typo3/cms-filelist' => 'filelist', + 'typo3/cms-dashboard' => 'dashboard', 'typo3/cms-filemetadata' => 'filemetadata', - 'typo3/cms-fluid' => 'fluid', 'typo3/cms-fluid-styled-content' => 'fluid_styled_content', - 'typo3/cms-form' => 'form', - 'typo3/cms-frontend' => 'frontend', 'typo3/cms-impexp' => 'impexp', + 'typo3/cms-frontend' => 'frontend', + 'typo3/cms-felogin' => 'felogin', + 'typo3/cms-extbase' => 'extbase', 'typo3/cms-indexed-search' => 'indexed_search', - 'typo3/cms-info' => 'info', - 'typo3/cms-install' => 'install', - 'typo3/cms-introduction' => 'introduction', - 'typo3/cms-reactions' => 'reactions', + 'typo3/cms-beuser' => 'beuser', + 'typo3/cms-setup' => 'setup', + 'typo3/cms-seo' => 'seo', 'typo3/cms-recycler' => 'recycler', + 'typo3/cms-extensionmanager' => 'extensionmanager', + 'typo3/cms-viewpage' => 'viewpage', 'typo3/cms-rte-ckeditor' => 'rte_ckeditor', - 'typo3/cms-seo' => 'seo', - 'typo3/cms-setup' => 'setup', + 'typo3/cms-reactions' => 'reactions', 'typo3/cms-sys-note' => 'sys_note', - 'typo3/cms-tstemplate' => 'tstemplate', - 'typo3/cms-viewpage' => 'viewpage', 'typo3/cms-webhooks' => 'webhooks', + 'typo3/cms-install' => 'install', + 'typo3/cms-backend' => 'backend', + 'typo3/cms-form' => 'form', + 'typo3/cms-core' => 'core', ), - 'packageObjects' => 'a:29:{s:4:"core";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:30:"TYPO3\\CMS\\Core\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"core";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:22:"vendor/typo3/cms-core/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":15:{s:4:"name";s:14:"typo3/cms-core";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:14:"TYPO3 CMS Core";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":57:{s:3:"php";s:4:"^8.2";s:7:"ext-PDO";s:1:"*";s:7:"ext-dom";s:1:"*";s:8:"ext-intl";s:1:"*";s:8:"ext-json";s:1:"*";s:10:"ext-libxml";s:1:"*";s:12:"ext-mbstring";s:1:"*";s:8:"ext-pcre";s:1:"*";s:11:"ext-session";s:1:"*";s:13:"ext-tokenizer";s:1:"*";s:7:"ext-xml";s:1:"*";s:20:"composer-runtime-api";s:4:"^2.1";s:19:"bacon/bacon-qr-code";s:4:"^3.0";s:23:"christian-riesen/base32";s:4:"^1.6";s:20:"doctrine/annotations";s:6:"^2.0.2";s:13:"doctrine/dbal";s:6:"^4.2.1";s:22:"doctrine/event-manager";s:6:"^2.0.1";s:14:"doctrine/lexer";s:6:"^3.0.1";s:23:"egulias/email-validator";s:4:"^4.0";s:22:"enshrined/svg-sanitize";s:7:"^0.20.0";s:16:"firebase/php-jwt";s:7:"^6.10.2";s:17:"guzzlehttp/guzzle";s:6:"^7.9.2";s:15:"guzzlehttp/psr7";s:6:"^2.7.0";s:16:"lolli42/finediff";s:6:"^1.1.1";s:17:"masterminds/html5";s:6:"^2.9.0";s:13:"psr/container";s:4:"^2.0";s:20:"psr/event-dispatcher";s:4:"^1.0";s:15:"psr/http-client";s:6:"^1.0.3";s:16:"psr/http-factory";s:6:"^1.1.0";s:16:"psr/http-message";s:12:"^1.1 || ^2.0";s:23:"psr/http-server-handler";s:4:"^1.0";s:26:"psr/http-server-middleware";s:4:"^1.0";s:7:"psr/log";s:6:"^3.0.1";s:14:"symfony/config";s:4:"^7.1";s:15:"symfony/console";s:6:"^7.1.4";s:28:"symfony/dependency-injection";s:6:"^7.1.4";s:26:"symfony/doctrine-messenger";s:6:"^7.1.4";s:34:"symfony/event-dispatcher-contracts";s:4:"^3.1";s:27:"symfony/expression-language";s:6:"^7.1.4";s:18:"symfony/filesystem";s:6:"^7.1.2";s:14:"symfony/finder";s:6:"^7.1.4";s:23:"symfony/http-foundation";s:6:"^7.1.3";s:14:"symfony/mailer";s:6:"^7.1.2";s:17:"symfony/messenger";s:6:"^7.1.4";s:12:"symfony/mime";s:6:"^7.1.4";s:24:"symfony/options-resolver";s:4:"^7.1";s:22:"symfony/polyfill-php83";s:5:"^1.31";s:15:"symfony/process";s:6:"^7.1.3";s:20:"symfony/rate-limiter";s:4:"^7.1";s:15:"symfony/routing";s:6:"^7.1.4";s:11:"symfony/uid";s:6:"^7.1.4";s:12:"symfony/yaml";s:6:"^7.1.4";s:24:"typo3/class-alias-loader";s:4:"^1.2";s:13:"typo3/cms-cli";s:6:"^3.1.1";s:29:"typo3/cms-composer-installers";s:6:"^5.0.1";s:20:"typo3/html-sanitizer";s:6:"^2.2.0";s:16:"typo3fluid/fluid";s:6:"^4.0.2";}s:7:"suggest";O:8:"stdClass":8:{s:8:"ext-apcu";s:58:"Needed when non-default APCU based cache backends are used";s:8:"ext-exif";s:62:"Used to extract exif metadata \'Orientation\' of uploaded images";s:12:"ext-fileinfo";s:65:"Used for proper file type detection in the file abstraction layer";s:6:"ext-gd";s:106:"GDlib/Freetype is required for building images with text (GIFBUILDER) and can also be used to scale images";s:10:"ext-mysqli";s:0:"";s:11:"ext-openssl";s:77:"OpenSSL is required for sending SMTP mails over an encrypted channel endpoint";s:7:"ext-zip";s:0:"";s:8:"ext-zlib";s:88:"TYPO3 uses zlib for amongst others output compression and un/packing t3x extension files";}s:8:"conflict";O:8:"stdClass":2:{s:8:"hoa/core";s:1:"*";s:9:"typo3/cms";s:1:"*";}s:7:"replace";O:8:"stdClass":3:{s:14:"typo3/cms-lang";s:12:"self.version";s:25:"typo3/cms-saltedpasswords";s:12:"self.version";s:12:"typo3/cms-sv";s:12:"self.version";}s:7:"provide";O:8:"stdClass":2:{s:31:"psr/http-factory-implementation";s:3:"1.0";s:31:"psr/http-message-implementation";s:3:"1.0";}s:5:"extra";O:8:"stdClass":3:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:30:"TYPO3\\CMS\\Core\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:4:"core";}s:24:"typo3/class-alias-loader";O:8:"stdClass":1:{s:16:"class-alias-maps";a:1:{i:0;s:33:"Migrations/Code/ClassAliasMap.php";}}}s:8:"autoload";O:8:"stdClass":2:{s:5:"psr-4";O:8:"stdClass":1:{s:15:"TYPO3\\CMS\\Core\\";s:8:"Classes/";}s:5:"files";a:1:{i:0;s:38:"Resources/PHP/GlobalDebugFunctions.php";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"core";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:14:"TYPO3 CMS Core";s:14:"' . "\0" . '*' . "\0" . 'description";s:14:"TYPO3 CMS Core";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:57:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:3:"php";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-PDO";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-dom";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-intl";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-json";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-libxml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"ext-mbstring";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:7;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-pcre";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:8;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:11:"ext-session";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:9;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"ext-tokenizer";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:10;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-xml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:11;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"composer-runtime-api";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:12;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:19:"bacon/bacon-qr-code";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:13;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"christian-riesen/base32";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:14;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"doctrine/annotations";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:15;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"doctrine/dbal";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:16;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:22:"doctrine/event-manager";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:17;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"doctrine/lexer";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:18;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"egulias/email-validator";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:19;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:22:"enshrined/svg-sanitize";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:20;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"firebase/php-jwt";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:21;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:17:"guzzlehttp/guzzle";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:22;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"guzzlehttp/psr7";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:23;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"lolli42/finediff";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:24;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:17:"masterminds/html5";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:25;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"psr/container";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:26;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"psr/event-dispatcher";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:27;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"psr/http-client";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:28;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"psr/http-factory";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:29;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"psr/http-message";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:30;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"psr/http-server-handler";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:31;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:26:"psr/http-server-middleware";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:32;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"psr/log";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:33;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"symfony/config";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:34;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"symfony/console";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:35;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:28:"symfony/dependency-injection";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:36;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:26:"symfony/doctrine-messenger";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:37;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:34:"symfony/event-dispatcher-contracts";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:38;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:27:"symfony/expression-language";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:39;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:18:"symfony/filesystem";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:40;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"symfony/finder";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:41;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"symfony/http-foundation";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:42;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"symfony/mailer";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:43;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:17:"symfony/messenger";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:44;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"symfony/mime";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:45;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:24:"symfony/options-resolver";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:46;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:22:"symfony/polyfill-php83";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:47;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"symfony/process";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:48;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"symfony/rate-limiter";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:49;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"symfony/routing";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:50;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:11:"symfony/uid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:51;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"symfony/yaml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:52;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:24:"typo3/class-alias-loader";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:53;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"typo3/cms-cli";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:54;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:29:"typo3/cms-composer-installers";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:55;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"typo3/html-sanitizer";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:56;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"typo3fluid/fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:8:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-apcu";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-exif";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"ext-fileinfo";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:6:"ext-gd";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-mysqli";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:11:"ext-openssl";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-zip";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:7;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-zlib";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:7:"extbase";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:33:"TYPO3\\CMS\\Extbase\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"extbase";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:25:"vendor/typo3/cms-extbase/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:17:"typo3/cms-extbase";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:99:"TYPO3 CMS Extbase - Extension framework to create TYPO3 frontend plugins and TYPO3 backend modules.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":7:{s:21:"doctrine/instantiator";s:12:"^1.5 || ^2.0";s:33:"phpdocumentor/reflection-docblock";s:6:"^5.4.1";s:27:"phpdocumentor/type-resolver";s:6:"^1.8.2";s:28:"symfony/dependency-injection";s:6:"^7.1.4";s:23:"symfony/property-access";s:6:"^7.1.4";s:21:"symfony/property-info";s:6:"^7.1.3";s:14:"typo3/cms-core";s:6:"13.4.2";}s:7:"suggest";O:8:"stdClass":1:{s:19:"typo3/cms-scheduler";s:26:"Additional scheduler tasks";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:33:"TYPO3\\CMS\\Extbase\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:7:"extbase";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:18:"TYPO3\\CMS\\Extbase\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"extbase";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:17:"TYPO3 CMS Extbase";s:14:"' . "\0" . '*' . "\0" . 'description";s:99:"TYPO3 CMS Extbase - Extension framework to create TYPO3 frontend plugins and TYPO3 backend modules.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:7:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:21:"doctrine/instantiator";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:33:"phpdocumentor/reflection-docblock";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:27:"phpdocumentor/type-resolver";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:28:"symfony/dependency-injection";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"symfony/property-access";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:21:"symfony/property-info";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:19:"typo3/cms-scheduler";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:5:"fluid";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:31:"TYPO3\\CMS\\Fluid\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"fluid";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:23:"vendor/typo3/cms-fluid/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:15:"typo3/cms-fluid";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:84:"TYPO3 CMS Fluid Integration - Integration of the Fluid templating engine into TYPO3.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:68:"https://docs.typo3.org/other/typo3/view-helper-reference/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":4:{s:28:"symfony/dependency-injection";s:6:"^7.1.4";s:14:"typo3/cms-core";s:6:"13.4.2";s:17:"typo3/cms-extbase";s:6:"13.4.2";s:16:"typo3fluid/fluid";s:6:"^4.0.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:31:"TYPO3\\CMS\\Fluid\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:5:"fluid";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:16:"TYPO3\\CMS\\Fluid\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"fluid";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:27:"TYPO3 CMS Fluid Integration";s:14:"' . "\0" . '*' . "\0" . 'description";s:84:"TYPO3 CMS Fluid Integration - Integration of the Fluid templating engine into TYPO3.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:4:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:28:"symfony/dependency-injection";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"extbase";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"typo3fluid/fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:7:"install";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:33:"TYPO3\\CMS\\Install\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"install";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:25:"vendor/typo3/cms-install/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:17:"typo3/cms-install";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:115:"TYPO3 CMS Install Tool - The Install Tool is used for installation, upgrade, system administration and setup tasks.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":8:{s:13:"doctrine/dbal";s:6:"^4.2.1";s:19:"guzzlehttp/promises";s:6:"^2.0.3";s:16:"nikic/php-parser";s:6:"^5.1.0";s:14:"symfony/finder";s:6:"^7.1.4";s:23:"symfony/http-foundation";s:6:"^7.1.3";s:14:"typo3/cms-core";s:6:"13.4.2";s:17:"typo3/cms-extbase";s:6:"13.4.2";s:15:"typo3/cms-fluid";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:33:"TYPO3\\CMS\\Install\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:7:"install";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:18:"TYPO3\\CMS\\Install\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"install";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:22:"TYPO3 CMS Install Tool";s:14:"' . "\0" . '*' . "\0" . 'description";s:115:"TYPO3 CMS Install Tool - The Install Tool is used for installation, upgrade, system administration and setup tasks.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:8:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"doctrine/dbal";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:19:"guzzlehttp/promises";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"nikic/php-parser";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"symfony/finder";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"symfony/http-foundation";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"extbase";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:7;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:5:"fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:7:"backend";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:33:"TYPO3\\CMS\\Backend\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"backend";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:25:"vendor/typo3/cms-backend/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":14:{s:4:"name";s:17:"typo3/cms-backend";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:17:"TYPO3 CMS backend";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":4:{s:8:"ext-intl";s:1:"*";s:10:"ext-libxml";s:1:"*";s:20:"psr/event-dispatcher";s:4:"^1.0";s:14:"typo3/cms-core";s:6:"13.4.2";}s:7:"suggest";O:8:"stdClass":1:{s:17:"typo3/cms-install";s:54:"To generate url to install tool in environment toolbar";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"replace";O:8:"stdClass":8:{s:15:"typo3/cms-about";s:12:"self.version";s:22:"typo3/cms-context-help";s:12:"self.version";s:19:"typo3/cms-cshmanual";s:12:"self.version";s:22:"typo3/cms-func-wizards";s:12:"self.version";s:20:"typo3/cms-recordlist";s:12:"self.version";s:18:"typo3/cms-t3editor";s:12:"self.version";s:24:"typo3/cms-wizard-crpages";s:12:"self.version";s:26:"typo3/cms-wizard-sortpages";s:12:"self.version";}s:5:"extra";O:8:"stdClass":3:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:33:"TYPO3\\CMS\\Backend\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:7:"backend";}s:24:"typo3/class-alias-loader";O:8:"stdClass":1:{s:16:"class-alias-maps";a:1:{i:0;s:33:"Migrations/Code/ClassAliasMap.php";}}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:18:"TYPO3\\CMS\\Backend\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"backend";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:17:"TYPO3 CMS Backend";s:14:"' . "\0" . '*' . "\0" . 'description";s:17:"TYPO3 CMS backend";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:4:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-intl";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-libxml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"psr/event-dispatcher";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"install";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"frontend";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:34:"TYPO3\\CMS\\Frontend\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"frontend";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-frontend/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:18:"typo3/cms-frontend";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:18:"TYPO3 CMS Frontend";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":2:{s:10:"ext-libxml";s:1:"*";s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"suggest";O:8:"stdClass":1:{s:20:"typo3/cms-adminpanel";s:84:"Provides additional information and functionality for backend users in the frontend.";}s:5:"extra";O:8:"stdClass":3:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:34:"TYPO3\\CMS\\Frontend\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:8:"frontend";}s:24:"typo3/class-alias-loader";O:8:"stdClass":1:{s:16:"class-alias-maps";a:1:{i:0;s:33:"Migrations/Code/ClassAliasMap.php";}}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:19:"TYPO3\\CMS\\Frontend\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"frontend";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:18:"TYPO3 CMS Frontend";s:14:"' . "\0" . '*' . "\0" . 'description";s:18:"TYPO3 CMS Frontend";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:2:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-libxml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"typo3/cms-adminpanel";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:9:"dashboard";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:35:"TYPO3\\CMS\\Dashboard\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:9:"dashboard";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:27:"vendor/typo3/cms-dashboard/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:19:"typo3/cms-dashboard";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:88:"TYPO3 CMS Dashboard - TYPO3 backend module used to configure and create backend widgets.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:56:"https://docs.typo3.org/c/typo3/cms-dashboard/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":5:{s:14:"typo3/cms-core";s:6:"13.4.2";s:18:"typo3/cms-frontend";s:6:"13.4.2";s:17:"typo3/cms-backend";s:6:"13.4.2";s:15:"typo3/cms-fluid";s:6:"13.4.2";s:17:"typo3/cms-extbase";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:13:"extension-key";s:9:"dashboard";s:7:"Package";O:8:"stdClass":2:{s:15:"serviceProvider";s:35:"TYPO3\\CMS\\Dashboard\\ServiceProvider";s:20:"partOfFactoryDefault";b:1;}}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:20:"TYPO3\\CMS\\Dashboard\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:9:"dashboard";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:19:"TYPO3 CMS Dashboard";s:14:"' . "\0" . '*' . "\0" . 'description";s:88:"TYPO3 CMS Dashboard - TYPO3 backend module used to configure and create backend widgets.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:5:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"frontend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"backend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:5:"fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"extbase";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:20:"fluid_styled_content";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:20:"fluid_styled_content";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:38:"vendor/typo3/cms-fluid-styled-content/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:30:"typo3/cms-fluid-styled-content";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:76:"TYPO3 CMS Fluid Styled Content - Fluid templates for TYPO3 content elements.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:66:"https://docs.typo3.org/c/typo3/cms-fluid-styled-content/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":3:{s:14:"typo3/cms-core";s:6:"13.4.2";s:15:"typo3/cms-fluid";s:6:"13.4.2";s:18:"typo3/cms-frontend";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:20:"fluid_styled_content";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:29:"TYPO3\\CMS\\FluidStyledContent\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:20:"fluid_styled_content";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:30:"TYPO3 CMS Fluid Styled Content";s:14:"' . "\0" . '*' . "\0" . 'description";s:76:"TYPO3 CMS Fluid Styled Content - Fluid templates for TYPO3 content elements.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:3:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:5:"fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"frontend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"filelist";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"filelist";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-filelist/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:18:"typo3/cms-filelist";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:82:"TYPO3 CMS Filelist - TYPO3 backend module (File>Filelist) used for managing files.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":3:{s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:8:"filelist";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:19:"TYPO3\\CMS\\Filelist\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"filelist";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:18:"TYPO3 CMS Filelist";s:14:"' . "\0" . '*' . "\0" . 'description";s:82:"TYPO3 CMS Filelist - TYPO3 backend module (File>Filelist) used for managing files.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:6:"impexp";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:6:"impexp";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:24:"vendor/typo3/cms-impexp/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:16:"typo3/cms-impexp";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:102:"TYPO3 CMS Import/Export - Tool for importing and exporting records using XML or the custom T3D format.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:53:"https://docs.typo3.org/c/typo3/cms-impexp/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:6:"impexp";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:17:"TYPO3\\CMS\\Impexp\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:6:"impexp";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:23:"TYPO3 CMS Import/Export";s:14:"' . "\0" . '*' . "\0" . 'description";s:102:"TYPO3 CMS Import/Export - Tool for importing and exporting records using XML or the custom T3D format.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:4:"form";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"form";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:22:"vendor/typo3/cms-form/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:14:"typo3/cms-form";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:99:"TYPO3 CMS Form - Flexible TYPO3 frontend form framework that comes with a backend editor interface.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:50:"https://docs.typo3.org/c/typo3/cms-form/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":4:{s:16:"psr/http-message";s:12:"^1.1 || ^2.0";s:27:"symfony/expression-language";s:6:"^7.1.4";s:14:"typo3/cms-core";s:6:"13.4.2";s:18:"typo3/cms-frontend";s:6:"13.4.2";}s:7:"suggest";O:8:"stdClass":3:{s:18:"typo3/cms-filelist";s:33:"Listing of files in the directory";s:16:"typo3/cms-impexp";s:120:"Import and Export of records from TYPO3 in a custom serialized format (.T3D) for data exchange with other TYPO3 systems.";s:18:"typo3/cms-lowlevel";s:61:"To display the YAML configuration in the configuration module";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:4:"form";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:15:"TYPO3\\CMS\\Form\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"form";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:14:"TYPO3 CMS Form";s:14:"' . "\0" . '*' . "\0" . 'description";s:99:"TYPO3 CMS Form - Flexible TYPO3 frontend form framework that comes with a backend editor interface.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:4:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"psr/http-message";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:27:"symfony/expression-language";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"frontend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:3:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"filelist";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:6:"impexp";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:18:"typo3/cms-lowlevel";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:3:"seo";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:3:"seo";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:21:"vendor/typo3/cms-seo/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:13:"typo3/cms-seo";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:114:"TYPO3 CMS SEO - SEO features including specific fields for SEO purposes, rendering of HTML meta tags and sitemaps.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:49:"https://docs.typo3.org/c/typo3/cms-seo/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":3:{s:14:"typo3/cms-core";s:6:"13.4.2";s:18:"typo3/cms-frontend";s:6:"13.4.2";s:17:"typo3/cms-extbase";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"suggest";O:8:"stdClass":1:{s:19:"typo3/cms-dashboard";s:86:"TYPO3 users can add widgets that can help to optimise their website for search engines";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:13:"extension-key";s:3:"seo";s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:14:"TYPO3\\CMS\\Seo\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:3:"seo";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:13:"TYPO3 CMS SEO";s:14:"' . "\0" . '*' . "\0" . 'description";s:114:"TYPO3 CMS SEO - SEO features including specific fields for SEO purposes, rendering of HTML meta tags and sitemaps.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:3:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"frontend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"extbase";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:9:"dashboard";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:5:"setup";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"setup";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:23:"vendor/typo3/cms-setup/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:15:"typo3/cms-setup";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:147:"TYPO3 CMS Setup - Allows users to edit a limited set of options for their user profile, including preferred language, their name and email address.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:5:"setup";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:16:"TYPO3\\CMS\\Setup\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"setup";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:15:"TYPO3 CMS Setup";s:14:"' . "\0" . '*' . "\0" . 'description";s:147:"TYPO3 CMS Setup - Allows users to edit a limited set of options for their user profile, including preferred language, their name and email address.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:12:"rte_ckeditor";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"rte_ckeditor";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:30:"vendor/typo3/cms-rte-ckeditor/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:22:"typo3/cms-rte-ckeditor";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:93:"TYPO3 CMS RTE CKEditor - Integration of CKEditor as a Rich Text Editor for the TYPO3 backend.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:58:"https://docs.typo3.org/c/typo3/cms-rte-ckeditor/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"suggest";O:8:"stdClass":1:{s:15:"typo3/cms-setup";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:12:"rte_ckeditor";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:22:"TYPO3\\CMS\\RteCKEditor\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"rte_ckeditor";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:22:"TYPO3 CMS RTE CKEditor";s:14:"' . "\0" . '*' . "\0" . 'description";s:93:"TYPO3 CMS RTE CKEditor - Integration of CKEditor as a Rich Text Editor for the TYPO3 backend.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:5:"setup";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"sys_note";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"sys_note";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-sys-note/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:18:"typo3/cms-sys-note";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:154:"TYPO3 CMS System Notes - Records with messages which can be placed on any page and contain instructions or other information related to a page or section.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:7:"suggest";O:8:"stdClass":1:{s:19:"typo3/cms-dashboard";s:82:"TYPO3 users can add widgets that can help to quickly see existing sys_note records";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:8:"sys_note";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:18:"TYPO3\\CMS\\SysNote\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"sys_note";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:22:"TYPO3 CMS System Notes";s:14:"' . "\0" . '*' . "\0" . 'description";s:154:"TYPO3 CMS System Notes - Records with messages which can be placed on any page and contain instructions or other information related to a page or section.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:9:"dashboard";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:5:"belog";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"belog";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:23:"vendor/typo3/cms-belog/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:15:"typo3/cms-belog";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:88:"TYPO3 CMS Log - View logs from the sys_log table in the TYPO3 backend modules System>Log";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:5:"belog";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:16:"TYPO3\\CMS\\Belog\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"belog";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:13:"TYPO3 CMS Log";s:14:"' . "\0" . '*' . "\0" . 'description";s:88:"TYPO3 CMS Log - View logs from the sys_log table in the TYPO3 backend modules System>Log";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:6:"beuser";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:6:"beuser";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:24:"vendor/typo3/cms-beuser/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:16:"typo3/cms-beuser";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:105:"TYPO3 CMS Backend User - TYPO3 backend module System>Backend Users for managing backend users and groups.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:6:"beuser";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:17:"TYPO3\\CMS\\Beuser\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:6:"beuser";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:22:"TYPO3 CMS Backend User";s:14:"' . "\0" . '*' . "\0" . 'description";s:105:"TYPO3 CMS Backend User - TYPO3 backend module System>Backend Users for managing backend users and groups.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:16:"extensionmanager";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:16:"extensionmanager";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:34:"vendor/typo3/cms-extensionmanager/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:26:"typo3/cms-extensionmanager";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:106:"TYPO3 CMS Extension Manager - Backend module (Admin Tools>Extensions) for viewing and managing extensions.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":2:{s:10:"ext-libxml";s:1:"*";s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":3:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":3:{s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:16:"extensionmanager";}s:24:"typo3/class-alias-loader";O:8:"stdClass":1:{s:16:"class-alias-maps";a:1:{i:0;s:33:"Migrations/Code/ClassAliasMap.php";}}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:27:"TYPO3\\CMS\\Extensionmanager\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:16:"extensionmanager";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:27:"TYPO3 CMS Extension Manager";s:14:"' . "\0" . '*' . "\0" . 'description";s:106:"TYPO3 CMS Extension Manager - Backend module (Admin Tools>Extensions) for viewing and managing extensions.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:2:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-libxml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:7:"felogin";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"felogin";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:25:"vendor/typo3/cms-felogin/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:17:"typo3/cms-felogin";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:97:"TYPO3 CMS Frontend Login - A template-based plugin to log in website users in the TYPO3 frontend.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:53:"https://docs.typo3.org/c/typo3/cms-felogin/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:7:"felogin";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:24:"TYPO3\\CMS\\FrontendLogin\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"felogin";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:24:"TYPO3 CMS Frontend Login";s:14:"' . "\0" . '*' . "\0" . 'description";s:97:"TYPO3 CMS Frontend Login - A template-based plugin to log in website users in the TYPO3 frontend.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:12:"filemetadata";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"filemetadata";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:30:"vendor/typo3/cms-filemetadata/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":11:{s:4:"name";s:22:"typo3/cms-filemetadata";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:70:"TYPO3 CMS File Metadata - Adds additional metadata to file management.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":1:{s:13:"extension-key";s:12:"filemetadata";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"filemetadata";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:23:"TYPO3 CMS File Metadata";s:14:"' . "\0" . '*' . "\0" . 'description";s:70:"TYPO3 CMS File Metadata - Adds additional metadata to file management.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:14:"indexed_search";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:14:"indexed_search";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:32:"vendor/typo3/cms-indexed-search/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:24:"typo3/cms-indexed-search";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:145:"TYPO3 CMS Indexed Search - Provides indexing functionality for TYPO3 pages and records as well as files including PDF, Word, HTML and plain text.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:60:"https://docs.typo3.org/c/typo3/cms-indexed-search/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"suggest";O:8:"stdClass":2:{s:8:"ext-exif";s:81:"Used to extract exif metadata \'COMMENT\' and \'ImageDescription\' of uploaded images";s:19:"typo3/cms-scheduler";s:43:"For garbage collection of search statistics";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":1:{s:13:"extension-key";s:14:"indexed_search";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:24:"TYPO3\\CMS\\IndexedSearch\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:14:"indexed_search";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:24:"TYPO3 CMS Indexed Search";s:14:"' . "\0" . '*' . "\0" . 'description";s:145:"TYPO3 CMS Indexed Search - Provides indexing functionality for TYPO3 pages and records as well as files including PDF, Word, HTML and plain text.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:2:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-exif";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:19:"typo3/cms-scheduler";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:4:"info";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"info";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:22:"vendor/typo3/cms-info/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:14:"typo3/cms-info";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:123:"TYPO3 CMS Info - TYPO3 backend module for displaying information, such as a pagetree overview and localization information.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"replace";O:8:"stdClass":1:{s:27:"typo3/cms-info-pagetsconfig";s:12:"self.version";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:4:"info";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:15:"TYPO3\\CMS\\Info\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"info";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:14:"TYPO3 CMS Info";s:14:"' . "\0" . '*' . "\0" . 'description";s:123:"TYPO3 CMS Info - TYPO3 backend module for displaying information, such as a pagetree overview and localization information.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:9:"reactions";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:9:"reactions";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:27:"vendor/typo3/cms-reactions/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:19:"typo3/cms-reactions";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:56:"TYPO3 CMS Reactions - Handle incoming Webhooks for TYPO3";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:56:"https://docs.typo3.org/c/typo3/cms-reactions/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:7:"suggest";O:8:"stdClass":1:{s:18:"typo3/cms-lowlevel";s:59:"To display registered reactions in the configuration module";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":1:{s:13:"extension-key";s:9:"reactions";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:20:"TYPO3\\CMS\\Reactions\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:9:"reactions";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:19:"TYPO3 CMS Reactions";s:14:"' . "\0" . '*' . "\0" . 'description";s:56:"TYPO3 CMS Reactions - Handle incoming Webhooks for TYPO3";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:18:"typo3/cms-lowlevel";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"recycler";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"recycler";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-recycler/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:18:"typo3/cms-recycler";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:90:"TYPO3 CMS Recycler - Restore deleted records or remove them from the database permanently.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:55:"https://docs.typo3.org/c/typo3/cms-recycler/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:7:"suggest";O:8:"stdClass":1:{s:19:"typo3/cms-scheduler";s:39:"Remove deleted records after given time";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:8:"recycler";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:19:"TYPO3\\CMS\\Recycler\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"recycler";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:18:"TYPO3 CMS Recycler";s:14:"' . "\0" . '*' . "\0" . 'description";s:90:"TYPO3 CMS Recycler - Restore deleted records or remove them from the database permanently.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:19:"typo3/cms-scheduler";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:10:"tstemplate";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:10:"tstemplate";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:28:"vendor/typo3/cms-tstemplate/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:20:"typo3/cms-tstemplate";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:106:"TYPO3 CMS TypoScript - TYPO3 backend module for the management of TypoScript records for the CMS frontend.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:10:"tstemplate";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:21:"TYPO3\\CMS\\Tstemplate\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:10:"tstemplate";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:20:"TYPO3 CMS TypoScript";s:14:"' . "\0" . '*' . "\0" . 'description";s:106:"TYPO3 CMS TypoScript - TYPO3 backend module for the management of TypoScript records for the CMS frontend.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"viewpage";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"viewpage";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-viewpage/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:18:"typo3/cms-viewpage";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:104:"TYPO3 CMS Viewpage - Use the (Web>View) backend module to view a frontend page inside the TYPO3 backend.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:8:"viewpage";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:19:"TYPO3\\CMS\\Viewpage\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"viewpage";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:18:"TYPO3 CMS Viewpage";s:14:"' . "\0" . '*' . "\0" . 'description";s:104:"TYPO3 CMS Viewpage - Use the (Web>View) backend module to view a frontend page inside the TYPO3 backend.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"webhooks";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"webhooks";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-webhooks/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:18:"typo3/cms-webhooks";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:55:"TYPO3 CMS Webhooks - Handle outgoing Webhooks for TYPO3";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:55:"https://docs.typo3.org/c/typo3/cms-webhooks/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":2:{s:11:"symfony/uid";s:6:"^7.1.4";s:14:"typo3/cms-core";s:6:"13.4.2";}s:7:"suggest";O:8:"stdClass":1:{s:18:"typo3/cms-lowlevel";s:58:"To display registered webhooks in the configuration module";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":1:{s:13:"extension-key";s:8:"webhooks";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:19:"TYPO3\\CMS\\Webhooks\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"webhooks";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.2";s:8:"' . "\0" . '*' . "\0" . 'title";s:18:"TYPO3 CMS Webhooks";s:14:"' . "\0" . '*' . "\0" . 'description";s:55:"TYPO3 CMS Webhooks - Handle outgoing Webhooks for TYPO3";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:2:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:11:"symfony/uid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:18:"typo3/cms-lowlevel";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:17:"bootstrap_package";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:17:"bootstrap_package";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:30:"vendor/bk2k/bootstrap-package/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":18:{s:4:"name";s:22:"bk2k/bootstrap-package";s:4:"type";s:19:"typo3-cms-extension";s:11:"description";s:108:"Bootstrap Package delivers a full configured frontend theme for TYPO3, based on the Bootstrap CSS Framework.";s:8:"keywords";a:8:{i:0;s:9:"TYPO3 CMS";i:1;s:12:"introduction";i:2;s:11:"sitepackage";i:3;s:9:"bootstrap";i:4;s:10:"responsive";i:5;s:8:"frontend";i:6;s:5:"theme";i:7;s:3:"web";}s:8:"homepage";s:34:"https://www.bootstrap-package.com/";s:7:"license";s:3:"MIT";s:7:"authors";a:1:{i:0;O:8:"stdClass":4:{s:4:"name";s:13:"Benjamin Kott";s:5:"email";s:14:"info@bk2k.info";s:8:"homepage";s:21:"http://www.bk2k.info/";s:4:"role";s:9:"Developer";}}s:7:"require";O:8:"stdClass":18:{s:3:"php";s:7:">=8.1.0";s:7:"ext-PDO";s:1:"*";s:7:"ext-dom";s:1:"*";s:10:"ext-filter";s:1:"*";s:8:"ext-hash";s:1:"*";s:8:"ext-json";s:1:"*";s:10:"ext-libxml";s:1:"*";s:13:"ext-simplexml";s:1:"*";s:15:"scssphp/scssphp";s:5:"^1.13";s:17:"typo3/cms-backend";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:14:"typo3/cms-core";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:17:"typo3/cms-extbase";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:26:"typo3/cms-extensionmanager";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:15:"typo3/cms-fluid";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:18:"typo3/cms-frontend";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:17:"typo3/cms-install";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:22:"typo3/cms-rte-ckeditor";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:13:"typo3/cms-seo";s:28:"^12.4 || ^13.4 || 13.*.*@dev";}s:11:"require-dev";O:8:"stdClass":20:{s:13:"b13/container";s:25:"^2.3 || dev-task/dev-main";s:17:"bk2k/demo-package";s:4:"@dev";s:21:"bk2k/extension-helper";s:4:"^2.1";s:25:"friendsofphp/php-cs-fixer";s:5:"^3.64";s:28:"friendsoftypo3/phpstan-typo3";s:4:"^0.9";s:16:"overtrue/phplint";s:4:"^9.0";s:15:"phpstan/phpstan";s:5:"^1.10";s:33:"phpstan/phpstan-deprecation-rules";s:4:"^1.1";s:23:"phpstan/phpstan-phpunit";s:4:"^1.3";s:28:"phpstan/phpstan-strict-rules";s:4:"^1.5";s:15:"typo3/cms-belog";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:17:"typo3/cms-felogin";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:18:"typo3/cms-filelist";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:14:"typo3/cms-form";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:24:"typo3/cms-indexed-search";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:14:"typo3/cms-info";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:18:"typo3/cms-lowlevel";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:20:"typo3/cms-tstemplate";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:20:"typo3/cms-workspaces";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:23:"typo3/testing-framework";s:6:"^8.2.3";}s:6:"config";O:8:"stdClass":5:{s:7:"bin-dir";s:10:".build/bin";s:19:"optimize-autoloader";b:1;s:13:"sort-packages";b:1;s:10:"vendor-dir";s:13:".build/vendor";s:13:"allow-plugins";O:8:"stdClass":2:{s:24:"typo3/class-alias-loader";b:1;s:29:"typo3/cms-composer-installers";b:1;}}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:10:"dev-master";s:10:"15.0.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:13:"extension-key";s:17:"bootstrap_package";s:7:"web-dir";s:13:".build/public";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:22:"BK2K\\BootstrapPackage\\";s:7:"Classes";}}s:12:"autoload-dev";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:28:"BK2K\\BootstrapPackage\\Tests\\";s:5:"Tests";}}s:12:"repositories";O:8:"stdClass":1:{s:5:"tests";O:8:"stdClass":2:{s:4:"type";s:4:"path";s:3:"url";s:16:"Tests/Packages/*";}}s:17:"minimum-stability";s:3:"dev";s:13:"prefer-stable";b:1;s:7:"scripts";O:8:"stdClass":11:{s:18:"post-autoload-dump";a:2:{i:0;s:69:"[ -d .build/public/_assets ] || mkdir -p .build/public/typo3conf/ext/";i:1;s:156:"[ -d .build/public/_assets ] || [ -L .build/public/typo3conf/ext/bootstrap_package ] || ln -snvf ../../../../. .build/public/typo3conf/ext/bootstrap_package";}s:3:"cgl";a:1:{i:0;s:26:"php-cs-fixer --diff -v fix";}s:6:"cgl:ci";a:1:{i:0;s:36:"php-cs-fixer --diff -v --dry-run fix";}s:9:"changelog";a:1:{i:0;s:33:"extension-helper changelog:create";}s:7:"phpstan";a:1:{i:0;s:50:"phpstan analyze --configuration Build/phpstan.neon";}s:16:"phpstan:baseline";a:1:{i:0;s:98:"phpstan analyze --configuration Build/phpstan.neon --generate-baseline Build/phpstan-baseline.neon";}s:11:"set-version";a:1:{i:0;s:28:"extension-helper version:set";}s:4:"test";a:3:{i:0;s:14:"@test:php:lint";i:1;s:14:"@test:php:unit";i:2;s:20:"@test:php:functional";}s:19:"test:php:functional";a:1:{i:0;s:39:"phpunit -c Build/phpunit-functional.xml";}s:13:"test:php:lint";a:1:{i:0;s:7:"phplint";}s:13:"test:php:unit";a:1:{i:0;s:33:"phpunit -c Build/phpunit-unit.xml";}}s:7:"support";O:8:"stdClass":4:{s:6:"issues";s:56:"https://github.com/benjaminkott/bootstrap_package/issues";s:4:"wiki";s:54:"https://github.com/benjaminkott/bootstrap_package/wiki";s:6:"source";s:49:"https://github.com/benjaminkott/bootstrap_package";s:4:"docs";s:59:"https://docs.typo3.org/p/bk2k/bootstrap-package/main/en-us/";}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:17:"bootstrap_package";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-extension";s:10:"' . "\0" . '*' . "\0" . 'version";s:6:"15.0.0";s:8:"' . "\0" . '*' . "\0" . 'title";s:17:"Bootstrap Package";s:14:"' . "\0" . '*' . "\0" . 'description";s:108:"Bootstrap Package delivers a full configured frontend theme for TYPO3, based on the Bootstrap CSS Framework.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:18:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:3:"php";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-PDO";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-dom";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-filter";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-hash";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-json";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-libxml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:7;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"ext-simplexml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:8;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"scssphp/scssphp";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:9;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"backend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:10;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:11;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"extbase";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:12;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"extensionmanager";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:13;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:5:"fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:14;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"frontend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:15;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"install";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:16;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"rte_ckeditor";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:17;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:3:"seo";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:12:"introduction";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"introduction";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:30:"vendor/typo3/cms-introduction/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":16:{s:4:"name";s:22:"typo3/cms-introduction";s:11:"description";s:39:"The Official TYPO3 Introduction Package";s:7:"license";s:16:"GPL-2.0-or-later";s:4:"type";s:19:"typo3-cms-extension";s:8:"keywords";a:3:{i:0;s:9:"TYPO3 CMS";i:1;s:12:"introduction";i:2;s:9:"bootstrap";}s:8:"homepage";s:51:"https://extensions.typo3.org/extension/introduction";s:7:"support";O:8:"stdClass":3:{s:6:"issues";s:53:"https://github.com/FriendsOfTYPO3/introduction/issues";s:6:"source";s:46:"https://github.com/FriendsOfTYPO3/introduction";s:4:"docs";s:59:"https://docs.typo3.org/p/typo3/cms-introduction/main/en-us/";}s:7:"require";O:8:"stdClass":13:{s:3:"php";s:4:"^8.1";s:7:"ext-pdo";s:1:"*";s:22:"bk2k/bootstrap-package";s:5:"^15.0";s:16:"typo3/cms-beuser";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:14:"typo3/cms-core";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:26:"typo3/cms-extensionmanager";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:17:"typo3/cms-felogin";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:22:"typo3/cms-filemetadata";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:14:"typo3/cms-form";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:16:"typo3/cms-impexp";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:24:"typo3/cms-indexed-search";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:20:"typo3/cms-tstemplate";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:13:"typo3/minimal";s:28:"^12.4 || ^13.4 || 13.*.*@dev";}s:11:"require-dev";O:8:"stdClass":9:{s:23:"codeception/codeception";s:4:"^5.0";s:26:"codeception/module-asserts";s:4:"^3.0";s:28:"codeception/module-webdriver";s:4:"^4.0";s:27:"ergebnis/composer-normalize";s:4:"^2.0";s:15:"typo3/cms-belog";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:18:"typo3/cms-lowlevel";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:19:"typo3/cms-scheduler";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:15:"typo3/cms-setup";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:22:"typo3/coding-standards";s:4:"^0.8";}s:17:"minimum-stability";s:3:"dev";s:13:"prefer-stable";b:1;s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:23:"TYPO3\\CMS\\Introduction\\";s:7:"Classes";}}s:12:"autoload-dev";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:29:"TYPO3\\CMS\\Introduction\\Tests\\";s:5:"Tests";}}s:6:"config";O:8:"stdClass":5:{s:13:"allow-plugins";O:8:"stdClass":3:{s:27:"ergebnis/composer-normalize";b:1;s:29:"typo3/cms-composer-installers";b:1;s:24:"typo3/class-alias-loader";b:1;}s:7:"bin-dir";s:10:".build/bin";s:19:"optimize-autoloader";b:1;s:13:"sort-packages";b:1;s:10:"vendor-dir";s:13:".build/vendor";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:9:"4.7.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:13:"extension-key";s:12:"introduction";s:7:"web-dir";s:13:".build/public";}}s:7:"scripts";O:8:"stdClass":3:{s:18:"post-autoload-dump";a:1:{i:0;s:87:"test -f config/system/settings.php || (typo3 setup --force -n && typo3 extension:setup)";}s:5:"tests";a:1:{i:0;s:17:"@tests:acceptance";}s:16:"tests:acceptance";a:1:{i:0;s:31:"@php codecept run -n Acceptance";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"introduction";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-extension";s:10:"' . "\0" . '*' . "\0" . 'version";s:5:"4.7.0";s:8:"' . "\0" . '*' . "\0" . 'title";s:39:"The Official TYPO3 Introduction Package";s:14:"' . "\0" . '*' . "\0" . 'description";s:39:"The Official TYPO3 Introduction Package";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:13:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:3:"php";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-pdo";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:17:"bootstrap_package";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:6:"beuser";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"extensionmanager";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"felogin";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:7;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"filemetadata";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:8;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"form";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:9;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:6:"impexp";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:10;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"indexed_search";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:11;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"tstemplate";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:12;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"typo3/minimal";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}}', + 'packageObjects' => 'a:29:{s:4:"core";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:30:"TYPO3\\CMS\\Core\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"core";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:22:"vendor/typo3/cms-core/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":15:{s:4:"name";s:14:"typo3/cms-core";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:14:"TYPO3 CMS Core";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":57:{s:3:"php";s:4:"^8.2";s:7:"ext-PDO";s:1:"*";s:7:"ext-dom";s:1:"*";s:8:"ext-intl";s:1:"*";s:8:"ext-json";s:1:"*";s:10:"ext-libxml";s:1:"*";s:12:"ext-mbstring";s:1:"*";s:8:"ext-pcre";s:1:"*";s:11:"ext-session";s:1:"*";s:13:"ext-tokenizer";s:1:"*";s:7:"ext-xml";s:1:"*";s:20:"composer-runtime-api";s:4:"^2.1";s:19:"bacon/bacon-qr-code";s:4:"^3.0";s:23:"christian-riesen/base32";s:4:"^1.6";s:20:"doctrine/annotations";s:6:"^2.0.2";s:13:"doctrine/dbal";s:6:"^4.2.1";s:22:"doctrine/event-manager";s:6:"^2.0.1";s:14:"doctrine/lexer";s:6:"^3.0.1";s:23:"egulias/email-validator";s:4:"^4.0";s:22:"enshrined/svg-sanitize";s:7:"^0.20.0";s:16:"firebase/php-jwt";s:7:"^6.10.2";s:17:"guzzlehttp/guzzle";s:6:"^7.9.2";s:15:"guzzlehttp/psr7";s:6:"^2.7.0";s:16:"lolli42/finediff";s:6:"^1.1.1";s:17:"masterminds/html5";s:6:"^2.9.0";s:13:"psr/container";s:4:"^2.0";s:20:"psr/event-dispatcher";s:4:"^1.0";s:15:"psr/http-client";s:6:"^1.0.3";s:16:"psr/http-factory";s:6:"^1.1.0";s:16:"psr/http-message";s:12:"^1.1 || ^2.0";s:23:"psr/http-server-handler";s:4:"^1.0";s:26:"psr/http-server-middleware";s:4:"^1.0";s:7:"psr/log";s:6:"^3.0.1";s:14:"symfony/config";s:4:"^7.1";s:15:"symfony/console";s:6:"^7.1.4";s:28:"symfony/dependency-injection";s:6:"^7.1.4";s:26:"symfony/doctrine-messenger";s:6:"^7.1.4";s:34:"symfony/event-dispatcher-contracts";s:4:"^3.1";s:27:"symfony/expression-language";s:6:"^7.1.4";s:18:"symfony/filesystem";s:6:"^7.1.2";s:14:"symfony/finder";s:6:"^7.1.4";s:23:"symfony/http-foundation";s:6:"^7.1.3";s:14:"symfony/mailer";s:6:"^7.1.2";s:17:"symfony/messenger";s:6:"^7.1.4";s:12:"symfony/mime";s:6:"^7.1.4";s:24:"symfony/options-resolver";s:4:"^7.1";s:22:"symfony/polyfill-php83";s:5:"^1.31";s:15:"symfony/process";s:6:"^7.1.3";s:20:"symfony/rate-limiter";s:4:"^7.1";s:15:"symfony/routing";s:6:"^7.1.4";s:11:"symfony/uid";s:6:"^7.1.4";s:12:"symfony/yaml";s:6:"^7.1.4";s:24:"typo3/class-alias-loader";s:4:"^1.2";s:13:"typo3/cms-cli";s:6:"^3.1.1";s:29:"typo3/cms-composer-installers";s:6:"^5.0.1";s:20:"typo3/html-sanitizer";s:6:"^2.2.0";s:16:"typo3fluid/fluid";s:6:"^4.0.2";}s:7:"suggest";O:8:"stdClass":8:{s:8:"ext-apcu";s:58:"Needed when non-default APCU based cache backends are used";s:8:"ext-exif";s:62:"Used to extract exif metadata \'Orientation\' of uploaded images";s:12:"ext-fileinfo";s:65:"Used for proper file type detection in the file abstraction layer";s:6:"ext-gd";s:106:"GDlib/Freetype is required for building images with text (GIFBUILDER) and can also be used to scale images";s:10:"ext-mysqli";s:0:"";s:11:"ext-openssl";s:77:"OpenSSL is required for sending SMTP mails over an encrypted channel endpoint";s:7:"ext-zip";s:0:"";s:8:"ext-zlib";s:88:"TYPO3 uses zlib for amongst others output compression and un/packing t3x extension files";}s:8:"conflict";O:8:"stdClass":2:{s:8:"hoa/core";s:1:"*";s:9:"typo3/cms";s:1:"*";}s:7:"replace";O:8:"stdClass":3:{s:14:"typo3/cms-lang";s:12:"self.version";s:25:"typo3/cms-saltedpasswords";s:12:"self.version";s:12:"typo3/cms-sv";s:12:"self.version";}s:7:"provide";O:8:"stdClass":2:{s:31:"psr/http-factory-implementation";s:3:"1.0";s:31:"psr/http-message-implementation";s:3:"1.0";}s:5:"extra";O:8:"stdClass":3:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:30:"TYPO3\\CMS\\Core\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:4:"core";}s:24:"typo3/class-alias-loader";O:8:"stdClass":1:{s:16:"class-alias-maps";a:1:{i:0;s:33:"Migrations/Code/ClassAliasMap.php";}}}s:8:"autoload";O:8:"stdClass":2:{s:5:"psr-4";O:8:"stdClass":1:{s:15:"TYPO3\\CMS\\Core\\";s:8:"Classes/";}s:5:"files";a:1:{i:0;s:38:"Resources/PHP/GlobalDebugFunctions.php";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"core";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:14:"TYPO3 CMS Core";s:14:"' . "\0" . '*' . "\0" . 'description";s:14:"TYPO3 CMS Core";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:57:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:3:"php";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-PDO";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-dom";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-intl";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-json";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-libxml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"ext-mbstring";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:7;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-pcre";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:8;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:11:"ext-session";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:9;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"ext-tokenizer";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:10;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-xml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:11;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"composer-runtime-api";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:12;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:19:"bacon/bacon-qr-code";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:13;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"christian-riesen/base32";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:14;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"doctrine/annotations";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:15;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"doctrine/dbal";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:16;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:22:"doctrine/event-manager";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:17;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"doctrine/lexer";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:18;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"egulias/email-validator";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:19;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:22:"enshrined/svg-sanitize";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:20;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"firebase/php-jwt";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:21;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:17:"guzzlehttp/guzzle";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:22;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"guzzlehttp/psr7";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:23;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"lolli42/finediff";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:24;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:17:"masterminds/html5";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:25;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"psr/container";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:26;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"psr/event-dispatcher";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:27;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"psr/http-client";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:28;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"psr/http-factory";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:29;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"psr/http-message";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:30;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"psr/http-server-handler";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:31;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:26:"psr/http-server-middleware";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:32;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"psr/log";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:33;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"symfony/config";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:34;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"symfony/console";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:35;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:28:"symfony/dependency-injection";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:36;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:26:"symfony/doctrine-messenger";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:37;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:34:"symfony/event-dispatcher-contracts";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:38;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:27:"symfony/expression-language";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:39;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:18:"symfony/filesystem";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:40;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"symfony/finder";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:41;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"symfony/http-foundation";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:42;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"symfony/mailer";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:43;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:17:"symfony/messenger";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:44;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"symfony/mime";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:45;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:24:"symfony/options-resolver";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:46;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:22:"symfony/polyfill-php83";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:47;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"symfony/process";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:48;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"symfony/rate-limiter";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:49;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"symfony/routing";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:50;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:11:"symfony/uid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:51;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"symfony/yaml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:52;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:24:"typo3/class-alias-loader";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:53;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"typo3/cms-cli";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:54;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:29:"typo3/cms-composer-installers";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:55;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"typo3/html-sanitizer";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:56;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"typo3fluid/fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:8:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-apcu";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-exif";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"ext-fileinfo";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:6:"ext-gd";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-mysqli";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:11:"ext-openssl";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-zip";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:7;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-zlib";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:7:"extbase";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:33:"TYPO3\\CMS\\Extbase\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"extbase";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:25:"vendor/typo3/cms-extbase/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:17:"typo3/cms-extbase";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:99:"TYPO3 CMS Extbase - Extension framework to create TYPO3 frontend plugins and TYPO3 backend modules.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":7:{s:21:"doctrine/instantiator";s:12:"^1.5 || ^2.0";s:33:"phpdocumentor/reflection-docblock";s:6:"^5.4.1";s:27:"phpdocumentor/type-resolver";s:6:"^1.8.2";s:28:"symfony/dependency-injection";s:6:"^7.1.4";s:23:"symfony/property-access";s:6:"^7.1.4";s:21:"symfony/property-info";s:6:"^7.1.3";s:14:"typo3/cms-core";s:6:"13.4.3";}s:7:"suggest";O:8:"stdClass":1:{s:19:"typo3/cms-scheduler";s:26:"Additional scheduler tasks";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:33:"TYPO3\\CMS\\Extbase\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:7:"extbase";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:18:"TYPO3\\CMS\\Extbase\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"extbase";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:17:"TYPO3 CMS Extbase";s:14:"' . "\0" . '*' . "\0" . 'description";s:99:"TYPO3 CMS Extbase - Extension framework to create TYPO3 frontend plugins and TYPO3 backend modules.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:7:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:21:"doctrine/instantiator";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:33:"phpdocumentor/reflection-docblock";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:27:"phpdocumentor/type-resolver";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:28:"symfony/dependency-injection";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"symfony/property-access";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:21:"symfony/property-info";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:19:"typo3/cms-scheduler";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:5:"fluid";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:31:"TYPO3\\CMS\\Fluid\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"fluid";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:23:"vendor/typo3/cms-fluid/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:15:"typo3/cms-fluid";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:84:"TYPO3 CMS Fluid Integration - Integration of the Fluid templating engine into TYPO3.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:68:"https://docs.typo3.org/other/typo3/view-helper-reference/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":4:{s:28:"symfony/dependency-injection";s:6:"^7.1.4";s:14:"typo3/cms-core";s:6:"13.4.3";s:17:"typo3/cms-extbase";s:6:"13.4.3";s:16:"typo3fluid/fluid";s:6:"^4.0.2";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:31:"TYPO3\\CMS\\Fluid\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:5:"fluid";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:16:"TYPO3\\CMS\\Fluid\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"fluid";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:27:"TYPO3 CMS Fluid Integration";s:14:"' . "\0" . '*' . "\0" . 'description";s:84:"TYPO3 CMS Fluid Integration - Integration of the Fluid templating engine into TYPO3.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:4:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:28:"symfony/dependency-injection";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"extbase";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"typo3fluid/fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:7:"install";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:33:"TYPO3\\CMS\\Install\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"install";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:25:"vendor/typo3/cms-install/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:17:"typo3/cms-install";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:115:"TYPO3 CMS Install Tool - The Install Tool is used for installation, upgrade, system administration and setup tasks.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":8:{s:13:"doctrine/dbal";s:6:"^4.2.1";s:19:"guzzlehttp/promises";s:6:"^2.0.3";s:16:"nikic/php-parser";s:6:"^5.1.0";s:14:"symfony/finder";s:6:"^7.1.4";s:23:"symfony/http-foundation";s:6:"^7.1.3";s:14:"typo3/cms-core";s:6:"13.4.3";s:17:"typo3/cms-extbase";s:6:"13.4.3";s:15:"typo3/cms-fluid";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:33:"TYPO3\\CMS\\Install\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:7:"install";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:18:"TYPO3\\CMS\\Install\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"install";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:22:"TYPO3 CMS Install Tool";s:14:"' . "\0" . '*' . "\0" . 'description";s:115:"TYPO3 CMS Install Tool - The Install Tool is used for installation, upgrade, system administration and setup tasks.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:8:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"doctrine/dbal";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:19:"guzzlehttp/promises";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"nikic/php-parser";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"symfony/finder";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:23:"symfony/http-foundation";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"extbase";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:7;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:5:"fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:7:"backend";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:33:"TYPO3\\CMS\\Backend\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"backend";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:25:"vendor/typo3/cms-backend/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":14:{s:4:"name";s:17:"typo3/cms-backend";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:17:"TYPO3 CMS backend";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":4:{s:8:"ext-intl";s:1:"*";s:10:"ext-libxml";s:1:"*";s:20:"psr/event-dispatcher";s:4:"^1.0";s:14:"typo3/cms-core";s:6:"13.4.3";}s:7:"suggest";O:8:"stdClass":1:{s:17:"typo3/cms-install";s:54:"To generate url to install tool in environment toolbar";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"replace";O:8:"stdClass":8:{s:15:"typo3/cms-about";s:12:"self.version";s:22:"typo3/cms-context-help";s:12:"self.version";s:19:"typo3/cms-cshmanual";s:12:"self.version";s:22:"typo3/cms-func-wizards";s:12:"self.version";s:20:"typo3/cms-recordlist";s:12:"self.version";s:18:"typo3/cms-t3editor";s:12:"self.version";s:24:"typo3/cms-wizard-crpages";s:12:"self.version";s:26:"typo3/cms-wizard-sortpages";s:12:"self.version";}s:5:"extra";O:8:"stdClass":3:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:33:"TYPO3\\CMS\\Backend\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:7:"backend";}s:24:"typo3/class-alias-loader";O:8:"stdClass":1:{s:16:"class-alias-maps";a:1:{i:0;s:33:"Migrations/Code/ClassAliasMap.php";}}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:18:"TYPO3\\CMS\\Backend\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"backend";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:17:"TYPO3 CMS Backend";s:14:"' . "\0" . '*' . "\0" . 'description";s:17:"TYPO3 CMS backend";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:4:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-intl";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-libxml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"psr/event-dispatcher";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"install";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"frontend";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:34:"TYPO3\\CMS\\Frontend\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"frontend";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-frontend/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:18:"typo3/cms-frontend";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:18:"TYPO3 CMS Frontend";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":2:{s:10:"ext-libxml";s:1:"*";s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"suggest";O:8:"stdClass":1:{s:20:"typo3/cms-adminpanel";s:84:"Provides additional information and functionality for backend users in the frontend.";}s:5:"extra";O:8:"stdClass":3:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":4:{s:15:"serviceProvider";s:34:"TYPO3\\CMS\\Frontend\\ServiceProvider";s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:8:"frontend";}s:24:"typo3/class-alias-loader";O:8:"stdClass":1:{s:16:"class-alias-maps";a:1:{i:0;s:33:"Migrations/Code/ClassAliasMap.php";}}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:19:"TYPO3\\CMS\\Frontend\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"frontend";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:18:"TYPO3 CMS Frontend";s:14:"' . "\0" . '*' . "\0" . 'description";s:18:"TYPO3 CMS Frontend";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:2:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-libxml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:20:"typo3/cms-adminpanel";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:9:"dashboard";O:30:"TYPO3\\CMS\\Core\\Package\\Package":9:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:18:"' . "\0" . '*' . "\0" . 'serviceProvider";s:35:"TYPO3\\CMS\\Dashboard\\ServiceProvider";s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:9:"dashboard";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:27:"vendor/typo3/cms-dashboard/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:19:"typo3/cms-dashboard";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:88:"TYPO3 CMS Dashboard - TYPO3 backend module used to configure and create backend widgets.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:56:"https://docs.typo3.org/c/typo3/cms-dashboard/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":5:{s:14:"typo3/cms-core";s:6:"13.4.3";s:18:"typo3/cms-frontend";s:6:"13.4.3";s:17:"typo3/cms-backend";s:6:"13.4.3";s:15:"typo3/cms-fluid";s:6:"13.4.3";s:17:"typo3/cms-extbase";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:13:"extension-key";s:9:"dashboard";s:7:"Package";O:8:"stdClass":2:{s:15:"serviceProvider";s:35:"TYPO3\\CMS\\Dashboard\\ServiceProvider";s:20:"partOfFactoryDefault";b:1;}}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:20:"TYPO3\\CMS\\Dashboard\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:9:"dashboard";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:19:"TYPO3 CMS Dashboard";s:14:"' . "\0" . '*' . "\0" . 'description";s:88:"TYPO3 CMS Dashboard - TYPO3 backend module used to configure and create backend widgets.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:5:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"frontend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"backend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:5:"fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"extbase";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:20:"fluid_styled_content";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:20:"fluid_styled_content";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:38:"vendor/typo3/cms-fluid-styled-content/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:30:"typo3/cms-fluid-styled-content";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:76:"TYPO3 CMS Fluid Styled Content - Fluid templates for TYPO3 content elements.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:66:"https://docs.typo3.org/c/typo3/cms-fluid-styled-content/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":3:{s:14:"typo3/cms-core";s:6:"13.4.3";s:15:"typo3/cms-fluid";s:6:"13.4.3";s:18:"typo3/cms-frontend";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:20:"fluid_styled_content";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:29:"TYPO3\\CMS\\FluidStyledContent\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:20:"fluid_styled_content";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:30:"TYPO3 CMS Fluid Styled Content";s:14:"' . "\0" . '*' . "\0" . 'description";s:76:"TYPO3 CMS Fluid Styled Content - Fluid templates for TYPO3 content elements.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:3:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:5:"fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"frontend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"filelist";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"filelist";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-filelist/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:18:"typo3/cms-filelist";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:82:"TYPO3 CMS Filelist - TYPO3 backend module (File>Filelist) used for managing files.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":3:{s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:8:"filelist";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:19:"TYPO3\\CMS\\Filelist\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"filelist";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:18:"TYPO3 CMS Filelist";s:14:"' . "\0" . '*' . "\0" . 'description";s:82:"TYPO3 CMS Filelist - TYPO3 backend module (File>Filelist) used for managing files.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:6:"impexp";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:6:"impexp";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:24:"vendor/typo3/cms-impexp/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:16:"typo3/cms-impexp";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:102:"TYPO3 CMS Import/Export - Tool for importing and exporting records using XML or the custom T3D format.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:53:"https://docs.typo3.org/c/typo3/cms-impexp/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:6:"impexp";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:17:"TYPO3\\CMS\\Impexp\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:6:"impexp";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:23:"TYPO3 CMS Import/Export";s:14:"' . "\0" . '*' . "\0" . 'description";s:102:"TYPO3 CMS Import/Export - Tool for importing and exporting records using XML or the custom T3D format.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:4:"form";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"form";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:22:"vendor/typo3/cms-form/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:14:"typo3/cms-form";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:99:"TYPO3 CMS Form - Flexible TYPO3 frontend form framework that comes with a backend editor interface.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:50:"https://docs.typo3.org/c/typo3/cms-form/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":4:{s:16:"psr/http-message";s:12:"^1.1 || ^2.0";s:27:"symfony/expression-language";s:6:"^7.1.4";s:14:"typo3/cms-core";s:6:"13.4.3";s:18:"typo3/cms-frontend";s:6:"13.4.3";}s:7:"suggest";O:8:"stdClass":3:{s:18:"typo3/cms-filelist";s:33:"Listing of files in the directory";s:16:"typo3/cms-impexp";s:120:"Import and Export of records from TYPO3 in a custom serialized format (.T3D) for data exchange with other TYPO3 systems.";s:18:"typo3/cms-lowlevel";s:61:"To display the YAML configuration in the configuration module";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:4:"form";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:15:"TYPO3\\CMS\\Form\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"form";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:14:"TYPO3 CMS Form";s:14:"' . "\0" . '*' . "\0" . 'description";s:99:"TYPO3 CMS Form - Flexible TYPO3 frontend form framework that comes with a backend editor interface.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:4:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"psr/http-message";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:27:"symfony/expression-language";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"frontend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:3:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"filelist";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:6:"impexp";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:18:"typo3/cms-lowlevel";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:3:"seo";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:3:"seo";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:21:"vendor/typo3/cms-seo/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:13:"typo3/cms-seo";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:114:"TYPO3 CMS SEO - SEO features including specific fields for SEO purposes, rendering of HTML meta tags and sitemaps.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:49:"https://docs.typo3.org/c/typo3/cms-seo/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":3:{s:14:"typo3/cms-core";s:6:"13.4.3";s:18:"typo3/cms-frontend";s:6:"13.4.3";s:17:"typo3/cms-extbase";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"suggest";O:8:"stdClass":1:{s:19:"typo3/cms-dashboard";s:86:"TYPO3 users can add widgets that can help to optimise their website for search engines";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:13:"extension-key";s:3:"seo";s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:14:"TYPO3\\CMS\\Seo\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:3:"seo";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:13:"TYPO3 CMS SEO";s:14:"' . "\0" . '*' . "\0" . 'description";s:114:"TYPO3 CMS SEO - SEO features including specific fields for SEO purposes, rendering of HTML meta tags and sitemaps.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:3:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"frontend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"extbase";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:9:"dashboard";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:5:"setup";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"setup";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:23:"vendor/typo3/cms-setup/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:15:"typo3/cms-setup";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:147:"TYPO3 CMS Setup - Allows users to edit a limited set of options for their user profile, including preferred language, their name and email address.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:5:"setup";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:16:"TYPO3\\CMS\\Setup\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"setup";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:15:"TYPO3 CMS Setup";s:14:"' . "\0" . '*' . "\0" . 'description";s:147:"TYPO3 CMS Setup - Allows users to edit a limited set of options for their user profile, including preferred language, their name and email address.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:12:"rte_ckeditor";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"rte_ckeditor";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:30:"vendor/typo3/cms-rte-ckeditor/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:22:"typo3/cms-rte-ckeditor";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:93:"TYPO3 CMS RTE CKEditor - Integration of CKEditor as a Rich Text Editor for the TYPO3 backend.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:58:"https://docs.typo3.org/c/typo3/cms-rte-ckeditor/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"suggest";O:8:"stdClass":1:{s:15:"typo3/cms-setup";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:12:"rte_ckeditor";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:22:"TYPO3\\CMS\\RteCKEditor\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"rte_ckeditor";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:22:"TYPO3 CMS RTE CKEditor";s:14:"' . "\0" . '*' . "\0" . 'description";s:93:"TYPO3 CMS RTE CKEditor - Integration of CKEditor as a Rich Text Editor for the TYPO3 backend.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:5:"setup";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"sys_note";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"sys_note";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-sys-note/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:18:"typo3/cms-sys-note";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:154:"TYPO3 CMS System Notes - Records with messages which can be placed on any page and contain instructions or other information related to a page or section.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:7:"suggest";O:8:"stdClass":1:{s:19:"typo3/cms-dashboard";s:82:"TYPO3 users can add widgets that can help to quickly see existing sys_note records";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:8:"sys_note";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:18:"TYPO3\\CMS\\SysNote\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"sys_note";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:22:"TYPO3 CMS System Notes";s:14:"' . "\0" . '*' . "\0" . 'description";s:154:"TYPO3 CMS System Notes - Records with messages which can be placed on any page and contain instructions or other information related to a page or section.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:9:"dashboard";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:5:"belog";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"belog";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:23:"vendor/typo3/cms-belog/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:15:"typo3/cms-belog";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:88:"TYPO3 CMS Log - View logs from the sys_log table in the TYPO3 backend modules System>Log";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:5:"belog";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:16:"TYPO3\\CMS\\Belog\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:5:"belog";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:13:"TYPO3 CMS Log";s:14:"' . "\0" . '*' . "\0" . 'description";s:88:"TYPO3 CMS Log - View logs from the sys_log table in the TYPO3 backend modules System>Log";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:6:"beuser";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:6:"beuser";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:24:"vendor/typo3/cms-beuser/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:16:"typo3/cms-beuser";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:105:"TYPO3 CMS Backend User - TYPO3 backend module System>Backend Users for managing backend users and groups.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:6:"beuser";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:17:"TYPO3\\CMS\\Beuser\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:6:"beuser";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:22:"TYPO3 CMS Backend User";s:14:"' . "\0" . '*' . "\0" . 'description";s:105:"TYPO3 CMS Backend User - TYPO3 backend module System>Backend Users for managing backend users and groups.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:16:"extensionmanager";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:1;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:16:"extensionmanager";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:34:"vendor/typo3/cms-extensionmanager/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:1;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:26:"typo3/cms-extensionmanager";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:106:"TYPO3 CMS Extension Manager - Backend module (Admin Tools>Extensions) for viewing and managing extensions.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":2:{s:10:"ext-libxml";s:1:"*";s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":3:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":3:{s:9:"protected";b:1;s:20:"partOfFactoryDefault";b:1;s:25:"partOfMinimalUsableSystem";b:1;}s:13:"extension-key";s:16:"extensionmanager";}s:24:"typo3/class-alias-loader";O:8:"stdClass":1:{s:16:"class-alias-maps";a:1:{i:0;s:33:"Migrations/Code/ClassAliasMap.php";}}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:27:"TYPO3\\CMS\\Extensionmanager\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:16:"extensionmanager";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:27:"TYPO3 CMS Extension Manager";s:14:"' . "\0" . '*' . "\0" . 'description";s:106:"TYPO3 CMS Extension Manager - Backend module (Admin Tools>Extensions) for viewing and managing extensions.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:2:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-libxml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:7:"felogin";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"felogin";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:25:"vendor/typo3/cms-felogin/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:17:"typo3/cms-felogin";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:97:"TYPO3 CMS Frontend Login - A template-based plugin to log in website users in the TYPO3 frontend.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:53:"https://docs.typo3.org/c/typo3/cms-felogin/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:7:"felogin";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:24:"TYPO3\\CMS\\FrontendLogin\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:7:"felogin";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:24:"TYPO3 CMS Frontend Login";s:14:"' . "\0" . '*' . "\0" . 'description";s:97:"TYPO3 CMS Frontend Login - A template-based plugin to log in website users in the TYPO3 frontend.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:12:"filemetadata";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"filemetadata";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:30:"vendor/typo3/cms-filemetadata/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":11:{s:4:"name";s:22:"typo3/cms-filemetadata";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:70:"TYPO3 CMS File Metadata - Adds additional metadata to file management.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":1:{s:13:"extension-key";s:12:"filemetadata";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"filemetadata";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:23:"TYPO3 CMS File Metadata";s:14:"' . "\0" . '*' . "\0" . 'description";s:70:"TYPO3 CMS File Metadata - Adds additional metadata to file management.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:14:"indexed_search";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:14:"indexed_search";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:32:"vendor/typo3/cms-indexed-search/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:24:"typo3/cms-indexed-search";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:145:"TYPO3 CMS Indexed Search - Provides indexing functionality for TYPO3 pages and records as well as files including PDF, Word, HTML and plain text.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:60:"https://docs.typo3.org/c/typo3/cms-indexed-search/main/en-us";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"suggest";O:8:"stdClass":2:{s:8:"ext-exif";s:81:"Used to extract exif metadata \'COMMENT\' and \'ImageDescription\' of uploaded images";s:19:"typo3/cms-scheduler";s:43:"For garbage collection of search statistics";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":1:{s:13:"extension-key";s:14:"indexed_search";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:24:"TYPO3\\CMS\\IndexedSearch\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:14:"indexed_search";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:24:"TYPO3 CMS Indexed Search";s:14:"' . "\0" . '*' . "\0" . 'description";s:145:"TYPO3 CMS Indexed Search - Provides indexing functionality for TYPO3 pages and records as well as files including PDF, Word, HTML and plain text.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:2:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-exif";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:19:"typo3/cms-scheduler";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:4:"info";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"info";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:22:"vendor/typo3/cms-info/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:14:"typo3/cms-info";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:123:"TYPO3 CMS Info - TYPO3 backend module for displaying information, such as a pagetree overview and localization information.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:7:"replace";O:8:"stdClass":1:{s:27:"typo3/cms-info-pagetsconfig";s:12:"self.version";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:4:"info";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:15:"TYPO3\\CMS\\Info\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:4:"info";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:14:"TYPO3 CMS Info";s:14:"' . "\0" . '*' . "\0" . 'description";s:123:"TYPO3 CMS Info - TYPO3 backend module for displaying information, such as a pagetree overview and localization information.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:9:"reactions";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:9:"reactions";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:27:"vendor/typo3/cms-reactions/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:19:"typo3/cms-reactions";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:56:"TYPO3 CMS Reactions - Handle incoming Webhooks for TYPO3";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:56:"https://docs.typo3.org/c/typo3/cms-reactions/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:7:"suggest";O:8:"stdClass":1:{s:18:"typo3/cms-lowlevel";s:59:"To display registered reactions in the configuration module";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":1:{s:13:"extension-key";s:9:"reactions";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:20:"TYPO3\\CMS\\Reactions\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:9:"reactions";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:19:"TYPO3 CMS Reactions";s:14:"' . "\0" . '*' . "\0" . 'description";s:56:"TYPO3 CMS Reactions - Handle incoming Webhooks for TYPO3";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:18:"typo3/cms-lowlevel";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"recycler";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"recycler";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-recycler/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:18:"typo3/cms-recycler";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:90:"TYPO3 CMS Recycler - Restore deleted records or remove them from the database permanently.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:55:"https://docs.typo3.org/c/typo3/cms-recycler/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:7:"suggest";O:8:"stdClass":1:{s:19:"typo3/cms-scheduler";s:39:"Remove deleted records after given time";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:8:"recycler";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:19:"TYPO3\\CMS\\Recycler\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"recycler";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:18:"TYPO3 CMS Recycler";s:14:"' . "\0" . '*' . "\0" . 'description";s:90:"TYPO3 CMS Recycler - Restore deleted records or remove them from the database permanently.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:19:"typo3/cms-scheduler";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:10:"tstemplate";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:10:"tstemplate";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:28:"vendor/typo3/cms-tstemplate/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:20:"typo3/cms-tstemplate";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:106:"TYPO3 CMS TypoScript - TYPO3 backend module for the management of TypoScript records for the CMS frontend.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:10:"tstemplate";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:21:"TYPO3\\CMS\\Tstemplate\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:10:"tstemplate";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:20:"TYPO3 CMS TypoScript";s:14:"' . "\0" . '*' . "\0" . 'description";s:106:"TYPO3 CMS TypoScript - TYPO3 backend module for the management of TypoScript records for the CMS frontend.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"viewpage";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:1;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"viewpage";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-viewpage/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":12:{s:4:"name";s:18:"typo3/cms-viewpage";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:104:"TYPO3 CMS Viewpage - Use the (Web>View) backend module to view a frontend page inside the TYPO3 backend.";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:22:"https://docs.typo3.org";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":1:{s:14:"typo3/cms-core";s:6:"13.4.3";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:7:"Package";O:8:"stdClass":1:{s:20:"partOfFactoryDefault";b:1;}s:13:"extension-key";s:8:"viewpage";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:19:"TYPO3\\CMS\\Viewpage\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"viewpage";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:18:"TYPO3 CMS Viewpage";s:14:"' . "\0" . '*' . "\0" . 'description";s:104:"TYPO3 CMS Viewpage - Use the (Web>View) backend module to view a frontend page inside the TYPO3 backend.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:8:"webhooks";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"webhooks";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:26:"vendor/typo3/cms-webhooks/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":13:{s:4:"name";s:18:"typo3/cms-webhooks";s:4:"type";s:19:"typo3-cms-framework";s:11:"description";s:55:"TYPO3 CMS Webhooks - Handle outgoing Webhooks for TYPO3";s:8:"homepage";s:17:"https://typo3.org";s:7:"license";a:1:{i:0;s:16:"GPL-2.0-or-later";}s:7:"authors";a:1:{i:0;O:8:"stdClass":3:{s:4:"name";s:15:"TYPO3 Core Team";s:5:"email";s:18:"typo3cms@typo3.org";s:4:"role";s:9:"Developer";}}s:7:"support";O:8:"stdClass":4:{s:4:"chat";s:22:"https://typo3.org/help";s:4:"docs";s:55:"https://docs.typo3.org/c/typo3/cms-webhooks/main/en-us/";s:6:"issues";s:23:"https://forge.typo3.org";s:6:"source";s:30:"https://github.com/typo3/typo3";}s:6:"config";O:8:"stdClass":1:{s:13:"sort-packages";b:1;}s:7:"require";O:8:"stdClass":2:{s:11:"symfony/uid";s:6:"^7.1.4";s:14:"typo3/cms-core";s:6:"13.4.3";}s:7:"suggest";O:8:"stdClass":1:{s:18:"typo3/cms-lowlevel";s:58:"To display registered webhooks in the configuration module";}s:8:"conflict";O:8:"stdClass":1:{s:9:"typo3/cms";s:1:"*";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:10:"13.4.x-dev";}s:9:"typo3/cms";O:8:"stdClass":1:{s:13:"extension-key";s:8:"webhooks";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:19:"TYPO3\\CMS\\Webhooks\\";s:8:"Classes/";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:8:"webhooks";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-framework";s:10:"' . "\0" . '*' . "\0" . 'version";s:7:"v13.4.3";s:8:"' . "\0" . '*' . "\0" . 'title";s:18:"TYPO3 CMS Webhooks";s:14:"' . "\0" . '*' . "\0" . 'description";s:55:"TYPO3 CMS Webhooks - Handle outgoing Webhooks for TYPO3";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:2:{s:7:"depends";a:2:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:11:"symfony/uid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}s:8:"suggests";a:1:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:8:"suggests";s:8:"' . "\0" . '*' . "\0" . 'value";s:18:"typo3/cms-lowlevel";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:17:"bootstrap_package";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:17:"bootstrap_package";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:30:"vendor/bk2k/bootstrap-package/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":18:{s:4:"name";s:22:"bk2k/bootstrap-package";s:4:"type";s:19:"typo3-cms-extension";s:11:"description";s:108:"Bootstrap Package delivers a full configured frontend theme for TYPO3, based on the Bootstrap CSS Framework.";s:8:"keywords";a:8:{i:0;s:9:"TYPO3 CMS";i:1;s:12:"introduction";i:2;s:11:"sitepackage";i:3;s:9:"bootstrap";i:4;s:10:"responsive";i:5;s:8:"frontend";i:6;s:5:"theme";i:7;s:3:"web";}s:8:"homepage";s:34:"https://www.bootstrap-package.com/";s:7:"license";s:3:"MIT";s:7:"authors";a:1:{i:0;O:8:"stdClass":4:{s:4:"name";s:13:"Benjamin Kott";s:5:"email";s:14:"info@bk2k.info";s:8:"homepage";s:21:"http://www.bk2k.info/";s:4:"role";s:9:"Developer";}}s:7:"require";O:8:"stdClass":18:{s:3:"php";s:7:">=8.1.0";s:7:"ext-PDO";s:1:"*";s:7:"ext-dom";s:1:"*";s:10:"ext-filter";s:1:"*";s:8:"ext-hash";s:1:"*";s:8:"ext-json";s:1:"*";s:10:"ext-libxml";s:1:"*";s:13:"ext-simplexml";s:1:"*";s:15:"scssphp/scssphp";s:5:"^1.13";s:17:"typo3/cms-backend";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:14:"typo3/cms-core";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:17:"typo3/cms-extbase";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:26:"typo3/cms-extensionmanager";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:15:"typo3/cms-fluid";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:18:"typo3/cms-frontend";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:17:"typo3/cms-install";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:22:"typo3/cms-rte-ckeditor";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:13:"typo3/cms-seo";s:28:"^12.4 || ^13.4 || 13.*.*@dev";}s:11:"require-dev";O:8:"stdClass":20:{s:13:"b13/container";s:25:"^2.3 || dev-task/dev-main";s:17:"bk2k/demo-package";s:4:"@dev";s:21:"bk2k/extension-helper";s:4:"^2.1";s:25:"friendsofphp/php-cs-fixer";s:5:"^3.64";s:28:"friendsoftypo3/phpstan-typo3";s:4:"^0.9";s:16:"overtrue/phplint";s:4:"^9.0";s:15:"phpstan/phpstan";s:5:"^1.10";s:33:"phpstan/phpstan-deprecation-rules";s:4:"^1.1";s:23:"phpstan/phpstan-phpunit";s:4:"^1.3";s:28:"phpstan/phpstan-strict-rules";s:4:"^1.5";s:15:"typo3/cms-belog";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:17:"typo3/cms-felogin";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:18:"typo3/cms-filelist";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:14:"typo3/cms-form";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:24:"typo3/cms-indexed-search";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:14:"typo3/cms-info";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:18:"typo3/cms-lowlevel";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:20:"typo3/cms-tstemplate";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:20:"typo3/cms-workspaces";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:23:"typo3/testing-framework";s:6:"^8.2.3";}s:6:"config";O:8:"stdClass":5:{s:7:"bin-dir";s:10:".build/bin";s:19:"optimize-autoloader";b:1;s:13:"sort-packages";b:1;s:10:"vendor-dir";s:13:".build/vendor";s:13:"allow-plugins";O:8:"stdClass":2:{s:24:"typo3/class-alias-loader";b:1;s:29:"typo3/cms-composer-installers";b:1;}}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:10:"dev-master";s:10:"15.0.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:13:"extension-key";s:17:"bootstrap_package";s:7:"web-dir";s:13:".build/public";}}s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:22:"BK2K\\BootstrapPackage\\";s:7:"Classes";}}s:12:"autoload-dev";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:28:"BK2K\\BootstrapPackage\\Tests\\";s:5:"Tests";}}s:12:"repositories";O:8:"stdClass":1:{s:5:"tests";O:8:"stdClass":2:{s:4:"type";s:4:"path";s:3:"url";s:16:"Tests/Packages/*";}}s:17:"minimum-stability";s:3:"dev";s:13:"prefer-stable";b:1;s:7:"scripts";O:8:"stdClass":11:{s:18:"post-autoload-dump";a:2:{i:0;s:69:"[ -d .build/public/_assets ] || mkdir -p .build/public/typo3conf/ext/";i:1;s:156:"[ -d .build/public/_assets ] || [ -L .build/public/typo3conf/ext/bootstrap_package ] || ln -snvf ../../../../. .build/public/typo3conf/ext/bootstrap_package";}s:3:"cgl";a:1:{i:0;s:26:"php-cs-fixer --diff -v fix";}s:6:"cgl:ci";a:1:{i:0;s:36:"php-cs-fixer --diff -v --dry-run fix";}s:9:"changelog";a:1:{i:0;s:33:"extension-helper changelog:create";}s:7:"phpstan";a:1:{i:0;s:50:"phpstan analyze --configuration Build/phpstan.neon";}s:16:"phpstan:baseline";a:1:{i:0;s:98:"phpstan analyze --configuration Build/phpstan.neon --generate-baseline Build/phpstan-baseline.neon";}s:11:"set-version";a:1:{i:0;s:28:"extension-helper version:set";}s:4:"test";a:3:{i:0;s:14:"@test:php:lint";i:1;s:14:"@test:php:unit";i:2;s:20:"@test:php:functional";}s:19:"test:php:functional";a:1:{i:0;s:39:"phpunit -c Build/phpunit-functional.xml";}s:13:"test:php:lint";a:1:{i:0;s:7:"phplint";}s:13:"test:php:unit";a:1:{i:0;s:33:"phpunit -c Build/phpunit-unit.xml";}}s:7:"support";O:8:"stdClass":4:{s:6:"issues";s:56:"https://github.com/benjaminkott/bootstrap_package/issues";s:4:"wiki";s:54:"https://github.com/benjaminkott/bootstrap_package/wiki";s:6:"source";s:49:"https://github.com/benjaminkott/bootstrap_package";s:4:"docs";s:59:"https://docs.typo3.org/p/bk2k/bootstrap-package/main/en-us/";}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:17:"bootstrap_package";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-extension";s:10:"' . "\0" . '*' . "\0" . 'version";s:6:"15.0.0";s:8:"' . "\0" . '*' . "\0" . 'title";s:17:"Bootstrap Package";s:14:"' . "\0" . '*' . "\0" . 'description";s:108:"Bootstrap Package delivers a full configured frontend theme for TYPO3, based on the Bootstrap CSS Framework.";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:18:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:3:"php";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-PDO";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-dom";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-filter";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-hash";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"ext-json";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"ext-libxml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:7;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"ext-simplexml";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:8;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:15:"scssphp/scssphp";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:9;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"backend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:10;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:11;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"extbase";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:12;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"extensionmanager";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:13;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:5:"fluid";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:14;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:8:"frontend";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:15;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"install";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:16;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"rte_ckeditor";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:17;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:3:"seo";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}s:12:"introduction";O:30:"TYPO3\\CMS\\Core\\Package\\Package":8:{s:23:"' . "\0" . '*' . "\0" . 'partOfFactoryDefault";b:0;s:28:"' . "\0" . '*' . "\0" . 'partOfMinimalUsableSystem";b:0;s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"introduction";s:14:"' . "\0" . '*' . "\0" . 'packagePath";s:30:"vendor/typo3/cms-introduction/";s:24:"' . "\0" . '*' . "\0" . 'isRelativePackagePath";b:1;s:12:"' . "\0" . '*' . "\0" . 'protected";b:0;s:19:"' . "\0" . '*' . "\0" . 'composerManifest";O:8:"stdClass":16:{s:4:"name";s:22:"typo3/cms-introduction";s:11:"description";s:39:"The Official TYPO3 Introduction Package";s:7:"license";s:16:"GPL-2.0-or-later";s:4:"type";s:19:"typo3-cms-extension";s:8:"keywords";a:3:{i:0;s:9:"TYPO3 CMS";i:1;s:12:"introduction";i:2;s:9:"bootstrap";}s:8:"homepage";s:51:"https://extensions.typo3.org/extension/introduction";s:7:"support";O:8:"stdClass":3:{s:6:"issues";s:53:"https://github.com/FriendsOfTYPO3/introduction/issues";s:6:"source";s:46:"https://github.com/FriendsOfTYPO3/introduction";s:4:"docs";s:59:"https://docs.typo3.org/p/typo3/cms-introduction/main/en-us/";}s:7:"require";O:8:"stdClass":13:{s:3:"php";s:4:"^8.1";s:7:"ext-pdo";s:1:"*";s:22:"bk2k/bootstrap-package";s:5:"^15.0";s:16:"typo3/cms-beuser";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:14:"typo3/cms-core";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:26:"typo3/cms-extensionmanager";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:17:"typo3/cms-felogin";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:22:"typo3/cms-filemetadata";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:14:"typo3/cms-form";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:16:"typo3/cms-impexp";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:24:"typo3/cms-indexed-search";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:20:"typo3/cms-tstemplate";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:13:"typo3/minimal";s:28:"^12.4 || ^13.4 || 13.*.*@dev";}s:11:"require-dev";O:8:"stdClass":9:{s:23:"codeception/codeception";s:4:"^5.0";s:26:"codeception/module-asserts";s:4:"^3.0";s:28:"codeception/module-webdriver";s:4:"^4.0";s:27:"ergebnis/composer-normalize";s:4:"^2.0";s:15:"typo3/cms-belog";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:18:"typo3/cms-lowlevel";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:19:"typo3/cms-scheduler";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:15:"typo3/cms-setup";s:28:"^12.4 || ^13.4 || 13.*.*@dev";s:22:"typo3/coding-standards";s:4:"^0.8";}s:17:"minimum-stability";s:3:"dev";s:13:"prefer-stable";b:1;s:8:"autoload";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:23:"TYPO3\\CMS\\Introduction\\";s:7:"Classes";}}s:12:"autoload-dev";O:8:"stdClass":1:{s:5:"psr-4";O:8:"stdClass":1:{s:29:"TYPO3\\CMS\\Introduction\\Tests\\";s:5:"Tests";}}s:6:"config";O:8:"stdClass":5:{s:13:"allow-plugins";O:8:"stdClass":3:{s:27:"ergebnis/composer-normalize";b:1;s:29:"typo3/cms-composer-installers";b:1;s:24:"typo3/class-alias-loader";b:1;}s:7:"bin-dir";s:10:".build/bin";s:19:"optimize-autoloader";b:1;s:13:"sort-packages";b:1;s:10:"vendor-dir";s:13:".build/vendor";}s:5:"extra";O:8:"stdClass":2:{s:12:"branch-alias";O:8:"stdClass":1:{s:8:"dev-main";s:9:"4.7.x-dev";}s:9:"typo3/cms";O:8:"stdClass":2:{s:13:"extension-key";s:12:"introduction";s:7:"web-dir";s:13:".build/public";}}s:7:"scripts";O:8:"stdClass":3:{s:18:"post-autoload-dump";a:1:{i:0;s:87:"test -f config/system/settings.php || (typo3 setup --force -n && typo3 extension:setup)";}s:5:"tests";a:1:{i:0;s:17:"@tests:acceptance";}s:16:"tests:acceptance";a:1:{i:0;s:31:"@php codecept run -n Acceptance";}}}s:18:"' . "\0" . '*' . "\0" . 'packageMetaData";O:31:"TYPO3\\CMS\\Core\\Package\\MetaData":6:{s:13:"' . "\0" . '*' . "\0" . 'packageKey";s:12:"introduction";s:14:"' . "\0" . '*' . "\0" . 'packageType";s:19:"typo3-cms-extension";s:10:"' . "\0" . '*' . "\0" . 'version";s:5:"4.7.0";s:8:"' . "\0" . '*' . "\0" . 'title";s:39:"The Official TYPO3 Introduction Package";s:14:"' . "\0" . '*' . "\0" . 'description";s:39:"The Official TYPO3 Introduction Package";s:14:"' . "\0" . '*' . "\0" . 'constraints";a:1:{s:7:"depends";a:13:{i:0;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:3:"php";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:1;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"ext-pdo";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:2;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:17:"bootstrap_package";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:3;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:6:"beuser";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:4;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"core";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:5;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:16:"extensionmanager";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:6;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:7:"felogin";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:7;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:12:"filemetadata";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:8;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:4:"form";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:9;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:6:"impexp";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:10;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:14:"indexed_search";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:11;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:10:"tstemplate";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}i:12;O:49:"TYPO3\\CMS\\Core\\Package\\MetaData\\PackageConstraint":4:{s:17:"' . "\0" . '*' . "\0" . 'constraintType";s:7:"depends";s:8:"' . "\0" . '*' . "\0" . 'value";s:13:"typo3/minimal";s:13:"' . "\0" . '*' . "\0" . 'minVersion";N;s:13:"' . "\0" . '*' . "\0" . 'maxVersion";N;}}}}}}', ); \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Classes/Clipboard/Clipboard.php b/vendor/typo3/cms-backend/Classes/Clipboard/Clipboard.php index 49f4bb10..55e70c05 100644 --- a/vendor/typo3/cms-backend/Classes/Clipboard/Clipboard.php +++ b/vendor/typo3/cms-backend/Classes/Clipboard/Clipboard.php @@ -296,13 +296,12 @@ protected function getTabItems(string $padIdentifier, string $currentTable): arr /** @var File $fileObject */ if (!$folder && ($fileObject->isImage() || $fileObject->isMediaFile())) { $processedFile = $fileObject->process( - ProcessedFile::CONTEXT_IMAGEPREVIEW, + ProcessedFile::CONTEXT_IMAGECROPSCALEMASK, [ - 'width' => 64, - 'height' => 64, + 'maxWidth' => 64, + 'maxHeight' => 64, ] ); - $thumb = 'convertPhpFormatToLuxon($GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy'] ?? 'Y-m-d'); - $dateFormat[1] = $formatter->convertPhpFormatToLuxon($GLOBALS['TYPO3_CONF_VARS']['SYS']['hhmm'] ?? 'H:i') . ' ' . $dateFormat[0]; + $dateFormat[1] = $dateFormat[0] . ' ' . $formatter->convertPhpFormatToLuxon($GLOBALS['TYPO3_CONF_VARS']['SYS']['hhmm'] ?? 'H:i'); $pageRenderer->addInlineSetting('DateTimePicker', 'DateFormat', $dateFormat); $typo3Version = 'TYPO3 CMS ' . $this->typo3Version->getVersion(); diff --git a/vendor/typo3/cms-backend/Classes/Controller/ContentElement/NewContentElementController.php b/vendor/typo3/cms-backend/Classes/Controller/ContentElement/NewContentElementController.php index e298935c..30b2cc18 100644 --- a/vendor/typo3/cms-backend/Classes/Controller/ContentElement/NewContentElementController.php +++ b/vendor/typo3/cms-backend/Classes/Controller/ContentElement/NewContentElementController.php @@ -228,7 +228,7 @@ protected function getWizards(): array { $wizards = $this->loadAvailableWizardsFromContentElements(); $pluginWizards = $this->loadAvailableWizardsFromPluginSubTypes(); - $wizards = array_replace_recursive($wizards, $pluginWizards); + $wizards = $this->mergeContentElementAndPluginSubTypeWizards($wizards, $pluginWizards); $newContentElementWizardTsConfig = BackendUtility::getPagesTSconfig($this->id)['mod.']['wizards.']['newContentElement.'] ?? []; $wizardsFromPageTSConfig = $this->migrateCommonGroupToDefault($newContentElementWizardTsConfig['wizardItems.'] ?? []); $wizardsFromPageTSConfig = $this->migratePositionalCommonGroupToDefault($wizardsFromPageTSConfig); @@ -360,6 +360,25 @@ protected function mergeContentElementWizardsWithPageTSConfigWizards(array $cont return $mergedWizards; } + /** + * This method merges wizards defined from CType itemGroups (Content Elements) + * and list_type itemGroups (Plugin subtypes). It is important that labels + * from list_type do not override labels from CType. The "default" group is a + * prominent example. This is why we do not do a simple array_replace_recursive. + */ + protected function mergeContentElementAndPluginSubTypeWizards(array $contentElementWizards, array $pluginSubTypeWizards): array + { + foreach ($pluginSubTypeWizards as $group => $wizard) { + // Add new group exclusive for list_type, if no group with same identifier exists. + $contentElementWizards[$group] ??= $wizard; + $contentElementWizardElements = $contentElementWizards[$group]['elements.'] ?? []; + $pluginSubTypeWizardElements = $wizard['elements.'] ?? []; + // Append plugin subtypes at the end of the elements list. + $contentElementWizards[$group]['elements.'] = array_merge($contentElementWizardElements, $pluginSubTypeWizardElements); + } + return $contentElementWizards; + } + /** * This method returns the wizard items, defined in Page TSconfig for b/w * compatibility. diff --git a/vendor/typo3/cms-backend/Classes/Controller/EditDocumentController.php b/vendor/typo3/cms-backend/Classes/Controller/EditDocumentController.php index be32cfdb..aa324132 100644 --- a/vendor/typo3/cms-backend/Classes/Controller/EditDocumentController.php +++ b/vendor/typo3/cms-backend/Classes/Controller/EditDocumentController.php @@ -639,17 +639,23 @@ protected function processData(ModuleTemplate $view, ServerRequestInterface $req // Find the current table reset($this->editconf); $nTable = (string)key($this->editconf); - // Finding the first id, getting the records pid+uid + // Determine insertion mode: 'top' is self-explaining, + // otherwise new elements are inserted after one using a negative uid + $insertRecordOnTop = ($this->getTsConfigOption($nTable, 'saveDocNew') === 'top'); + // Fetching id's - might be a comma-separated list reset($this->editconf[$nTable]); - $nUid = (int)key($this->editconf[$nTable]); + $ids = GeneralUtility::trimExplode(',', (string)key($this->editconf[$nTable]), true); + // Depending on $insertRecordOnTop, retrieve either the first or last id to get the records' pid+uid + if ($insertRecordOnTop) { + $nUid = (int)reset($ids); + } else { + $nUid = (int)end($ids); + } $recordFields = 'pid,uid'; if (BackendUtility::isTableWorkspaceEnabled($nTable)) { $recordFields .= ',t3ver_oid'; } $nRec = BackendUtility::getRecord($nTable, $nUid, $recordFields); - // Determine insertion mode: 'top' is self-explaining, - // otherwise new elements are inserted after one using a negative uid - $insertRecordOnTop = ($this->getTsConfigOption($nTable, 'saveDocNew') === 'top'); // Setting a blank editconf array for a new record: $this->editconf = []; // Determine related page ID for regular live context diff --git a/vendor/typo3/cms-backend/Classes/Controller/PageLayoutController.php b/vendor/typo3/cms-backend/Classes/Controller/PageLayoutController.php index 535d46fa..e7b241e6 100644 --- a/vendor/typo3/cms-backend/Classes/Controller/PageLayoutController.php +++ b/vendor/typo3/cms-backend/Classes/Controller/PageLayoutController.php @@ -181,6 +181,13 @@ protected function menuConfig(): void ], 'language' => [ 0 => isset($this->availableLanguages[0]) ? $this->availableLanguages[0]->getTitle() : $languageService->sL('LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:m_default'), + // We need to add -1 (all) here so a possible -1 value will be allowed when calling + // moduleData->cleanUp(). Actually, this is only relevant if we are dealing with the + // "languages" mode, which however can only be safely determined, after the moduleData + // have been cleaned up => chicken and egg problem. We therefore remove the -1 item from + // the menu again, as soon as we are able to determine the requested mode. + // @todo Replace the whole "mode" handling with some more robust solution + -1 => $languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_mod_web_list.xlf:multipleLanguages'), ], ]; @@ -196,17 +203,6 @@ protected function menuConfig(): void $this->MOD_MENU['language'][$languageId] = $this->availableLanguages[$languageId]->getTitle(); } } - - // Add special "-1" in case translations of the current page exist - if (count($this->MOD_MENU['language']) > 1) { - // We need to add -1 (all) here so a possible -1 value will be allowed when calling - // moduleData->cleanUp(). Actually, this is only relevant if we are dealing with the - // "languages" mode, which however can only be safely determined, after the moduleData - // have been cleaned up => chicken and egg problem. We therefore remove the -1 item from - // the menu again, as soon as we are able to determine the requested mode. - // @todo Replace the whole "mode" handling with some more robust solution - $this->MOD_MENU['language'][-1] = $languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_mod_web_list.xlf:multipleLanguages'); - } } // Clean up settings if ($this->moduleData->cleanUp($this->MOD_MENU)) { @@ -327,9 +323,9 @@ protected function generateMessagesForCurrentPage(ServerRequestInterface $reques $infoBoxes[] = [ 'title' => $languageService->sL('LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:goToListModule'), 'message' => '

' . $languageService->sL('LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:goToListModuleMessage') . '

' - . '' + . '', 'state' => InfoboxViewHelper::STATE_INFO, ]; } @@ -663,8 +659,8 @@ protected function makeCloseButton(ButtonBar $buttonBar, string $returnUrl): ?Bu */ protected function makeLanguageSwitchButton(ButtonBar $buttonbar): ?ButtonInterface { - // Early return if less than 2 languages are available - if (count($this->MOD_MENU['language']) < 2) { + // Early return if no translation exist + if (array_filter($this->MOD_MENU['language'], static fn($language): bool => $language > 0, ARRAY_FILTER_USE_KEY) === []) { return null; } diff --git a/vendor/typo3/cms-backend/Classes/Controller/SiteSettingsController.php b/vendor/typo3/cms-backend/Classes/Controller/SiteSettingsController.php index 7b2a8add..e9fc3fd7 100644 --- a/vendor/typo3/cms-backend/Classes/Controller/SiteSettingsController.php +++ b/vendor/typo3/cms-backend/Classes/Controller/SiteSettingsController.php @@ -155,6 +155,7 @@ public function editAction(ServerRequestInterface $request): ResponseInterface $view->assign('returnUrl', $returnUrl); $view->assign('dumpUrl', (string)$this->uriBuilder->buildUriFromRoute('site_settings.dump', ['site' => $site->getIdentifier()])); $view->assign('categories', $categories); + $view->assign('debug', $this->getBackendUser()->shallDisplayDebugInformation()); $formProtection = $this->formProtectionFactory->createFromRequest($request); $view->assign('formToken', $formProtection->generateToken('site_settings', 'save')); diff --git a/vendor/typo3/cms-backend/Classes/Form/Container/InlineControlContainer.php b/vendor/typo3/cms-backend/Classes/Form/Container/InlineControlContainer.php index 2c2a84a2..c876f324 100644 --- a/vendor/typo3/cms-backend/Classes/Form/Container/InlineControlContainer.php +++ b/vendor/typo3/cms-backend/Classes/Form/Container/InlineControlContainer.php @@ -290,7 +290,7 @@ public function render(): array // Add the level buttons before all child records: if (in_array($config['appearance']['levelLinksPosition'] ?? null, ['both', 'top'], true)) { - $html .= '
' . $newRecordButton . $localizationButtons . '
'; + $html .= '
' . $newRecordButton . $localizationButtons . '
'; } // If it's required to select from possible child records (reusable children), add a selector box @@ -335,7 +335,7 @@ public function render(): array // Add the level buttons after all child records: if (!$isReadOnly && in_array($config['appearance']['levelLinksPosition'] ?? false, ['both', 'bottom'], true)) { - $html .= $newRecordButton . $localizationButtons; + $html .= '
' . $newRecordButton . $localizationButtons . '
'; } if (is_array($config['customControls'] ?? false)) { $html .= '
'; @@ -485,7 +485,7 @@ protected function renderPossibleRecordsSelectorTypeGroupDB(array $inlineConfigu
'; } - return '
' . $item . '
'; + return '
' . $item . '
'; } /** @@ -541,7 +541,7 @@ protected function renderPossibleRecordsSelectorTypeSelect(array $config, array } // Wrap the selector and add a spacer to the bottom - $item = '
' . $item . '
'; + $item = '
' . $item . '
'; return $item; } diff --git a/vendor/typo3/cms-backend/Classes/Form/Container/OuterWrapContainer.php b/vendor/typo3/cms-backend/Classes/Form/Container/OuterWrapContainer.php index 970b56fc..f3f9a896 100644 --- a/vendor/typo3/cms-backend/Classes/Form/Container/OuterWrapContainer.php +++ b/vendor/typo3/cms-backend/Classes/Form/Container/OuterWrapContainer.php @@ -19,7 +19,6 @@ use TYPO3\CMS\Core\Imaging\IconFactory; use TYPO3\CMS\Core\Imaging\IconSize; use TYPO3\CMS\Core\Localization\LanguageService; -use TYPO3\CMS\Core\Type\Bitmask\Permission; /** * Render header and footer row. @@ -58,16 +57,8 @@ public function render(): array $childHtml = $result['html']; - $recordPath = ''; - // @todo: what is this >= 0 check for? wsol cases?! - if ($this->data['effectivePid'] >= 0) { - $permissionsClause = $backendUser->getPagePermsClause(Permission::PAGE_SHOW); - $recordPath = BackendUtility::getRecordPath($this->data['effectivePid'], $permissionsClause, 15); - } - $icon = $this->iconFactory ->getIconForRecord($table, $row, IconSize::SMALL) - ->setTitle($recordPath) ->render(); // @todo: Could this be done in a more clever way? Does it work at all? @@ -90,7 +81,6 @@ public function render(): array $pageTitle = sprintf($label, $tableTitle, $pageTitle); } } else { - $icon = BackendUtility::wrapClickMenuOnIcon($icon, $table, $row['uid'], '', $row); $newOrUid = ' [' . htmlspecialchars($row['uid']) . ']'; // @todo: getRecordTitlePrep applies an htmlspecialchars here diff --git a/vendor/typo3/cms-backend/Classes/Form/Element/CodeEditorElement.php b/vendor/typo3/cms-backend/Classes/Form/Element/CodeEditorElement.php index 300d322f..652efb26 100644 --- a/vendor/typo3/cms-backend/Classes/Form/Element/CodeEditorElement.php +++ b/vendor/typo3/cms-backend/Classes/Form/Element/CodeEditorElement.php @@ -211,7 +211,7 @@ protected function getHTMLCodeForEditor( ]); $code[] = ''; - $code[] = ''; + $code[] = GeneralUtility::renderTextarea($content, $attributes); if (!empty($hiddenfields)) { foreach ($hiddenfields as $attributeName => $value) { diff --git a/vendor/typo3/cms-backend/Classes/Form/Element/ColorElement.php b/vendor/typo3/cms-backend/Classes/Form/Element/ColorElement.php index b44cd68e..b11a5c93 100644 --- a/vendor/typo3/cms-backend/Classes/Form/Element/ColorElement.php +++ b/vendor/typo3/cms-backend/Classes/Form/Element/ColorElement.php @@ -95,7 +95,9 @@ public function render(): array $html[] = '
'; $html[] = '
'; $html[] = '
'; - $html[] = ''; + $html[] = ''; + $html[] = ''; + $html[] = ''; $html[] = '
'; $html[] = '
'; $html[] = '
'; @@ -118,7 +120,6 @@ public function render(): array 'id' => $fieldId, 'class' => implode(' ', [ 'form-control', - 't3js-color-picker', ]), 'maxlength' => $opacityEnabled ? 9 : 7, // #RRGGBBAA (/#[0-9a-fA-F]{3,6}([0-9]{2})?/) 'data-formengine-validation-rules' => $this->getValidationDataAsJsonString($config), @@ -159,12 +160,36 @@ public function render(): array $fieldControlHtml = $fieldControlResult['html']; $resultArray = $this->mergeChildReturnIntoExistingResult($resultArray, $fieldControlResult, false); + $configuredPalette = + $tsConfig['TCEFORM.'][$table . '.'][$fieldName . '.']['colorPalette'] + ?? $tsConfig['TCEFORM.'][$table . '.']['colorPalette'] + ?? $tsConfig['TCEFORM.']['colorPalette'] + ?? null; + if ($configuredPalette === null) { + // No palette defined in TCEFORM, fall back to all colors + $colorDefinitions = array_map(static function (array $colorDefinition): string { + return $colorDefinition['value'] ?? ''; + }, array_values($tsConfig['colorPalettes.']['colors.'] ?? [])); + } else { + $colorsInPalette = GeneralUtility::trimExplode(',', $tsConfig['colorPalettes.']['palettes.'][$configuredPalette] ?? '', true); + $colorDefinitions = array_map(static function (string $colorIdentifier) use ($tsConfig): string { + return $tsConfig['colorPalettes.']['colors.'][$colorIdentifier . '.']['value'] ?? ''; + }, $colorsInPalette); + } + $colorPickerAttribute = [ + 'swatches' => implode(';', array_unique(array_filter($colorDefinitions))), + 'opacity' => $opacityEnabled, + 'color' => htmlspecialchars((string)$itemValue), + ]; + $mainFieldHtml = []; $mainFieldHtml[] = '
'; $mainFieldHtml[] = '
'; $mainFieldHtml[] = '
'; - $mainFieldHtml[] = ''; - $mainFieldHtml[] = ''; + $mainFieldHtml[] = ''; + $mainFieldHtml[] = ''; + $mainFieldHtml[] = ''; + $mainFieldHtml[] = ''; $mainFieldHtml[] = '
'; $mainFieldHtml[] = '
'; $mainFieldHtml[] = '
'; @@ -237,26 +262,8 @@ public function render(): array $fullElement = implode(LF, $fullElement); } - $configuredPalette = - $tsConfig['TCEFORM.'][$table . '.'][$fieldName . '.']['colorPalette'] - ?? $tsConfig['TCEFORM.'][$table . '.']['colorPalette'] - ?? $tsConfig['TCEFORM.']['colorPalette'] - ?? null; - if ($configuredPalette === null) { - // No palette defined in TCEFORM, fall back to all colors - $colorDefinitions = array_map(static function (array $colorDefinition): string { - return $colorDefinition['value'] ?? ''; - }, array_values($tsConfig['colorPalettes.']['colors.'] ?? [])); - } else { - $colorsInPalette = GeneralUtility::trimExplode(',', $tsConfig['colorPalettes.']['palettes.'][$configuredPalette] ?? '', true); - $colorDefinitions = array_map(static function (string $colorIdentifier) use ($tsConfig): string { - return $tsConfig['colorPalettes.']['colors.'][$colorIdentifier . '.']['value'] ?? ''; - }, $colorsInPalette); - } $attributes = [ 'recordFieldId' => $fieldId, - 'colorPalette' => implode(';', array_unique(array_filter($colorDefinitions))), - 'opacity' => $opacityEnabled, ]; $resultArray['html'] = $renderedLabel . ' diff --git a/vendor/typo3/cms-backend/Classes/Form/Element/SelectMultipleSideBySideElement.php b/vendor/typo3/cms-backend/Classes/Form/Element/SelectMultipleSideBySideElement.php index 795df7e4..caa70093 100644 --- a/vendor/typo3/cms-backend/Classes/Form/Element/SelectMultipleSideBySideElement.php +++ b/vendor/typo3/cms-backend/Classes/Form/Element/SelectMultipleSideBySideElement.php @@ -201,7 +201,7 @@ public function render(): array // Process groups foreach ($selectableItemGroups as $selectableItemGroup) { - if (!is_array($selectableItemGroup['items'] ?? false) || $selectableItemGroup['items'] === []) { + if (!is_array($selectableItemGroup['items'] ?? false)) { continue; } diff --git a/vendor/typo3/cms-backend/Classes/Form/Element/TextElement.php b/vendor/typo3/cms-backend/Classes/Form/Element/TextElement.php index a5b52240..3353adc6 100644 --- a/vendor/typo3/cms-backend/Classes/Form/Element/TextElement.php +++ b/vendor/typo3/cms-backend/Classes/Form/Element/TextElement.php @@ -120,9 +120,7 @@ public function render(): array $html[] = '
'; $html[] = '
'; $html[] = '
' : '>'); - $html[] = ''; + $html[] = GeneralUtility::renderTextarea((string)$itemValue, ['class' => 'form-control', 'id' => $fieldId, 'name' => $itemName, 'rows' => $rows, 'disabled' => 'disabled']); $html[] = '
'; $html[] = '
'; $html[] = '
'; @@ -228,7 +226,7 @@ public function render(): array $mainFieldHtml[] = '
' : '>'); $mainFieldHtml[] = '
'; $mainFieldHtml[] = '
'; - $mainFieldHtml[] = ''; + $mainFieldHtml[] = GeneralUtility::renderTextarea((string)$itemValue, $attributes); $mainFieldHtml[] = '
'; if (!empty($valuePickerHtml) || !empty($fieldControlHtml)) { $mainFieldHtml[] = '
'; @@ -284,6 +282,14 @@ public function render(): array 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.placeholder.override_not_available' ); } + $textareaAttributes = [ + 'class' => 'form-control formengine-textarea' . (isset($config['fixedFont']) ? ' font-monospace' : ''), + 'disabled' => 'disabled', + 'rows' => $attributes['rows'], + 'wrap' => $attributes['wrap'], + ...(isset($attributes['style']) ? ['style' => $attributes['style']] : []), + ...(isset($attributes['maxlength']) ? ['maxlength' => $attributes['maxlength']] : []), + ]; $fullElement = []; $fullElement[] = '
'; $fullElement[] = ''; @@ -294,16 +300,7 @@ public function render(): array $fullElement[] = '
'; $fullElement[] = '
'; $fullElement[] = '
' : '>'); - $fullElement[] = ''; - $html[] = htmlspecialchars($itemValue); - $html[] = ''; + $html[] = GeneralUtility::renderTextarea($itemValue, [ 'class' => 'form-control', 'id' => $fieldId, 'name' => $itemName, 'rows' => $rows, 'disabled' => 'disabled']); $html[] = '
'; $html[] = '
'; $html[] = '
'; @@ -194,7 +192,7 @@ public function render(): array $html[] = '
'; $html[] = '
'; $html[] = ''; $html[] = $this->getTableWizard($attributes['id']); if (!empty($fieldControlHtml)) { diff --git a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/FlexFormSegment.php b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/FlexFormSegment.php index 6bae4f9f..9b1d2334 100644 --- a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/FlexFormSegment.php +++ b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/FlexFormSegment.php @@ -15,28 +15,24 @@ namespace TYPO3\CMS\Backend\Form\FormDataGroup; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Form\FormDataGroupInterface; -use TYPO3\CMS\Core\Utility\GeneralUtility; /** * A data provider group for flex form elements */ -class FlexFormSegment implements FormDataGroupInterface +#[Autoconfigure(public: true, shared: false)] +readonly class FlexFormSegment implements FormDataGroupInterface { - /** - * Compile form data - * - * @param array $result Initialized result array - * @return array Result filled with data - * @throws \UnexpectedValueException - */ - public function compile(array $result) + public function __construct( + private OrderedProviderList $orderedProviderList, + ) {} + + public function compile(array $result): array { - $orderedProviderList = GeneralUtility::makeInstance(OrderedProviderList::class); - $orderedProviderList->setProviderList( + $this->orderedProviderList->setProviderList( $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['flexFormSegment'] ); - - return $orderedProviderList->compile($result); + return $this->orderedProviderList->compile($result); } } diff --git a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/OnTheFly.php b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/OnTheFly.php index 2c4dbb72..abd656f1 100644 --- a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/OnTheFly.php +++ b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/OnTheFly.php @@ -28,16 +28,9 @@ class OnTheFly implements FormDataGroupInterface /** * @var string[] */ - protected $providerList = []; + protected array $providerList = []; - /** - * Compile form data - * - * @param array $result Initialized result array - * @return array Result filled with data - * @throws \UnexpectedValueException - */ - public function compile(array $result) + public function compile(array $result): array { if (empty($this->providerList)) { throw new \UnexpectedValueException( @@ -45,21 +38,17 @@ public function compile(array $result) 1441108674 ); } - foreach ($this->providerList as $providerClassName) { /** @var FormDataProviderInterface $provider */ $provider = GeneralUtility::makeInstance($providerClassName); - if (!$provider instanceof FormDataProviderInterface) { throw new \UnexpectedValueException( 'Data provider ' . $providerClassName . ' must implement FormDataProviderInterface', 1441108719 ); } - $result = $provider->addData($result); } - return $result; } @@ -68,7 +57,7 @@ public function compile(array $result) * * @param array $list Given list of Provider class names */ - public function setProviderList(array $list) + public function setProviderList(array $list): void { $this->providerList = $list; } diff --git a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/OrderedProviderList.php b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/OrderedProviderList.php index 104c4efa..8dca02fd 100644 --- a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/OrderedProviderList.php +++ b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/OrderedProviderList.php @@ -17,8 +17,11 @@ namespace TYPO3\CMS\Backend\Form\FormDataGroup; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; +use Symfony\Component\DependencyInjection\Attribute\Autowire; use TYPO3\CMS\Backend\Form\FormDataGroupInterface; use TYPO3\CMS\Backend\Form\FormDataProviderInterface; +use TYPO3\CMS\Core\Cache\Frontend\FrontendInterface; use TYPO3\CMS\Core\Service\DependencyOrderingService; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -28,51 +31,51 @@ * This group is used to call a list of providers in order by specified * dependencies before/depends. */ +#[Autoconfigure(public: true, shared: false)] class OrderedProviderList implements FormDataGroupInterface { /** * @var FormDataProviderInterface[] */ - protected $providerList = []; + protected array $providerList = []; + + public function __construct( + #[Autowire(service: 'cache.runtime')] + private readonly FrontendInterface $runtimeCache, + private readonly DependencyOrderingService $dependencyOrderingService, + ) {} /** - * Compile form data - * * @param array $result Initialized result array * @return array Result filled with data - * @throws \UnexpectedValueException + * @todo: compile() should receive $list from setProviderList() as argument to make this service + * stateless and shared. It would be even better if the "static" lists from TYPO3_CONF_VARS + * like 'tcaDatabaseRecord' could be provided as already ordered compile time service provider: + * This would allow low lever caching and would avoid calls to DependencyOrderingService at runtime. */ public function compile(array $result): array { - $orderingService = GeneralUtility::makeInstance(DependencyOrderingService::class); - $orderedDataProvider = $orderingService->orderByDependencies($this->providerList, 'before', 'depends'); - - foreach ($orderedDataProvider as $providerClassName => $providerConfig) { + $cacheIdentifier = 'FormEngine-OrderedProviderList-' . hash('xxh3', json_encode($this->providerList)); + $orderedList = $this->runtimeCache->get($cacheIdentifier); + if (!is_array($orderedList)) { + $orderedList = $this->dependencyOrderingService->orderByDependencies($this->providerList, 'before', 'depends'); + $this->runtimeCache->set($cacheIdentifier, $orderedList); + } + foreach ($orderedList as $providerClassName => $providerConfig) { if (isset($providerConfig['disabled']) && $providerConfig['disabled'] === true) { // Skip this data provider if disabled by configuration continue; } - if (!class_exists($providerClassName)) { - throw new \InvalidArgumentException( - 'Implementation class for data provider ' . $providerClassName . ' does not exist', - 1685542507 - ); + throw new \InvalidArgumentException('Implementation class for data provider ' . $providerClassName . ' does not exist', 1685542507); } - /** @var FormDataProviderInterface $provider */ $provider = GeneralUtility::makeInstance($providerClassName); - if (!$provider instanceof FormDataProviderInterface) { - throw new \UnexpectedValueException( - 'Data provider ' . $providerClassName . ' must implement FormDataProviderInterface', - 1485299408 - ); + throw new \UnexpectedValueException('Data provider ' . $providerClassName . ' must implement FormDataProviderInterface', 1485299408); } - $result = $provider->addData($result); } - return $result; } @@ -87,9 +90,8 @@ public function compile(array $result): array * ] * * @param array $list Given list of Provider class names - * @see \TYPO3\CMS\Core\Service\DependencyOrderingService */ - public function setProviderList(array $list) + public function setProviderList(array $list): void { $this->providerList = $list; } diff --git a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/SiteConfigurationDataGroup.php b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/SiteConfigurationDataGroup.php index ba9c658d..835ece4c 100644 --- a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/SiteConfigurationDataGroup.php +++ b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/SiteConfigurationDataGroup.php @@ -17,8 +17,8 @@ namespace TYPO3\CMS\Backend\Form\FormDataGroup; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Form\FormDataGroupInterface; -use TYPO3\CMS\Core\Utility\GeneralUtility; /** * A data provider group for site and language configuration. @@ -29,21 +29,18 @@ * It's similar to "fullDatabaseRecord", with some unused TCA types * kicked out and some own data providers for record data and inline handling. */ -class SiteConfigurationDataGroup implements FormDataGroupInterface +#[Autoconfigure(public: true, shared: false)] +readonly class SiteConfigurationDataGroup implements FormDataGroupInterface { - /** - * Compile form data - * - * @param array $result Initialized result array - * @return array Result filled with data - * @throws \UnexpectedValueException - */ - public function compile(array $result) + public function __construct( + private OrderedProviderList $orderedProviderList, + ) {} + + public function compile(array $result): array { - $orderedProviderList = GeneralUtility::makeInstance(OrderedProviderList::class); - $orderedProviderList->setProviderList( + $this->orderedProviderList->setProviderList( $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['siteConfiguration'] ); - return $orderedProviderList->compile($result); + return $this->orderedProviderList->compile($result); } } diff --git a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaDatabaseRecord.php b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaDatabaseRecord.php index e46ec5a0..7beea0fe 100644 --- a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaDatabaseRecord.php +++ b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaDatabaseRecord.php @@ -15,28 +15,24 @@ namespace TYPO3\CMS\Backend\Form\FormDataGroup; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Form\FormDataGroupInterface; -use TYPO3\CMS\Core\Utility\GeneralUtility; /** * A data provider group for casual database records */ -class TcaDatabaseRecord implements FormDataGroupInterface +#[Autoconfigure(public: true, shared: false)] +readonly class TcaDatabaseRecord implements FormDataGroupInterface { - /** - * Compile form data - * - * @param array $result Initialized result array - * @return array Result filled with data - * @throws \UnexpectedValueException - */ - public function compile(array $result) + public function __construct( + private OrderedProviderList $orderedProviderList, + ) {} + + public function compile(array $result): array { - $orderedProviderList = GeneralUtility::makeInstance(OrderedProviderList::class); - $orderedProviderList->setProviderList( + $this->orderedProviderList->setProviderList( $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['tcaDatabaseRecord'] ); - - return $orderedProviderList->compile($result); + return $this->orderedProviderList->compile($result); } } diff --git a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaInputPlaceholderRecord.php b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaInputPlaceholderRecord.php index 0789cfa0..e27e2000 100644 --- a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaInputPlaceholderRecord.php +++ b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaInputPlaceholderRecord.php @@ -15,28 +15,24 @@ namespace TYPO3\CMS\Backend\Form\FormDataGroup; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Form\FormDataGroupInterface; -use TYPO3\CMS\Core\Utility\GeneralUtility; /** * A data provider group for database records used for input placeholder values */ +#[Autoconfigure(public: true, shared: false)] class TcaInputPlaceholderRecord implements FormDataGroupInterface { - /** - * Compile form data - * - * @param array $result Initialized result array - * @return array Result filled with data - * @throws \UnexpectedValueException - */ - public function compile(array $result) + public function __construct( + private OrderedProviderList $orderedProviderList, + ) {} + + public function compile(array $result): array { - $orderedProviderList = GeneralUtility::makeInstance(OrderedProviderList::class); - $orderedProviderList->setProviderList( + $this->orderedProviderList->setProviderList( $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['tcaInputPlaceholderRecord'] ); - - return $orderedProviderList->compile($result); + return $this->orderedProviderList->compile($result); } } diff --git a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaSelectTreeAjaxFieldData.php b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaSelectTreeAjaxFieldData.php index 1723269b..4ac833d5 100644 --- a/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaSelectTreeAjaxFieldData.php +++ b/vendor/typo3/cms-backend/Classes/Form/FormDataGroup/TcaSelectTreeAjaxFieldData.php @@ -15,29 +15,25 @@ namespace TYPO3\CMS\Backend\Form\FormDataGroup; +use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; use TYPO3\CMS\Backend\Form\FormDataGroupInterface; -use TYPO3\CMS\Core\Utility\GeneralUtility; /** * A data provider group dedicated for the type='select', renderType='selectTree' * calculate tree items FormSelectTreeAjaxController. */ -class TcaSelectTreeAjaxFieldData implements FormDataGroupInterface +#[Autoconfigure(public: true, shared: false)] +readonly class TcaSelectTreeAjaxFieldData implements FormDataGroupInterface { - /** - * Compile TCA tree items - * - * @param array $result Initialized result array - * @return array Result filled with data - * @throws \UnexpectedValueException - */ - public function compile(array $result) + public function __construct( + private OrderedProviderList $orderedProviderList, + ) {} + + public function compile(array $result): array { - $orderedProviderList = GeneralUtility::makeInstance(OrderedProviderList::class); - $orderedProviderList->setProviderList( + $this->orderedProviderList->setProviderList( $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['tcaSelectTreeAjaxFieldData'] ); - - return $orderedProviderList->compile($result); + return $this->orderedProviderList->compile($result); } } diff --git a/vendor/typo3/cms-backend/Classes/Form/FormDataProvider/TcaFlexPrepare.php b/vendor/typo3/cms-backend/Classes/Form/FormDataProvider/TcaFlexPrepare.php index 99cf0639..f74cc47a 100644 --- a/vendor/typo3/cms-backend/Classes/Form/FormDataProvider/TcaFlexPrepare.php +++ b/vendor/typo3/cms-backend/Classes/Form/FormDataProvider/TcaFlexPrepare.php @@ -93,18 +93,17 @@ protected function initializeDataStructure(array $result, string $fieldName): ar */ protected function initializeDataValues(array $result, string $fieldName): array { - if (!array_key_exists($fieldName, $result['databaseRow'])) { - $result['databaseRow'][$fieldName] = ''; - } $valueArray = []; - if (isset($result['databaseRow'][$fieldName])) { - $valueArray = $result['databaseRow'][$fieldName]; - } - if (!is_array($result['databaseRow'][$fieldName])) { - $valueArray = GeneralUtility::xml2array($result['databaseRow'][$fieldName]); - } - if (!is_array($valueArray)) { - $valueArray = []; + + if (isset($result['databaseRow'][$fieldName]) && $result['databaseRow'][$fieldName] !== '') { + if (is_array($result['databaseRow'][$fieldName])) { + $valueArray = $result['databaseRow'][$fieldName]; + } else { + $valueArray = GeneralUtility::xml2array($result['databaseRow'][$fieldName]); + if (!is_array($valueArray)) { + $valueArray = []; + } + } } if (!isset($valueArray['data'])) { $valueArray['data'] = []; diff --git a/vendor/typo3/cms-backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php b/vendor/typo3/cms-backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php index c204400e..9e3e9c20 100644 --- a/vendor/typo3/cms-backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php +++ b/vendor/typo3/cms-backend/Classes/Form/FormDataProvider/TcaSelectTreeItems.php @@ -202,6 +202,6 @@ public function addData(array $result) */ protected function isTargetRenderType(array $fieldConfig) { - return $fieldConfig['config']['renderType'] === 'selectTree'; + return ($fieldConfig['config']['renderType'] ?? '') === 'selectTree'; } } diff --git a/vendor/typo3/cms-backend/Classes/Form/FormResultCompiler.php b/vendor/typo3/cms-backend/Classes/Form/FormResultCompiler.php index b20ce7db..ff28da9a 100644 --- a/vendor/typo3/cms-backend/Classes/Form/FormResultCompiler.php +++ b/vendor/typo3/cms-backend/Classes/Form/FormResultCompiler.php @@ -181,7 +181,7 @@ protected function JSbottom() $formatter = new DateFormatter(); $dateFormat = []; $dateFormat[0] = $formatter->convertPhpFormatToLuxon($GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy'] ?? 'Y-m-d'); - $dateFormat[1] = $formatter->convertPhpFormatToLuxon($GLOBALS['TYPO3_CONF_VARS']['SYS']['hhmm'] ?? 'H:i') . ' ' . $dateFormat[0]; + $dateFormat[1] = $dateFormat[0] . ' ' . $formatter->convertPhpFormatToLuxon($GLOBALS['TYPO3_CONF_VARS']['SYS']['hhmm'] ?? 'H:i'); $pageRenderer->addInlineSetting('DateTimePicker', 'DateFormat', $dateFormat); $pageRenderer->addInlineLanguageLabelFile('EXT:core/Resources/Private/Language/locallang_core.xlf', 'file_upload'); diff --git a/vendor/typo3/cms-backend/Classes/Form/Utility/FormEngineUtility.php b/vendor/typo3/cms-backend/Classes/Form/Utility/FormEngineUtility.php index c71e540b..372f8e01 100644 --- a/vendor/typo3/cms-backend/Classes/Form/Utility/FormEngineUtility.php +++ b/vendor/typo3/cms-backend/Classes/Form/Utility/FormEngineUtility.php @@ -82,7 +82,7 @@ public static function overrideFieldConf($fieldConfig, $TSconfig) if (is_array($TSconfig)) { $TSconfig = GeneralUtility::removeDotsFromTS($TSconfig); $type = $fieldConfig['type'] ?? ''; - if (isset($TSconfig['config']) && is_array($TSconfig['config']) && is_array(static::$allowOverrideMatrix[$type])) { + if (isset($TSconfig['config']) && is_array($TSconfig['config']) && is_array(static::$allowOverrideMatrix[$type] ?? null)) { // Check if the keys in TSconfig['config'] are allowed to override TCA field config: foreach ($TSconfig['config'] as $key => $_) { if (!in_array($key, static::$allowOverrideMatrix[$type], true)) { diff --git a/vendor/typo3/cms-backend/Classes/Http/RouteDispatcher.php b/vendor/typo3/cms-backend/Classes/Http/RouteDispatcher.php index 6da95720..2ab3b3ef 100644 --- a/vendor/typo3/cms-backend/Classes/Http/RouteDispatcher.php +++ b/vendor/typo3/cms-backend/Classes/Http/RouteDispatcher.php @@ -31,6 +31,7 @@ use TYPO3\CMS\Core\Core\Environment; use TYPO3\CMS\Core\FormProtection\FormProtectionFactory; use TYPO3\CMS\Core\Http\Dispatcher; +use TYPO3\CMS\Core\Http\Error\MethodNotAllowedException; use TYPO3\CMS\Core\Http\Security\ReferrerEnforcer; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -74,7 +75,11 @@ public function dispatch(ServerRequestInterface $request): ResponseInterface $targetIdentifier = $route->getOption('target'); $target = $this->getCallableFromTarget($targetIdentifier); $arguments = [$request]; - return $target(...$arguments); + try { + return $target(...$arguments); + } catch (MethodNotAllowedException $exception) { + return $exception->createResponse(); + } } /** diff --git a/vendor/typo3/cms-backend/Classes/Preview/StandardContentPreviewRenderer.php b/vendor/typo3/cms-backend/Classes/Preview/StandardContentPreviewRenderer.php index 36541966..3ba86068 100644 --- a/vendor/typo3/cms-backend/Classes/Preview/StandardContentPreviewRenderer.php +++ b/vendor/typo3/cms-backend/Classes/Preview/StandardContentPreviewRenderer.php @@ -296,20 +296,18 @@ protected function getThumbCodeUnlinked(iterable|FileReference $fileReferences): ) { $cropVariantCollection = CropVariantCollection::create((string)$fileReferenceObject->getProperty('crop')); $cropArea = $cropVariantCollection->getCropArea(); - $taskType = ProcessedFile::CONTEXT_IMAGEPREVIEW; $processingConfiguration = [ - 'width' => 64, - 'height' => 64, + 'maxWidth' => 64, + 'maxHeight' => 64, ]; if (!$cropArea->isEmpty()) { - $taskType = ProcessedFile::CONTEXT_IMAGECROPSCALEMASK; $processingConfiguration = [ 'maxWidth' => 64, 'maxHeight' => 64, 'crop' => $cropArea->makeAbsoluteBasedOnFile($fileReferenceObject), ]; } - $processedImage = $fileObject->process($taskType, $processingConfiguration); + $processedImage = $fileObject->process(ProcessedFile::CONTEXT_IMAGECROPSCALEMASK, $processingConfiguration); $attributes = [ 'src' => $processedImage->getPublicUrl() ?? '', 'width' => $processedImage->getProperty('width'), @@ -324,7 +322,7 @@ protected function getThumbCodeUnlinked(iterable|FileReference $fileReferences): $thumbData .= '
' . $imgTag . '
'; } - return $thumbData ? '
' . $thumbData . '
' : ''; + return $thumbData ? '
' . $thumbData . '
' : ''; } /** diff --git a/vendor/typo3/cms-backend/Classes/Template/Components/Buttons/LinkButton.php b/vendor/typo3/cms-backend/Classes/Template/Components/Buttons/LinkButton.php index 37c092cc..63c14bc4 100644 --- a/vendor/typo3/cms-backend/Classes/Template/Components/Buttons/LinkButton.php +++ b/vendor/typo3/cms-backend/Classes/Template/Components/Buttons/LinkButton.php @@ -67,6 +67,36 @@ public function setHref($href) return $this; } + /** + * `role` attribute of the link + * + * @var string + */ + protected $role = 'button'; + + /** + * Get role + * + * @return string + */ + public function getRole() + { + return $this->role; + } + + /** + * Set role + * + * @param string $role `role` attribute + * + * @return LinkButton + */ + public function setRole($role) + { + $this->role = $role; + return $this; + } + /** * Validates the current button * @@ -93,6 +123,7 @@ public function isValid() public function render() { $attributes = [ + 'role' => $this->getRole(), 'href' => $this->getHref(), 'class' => 'btn btn-sm btn-default ' . $this->getClasses(), 'title' => $this->getTitle(), @@ -105,7 +136,7 @@ public function render() $attributes['data-' . $attributeName] = $attributeValue; } if ($this->isDisabled()) { - $attributes['disabled'] = 'disabled'; + $attributes['aria-disabled'] = 'true'; $attributes['class'] .= ' disabled'; } $attributesString = GeneralUtility::implodeAttributes($attributes, true); diff --git a/vendor/typo3/cms-backend/Classes/Template/ModuleTemplate.php b/vendor/typo3/cms-backend/Classes/Template/ModuleTemplate.php index 3ac56c0a..1ad609e9 100644 --- a/vendor/typo3/cms-backend/Classes/Template/ModuleTemplate.php +++ b/vendor/typo3/cms-backend/Classes/Template/ModuleTemplate.php @@ -37,6 +37,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\View\ResponsableViewInterface; use TYPO3\CMS\Core\View\ViewInterface; +use TYPO3\CMS\Extbase\Mvc\ExtbaseRequestParameters; /** * A class taking care of the "outer" HTML of a module, especially @@ -127,6 +128,21 @@ public function renderResponse(string $templateFileName = ''): ResponseInterface protected function prepareRender(string $templateFileName): void { + if ($templateFileName === '') { + $extbaseRequestMessage = ''; + /** @var ExtbaseRequestParameters|null $extbaseRequestParameters */ + $extbaseRequestParameters = $this->request->getAttribute('extbase'); + if ($extbaseRequestParameters) { + // This extbase specific code is a helper for a more detailed exception + // message, and a tribute to extbase backend extensions being upgraded. + // Introduced with v13, it could potentially vanish at some point again. + $templateFileName = $extbaseRequestParameters->getControllerName() . '/' . + ucfirst($extbaseRequestParameters->getControllerActionName()); + $extbaseRequestMessage = ' Expected template filename is "' . $templateFileName . '".'; + } + throw new \InvalidArgumentException('A template filename must be provided.' . $extbaseRequestMessage, 1732184506); + } + $this->assignMultiple([ 'docHeader' => $this->docHeaderComponent->docHeaderContent(), 'moduleId' => $this->moduleId, diff --git a/vendor/typo3/cms-backend/Classes/Utility/BackendUtility.php b/vendor/typo3/cms-backend/Classes/Utility/BackendUtility.php index 2c15375f..d04626bd 100644 --- a/vendor/typo3/cms-backend/Classes/Utility/BackendUtility.php +++ b/vendor/typo3/cms-backend/Classes/Utility/BackendUtility.php @@ -700,6 +700,11 @@ public static function getTCAtypeValue($table, $row) $typeNum = 0; } } + // If typeNum is an array, e.g. when using type=select and renderType=selectCheckBox, use the + // first value or fallback to NULL in case multiple values are selected - which does not work. + if (is_array($typeNum)) { + $typeNum = count($typeNum) === 1 ? reset($typeNum) : null; + } // If current typeNum doesn't exist, set it to 0 (or to 1 for historical reasons, if 0 doesn't exist) if (!isset($GLOBALS['TCA'][$table]['types'][$typeNum]) || !$GLOBALS['TCA'][$table]['types'][$typeNum]) { $typeNum = isset($GLOBALS['TCA'][$table]['types']['0']) ? 0 : 1; diff --git a/vendor/typo3/cms-backend/Configuration/Backend/Routes.php b/vendor/typo3/cms-backend/Configuration/Backend/Routes.php index 03f069a2..af482146 100644 --- a/vendor/typo3/cms-backend/Configuration/Backend/Routes.php +++ b/vendor/typo3/cms-backend/Configuration/Backend/Routes.php @@ -267,6 +267,7 @@ 'enable' => true, 'parameters' => [ 'edit' => true, + 'columnsOnly' => true, ], ], ], diff --git a/vendor/typo3/cms-backend/Configuration/TCA/Overrides/tt_content.php b/vendor/typo3/cms-backend/Configuration/TCA/Overrides/tt_content.php deleted file mode 100644 index 9d77cef3..00000000 --- a/vendor/typo3/cms-backend/Configuration/TCA/Overrides/tt_content.php +++ /dev/null @@ -1,19 +0,0 @@ - [ - 'config' => [ - 'renderType' => 'codeEditor', - 'wrap' => 'off', - 'format' => 'html', - ], - ], - ] - ); -} diff --git a/vendor/typo3/cms-backend/Resources/Private/Language/locallang_alt_doc.xlf b/vendor/typo3/cms-backend/Resources/Private/Language/locallang_alt_doc.xlf index 6e375c90..b13d489e 100644 --- a/vendor/typo3/cms-backend/Resources/Private/Language/locallang_alt_doc.xlf +++ b/vendor/typo3/cms-backend/Resources/Private/Language/locallang_alt_doc.xlf @@ -174,6 +174,18 @@ Are you sure you want to delete this container? + + Filter by item + + + Expand all + + + Collapse all + + + Toggle hide unchecked + diff --git a/vendor/typo3/cms-backend/Resources/Private/Templates/SiteSettings/Edit.html b/vendor/typo3/cms-backend/Resources/Private/Templates/SiteSettings/Edit.html index 4d6a9f82..342f2488 100644 --- a/vendor/typo3/cms-backend/Resources/Private/Templates/SiteSettings/Edit.html +++ b/vendor/typo3/cms-backend/Resources/Private/Templates/SiteSettings/Edit.html @@ -33,6 +33,7 @@

dump-url="{dumpUrl}" categories="{categories -> f:format.json()}" custom-form-data="{f:format.json(value: {formToken: formToken, returnUrl: returnUrl})}" + {f:if(condition: debug, then: 'debug')} > diff --git a/vendor/typo3/cms-backend/Resources/Private/tsref.xml b/vendor/typo3/cms-backend/Resources/Private/tsref.xml index 2016474f..bad57bfc 100644 --- a/vendor/typo3/cms-backend/Resources/Private/tsref.xml +++ b/vendor/typo3/cms-backend/Resources/Private/tsref.xml @@ -350,11 +350,11 @@ See "config.htmlTag_setParams" for more details on the effect on the html tag. ]]> - - + + - + diff --git a/vendor/typo3/cms-backend/Resources/Public/Css/backend.css b/vendor/typo3/cms-backend/Resources/Public/Css/backend.css index 7d708ed2..d39efcf4 100644 --- a/vendor/typo3/cms-backend/Resources/Public/Css/backend.css +++ b/vendor/typo3/cms-backend/Resources/Public/Css/backend.css @@ -2597,6 +2597,7 @@ typo3-backend-formengine-suggest-result-item .formengine-suggest-result-item-lab .form-wizards-wrap>.form-wizards-item-element .form-select[multiple],.form-wizards-wrap>.form-wizards-item-element .form-select[size]:not([size="1"]){height:100%} .form-wizards-wrap>.form-wizards-item-aside{grid-column:2/3;align-self:flex-start;white-space:nowrap} .form-wizards-wrap>.form-wizards-item-aside+.form-wizards-item-aside{grid-column:3/4} +.form-wizards-wrap>.form-wizards-item-bottom .btn{text-align:left;white-space:wrap} .form-wizard-icon-list{color:var(--typo3-component-color);background:var(--typo3-component-bg);border:var(--typo3-component-border-width) solid var(--typo3-component-border-color);border-radius:var(--typo3-input-border-radius);margin-top:.25rem;padding:calc(var(--typo3-spacing)/ 4);display:flex;flex-wrap:wrap;gap:2px} .form-wizard-icon-list-item a{display:flex;height:100%;color:var(--typo3-component-color);border-radius:calc(var(--typo3-component-border-radius)/ 2);padding:calc(var(--typo3-spacing)/ 2);align-items:center;justify-content:center;outline-offset:-1px} .form-wizard-icon-list-item a:hover{color:var(--typo3-list-item-hover-color);background-color:var(--typo3-list-item-hover-bg);outline:1px solid var(--typo3-list-item-hover-border-color)} @@ -2614,7 +2615,7 @@ typo3-backend-formengine-suggest-result-item .formengine-suggest-result-item-lab .form-control-clearable-wrapper:focus{box-shadow:none;border-color:inherit} .form-control-clearable-wrapper:focus-within{z-index:3} .input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%;border-radius:var(--typo3-input-border-radius)} -.input-group>.form-control,.input-group>.form-control-clearable-wrapper,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0} +.input-group>.form-control,.input-group>.form-control-clearable-wrapper,.input-group>.form-select,.input-group>typo3-backend-color-picker{position:relative;flex:1 1 auto;width:1%;min-width:0} .input-group>.form-control:focus,.input-group>.form-select:focus{z-index:5} .input-group>.input-group-text>.form-check-type-toggle{margin-bottom:0} .input-group .btn{position:relative;z-index:2} @@ -2627,7 +2628,7 @@ typo3-backend-formengine-suggest-result-item .formengine-suggest-result-item-lab .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-start-end-radius:0;border-end-end-radius:0} .input-group>*+.form-control-clearable-wrapper>.form-control,.input-group>*+.form-control-clearable-wrapper>.form-select{border-start-start-radius:0;border-end-start-radius:0} .input-group>.form-control-clearable-wrapper:not(:last-child)>.form-control,.input-group>.form-control-clearable-wrapper:not(:last-child)>.form-select{border-start-end-radius:0;border-end-end-radius:0} -.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-inline-start:calc(var(--typo3-input-border-width) * -1);border-start-start-radius:0;border-end-start-radius:0} +.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),.input-group>typo3-backend-color-picker:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback)>.form-control{margin-inline-start:calc(var(--typo3-input-border-width) * -1);border-start-start-radius:0;border-end-start-radius:0} .input-group>label.visually-hidden:first-child+.form-control,.input-group>label.visually-hidden:first-child+.form-select{border-start-start-radius:inherit!important;border-end-start-radius:inherit!important} .form{margin-bottom:var(--typo3-spacing)} .form-inline{display:inline} @@ -3037,11 +3038,11 @@ select-pure{--typo3-form-selectpure-border-radius:var(--typo3-input-border-radiu .cropper-drag-box{background-color:#fff;opacity:0} .cropper-modal{background-color:#000;opacity:.5} .cropper-view-box{display:block;height:100%;width:100%;overflow:hidden;outline:1px solid #69f;outline-color:rgba(102,153,255,.75)} -.cropper-dashed{position:absolute;display:block;border:0 dashed #fff;opacity:.5} +.cropper-dashed{position:absolute;display:block;border:0 dashed #fff} .cropper-dashed.dashed-h{top:33.3333333333%;left:0;width:100%;height:33.3333333333%;border-top-width:1px;border-bottom-width:1px} .cropper-dashed.dashed-v{top:0;left:33.3333333333%;width:33.3333333333%;height:100%;border-right-width:1px;border-left-width:1px} -.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;opacity:.1;height:100%;width:100%} -.cropper-face{top:0;left:0;cursor:move;background-color:#fff} +.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;height:100%;width:100%} +.cropper-face{top:0;left:0;cursor:move;background-color:rgba(255,255,255,.1)} .cropper-line{background-color:#69f} .cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize} .cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize} @@ -3745,11 +3746,14 @@ typo3-notification-message .alert{--typo3-alert-margin-bottom:0} typo3-rte-ckeditor-ckeditor5>textarea[slot=textarea]{display:none!important} typo3-rte-ckeditor-ckeditor5 .ck.ck-style-panel .ck-style-grid .ck-style-grid__button.ck-disabled{display:none} typo3-scheduler-editable-group-name{--input-border-color:var(--typo3-state-default-border-color);--input-hover-border-color:var(--typo3-state-default-hover-border-color);--input-focus-border-color:var(--typo3-state-default-focus-border-color);--button-hover-color:var(--typo3-state-default-focus-color);--button-hover-bg:var(--typo3-state-default-hover-bg);--button-hover-border-color:var(--typo3-state-default-focus-border-color);--button-focus-color:var(--typo3-state-default-focus-color);--button-focus-bg:var(--typo3-state-default-focus-bg);--button-focus-border-color:var(--typo3-state-default-focus-border-color)} +typo3-backend-color-picker{position:relative} +typo3-backend-color-picker .form-control{padding-inline-start:2.5rem} .collapse-horizontal{height:auto;width:0;vertical-align:middle;overflow:hidden} .collapse-horizontal.show{display:inline-block;width:auto} .collapse-horizontal.collapsing{display:inline-block;transition-property:width,visibility;width:0} .cropper .cropper-line{background-color:transparent} -.cropper .cropper-dashed{border:1px dashed var(--typo3-state-primary-bg)} +.cropper .cropper-face{border:1px dashed var(--typo3-state-primary-bg)} +.cropper .cropper-dashed{border-color:var(--typo3-state-primary-bg)} .cropper .cropper-point{background-color:var(--typo3-state-primary-bg)} .cropper .cropper-point.point-nw{left:0;top:0} .cropper .cropper-point.point-w{left:0} @@ -4099,7 +4103,7 @@ td.permission-column-group{padding-inline-start:0;width:200px;white-space:nowrap .t3-page-ce-footer{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.75rem;padding:calc(var(--pagemodule-grid-spacing)/ 2) var(--pagemodule-grid-spacing);background-color:rgba(0,0,0,.05);border-bottom-left-radius:var(--pagemodule-element-border-radius);border-bottom-right-radius:var(--pagemodule-element-border-radius)} .t3-page-ce-actions{text-align:center;z-index:2} .t3-page-ce-dropzone{position:relative;top:0;z-index:297;border-radius:var(--pagemodule-element-border-radius);background-color:var(--pagemodule-dropzone-bg)} -.t3-page-ce-dropzone.active{border:1px dashed color-mix(in srgb,var(--pagemodule-dropzone-bg),currentColor 10%);height:25.75px;width:100%} +.t3-page-ce-dropzone.active{border:1px dashed color-mix(in srgb,var(--pagemodule-dropzone-bg),currentColor 10%);height:28.5px;width:100%} .t3-page-ce-dropzone.active.t3-page-ce-dropzone-possible{--pagemodule-dropzone-bg:var(--pagemodule-dropzone-possible-bg);z-index:298} .element-preview a{color:inherit} .element-preview-header:empty{display:none} @@ -4112,10 +4116,9 @@ td.permission-column-group{padding-inline-start:0;width:200px;white-space:nowrap .element-preview-content>:first-child{margin-top:0} .element-preview-content>:last-child{margin-bottom:0} .element-preview-content .preview-thumbnails{margin-top:.5rem} -:root{--preview-thumbnails-size:64px} -.preview-thumbnails{display:flex;flex-wrap:wrap;gap:.5rem} -.preview-thumbnails-element{display:block} -.preview-thumbnails-element-image{height:var(--preview-thumbnails-size);width:var(--preview-thumbnails-size);display:flex;background-color:rgba(0,0,0,.05);overflow:hidden;border-radius:2px;justify-content:center;align-items:center} +.preview-thumbnails{--preview-thumbnails-element-bg:var(--typo3-surface-bright);--preview-thumbnails-element-border-color:color-mix(in srgb, var(--preview-thumbnails-element-bg), currentColor 15%);--preview-thumbnails-element-border-radius:var(--typo3-component-border-radius);--preview-thumbnails-element-spacing:.5rem;--preview-thumbnails-size:64px;display:flex;flex-wrap:wrap;gap:.5rem} +.preview-thumbnails-element{background-color:var(--preview-thumbnails-element-bg);border:1px solid var(--preview-thumbnails-element-border-color);border-radius:var(--preview-thumbnails-element-border-radius);display:block;padding:var(--preview-thumbnails-element-spacing)} +.preview-thumbnails-element-image{height:var(--preview-thumbnails-size);width:var(--preview-thumbnails-size);display:flex;overflow:hidden;justify-content:center;align-items:center} .preview-thumbnails-element-image .icon{height:calc(var(--preview-thumbnails-size)/ 2);width:calc(var(--preview-thumbnails-size)/ 2)} .t3-page-ce-dragitem .t3-page-ce-header-draggable:hover{cursor:move} .tx_recycler_recycler tr.collapse{display:none} diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/color-picker.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/color-picker.js index 78238bb4..1690e9cd 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/color-picker.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/color-picker.js @@ -10,4 +10,28 @@ * * The TYPO3 project - inspiring people to share! */ -import Alwan from"alwan";import RegularEvent from"@typo3/core/event/regular-event.js";class ColorPicker{initialize(e,t={}){if(e.classList.contains("t3js-colorpicker-initialized"))return;const o=new Alwan(e,{position:"bottom-start",format:"hex",opacity:t.opacity,preset:!1,color:e.value,swatches:t.swatches});e.classList.add("t3js-colorpicker-initialized"),o.on("color",(t=>{e.value=t.hex,e.dispatchEvent(new Event("blur"))})),["input","change"].forEach((t=>{new RegularEvent(t,(e=>{o.setColor(e.target.value)})).bindTo(e)}))}}export default new ColorPicker; \ No newline at end of file +var __decorate=function(e,o,t,r){var n,c=arguments.length,i=c<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,o,t,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(i=(c<3?n(i):c>3?n(o,t,i):n(o,t))||i);return c>3&&i&&Object.defineProperty(o,t,i),i};import{customElement,property,query}from"lit/decorators.js";import{css,html,LitElement}from"lit";import Alwan from"alwan";import RegularEvent from"@typo3/core/event/regular-event.js";let Typo3BackendColorPicker=class extends LitElement{constructor(){super(...arguments),this.color="",this.opacity=!1,this.swatches=""}firstUpdated(){const e=this.getInputElement();if(e){if(!e.value&&this.color?e.value=this.color:this.color=e.value,e.disabled||e.readOnly)return;const o=new Alwan(e,{position:"bottom-start",format:"hex",opacity:this.opacity,swatches:this.swatches?this.swatches.split(";"):[],preset:!1,color:this.color});o.on("color",(o=>{this.color=o.hex,e.value=this.color,e.dispatchEvent(new Event("blur"))})),["input","change"].forEach((t=>{new RegularEvent(t,(e=>{const t=e.target;this.color=t.value,o.setColor(this.color)})).bindTo(e)}))}}render(){return html` + + + `}getInputElement(){const e=this.slotEl.assignedNodes();for(const o of e)if(o instanceof HTMLInputElement)return o;return console.warn("No input element found in the slot."),null}};Typo3BackendColorPicker.styles=css` + .color-picker-preview { + display: block; + position: absolute; + width: 1.25rem; + height: 1.25rem; + top: 50%; + inset-inline-start: var(--typo3-input-padding-x); + z-index: 10; + transform: translate(0, -50%); + background: var(--alwan-pattern); + border-radius: 3px !important; + pointer-events: none; + } + + .color-picker-preview-color { + position: absolute; + inset: 0; + border-radius: 2px; + background-color: var(--color, transparent); + } + `,__decorate([property({type:String})],Typo3BackendColorPicker.prototype,"color",void 0),__decorate([property({type:Boolean})],Typo3BackendColorPicker.prototype,"opacity",void 0),__decorate([property({type:String})],Typo3BackendColorPicker.prototype,"swatches",void 0),__decorate([query("slot")],Typo3BackendColorPicker.prototype,"slotEl",void 0),Typo3BackendColorPicker=__decorate([customElement("typo3-backend-color-picker")],Typo3BackendColorPicker);export{Typo3BackendColorPicker}; \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/date-time-picker.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/date-time-picker.js index baf2450d..b3e069ab 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/date-time-picker.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/date-time-picker.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -import flatpickr from"flatpickr";import ShortcutButtonsPlugin from"flatpickr/plugins/shortcut-buttons.min.js";import{DateTime}from"luxon";import ThrottleEvent from"@typo3/core/event/throttle-event.js";const ISO8601_UTC="ISO8601_UTC";class DateTimePicker{constructor(){this.format=(void 0!==opener?.top?.TYPO3?opener.top:top).TYPO3.settings.DateTimePicker.DateFormat}initialize(t){if(!(t instanceof HTMLInputElement)||void 0!==t.dataset.datepickerInitialized)return;let e=document.documentElement.lang;e&&"en"!==e?"ch"===e&&(e="zh"):e="default",t.dataset.datepickerInitialized="1",import("flatpickr/locales.js").then((()=>{this.initializeField(t,e)}))}initializeField(t,e){const a=this.getScrollEvent(),n=this.getDateOptions(t);n.locale=e,n.onOpen=[()=>{a.bindTo(document.querySelector(".t3js-module-body"))}],n.onClose=()=>{a.release()};const o=flatpickr(t,n);o.altInput instanceof HTMLInputElement&&o.input.addEventListener("typo3:internal:clear",(()=>{o.clear()})),o._input.addEventListener("change",(t=>{const e=t.target.value,a=o.parseDate(e,o.config.altFormat);o.setDate(a,!0)})),o._input.addEventListener("keyup",(t=>{"Escape"===t.key&&o.close()}))}getScrollEvent(){return new ThrottleEvent("scroll",(()=>{const t=document.querySelector(".flatpickr-input.active");if(null===t)return;const e=t.getBoundingClientRect(),a=t._flatpickr.calendarContainer.offsetHeight;let n,o;window.innerHeight-e.bottoma?(n=e.y-a-2,o="arrowBottom"):(n=e.y+e.height+2,o="arrowTop"),t._flatpickr.calendarContainer.style.top=n+"px",t._flatpickr.calendarContainer.classList.remove("arrowBottom","arrowTop"),t._flatpickr.calendarContainer.classList.add(o)}),15)}getDateOptions(t){const e=this.format,a=t.dataset.dateType,n=new Date,o={altFormat:"",allowInput:!0,altInput:!0,ariaDateFormat:"DDDD",dateFormat:ISO8601_UTC,defaultHour:n.getHours(),defaultMinute:n.getMinutes(),enableSeconds:!1,enableTime:!1,formatDate:(t,e)=>{const a=DateTime.fromJSDate(t);return e===ISO8601_UTC?a.toUTC().plus(60*a.offset*1e3).toISO({suppressMilliseconds:!0}):a.toFormat(e)},parseDate:(t,e)=>{if(e===ISO8601_UTC){const e=DateTime.fromISO(t,{zone:"utc"});if(!e.isValid)throw new Error("Invalid ISO8601 date: "+t);const a=e.toLocal();return a.minus(60*a.offset*1e3).toJSDate()}return DateTime.fromFormat(t,e).toJSDate()},onReady:(t,e,a)=>{void 0!==a.altInput&&(a.altInput.id=a.input.id,a.input.removeAttribute("id"),void 0!==a.input.dataset.formengineInputName&&(a.altInput.dataset.formengineDatepickerRealInputName=a.input.dataset.formengineInputName))},onChange:(t,e,a)=>{a.input.dispatchEvent(new Event("formengine.dp.change"))},maxDate:"",minDate:"",minuteIncrement:1,noCalendar:!1,showMonths:1,monthSelectorType:a.startsWith("date")?"dropdown":"static",weekNumbers:!0,time_24hr:!Intl.DateTimeFormat(navigator.language,{hour:"numeric"}).resolvedOptions().hour12,plugins:[ShortcutButtonsPlugin({theme:"typo3",button:[{label:top.TYPO3.lang["labels.datepicker.today"]||"Today"}],onClick:(t,e)=>{e.setDate(new Date,!0)}})]};switch(a){case"datetime":o.altFormat=e[1],o.enableTime=!0;break;case"date":o.altFormat=e[0];break;case"time":o.altFormat="HH:mm",o.enableTime=!0,o.noCalendar=!0;break;case"timesec":o.altFormat="HH:mm:ss",o.enableSeconds=!0,o.enableTime=!0,o.noCalendar=!0;break;case"year":o.altFormat="yyyy"}return void 0!==t.dataset.dateMinDate&&(o.minDate=o.parseDate(t.dataset.dateMinDate,ISO8601_UTC),o.minDate.setSeconds(0)),void 0!==t.dataset.dateMaxDate&&(o.maxDate=o.parseDate(t.dataset.dateMaxDate,ISO8601_UTC),o.maxDate.setSeconds(59)),o}}export default new DateTimePicker; \ No newline at end of file +import flatpickr from"flatpickr";import ShortcutButtonsPlugin from"flatpickr/plugins/shortcut-buttons.min.js";import{DateTime}from"luxon";import ThrottleEvent from"@typo3/core/event/throttle-event.js";import"@typo3/backend/input/clearable.js";const ISO8601_UTC="ISO8601_UTC";class DateTimePicker{constructor(){this.format=(void 0!==opener?.top?.TYPO3?opener.top:top).TYPO3.settings.DateTimePicker.DateFormat}initialize(t){if(!(t instanceof HTMLInputElement)||void 0!==t.dataset.datepickerInitialized)return;let e=document.documentElement.lang;e&&"en"!==e?"ch"===e&&(e="zh"):e="default",t.dataset.datepickerInitialized="1",import("flatpickr/locales.js").then((()=>{this.initializeField(t,e)}))}initializeField(t,e){const a=this.getScrollEvent(),n=this.getDateOptions(t);n.locale=e,n.onOpen=[()=>{a.bindTo(document.querySelector(".t3js-module-body"))}],n.onClose=()=>{a.release()};const o=flatpickr(t,n);o.altInput instanceof HTMLInputElement&&o.input.addEventListener("typo3:internal:clear",(()=>{o.clear()})),o._input.addEventListener("change",(t=>{const e=t.target.value,a=o.parseDate(e,o.config.altFormat);o.setDate(a,!0)})),o._input.addEventListener("keyup",(t=>{"Escape"===t.key&&o.close()}))}getScrollEvent(){return new ThrottleEvent("scroll",(()=>{const t=document.querySelector(".flatpickr-input.active");if(null===t)return;const e=t.getBoundingClientRect(),a=t._flatpickr.calendarContainer.offsetHeight;let n,o;window.innerHeight-e.bottoma?(n=e.y-a-2,o="arrowBottom"):(n=e.y+e.height+2,o="arrowTop"),t._flatpickr.calendarContainer.style.top=n+"px",t._flatpickr.calendarContainer.classList.remove("arrowBottom","arrowTop"),t._flatpickr.calendarContainer.classList.add(o)}),15)}getDateOptions(t){const e=this.format,a=t.dataset.dateType,n=new Date,o={altFormat:"",allowInput:!0,altInput:!0,ariaDateFormat:"DDDD",dateFormat:ISO8601_UTC,defaultHour:n.getHours(),defaultMinute:n.getMinutes(),enableSeconds:!1,enableTime:!1,formatDate:(t,e)=>{const a=DateTime.fromJSDate(t);return e===ISO8601_UTC?a.toUTC().plus(60*a.offset*1e3).toISO({suppressMilliseconds:!0}):a.toFormat(e)},parseDate:(t,e)=>{if(e===ISO8601_UTC){const e=DateTime.fromISO(t,{zone:"utc"});if(!e.isValid)throw new Error("Invalid ISO8601 date: "+t);const a=e.toLocal();return a.minus(60*a.offset*1e3).toJSDate()}return DateTime.fromFormat(t,e).toJSDate()},onReady:(t,e,a)=>{void 0!==a.altInput&&(a.altInput.id=a.input.id,a.input.removeAttribute("id"),a.altInput.clearable(),void 0!==a.input.dataset.formengineInputName&&(a.altInput.dataset.formengineDatepickerRealInputName=a.input.dataset.formengineInputName),a.altInput.form.addEventListener("t3-formengine-postfieldvalidation",(t=>{t.detail.field===a.input&&a.altInput.classList.toggle("has-error",!t.detail.isValid)})))},onChange:(t,e,a)=>{a.input.dispatchEvent(new Event("formengine.dp.change"))},maxDate:"",minDate:"",minuteIncrement:1,noCalendar:!1,showMonths:1,monthSelectorType:a.startsWith("date")?"dropdown":"static",weekNumbers:!0,time_24hr:!Intl.DateTimeFormat(navigator.language,{hour:"numeric"}).resolvedOptions().hour12,plugins:[ShortcutButtonsPlugin({theme:"typo3",button:[{label:top.TYPO3.lang["labels.datepicker.today"]||"Today"}],onClick:(t,e)=>{e.setDate(new Date,!0)}})]};switch(a){case"datetime":o.altFormat=e[1],o.enableTime=!0;break;case"date":o.altFormat=e[0];break;case"time":o.altFormat="HH:mm",o.enableTime=!0,o.noCalendar=!0;break;case"timesec":o.altFormat="HH:mm:ss",o.enableSeconds=!0,o.enableTime=!0,o.noCalendar=!0;break;case"year":o.altFormat="yyyy"}return void 0!==t.dataset.dateMinDate&&(o.minDate=o.parseDate(t.dataset.dateMinDate,ISO8601_UTC),o.minDate.setSeconds(0)),void 0!==t.dataset.dateMaxDate&&(o.maxDate=o.parseDate(t.dataset.dateMaxDate,ISO8601_UTC),o.maxDate.setSeconds(59)),o}}export default new DateTimePicker; \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/drag-uploader.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/drag-uploader.js index 027368b5..fea418d4 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/drag-uploader.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/drag-uploader.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -import DocumentService from"@typo3/core/document-service.js";import{DateTime}from"luxon";import{SeverityEnum}from"@typo3/backend/enum/severity.js";import{MessageUtility}from"@typo3/backend/utility/message-utility.js";import NProgress from"nprogress";import AjaxRequest from"@typo3/core/ajax/ajax-request.js";import{default as Modal,Sizes as ModalSizes}from"@typo3/backend/modal.js";import Notification from"@typo3/backend/notification.js";import ImmediateAction from"@typo3/backend/action-button/immediate-action.js";import Md5 from"@typo3/backend/hashing/md5.js";import"@typo3/backend/element/icon-element.js";import RegularEvent from"@typo3/core/event/regular-event.js";import DomHelper from"@typo3/backend/utility/dom-helper.js";import{KeyTypesEnum}from"@typo3/backend/enum/key-types.js";import"@typo3/backend/element/progress-bar-element.js";var Action;!function(e){e.OVERRIDE="replace",e.RENAME="rename",e.SKIP="cancel",e.USE_EXISTING="useExisting"}(Action||(Action={}));export default class DragUploader{constructor(e){this.askForOverride=[],this.percentagePerFile=1,this.dragStartedInDocument=!1,this.hideDropzone=e=>{e.stopPropagation(),e.preventDefault(),this.dropzone.setAttribute("hidden","hidden"),this.dropzone.classList.remove("drop-status-ok"),this.manuallyTriggered=!1},this.dragFileIntoDocument=e=>!this.dragStartedInDocument&&(!!e.dataTransfer.types.includes("Files")&&(e.stopPropagation(),e.preventDefault(),e.currentTarget.classList.add("drop-in-progress"),this.element.offsetParent&&this.showDropzone(),!1)),this.dragAborted=e=>(e.stopPropagation(),e.preventDefault(),e.currentTarget.classList.remove("drop-in-progress"),this.dragStartedInDocument=!1,!1),this.ignoreDrop=e=>(e.stopPropagation(),e.preventDefault(),this.dragAborted(e),!1),this.handleDrop=e=>{this.ignoreDrop(e),this.hideDropzone(e),this.processFiles(e.dataTransfer.files)},this.fileInDropzone=()=>{this.dropzone.classList.add("drop-status-ok")},this.fileOutOfDropzone=()=>{this.dropzone.classList.remove("drop-status-ok"),this.manuallyTriggered||this.dropzone.setAttribute("hidden","hidden")},this.body=document.querySelector("body"),this.element=e;const t=void 0!==this.element.dataset.dropzoneTrigger;this.trigger=document.querySelector(this.element.dataset.dropzoneTrigger),this.defaultAction=this.element.dataset.defaultAction||Action.SKIP,this.dropzone=document.createElement("div"),this.dropzone.classList.add("dropzone"),this.dropzone.setAttribute("hidden","hidden"),this.irreObjectUid=this.element.dataset.fileIrreObject;const i=document.querySelector(this.element.dataset.dropzoneTarget);if(this.irreObjectUid&&0!==DomHelper.nextAll(i).length?(this.dropZoneInsertBefore=!0,i.before(this.dropzone)):(this.dropZoneInsertBefore=!1,i.after(this.dropzone)),this.fileInput=document.createElement("input"),this.fileInput.setAttribute("type","file"),this.fileInput.setAttribute("multiple","multiple"),this.fileInput.setAttribute("name","files[]"),this.fileInput.classList.add("upload-file-picker"),this.body.append(this.fileInput),this.fileList=document.querySelector(this.element.dataset.progressContainer),this.fileListColumnCount=this.fileList?.querySelectorAll("thead tr:first-child th").length+1,this.filesExtensionsAllowed=this.element.dataset.fileAllowed,this.filesExtensionsDisallowed=this.element.dataset.fileDisallowed,this.fileDenyPattern=this.element.dataset.fileDenyPattern?new RegExp(this.element.dataset.fileDenyPattern,"i"):null,this.maxFileSize=parseInt(this.element.dataset.maxFileSize,10),this.target=this.element.dataset.targetFolder,this.reloadUrl=this.element.dataset.reloadUrl,this.browserCapabilities={fileReader:"undefined"!=typeof FileReader,DnD:"draggable"in document.createElement("span"),Progress:"upload"in new XMLHttpRequest},!this.browserCapabilities.DnD)return void console.warn("Browser has no Drag and drop capabilities; cannot initialize DragUploader");this.body.addEventListener("dragstart",(()=>{this.dragStartedInDocument=!0})),this.body.addEventListener("dragover",this.dragFileIntoDocument),this.body.addEventListener("dragend",this.dragAborted),this.body.addEventListener("drop",this.ignoreDrop),this.dropzone.innerHTML='

",this.dropzoneMask=document.createElement("div"),this.dropzoneMask.classList.add("dropzone-mask"),this.dropzone.append(this.dropzoneMask),this.dropzone.addEventListener("dragenter",this.fileInDropzone),this.dropzoneMask.addEventListener("dragenter",this.fileInDropzone),this.dropzoneMask.addEventListener("dragleave",this.fileOutOfDropzone),this.dropzoneMask.addEventListener("drop",(e=>this.handleDrop(e))),this.dropzone.addEventListener("click",(()=>{this.fileInput.click()}));const s=document.createElement("button");if(s.classList.add("dropzone-close"),s.type="button",s.setAttribute("aria-label",TYPO3.lang["file_upload.dropzone.close"]),s.addEventListener("click",this.hideDropzone),this.dropzone.append(s),null===this.fileList){this.fileList=document.createElement("table"),this.fileList.setAttribute("id","typo3-filelist"),this.fileList.classList.add("table","table-striped","table-hover","upload-queue"),this.fileList.innerHTML="";const e=document.createElement("div");e.classList.add("table-fit"),e.setAttribute("hidden","hidden"),e.append(this.fileList),this.dropZoneInsertBefore?this.dropzone.after(e):this.dropzone.before(e),this.fileListColumnCount=8,this.manualTable=!0}this.fileInput.addEventListener("change",(e=>{this.hideDropzone(e),this.processFiles(this.fileInput.files)})),document.addEventListener("keydown",(e=>{e.key!==KeyTypesEnum.ENTER||this.dropzone.hasAttribute("hidden")||this.hideDropzone(e)})),this.bindUploadButton(!0===t?this.trigger:this.element)}static init(){DocumentService.ready().then((()=>{document.querySelectorAll(".t3js-drag-uploader").forEach((e=>{new DragUploader(e)}))}))}static fileSizeAsString(e){const t=e/1024;let i="";return i=t>1024?(t/1024).toFixed(1)+" MB":t.toFixed(1)+" KB",i}static addFileToIrre(e,t){const i={actionName:"typo3:foreignRelation:insert",objectGroup:e,table:"sys_file",uid:t.uid};MessageUtility.send(i)}showDropzone(){this.dropzone.removeAttribute("hidden")}processFiles(e){this.queueLength=e.length,this.fileList.parentElement.hasAttribute("hidden")&&(this.fileList.parentElement.removeAttribute("hidden"),this.fileList.closest(".t3-filelist-container")?.classList.remove("hidden"),this.fileList.closest(".filelist-main")?.querySelector(".t3-filelist-info-container")?.setAttribute("hidden","hidden")),NProgress.start(),this.percentagePerFile=1/e.length;const t=[];Array.from(e).forEach((e=>{const i=new AjaxRequest(TYPO3.settings.ajaxUrls.file_exists).withQueryArguments({fileName:e.name,fileTarget:this.target}).get({cache:"no-cache"}).then((async t=>{const i=await t.resolve();void 0!==i.uid?(this.askForOverride.push({original:i,uploaded:e,action:this.irreObjectUid?Action.USE_EXISTING:this.defaultAction}),NProgress.inc(this.percentagePerFile)):new FileQueueItem(this,e,Action.SKIP)}));t.push(i)})),Promise.all(t).then((()=>{this.drawOverrideModal(),NProgress.done()})),this.fileInput.value=""}bindUploadButton(e){e.addEventListener("click",(e=>{e.preventDefault(),this.fileInput.click(),this.manuallyTriggered=!0}))}decrementQueueLength(e){if(this.queueLength>0&&(this.queueLength--,0===this.queueLength)){const t=e&&e.length?5e3:0;if(t)for(const t of e)Notification.showMessage(t.title,t.message,t.severity);this.reloadUrl&&setTimeout((()=>{Notification.info(TYPO3.lang["file_upload.reload.filelist"],TYPO3.lang["file_upload.reload.filelist.message"],10,[{label:TYPO3.lang["file_upload.reload.filelist.actions.dismiss"]},{label:TYPO3.lang["file_upload.reload.filelist.actions.reload"],action:new ImmediateAction((()=>{top.list_frame.document.location.href=this.reloadUrl}))}])}),t)}}drawOverrideModal(){const e=Object.keys(this.askForOverride).length;if(0===e)return;const t=document.createElement("div");let i=`\n

${TYPO3.lang["file_upload.existingfiles.description"]}

\n \n \n \n \n \n \n \n \n \n \n `;for(let t=0;t\n \n \n \n \n \n `}i+="
${TYPO3.lang["file_upload.header.originalFile"]}${TYPO3.lang["file_upload.header.uploadedFile"]}${TYPO3.lang["file_upload.header.action"]}
\n ${""!==this.askForOverride[t].original.thumbUrl?``:this.askForOverride[t].original.icon}\n \n ${this.askForOverride[t].original.name} (${DragUploader.fileSizeAsString(this.askForOverride[t].original.size)})
\n ${DateTime.fromSeconds(this.askForOverride[t].original.mtime).toLocaleString(DateTime.DATETIME_MED)}\n
\n ${this.askForOverride[t].uploaded.name} (${DragUploader.fileSizeAsString(this.askForOverride[t].uploaded.size)})
\n ${DateTime.fromMillis(this.askForOverride[t].uploaded.lastModified).toLocaleString(DateTime.DATETIME_MED)}\n
\n \n
",t.innerHTML=i;const s=Modal.advanced({title:TYPO3.lang["file_upload.existingfiles.title"],content:t,severity:SeverityEnum.warning,buttons:[{text:TYPO3.lang["file_upload.button.cancel"]||"Cancel",active:!0,btnClass:"btn-default",name:"cancel"},{text:TYPO3.lang["file_upload.button.continue"]||"Continue with selected actions",btnClass:"btn-warning",name:"continue"}],additionalCssClasses:["modal-inner-scroll"],size:ModalSizes.large,callback:e=>{const t=e.querySelector(".modal-footer"),i=document.createElement("label");i.textContent=TYPO3.lang["file_upload.actions.all.label"];const s=document.createElement("span");s.innerHTML=`\n \n `,t.prepend(i,s)}});new RegularEvent("change",((e,t)=>{if(""!==t.value)for(const e of s.querySelectorAll(".t3js-actions")){const i=parseInt(e.dataset.override,10);e.value=t.value,e.disabled=!0,this.askForOverride[i].action=e.value}else s.querySelectorAll(".t3js-actions").forEach((e=>e.disabled=!1))})).delegateTo(s,".t3js-actions-all"),new RegularEvent("change",(e=>{const t=e.target,i=parseInt(t.dataset.override,10);this.askForOverride[i].action=t.value})).delegateTo(s,".t3js-actions"),s.addEventListener("button.clicked",(e=>{const t=e.target;if("cancel"===t.name)this.askForOverride=[],Modal.dismiss();else if("continue"===t.name){for(const e of this.askForOverride)e.action===Action.USE_EXISTING?DragUploader.addFileToIrre(this.irreObjectUid,e.original):e.action!==Action.SKIP&&new FileQueueItem(this,e.uploaded,e.action);this.askForOverride=[],s.hideModal()}})),s.addEventListener("typo3-modal-hidden",(()=>{this.askForOverride=[]}))}}class FileQueueItem{constructor(e,t,i){if(this.dragUploader=e,this.file=t,this.override=i,this.row=document.createElement("tr"),this.row.classList.add("upload-queue-item"),this.dragUploader.manualTable||(this.selector=document.createElement("td"),this.selector.classList.add("col-checkbox"),this.row.append(this.selector)),this.iconCol=document.createElement("td"),this.iconCol.classList.add("col-icon"),this.row.append(this.iconCol),this.fileName=document.createElement("td"),this.fileName.classList.add("col-title","col-responsive"),this.fileName.textContent=t.name,this.row.append(this.fileName),this.progress=document.createElement("td"),this.progress.classList.add("col-progress"),this.progress.setAttribute("colspan",String(this.dragUploader.fileListColumnCount-this.row.querySelectorAll("td").length)),this.row.append(this.progress),this.progressBar=document.createElement("typo3-backend-progress-bar"),this.progress.append(this.progressBar),0===this.dragUploader.fileList.querySelectorAll("tbody tr.upload-queue-item").length?(this.dragUploader.fileList.querySelector("tbody").prepend(this.row),this.row.classList.add("last")):this.dragUploader.fileList.querySelector("tbody tr.upload-queue-item:first-child").before(this.row),this.selector&&(this.selector.innerHTML=''),this.iconCol.innerHTML='',this.dragUploader.maxFileSize>0&&this.file.size>this.dragUploader.maxFileSize)this.updateMessage(TYPO3.lang["file_upload.maxFileSizeExceeded"].replace(/\{0\}/g,this.file.name).replace(/\{1\}/g,DragUploader.fileSizeAsString(this.dragUploader.maxFileSize))),this.progressBar.value=100,this.progressBar.severity=SeverityEnum.error;else if(this.dragUploader.fileDenyPattern&&this.file.name.match(this.dragUploader.fileDenyPattern))this.updateMessage(TYPO3.lang["file_upload.fileNotAllowed"].replace(/\{0\}/g,this.file.name)),this.progressBar.value=100,this.progressBar.severity=SeverityEnum.error;else if(this.checkAllowedExtensions())if(this.checkDisallowedExtensions()){this.updateMessage("- "+DragUploader.fileSizeAsString(this.file.size));const e=new FormData;e.append("data[upload][1][target]",this.dragUploader.target),e.append("data[upload][1][data]","1"),e.append("overwriteExistingFiles",this.override),e.append("redirect",""),e.append("upload_1",this.file);const t=new XMLHttpRequest;t.onreadystatechange=()=>{if(t.readyState===XMLHttpRequest.DONE)if(200===t.status)try{const e=JSON.parse(t.responseText);e.hasErrors?this.uploadError(t):this.uploadSuccess(e)}catch{this.uploadError(t)}else this.uploadError(t)},t.upload.addEventListener("progress",(e=>this.updateProgress(e))),t.open("POST",TYPO3.settings.ajaxUrls.file_process),t.send(e)}else this.updateMessage(TYPO3.lang["file_upload.fileExtensionDisallowed"].replace(/\{0\}/g,this.dragUploader.filesExtensionsDisallowed)),this.progressBar.value=100,this.progressBar.severity=SeverityEnum.error;else this.updateMessage(TYPO3.lang["file_upload.fileExtensionExpected"].replace(/\{0\}/g,this.dragUploader.filesExtensionsAllowed)),this.progressBar.value=100,this.progressBar.severity=SeverityEnum.error}updateMessage(e){this.progressBar.label=e}removeProgress(){this.progress&&this.progress.remove()}uploadError(e){const t=TYPO3.lang["file_upload.uploadFailed"].replace(/\{0\}/g,this.file.name);this.updateMessage(t);try{const t=JSON.parse(e.responseText).messages;if(t&&t.length)for(const e of t)Notification.showMessage(e.title,e.message,e.severity,10)}catch{}this.progressBar.severity=SeverityEnum.error,this.dragUploader.decrementQueueLength(),this.dragUploader.trigger?.dispatchEvent(new CustomEvent("uploadError",{detail:[this,e]}))}updateProgress(e){const t=Math.round(e.loaded/e.total*100);this.progressBar.value=t,this.progressBar.label=`${TYPO3.lang["file_upload.upload-in-progress"]} ${t}%`,this.dragUploader.trigger?.dispatchEvent(new CustomEvent("updateProgress",{detail:[this,t,e]}))}uploadSuccess(e){if(e.upload){this.dragUploader.decrementQueueLength(e.messages),this.row.setAttribute("data-type","file"),this.row.setAttribute("data-file-uid",String(e.upload[0].uid)),this.fileName.textContent=e.upload[0].name,this.progressBar.value=100,this.progressBar.label=TYPO3.lang["file_upload.uploadSucceeded"],this.progressBar.severity=SeverityEnum.ok;const t=String(e.upload[0].id);if(this.selector){const e=this.selector.querySelector("input");e&&(e.removeAttribute("disabled"),e.setAttribute("name","CBC[_FILE|"+Md5.hash(t)+"]"),e.setAttribute("value",t))}e.upload[0].icon&&(this.iconCol.innerHTML='"),this.dragUploader.irreObjectUid?(DragUploader.addFileToIrre(this.dragUploader.irreObjectUid,e.upload[0]),setTimeout((()=>{this.row.remove(),0===this.dragUploader.fileList.querySelectorAll("tr").length&&(this.dragUploader.fileList.setAttribute("hidden","hidden"),this.dragUploader.fileList.closest(".t3-filelist-container")?.classList.add("hidden"),this.dragUploader.trigger?.dispatchEvent(new CustomEvent("uploadSuccess",{detail:[this,e]})))}),3e3)):setTimeout((()=>{this.showFileInfo(e.upload[0]),this.dragUploader.trigger?.dispatchEvent(new CustomEvent("uploadSuccess",{detail:[this,e]}))}),3e3)}}showFileInfo(e){if(this.removeProgress(),document.querySelector("#filelist-searchterm")?.value){const t=document.createElement("td");t.textContent=e.path,this.row.append(t)}const t=document.createElement("td");t.classList.add("col-control"),this.row.append(t);const i=document.createElement("td");i.textContent=TYPO3.lang["type.file"]+" ("+e.extension.toUpperCase()+")",this.row.append(i);const s=document.createElement("td");s.textContent=DragUploader.fileSizeAsString(e.size),this.row.append(s);let o="";e.permissions.read&&(o+=''+TYPO3.lang["permissions.read"]+""),e.permissions.write&&(o+=''+TYPO3.lang["permissions.write"]+"");const r=document.createElement("td");r.innerHTML=o,this.row.append(r);const n=document.createElement("td");n.textContent="-",this.row.append(n);for(let e=this.row.querySelectorAll("td").length;e{e.stopPropagation(),e.preventDefault(),this.dropzone.setAttribute("hidden","hidden"),this.dropzone.classList.remove("drop-status-ok"),this.manuallyTriggered=!1},this.dragFileIntoDocument=e=>!this.dragStartedInDocument&&(!!e.dataTransfer.types.includes("Files")&&(e.stopPropagation(),e.preventDefault(),e.currentTarget.classList.add("drop-in-progress"),this.element.offsetParent&&this.showDropzone(),!1)),this.dragAborted=e=>(e.stopPropagation(),e.preventDefault(),e.currentTarget.classList.remove("drop-in-progress"),this.dragStartedInDocument=!1,!1),this.ignoreDrop=e=>(e.stopPropagation(),e.preventDefault(),this.dragAborted(e),!1),this.handleDrop=e=>{this.ignoreDrop(e),this.hideDropzone(e),this.processFiles(e.dataTransfer.files)},this.fileInDropzone=()=>{this.dropzone.classList.add("drop-status-ok")},this.fileOutOfDropzone=()=>{this.dropzone.classList.remove("drop-status-ok"),this.manuallyTriggered||this.dropzone.setAttribute("hidden","hidden")},this.body=document.querySelector("body"),this.element=e;const t=void 0!==this.element.dataset.dropzoneTrigger;this.trigger=document.querySelector(this.element.dataset.dropzoneTrigger),this.defaultAction=this.element.dataset.defaultAction||Action.SKIP,this.dropzone=document.createElement("div"),this.dropzone.classList.add("dropzone"),this.dropzone.setAttribute("hidden","hidden"),this.irreObjectUid=this.element.dataset.fileIrreObject;const i=document.querySelector(this.element.dataset.dropzoneTarget);if(this.irreObjectUid&&0!==DomHelper.nextAll(i).length?(this.dropZoneInsertBefore=!0,i.before(this.dropzone)):(this.dropZoneInsertBefore=!1,i.after(this.dropzone)),this.fileInput=document.createElement("input"),this.fileInput.setAttribute("type","file"),this.fileInput.setAttribute("multiple","multiple"),this.fileInput.setAttribute("name","files[]"),this.fileInput.classList.add("upload-file-picker"),this.body.append(this.fileInput),this.fileList=document.querySelector(this.element.dataset.progressContainer),this.fileListColumnCount=this.fileList?.querySelectorAll("thead tr:first-child th").length+1,this.filesExtensionsAllowed=this.element.dataset.fileAllowed,this.filesExtensionsDisallowed=this.element.dataset.fileDisallowed,this.fileDenyPattern=this.element.dataset.fileDenyPattern?new RegExp(this.element.dataset.fileDenyPattern,"i"):null,this.maxFileSize=parseInt(this.element.dataset.maxFileSize,10),this.target=this.element.dataset.targetFolder,this.reloadUrl=this.element.dataset.reloadUrl,this.browserCapabilities={fileReader:"undefined"!=typeof FileReader,DnD:"draggable"in document.createElement("span"),Progress:"upload"in new XMLHttpRequest},!this.browserCapabilities.DnD)return void console.warn("Browser has no Drag and drop capabilities; cannot initialize DragUploader");this.body.addEventListener("dragstart",(()=>{this.dragStartedInDocument=!0})),this.body.addEventListener("dragover",this.dragFileIntoDocument),this.body.addEventListener("dragend",this.dragAborted),this.body.addEventListener("drop",this.ignoreDrop),this.dropzone.innerHTML='
",this.dropzoneMask=document.createElement("div"),this.dropzoneMask.classList.add("dropzone-mask"),this.dropzone.append(this.dropzoneMask),this.dropzone.addEventListener("dragenter",this.fileInDropzone),this.dropzoneMask.addEventListener("dragenter",this.fileInDropzone),this.dropzoneMask.addEventListener("dragleave",this.fileOutOfDropzone),this.dropzoneMask.addEventListener("drop",(e=>this.handleDrop(e))),this.dropzone.addEventListener("click",(()=>{this.fileInput.click()}));const s=document.createElement("button");if(s.classList.add("dropzone-close"),s.type="button",s.setAttribute("aria-label",TYPO3.lang["file_upload.dropzone.close"]),s.addEventListener("click",this.hideDropzone),this.dropzone.append(s),null===this.fileList){this.fileList=document.createElement("table"),this.fileList.setAttribute("id","typo3-filelist"),this.fileList.classList.add("table","table-striped","table-hover","upload-queue"),this.fileList.innerHTML="";const e=document.createElement("div");e.classList.add("table-fit"),e.setAttribute("hidden","hidden"),e.append(this.fileList),this.dropZoneInsertBefore?this.dropzone.after(e):this.dropzone.before(e),this.fileListColumnCount=8,this.manualTable=!0}this.fileInput.addEventListener("change",(e=>{this.hideDropzone(e),this.processFiles(this.fileInput.files)})),document.addEventListener("keydown",(e=>{e.key!==KeyTypesEnum.ENTER||this.dropzone.hasAttribute("hidden")||this.hideDropzone(e)})),this.bindUploadButton(!0===t?this.trigger:this.element)}static init(){new MutationObserver((e=>{for(const t of e)if("childList"===t.type)for(const e of[...t.addedNodes.values()])e instanceof HTMLElement&&(e.matches(".t3js-drag-uploader")?new DragUploader(e):e.querySelectorAll(".t3js-drag-uploader").forEach((e=>{new DragUploader(e)})))})).observe(document,{childList:!0,subtree:!0}),DocumentService.ready().then((()=>{document.querySelectorAll(".t3js-drag-uploader").forEach((e=>{new DragUploader(e)}))}))}static fileSizeAsString(e){const t=e/1024;let i="";return i=t>1024?(t/1024).toFixed(1)+" MB":t.toFixed(1)+" KB",i}static addFileToIrre(e,t){const i={actionName:"typo3:foreignRelation:insert",objectGroup:e,table:"sys_file",uid:t.uid};MessageUtility.send(i)}showDropzone(){this.dropzone.removeAttribute("hidden")}processFiles(e){this.queueLength=e.length,this.fileList.parentElement.hasAttribute("hidden")&&(this.fileList.parentElement.removeAttribute("hidden"),this.fileList.closest(".t3-filelist-container")?.classList.remove("hidden"),this.fileList.closest(".filelist-main")?.querySelector(".t3-filelist-info-container")?.setAttribute("hidden","hidden")),NProgress.start(),this.percentagePerFile=1/e.length;const t=[];Array.from(e).forEach((e=>{const i=new AjaxRequest(TYPO3.settings.ajaxUrls.file_exists).withQueryArguments({fileName:e.name,fileTarget:this.target}).get({cache:"no-cache"}).then((async t=>{const i=await t.resolve();void 0!==i.uid?(this.askForOverride.push({original:i,uploaded:e,action:this.irreObjectUid?Action.USE_EXISTING:this.defaultAction}),NProgress.inc(this.percentagePerFile)):new FileQueueItem(this,e,Action.SKIP)}));t.push(i)})),Promise.all(t).then((()=>{this.drawOverrideModal(),NProgress.done()})),this.fileInput.value=""}bindUploadButton(e){e.addEventListener("click",(e=>{e.preventDefault(),this.fileInput.click(),this.manuallyTriggered=!0}))}decrementQueueLength(e){if(this.queueLength>0&&(this.queueLength--,0===this.queueLength)){const t=e&&e.length?5e3:0;if(t)for(const t of e)Notification.showMessage(t.title,t.message,t.severity);this.reloadUrl&&setTimeout((()=>{Notification.info(TYPO3.lang["file_upload.reload.filelist"],TYPO3.lang["file_upload.reload.filelist.message"],10,[{label:TYPO3.lang["file_upload.reload.filelist.actions.dismiss"]},{label:TYPO3.lang["file_upload.reload.filelist.actions.reload"],action:new ImmediateAction((()=>{top.list_frame.document.location.href=this.reloadUrl}))}])}),t)}}drawOverrideModal(){const e=Object.keys(this.askForOverride).length;if(0===e)return;const t=document.createElement("div");let i=`\n

${TYPO3.lang["file_upload.existingfiles.description"]}

\n \n \n \n \n \n \n \n \n \n \n `;for(let t=0;t\n \n \n \n \n \n `}i+="
${TYPO3.lang["file_upload.header.originalFile"]}${TYPO3.lang["file_upload.header.uploadedFile"]}${TYPO3.lang["file_upload.header.action"]}
\n ${""!==this.askForOverride[t].original.thumbUrl?``:this.askForOverride[t].original.icon}\n \n ${this.askForOverride[t].original.name} (${DragUploader.fileSizeAsString(this.askForOverride[t].original.size)})
\n ${DateTime.fromSeconds(this.askForOverride[t].original.mtime).toLocaleString(DateTime.DATETIME_MED)}\n
\n ${this.askForOverride[t].uploaded.name} (${DragUploader.fileSizeAsString(this.askForOverride[t].uploaded.size)})
\n ${DateTime.fromMillis(this.askForOverride[t].uploaded.lastModified).toLocaleString(DateTime.DATETIME_MED)}\n
\n \n
",t.innerHTML=i;const s=Modal.advanced({title:TYPO3.lang["file_upload.existingfiles.title"],content:t,severity:SeverityEnum.warning,buttons:[{text:TYPO3.lang["file_upload.button.cancel"]||"Cancel",active:!0,btnClass:"btn-default",name:"cancel"},{text:TYPO3.lang["file_upload.button.continue"]||"Continue with selected actions",btnClass:"btn-warning",name:"continue"}],additionalCssClasses:["modal-inner-scroll"],size:ModalSizes.large,callback:e=>{const t=e.querySelector(".modal-footer"),i=document.createElement("label");i.textContent=TYPO3.lang["file_upload.actions.all.label"];const s=document.createElement("span");s.innerHTML=`\n \n `,t.prepend(i,s)}});new RegularEvent("change",((e,t)=>{if(""!==t.value)for(const e of s.querySelectorAll(".t3js-actions")){const i=parseInt(e.dataset.override,10);e.value=t.value,e.disabled=!0,this.askForOverride[i].action=e.value}else s.querySelectorAll(".t3js-actions").forEach((e=>e.disabled=!1))})).delegateTo(s,".t3js-actions-all"),new RegularEvent("change",(e=>{const t=e.target,i=parseInt(t.dataset.override,10);this.askForOverride[i].action=t.value})).delegateTo(s,".t3js-actions"),s.addEventListener("button.clicked",(e=>{const t=e.target;if("cancel"===t.name)this.askForOverride=[],Modal.dismiss();else if("continue"===t.name){for(const e of this.askForOverride)e.action===Action.USE_EXISTING?DragUploader.addFileToIrre(this.irreObjectUid,e.original):e.action!==Action.SKIP&&new FileQueueItem(this,e.uploaded,e.action);this.askForOverride=[],s.hideModal()}})),s.addEventListener("typo3-modal-hidden",(()=>{this.askForOverride=[]}))}}class FileQueueItem{constructor(e,t,i){if(this.dragUploader=e,this.file=t,this.override=i,this.row=document.createElement("tr"),this.row.classList.add("upload-queue-item"),this.dragUploader.manualTable||(this.selector=document.createElement("td"),this.selector.classList.add("col-checkbox"),this.row.append(this.selector)),this.iconCol=document.createElement("td"),this.iconCol.classList.add("col-icon"),this.row.append(this.iconCol),this.fileName=document.createElement("td"),this.fileName.classList.add("col-title","col-responsive"),this.fileName.textContent=t.name,this.row.append(this.fileName),this.progress=document.createElement("td"),this.progress.classList.add("col-progress"),this.progress.setAttribute("colspan",String(this.dragUploader.fileListColumnCount-this.row.querySelectorAll("td").length)),this.row.append(this.progress),this.progressBar=document.createElement("typo3-backend-progress-bar"),this.progress.append(this.progressBar),0===this.dragUploader.fileList.querySelectorAll("tbody tr.upload-queue-item").length?(this.dragUploader.fileList.querySelector("tbody").prepend(this.row),this.row.classList.add("last")):this.dragUploader.fileList.querySelector("tbody tr.upload-queue-item:first-child").before(this.row),this.selector&&(this.selector.innerHTML=''),this.iconCol.innerHTML='',this.dragUploader.maxFileSize>0&&this.file.size>this.dragUploader.maxFileSize)this.updateMessage(TYPO3.lang["file_upload.maxFileSizeExceeded"].replace(/\{0\}/g,this.file.name).replace(/\{1\}/g,DragUploader.fileSizeAsString(this.dragUploader.maxFileSize))),this.progressBar.value=100,this.progressBar.severity=SeverityEnum.error;else if(this.dragUploader.fileDenyPattern&&this.file.name.match(this.dragUploader.fileDenyPattern))this.updateMessage(TYPO3.lang["file_upload.fileNotAllowed"].replace(/\{0\}/g,this.file.name)),this.progressBar.value=100,this.progressBar.severity=SeverityEnum.error;else if(this.checkAllowedExtensions())if(this.checkDisallowedExtensions()){this.updateMessage("- "+DragUploader.fileSizeAsString(this.file.size));const e=new FormData;e.append("data[upload][1][target]",this.dragUploader.target),e.append("data[upload][1][data]","1"),e.append("overwriteExistingFiles",this.override),e.append("redirect",""),e.append("upload_1",this.file);const t=new XMLHttpRequest;t.onreadystatechange=()=>{if(t.readyState===XMLHttpRequest.DONE)if(200===t.status)try{const e=JSON.parse(t.responseText);e.hasErrors?this.uploadError(t):this.uploadSuccess(e)}catch{this.uploadError(t)}else this.uploadError(t)},t.upload.addEventListener("progress",(e=>this.updateProgress(e))),t.open("POST",TYPO3.settings.ajaxUrls.file_process),t.send(e)}else this.updateMessage(TYPO3.lang["file_upload.fileExtensionDisallowed"].replace(/\{0\}/g,this.dragUploader.filesExtensionsDisallowed)),this.progressBar.value=100,this.progressBar.severity=SeverityEnum.error;else this.updateMessage(TYPO3.lang["file_upload.fileExtensionExpected"].replace(/\{0\}/g,this.dragUploader.filesExtensionsAllowed)),this.progressBar.value=100,this.progressBar.severity=SeverityEnum.error}updateMessage(e){this.progressBar.label=e}removeProgress(){this.progress&&this.progress.remove()}uploadError(e){const t=TYPO3.lang["file_upload.uploadFailed"].replace(/\{0\}/g,this.file.name);this.updateMessage(t);try{const t=JSON.parse(e.responseText).messages;if(t&&t.length)for(const e of t)Notification.showMessage(e.title,e.message,e.severity,10)}catch{}this.progressBar.severity=SeverityEnum.error,this.dragUploader.decrementQueueLength(),this.dragUploader.trigger?.dispatchEvent(new CustomEvent("uploadError",{detail:[this,e]}))}updateProgress(e){const t=Math.round(e.loaded/e.total*100);this.progressBar.value=t,this.progressBar.label=`${TYPO3.lang["file_upload.upload-in-progress"]} ${t}%`,this.dragUploader.trigger?.dispatchEvent(new CustomEvent("updateProgress",{detail:[this,t,e]}))}uploadSuccess(e){if(e.upload){this.dragUploader.decrementQueueLength(e.messages),this.row.setAttribute("data-type","file"),this.row.setAttribute("data-file-uid",String(e.upload[0].uid)),this.fileName.textContent=e.upload[0].name,this.progressBar.value=100,this.progressBar.label=TYPO3.lang["file_upload.uploadSucceeded"],this.progressBar.severity=SeverityEnum.ok;const t=String(e.upload[0].id);if(this.selector){const e=this.selector.querySelector("input");e&&(e.removeAttribute("disabled"),e.setAttribute("name","CBC[_FILE|"+Md5.hash(t)+"]"),e.setAttribute("value",t))}e.upload[0].icon&&(this.iconCol.innerHTML='"),this.dragUploader.irreObjectUid?(DragUploader.addFileToIrre(this.dragUploader.irreObjectUid,e.upload[0]),setTimeout((()=>{this.row.remove(),0===this.dragUploader.fileList.querySelectorAll("tr").length&&(this.dragUploader.fileList.setAttribute("hidden","hidden"),this.dragUploader.fileList.closest(".t3-filelist-container")?.classList.add("hidden"),this.dragUploader.trigger?.dispatchEvent(new CustomEvent("uploadSuccess",{detail:[this,e]})))}),3e3)):setTimeout((()=>{this.showFileInfo(e.upload[0]),this.dragUploader.trigger?.dispatchEvent(new CustomEvent("uploadSuccess",{detail:[this,e]}))}),3e3)}}showFileInfo(e){if(this.removeProgress(),document.querySelector("#filelist-searchterm")?.value){const t=document.createElement("td");t.textContent=e.path,this.row.append(t)}const t=document.createElement("td");t.classList.add("col-control"),this.row.append(t);const i=document.createElement("td");i.textContent=TYPO3.lang["type.file"]+" ("+e.extension.toUpperCase()+")",this.row.append(i);const s=document.createElement("td");s.textContent=DragUploader.fileSizeAsString(e.size),this.row.append(s);let o="";e.permissions.read&&(o+=''+TYPO3.lang["permissions.read"]+""),e.permissions.write&&(o+=''+TYPO3.lang["permissions.write"]+"");const r=document.createElement("td");r.innerHTML=o,this.row.append(r);const a=document.createElement("td");a.textContent="-",this.row.append(a);for(let e=this.row.querySelectorAll("td").length;e{this.attachButtonToModuleHeader(),this.checkForReviewableField(),this.formElement.addEventListener("t3-formengine-postfieldvalidation",(()=>{this.checkForReviewableField()}))}))}attachButtonToModuleHeader(){const e=document.querySelector(".t3js-module-docheader-bar-buttons").lastElementChild.querySelector('[role="toolbar"]'),t=document.createElement("typo3-backend-icon");t.setAttribute("identifier","actions-exclamation-circle"),t.setAttribute("size","small");const o=document.createElement("button");o.type="button",o.classList.add("btn","btn-danger","btn-sm","hidden",this.toggleButtonClass),o.title=TYPO3.lang["buttons.reviewFailedValidationFields"],o.appendChild(t),Popover.popover(o),e.prepend(o)}checkForReviewableField(){const e=FormEngineReview.findInvalidField(),t=document.querySelector("."+this.toggleButtonClass);if(null!==t)if(e.length>0){const o=document.createElement("div");o.classList.add("list-group");for(const t of e){const e=t.closest(".t3js-formengine-validation-marker"),i=t.querySelector("[data-formengine-validation-rules]"),r=document.createElement("a");r.classList.add("list-group-item"),r.href="#",r.textContent=t.querySelector(this.labelSelector)?.textContent||"",r.addEventListener("click",(t=>{this.switchToField(t,e,i)})),o.append(r)}t.classList.remove("hidden"),Popover.setOptions(t,{html:!0,content:o})}else t.classList.add("hidden"),Popover.hide(t)}switchToField(e,t,o){e.preventDefault();let i=o;for(;i;){if(i.matches('[id][role="tabpanel"]')){const e=document.querySelector(selector`[aria-controls="${i.id}"]`);new BootstrapTab(e).show()}i=i.parentElement}o.checkVisibility()?o.focus():DomHelper.scrollIntoViewIfNeeded(t)}} \ No newline at end of file +import"bootstrap";import DocumentService from"@typo3/core/document-service.js";import{selector}from"@typo3/core/literals.js";import"@typo3/backend/element/icon-element.js";import Popover from"@typo3/backend/popover.js";import{Tab as BootstrapTab}from"bootstrap";import DomHelper from"@typo3/backend/utility/dom-helper.js";export class FormEngineReview{constructor(e){this.formElement=e,this.toggleButtonClass="t3js-toggle-review-panel",this.labelSelector=".t3js-formengine-label",this.invalidFields=new Set,this.initialize()}initialize(){this.formElement.addEventListener("t3-formengine-postfieldvalidation",(e=>{const t=e.detail.field;e.detail.isValid?this.invalidFields.delete(t):this.invalidFields.add(t),this.checkForReviewableField()})),DocumentService.ready().then((()=>{this.attachButtonToModuleHeader(),this.checkForReviewableField()}))}attachButtonToModuleHeader(){const e=document.querySelector(".t3js-module-docheader-bar-buttons").lastElementChild.querySelector('[role="toolbar"]'),t=document.createElement("typo3-backend-icon");t.setAttribute("identifier","actions-exclamation-circle"),t.setAttribute("size","small");const o=document.createElement("button");o.type="button",o.classList.add("btn","btn-danger","btn-sm","hidden",this.toggleButtonClass),o.title=TYPO3.lang["buttons.reviewFailedValidationFields"],o.appendChild(t),Popover.popover(o),e.prepend(o)}checkForReviewableField(){const e=document.querySelector("."+this.toggleButtonClass);if(null!==e)if(this.invalidFields.size>0){const t=document.createElement("div");t.classList.add("list-group");for(const e of this.invalidFields){const o=e.closest(".t3js-formengine-validation-marker");if(null===o)throw console.error(e),new Error("Could not find an element containing the `t3js-formengine-validation-marker` class for the previously logged input field.");const i=o.querySelector("[data-formengine-validation-rules]");if(null===i)throw console.error(o),new Error("Could not find an element containing the `data-formengine-validation-rules` attribute for the previously logged container.");const n=document.createElement("a");n.classList.add("list-group-item"),n.href="#",n.textContent=o.querySelector(this.labelSelector)?.textContent||"",n.addEventListener("click",(e=>{this.switchToField(e,o,i)})),t.append(n)}e.classList.remove("hidden"),Popover.setOptions(e,{html:!0,content:t})}else e.classList.add("hidden"),Popover.hide(e)}switchToField(e,t,o){e.preventDefault();let i=o;for(;i;){if(i.matches('[id][role="tabpanel"]')){const e=document.querySelector(selector`[aria-controls="${i.id}"]`);new BootstrapTab(e).show()}i=i.parentElement}o.checkVisibility()?o.focus():DomHelper.scrollIntoViewIfNeeded(t)}} \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine-validation.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine-validation.js index 7d4408c3..81da3585 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine-validation.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine-validation.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -import $ from"jquery";import{DateTime}from"luxon";import Md5 from"@typo3/backend/hashing/md5.js";import Modal from"@typo3/backend/modal.js";import Severity from"@typo3/backend/severity.js";import Utility from"@typo3/backend/utility.js";import RegularEvent from"@typo3/core/event/regular-event.js";import DomHelper from"@typo3/backend/utility/dom-helper.js";import{selector}from"@typo3/core/literals.js";import SubmitInterceptor from"@typo3/backend/form/submit-interceptor.js";import{FormEngineReview}from"@typo3/backend/form-engine-review.js";let formEngineFormElement,validationSuspended=!1;const customEvaluations=new Map;class FormEngineValidation{static initialize(e){formEngineFormElement=e,formEngineFormElement.querySelectorAll("."+FormEngineValidation.errorClass).forEach((e=>e.classList.remove(FormEngineValidation.errorClass))),FormEngineValidation.initializeInputFields(),new FormEngineReview(e),new RegularEvent("change",((e,t)=>{FormEngineValidation.validateField(t),FormEngineValidation.markFieldAsChanged(t)})).delegateTo(formEngineFormElement,FormEngineValidation.rulesSelector),FormEngineValidation.registerSubmitCallback(),FormEngineValidation.validate()}static initializeInputFields(){formEngineFormElement.querySelectorAll(FormEngineValidation.inputSelector).forEach((e=>{const t=JSON.parse(e.dataset.formengineInputParams).field,a=formEngineFormElement.querySelector(selector`[name="${t}"]`);"formengineInputInitialized"in e.dataset||(a.dataset.config=e.dataset.formengineInputParams,FormEngineValidation.initializeInputField(t))}))}static initializeInputField(e){const t=formEngineFormElement.querySelector(selector`[name="${e}"]`),a=formEngineFormElement.querySelector(selector`[data-formengine-input-name="${e}"]`);if(void 0!==t.dataset.config){const e=JSON.parse(t.dataset.config),n=FormEngineValidation.formatByEvals(e,t.value);n.length&&(a.value=n)}new RegularEvent("change",(()=>{FormEngineValidation.updateInputField(a.dataset.formengineInputName)})).bindTo(a),a.dataset.formengineInputInitialized="true"}static registerCustomEvaluation(e,t){customEvaluations.has(e)||customEvaluations.set(e,t)}static formatByEvals(e,t){if(void 0!==e.evalList){const a=Utility.trimExplode(",",e.evalList);for(const e of a)t=FormEngineValidation.formatValue(e,t)}return t}static formatValue(e,t){switch(e){case"date":case"datetime":case"time":case"timesec":if(""===t||"0"===t)return"";const e=DateTime.fromISO(String(t),{zone:"utc"});if(!e.isValid)throw new Error("Invalid ISO8601 DateTime string: "+t);return e.toISO({suppressMilliseconds:!0});case"password":return t?FormEngineValidation.passwordDummy:"";default:return t.toString()}}static updateInputField(e){const t=formEngineFormElement.querySelector(selector`[name="${e}"]`),a=formEngineFormElement.querySelector(selector`[data-formengine-input-name="${e}"]`);if(void 0!==t.dataset.config){const e=JSON.parse(t.dataset.config),n=FormEngineValidation.processByEvals(e,a.value),i=FormEngineValidation.formatByEvals(e,n);t.value!==n&&(t.disabled&&t.dataset.enableOnModification&&(t.disabled=!1),t.value=n,t.dispatchEvent(new Event("change"))),a.value!==i&&(a.value=i)}}static validateField(e,t){if(e instanceof $&&(console.warn("Passing a jQuery element to FormEngineValidation.validateField() is deprecated and will be removed in TYPO3 v14."),console.trace(),e=e.get(0)),!(e instanceof HTMLElement))return t;if(t=t||e.value||"",void 0===e.dataset.formengineValidationRules)return t;const a=JSON.parse(e.dataset.formengineValidationRules);let n=!1,i=0;const r=t;let o,l,s;Array.isArray(t)||(t=t.trimStart());for(const r of a){if(n)break;switch(r.type){case"required":""===t&&(n=!0,e.classList.add(FormEngineValidation.errorClass),e.closest(FormEngineValidation.markerSelector)?.querySelector(FormEngineValidation.labelSelector)?.classList.add(FormEngineValidation.errorClass));break;case"range":if(""!==t){if((r.minItems||r.maxItems)&&(o=formEngineFormElement.querySelector(selector`[name="${e.dataset.relatedfieldname}"]`),i=null!==o?Utility.trimExplode(",",o.value).length:parseInt(e.value,10),void 0!==r.minItems&&(l=1*r.minItems,!isNaN(l)&&is&&(n=!0))),void 0!==r.lower)if("datetimepicker"===e.dataset.inputType){const e=DateTime.fromISO(t,{zone:"utc"}),a=DateTime.fromISO(r.lower,{zone:"utc"});(!e.isValid||ea.plus(1e3*(59-a.second)))&&(n=!0)}else{const e=1*r.upper;!isNaN(e)&&parseInt(t,10)>e&&(n=!0)}}break;case"select":case"category":(r.minItems||r.maxItems)&&(o=formEngineFormElement.querySelector(selector`[name="${e.dataset.relatedfieldname}"]`),i=null!==o?Utility.trimExplode(",",o.value).length:e instanceof HTMLSelectElement?e.querySelectorAll("option:checked").length:e.querySelectorAll("input[value]:checked").length,void 0!==r.minItems&&(l=1*r.minItems,!isNaN(l)&&is&&(n=!0)));break;case"group":case"folder":case"inline":(r.minItems||r.maxItems)&&(i=Utility.trimExplode(",",e.value).length,void 0!==r.minItems&&(l=1*r.minItems,!isNaN(l)&&is&&(n=!0)));break;case"min":(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&e.value.length>0&&e.value.length="a"&&a<="z"||a>="A"&&a<="Z",l=a>="0"&&a<="9";switch(e){case"alphanum":i=!1;break;case"alpha":l=!1,i=!1;break;case"num":o=!1,i=!1}(o||l||i)&&(n+=a)}n!==t&&(o=n);break;case"is_in":if(a.is_in){i=""+t,a.is_in=a.is_in.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");const e=new RegExp("[^"+a.is_in+"]+","g");n=i.replace(e,"")}else n=i;o=n;break;case"nospace":o=(""+t).replace(/ /g,"");break;case"md5":""!==t&&(o=Md5.hash(t));break;case"upper":o=t.toUpperCase();break;case"lower":o=t.toLowerCase();break;case"integer":""!==t&&(o=FormEngineValidation.parseInt(t).toString());break;case"decimal":""!==t&&(o=FormEngineValidation.parseDouble(t));break;case"trim":o=String(t).trim();break;case"time":case"timesec":if(""!==t){o=DateTime.fromISO(t,{zone:"utc"}).set({year:1970,month:1,day:1}).toISO({suppressMilliseconds:!0})}break;case"year":if(""!==t){let e=parseInt(t,10);isNaN(e)&&(e=(new Date).getUTCFullYear()),o=e.toString(10)}break;case"null":case"password":break;default:customEvaluations.has(e)?o=customEvaluations.get(e).call(null,t):"object"==typeof TBE_EDITOR&&void 0!==TBE_EDITOR.customEvalFunctions&&"function"==typeof TBE_EDITOR.customEvalFunctions[e]&&(o=TBE_EDITOR.customEvalFunctions[e](t))}return o}static validate(e){(void 0===e||e instanceof Document)&&formEngineFormElement.querySelectorAll(FormEngineValidation.markerSelector+", .t3js-tabmenu-item").forEach((e=>{e.classList.remove(FormEngineValidation.validationErrorClass)}));const t=e||document;for(const e of t.querySelectorAll(FormEngineValidation.rulesSelector))if(null===e.closest(".t3js-flex-section-deleted, .t3js-inline-record-deleted, .t3js-file-reference-deleted")){let t=!1;const a=e.value,n=FormEngineValidation.validateField(e,a);if(Array.isArray(n)&&Array.isArray(a)){if(n.length!==a.length)t=!0;else for(let e=0;e{t&&(t=null===e.querySelector(".has-error"));const a=e.id;formEngineFormElement.querySelector('[data-bs-target="#'+a+'"]').closest(".t3js-tabmenu-item").classList.toggle(FormEngineValidation.validationErrorClass,!t)}))}static suspend(){validationSuspended=!0}static resume(){validationSuspended=!1}static registerSubmitCallback(){new SubmitInterceptor(formEngineFormElement).addPreSubmitCallback((()=>{if(validationSuspended||null===document.querySelector("."+FormEngineValidation.errorClass))return!0;const e=Modal.confirm(TYPO3.lang.alert||"Alert",TYPO3.lang["FormEngine.fieldsMissing"],Severity.error,[{text:TYPO3.lang["button.ok"]||"OK",active:!0,btnClass:"btn-default",name:"ok"}]);return e.addEventListener("button.clicked",(()=>e.hideModal())),!1}))}}FormEngineValidation.rulesSelector="[data-formengine-validation-rules]",FormEngineValidation.inputSelector="[data-formengine-input-params]",FormEngineValidation.markerSelector=".t3js-formengine-validation-marker",FormEngineValidation.labelSelector=".t3js-formengine-label",FormEngineValidation.errorClass="has-error",FormEngineValidation.validationErrorClass="has-validation-error",FormEngineValidation.passwordDummy="********";export default FormEngineValidation; \ No newline at end of file +import $ from"jquery";import{DateTime}from"luxon";import Md5 from"@typo3/backend/hashing/md5.js";import Modal from"@typo3/backend/modal.js";import Severity from"@typo3/backend/severity.js";import Utility from"@typo3/backend/utility.js";import RegularEvent from"@typo3/core/event/regular-event.js";import DomHelper from"@typo3/backend/utility/dom-helper.js";import{selector}from"@typo3/core/literals.js";import SubmitInterceptor from"@typo3/backend/form/submit-interceptor.js";import{FormEngineReview}from"@typo3/backend/form-engine-review.js";let formEngineFormElement,validationSuspended=!1;const customEvaluations=new Map;class FormEngineValidation{static initialize(e){formEngineFormElement=e,formEngineFormElement.querySelectorAll("."+FormEngineValidation.errorClass).forEach((e=>e.classList.remove(FormEngineValidation.errorClass))),FormEngineValidation.initializeInputFields(),new FormEngineReview(e),new RegularEvent("change",((e,t)=>{FormEngineValidation.validateField(t),FormEngineValidation.markFieldAsChanged(t)})).delegateTo(formEngineFormElement,FormEngineValidation.rulesSelector),FormEngineValidation.registerSubmitCallback(),FormEngineValidation.validate()}static initializeInputFields(){formEngineFormElement.querySelectorAll(FormEngineValidation.inputSelector).forEach((e=>{const t=JSON.parse(e.dataset.formengineInputParams).field,a=formEngineFormElement.querySelector(selector`[name="${t}"]`);"formengineInputInitialized"in e.dataset||(a.dataset.config=e.dataset.formengineInputParams,FormEngineValidation.initializeInputField(t))}))}static initializeInputField(e){const t=formEngineFormElement.querySelector(selector`[name="${e}"]`),a=formEngineFormElement.querySelector(selector`[data-formengine-input-name="${e}"]`);if(void 0!==t.dataset.config){const e=JSON.parse(t.dataset.config),i=FormEngineValidation.formatByEvals(e,t.value);i.length&&(a.value=i)}new RegularEvent("change",(()=>{FormEngineValidation.updateInputField(a.dataset.formengineInputName)})).bindTo(a),a.dataset.formengineInputInitialized="true"}static registerCustomEvaluation(e,t){customEvaluations.has(e)||customEvaluations.set(e,t)}static formatByEvals(e,t){if(void 0!==e.evalList){const a=Utility.trimExplode(",",e.evalList);for(const e of a)t=FormEngineValidation.formatValue(e,t)}return t}static formatValue(e,t){switch(e){case"date":case"datetime":case"time":case"timesec":if(""===t||"0"===t)return"";const e=DateTime.fromISO(String(t),{zone:"utc"});if(!e.isValid)throw new Error("Invalid ISO8601 DateTime string: "+t);return e.toISO({suppressMilliseconds:!0});case"password":return t?FormEngineValidation.passwordDummy:"";default:return t.toString()}}static updateInputField(e){const t=formEngineFormElement.querySelector(selector`[name="${e}"]`),a=formEngineFormElement.querySelector(selector`[data-formengine-input-name="${e}"]`);if(void 0!==t.dataset.config){const e=JSON.parse(t.dataset.config),i=FormEngineValidation.processByEvals(e,a.value),n=FormEngineValidation.formatByEvals(e,i);t.value!==i&&(t.disabled&&t.dataset.enableOnModification&&(t.disabled=!1),t.value=i,t.dispatchEvent(new Event("change"))),a.value!==n&&(a.value=n)}}static validateField(e,t){if(e instanceof $&&(console.warn("Passing a jQuery element to FormEngineValidation.validateField() is deprecated and will be removed in TYPO3 v14."),console.trace(),e=e.get(0)),!(e instanceof HTMLElement))return t;if(t=t||e.value||"",void 0===e.dataset.formengineValidationRules)return t;const a=JSON.parse(e.dataset.formengineValidationRules);let i=!1,n=0;const r=t;let o,l,s;Array.isArray(t)||(t=t.trimStart());for(const r of a){if(i)break;switch(r.type){case"required":""===t&&(i=!0,e.classList.add(FormEngineValidation.errorClass),e.closest(FormEngineValidation.markerSelector)?.querySelector(FormEngineValidation.labelSelector)?.classList.add(FormEngineValidation.errorClass));break;case"range":if(""!==t){if((r.minItems||r.maxItems)&&(o=formEngineFormElement.querySelector(selector`[name="${e.dataset.relatedfieldname}"]`),n=null!==o?Utility.trimExplode(",",o.value).length:parseInt(e.value,10),void 0!==r.minItems&&(l=1*r.minItems,!isNaN(l)&&ns&&(i=!0))),void 0!==r.lower)if("datetimepicker"===e.dataset.inputType){const e=DateTime.fromISO(t,{zone:"utc"}),a=DateTime.fromISO(r.lower,{zone:"utc"});(!e.isValid||ea.plus(1e3*(59-a.second)))&&(i=!0)}else{const e=1*r.upper;!isNaN(e)&&parseInt(t,10)>e&&(i=!0)}}break;case"select":case"category":(r.minItems||r.maxItems)&&(o=formEngineFormElement.querySelector(selector`[name="${e.dataset.relatedfieldname}"]`),n=null!==o?Utility.trimExplode(",",o.value).length:e instanceof HTMLSelectElement?e.querySelectorAll("option:checked").length:e.querySelectorAll("input[value]:checked").length,void 0!==r.minItems&&(l=1*r.minItems,!isNaN(l)&&ns&&(i=!0)));break;case"group":case"folder":case"inline":(r.minItems||r.maxItems)&&(n=Utility.trimExplode(",",e.value).length,void 0!==r.minItems&&(l=1*r.minItems,!isNaN(l)&&ns&&(i=!0)));break;case"min":(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&e.value.length>0&&e.value.length="a"&&a<="z"||a>="A"&&a<="Z",l=a>="0"&&a<="9";switch(e){case"alphanum":n=!1;break;case"alpha":l=!1,n=!1;break;case"num":o=!1,n=!1}(o||l||n)&&(i+=a)}i!==t&&(o=i);break;case"is_in":if(a.is_in){n=""+t,a.is_in=a.is_in.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");const e=new RegExp("[^"+a.is_in+"]+","g");i=n.replace(e,"")}else i=n;o=i;break;case"nospace":o=(""+t).replace(/ /g,"");break;case"md5":""!==t&&(o=Md5.hash(t));break;case"upper":o=t.toUpperCase();break;case"lower":o=t.toLowerCase();break;case"integer":""!==t&&(o=FormEngineValidation.parseInt(t).toString());break;case"decimal":""!==t&&(o=FormEngineValidation.parseDouble(t));break;case"trim":o=String(t).trim();break;case"time":case"timesec":if(""!==t){o=DateTime.fromISO(t,{zone:"utc"}).set({year:1970,month:1,day:1}).toISO({suppressMilliseconds:!0})}break;case"year":if(""!==t){let e=parseInt(t,10);isNaN(e)&&(e=(new Date).getUTCFullYear()),o=e.toString(10)}break;case"null":case"password":break;default:customEvaluations.has(e)?o=customEvaluations.get(e).call(null,t):"object"==typeof TBE_EDITOR&&void 0!==TBE_EDITOR.customEvalFunctions&&"function"==typeof TBE_EDITOR.customEvalFunctions[e]&&(o=TBE_EDITOR.customEvalFunctions[e](t))}return o}static validate(e){(void 0===e||e instanceof Document)&&formEngineFormElement.querySelectorAll(FormEngineValidation.markerSelector+", .t3js-tabmenu-item").forEach((e=>{e.classList.remove(FormEngineValidation.validationErrorClass)}));const t=e||document;for(const e of t.querySelectorAll(FormEngineValidation.rulesSelector))if(null===e.closest(".t3js-flex-section-deleted, .t3js-inline-record-deleted, .t3js-file-reference-deleted")){let t=!1;const a=e.value,i=FormEngineValidation.validateField(e,a);if(Array.isArray(i)&&Array.isArray(a)){if(i.length!==a.length)t=!0;else for(let e=0;e{t&&(t=null===e.querySelector(".has-error"));const a=e.id;formEngineFormElement.querySelector('[data-bs-target="#'+a+'"]').closest(".t3js-tabmenu-item").classList.toggle(FormEngineValidation.validationErrorClass,!t)}))}static suspend(){validationSuspended=!0}static resume(){validationSuspended=!1}static registerSubmitCallback(){new SubmitInterceptor(formEngineFormElement).addPreSubmitCallback((()=>{if(validationSuspended||null===document.querySelector("."+FormEngineValidation.errorClass))return!0;const e=Modal.confirm(TYPO3.lang.alert||"Alert",TYPO3.lang["FormEngine.fieldsMissing"],Severity.error,[{text:TYPO3.lang["button.ok"]||"OK",active:!0,btnClass:"btn-default",name:"ok"}]);return e.addEventListener("button.clicked",(()=>e.hideModal())),!1}))}}FormEngineValidation.rulesSelector="[data-formengine-validation-rules]",FormEngineValidation.inputSelector="[data-formengine-input-params]",FormEngineValidation.markerSelector=".t3js-formengine-validation-marker",FormEngineValidation.labelSelector=".t3js-formengine-label",FormEngineValidation.errorClass="has-error",FormEngineValidation.validationErrorClass="has-validation-error",FormEngineValidation.passwordDummy="********";export default FormEngineValidation; \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/container/files-control-container.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/container/files-control-container.js index 2a730d14..2bf41446 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/container/files-control-container.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/container/files-control-container.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -import{MessageUtility}from"@typo3/backend/utility/message-utility.js";import{AjaxDispatcher}from"@typo3/backend/form-engine/inline-relation/ajax-dispatcher.js";import NProgress from"nprogress";import Sortable from"sortablejs";import FormEngine from"@typo3/backend/form-engine.js";import FormEngineValidation from"@typo3/backend/form-engine-validation.js";import Icons from"@typo3/backend/icons.js";import InfoWindow from"@typo3/backend/info-window.js";import Modal from"@typo3/backend/modal.js";import RegularEvent from"@typo3/core/event/regular-event.js";import Severity from"@typo3/backend/severity.js";import Utility from"@typo3/backend/utility.js";import{selector}from"@typo3/core/literals.js";var Selectors,States,Separators,SortDirections;!function(e){e.toggleSelector='[data-bs-toggle="formengine-file"]',e.controlSectionSelector=".t3js-formengine-file-header-control",e.deleteRecordButtonSelector=".t3js-editform-delete-file-reference",e.enableDisableRecordButtonSelector=".t3js-toggle-visibility-button",e.infoWindowButton='[data-action="infowindow"]',e.synchronizeLocalizeRecordButtonSelector=".t3js-synchronizelocalize-button",e.controlContainer=".t3js-file-controls"}(Selectors||(Selectors={})),function(e){e.new="isNewFileReference",e.visible="panel-visible",e.collapsed="panel-collapsed",e.notLoaded="t3js-not-loaded"}(States||(States={})),function(e){e.structureSeparator="-"}(Separators||(Separators={})),function(e){e.DOWN="down",e.UP="up"}(SortDirections||(SortDirections={}));class FilesControlContainer extends HTMLElement{constructor(){super(...arguments),this.container=null,this.recordsContainer=null,this.ajaxDispatcher=null,this.appearance=null,this.requestQueue={},this.progressQueue={},this.handlePostMessage=e=>{if(!MessageUtility.verifyOrigin(e.origin))throw"Denied message sent by "+e.origin;if("typo3:foreignRelation:insert"===e.data.actionName){if(void 0===e.data.objectGroup)throw"No object group defined for message";if(e.data.objectGroup!==this.container.dataset.objectGroup)return;this.importRecord([e.data.objectGroup,e.data.uid]).then((()=>{if(e.source){const t={actionName:"typo3:foreignRelation:inserted",objectGroup:e.data.objectId,table:e.data.table,uid:e.data.uid};MessageUtility.send(t,e.source)}}))}if("typo3:foreignRelation:delete"===e.data.actionName){if(e.data.objectGroup!==this.container.dataset.objectGroup)return;const t=e.data.directRemoval||!1,o=[e.data.objectGroup,e.data.uid].join("-");this.deleteRecord(o,t)}}}connectedCallback(){const e=this.getAttribute("identifier")||"";this.container=this.querySelector(selector`[id="${e}"]`),null!==this.container&&(this.recordsContainer=this.container.querySelector(selector`[id="${this.container.getAttribute("id")}_records"]`),this.ajaxDispatcher=new AjaxDispatcher(this.container.dataset.objectGroup),this.registerEvents())}registerEvents(){this.registerInfoButton(),this.registerSort(),this.registerEnableDisableButton(),this.registerDeleteButton(),this.registerSynchronizeLocalize(),this.registerToggle(),new RegularEvent("message",this.handlePostMessage).bindTo(window),this.getAppearance().useSortable&&new Sortable(this.recordsContainer,{group:this.recordsContainer.getAttribute("id"),handle:".sortableHandle",onSort:()=>{this.updateSorting()}})}getFileReferenceContainer(e){return this.container.querySelector(selector`[data-object-id="${e}"]`)}getCollapseButton(e){return this.container.querySelector(selector`[aria-controls="${e}_fields"]`)}collapseElement(e,t){const o=this.getCollapseButton(t);e.classList.remove(States.visible),e.classList.add(States.collapsed),o.setAttribute("aria-expanded","false")}expandElement(e,t){const o=this.getCollapseButton(t);e.classList.remove(States.collapsed),e.classList.add(States.visible),o.setAttribute("aria-expanded","true")}isNewRecord(e){return this.getFileReferenceContainer(e).classList.contains(States.new)}updateExpandedCollapsedStateLocally(e,t){const o=this.getFileReferenceContainer(e),i=this.container.querySelectorAll('[name="uc[inlineView]['+o.dataset.topmostParentTable+"]["+o.dataset.topmostParentUid+"]"+o.dataset.fieldName+'"]');i.length&&(i[0].value=t?"1":"0")}registerToggle(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.loadRecordDetails(t.closest(Selectors.toggleSelector).parentElement.dataset.objectId)})).delegateTo(this.container,`${Selectors.toggleSelector} .form-irre-header-cell:not(${Selectors.controlSectionSelector}`)}registerSort(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.changeSortingByButton(t.closest("[data-object-id]").dataset.objectId,t.dataset.direction)})).delegateTo(this.container,Selectors.controlSectionSelector+' [data-action="sort"]')}createRecord(e,t,o=null){let i=this.container.dataset.objectGroup;null!==o&&(i+=Separators.structureSeparator+o),null!==o?(this.getFileReferenceContainer(i).insertAdjacentHTML("afterend",t),this.memorizeAddRecord(e,o)):(this.recordsContainer.insertAdjacentHTML("beforeend",t),this.memorizeAddRecord(e,null))}async importRecord(e,t){return this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("file_reference_create")),e).then((async e=>{this.isBelowMax()&&this.createRecord(e.compilerInput.uid,e.data,void 0!==t?t:null)}))}registerEnableDisableButton(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const o=t.closest("[data-object-id]").dataset.objectId,i=this.getFileReferenceContainer(o),n=selector`data${i.dataset.fieldName}[${t.dataset.hiddenField}]`,r=this.recordsContainer.querySelector('[data-formengine-input-name="'+n+'"'),a=this.recordsContainer.querySelector('[name="'+n+'"');null!==r&&null!==a&&(r.checked=!r.checked,a.value=r.checked?"1":"0",FormEngineValidation.markFieldAsChanged(r));const s="t3-form-field-container-inline-hidden";let l;i.classList.contains(s)?(l="actions-edit-hide",i.classList.remove(s)):(l="actions-edit-unhide",i.classList.add(s)),Icons.getIcon(l,Icons.sizes.small).then((e=>{t.replaceChild(document.createRange().createContextualFragment(e),t.querySelector(".t3js-icon"))}))})).delegateTo(this.container,Selectors.enableDisableRecordButtonSelector)}registerInfoButton(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),InfoWindow.showItem(t.dataset.infoTable,t.dataset.infoUid)})).delegateTo(this.container,Selectors.infoWindowButton)}registerDeleteButton(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const o=TYPO3.lang["label.confirm.delete_record.title"]||"Delete this record?",i=(TYPO3.lang["label.confirm.delete_record.content"]||"Are you sure you want to delete the record '%s'?").replace("%s",t.dataset.recordInfo);Modal.confirm(o,i,Severity.warning,[{text:TYPO3.lang["buttons.confirm.delete_record.no"]||"Cancel",active:!0,btnClass:"btn-default",name:"no",trigger:(e,t)=>t.hideModal()},{text:TYPO3.lang["buttons.confirm.delete_record.yes"]||"Yes, delete this record",btnClass:"btn-warning",name:"yes",trigger:(e,o)=>{this.deleteRecord(t.closest("[data-object-id]").dataset.objectId),o.hideModal()}}])})).delegateTo(this.container,Selectors.deleteRecordButtonSelector)}registerSynchronizeLocalize(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("file_reference_synchronizelocalize")),[this.container.dataset.objectGroup,t.dataset.type]).then((async e=>{this.recordsContainer.insertAdjacentHTML("beforeend",e.data);const t=this.container.dataset.objectGroup+Separators.structureSeparator;for(const o of e.compilerInput.delete)this.deleteRecord(t+o,!0);for(const o of Object.values(e.compilerInput.localize)){if(void 0!==o.remove){const e=this.getFileReferenceContainer(t+o.remove);e.parentElement.removeChild(e)}this.memorizeAddRecord(o.uid,null)}}))})).delegateTo(this.container,Selectors.synchronizeLocalizeRecordButtonSelector)}loadRecordDetails(e){const t=this.recordsContainer.querySelector(selector`[id="${e}_fields"]`),o=this.getFileReferenceContainer(e),i=void 0!==this.requestQueue[e];if(null!==t&&!o.classList.contains(States.notLoaded))this.collapseExpandRecord(e);else{const n=this.getProgress(e,o.dataset.objectIdHash);if(i)this.requestQueue[e].abort(),delete this.requestQueue[e],delete this.progressQueue[e],n.done();else{const i=this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("file_reference_details"));this.ajaxDispatcher.send(i,[e]).then((async i=>{delete this.requestQueue[e],delete this.progressQueue[e],o.classList.remove(States.notLoaded),t.innerHTML=i.data,this.collapseExpandRecord(e),n.done(),FormEngine.reinitialize(),FormEngineValidation.initializeInputFields(),FormEngineValidation.validate(this.container)})),this.requestQueue[e]=i,n.start()}}}collapseExpandRecord(e){const t=this.getFileReferenceContainer(e),o=!0===this.getAppearance().expandSingle,i=t.classList.contains(States.collapsed);let n=[];const r=[];o&&i&&(n=this.collapseAllRecords(t.dataset.objectUid)),t.classList.contains(States.collapsed)?this.expandElement(t,e):this.collapseElement(t,e),this.isNewRecord(e)?this.updateExpandedCollapsedStateLocally(e,i):i?r.push(t.dataset.objectUid):i||n.push(t.dataset.objectUid),this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("file_reference_expandcollapse")),[e,r.join(","),n.join(",")])}memorizeAddRecord(e,t=null){const o=this.getFormFieldForElements();if(null===o)return;let i=Utility.trimExplode(",",o.value);if(t){const o=[];for(let n=0;n-1&&(o.splice(i,1),t.value=o.join(","),FormEngineValidation.markFieldAsChanged(t),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,o)),o}changeSortingByButton(e,t){const o=this.getFileReferenceContainer(e),i=o.dataset.objectUid,n=Array.from(this.recordsContainer.children).map((e=>e.dataset.objectUid)),r=n.indexOf(i);let a=!1;if(t===SortDirections.UP&&r>0?(n[r]=n[r-1],n[r-1]=i,a=!0):t===SortDirections.DOWN&&re.dataset.objectUid));e.value=t.join(","),FormEngineValidation.markFieldAsChanged(e),document.dispatchEvent(new Event("formengine:files:sorting-changed")),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,t)}deleteRecord(e,t=!1){const o=this.getFileReferenceContainer(e),i=o.dataset.objectUid;if(o.classList.add("t3js-file-reference-deleted"),!this.isNewRecord(e)&&!t){const e=this.container.querySelector(selector`[name="cmd${o.dataset.fieldName}[delete]"]`);e.removeAttribute("disabled"),o.parentElement.insertAdjacentElement("afterbegin",e)}new RegularEvent("transitionend",(()=>{o.remove(),FormEngineValidation.validate(this.container)})).bindTo(o),this.memorizeRemoveRecord(i),o.classList.add("form-irre-object--deleted"),this.isBelowMax()&&this.toggleContainerControls(!0)}toggleContainerControls(e){const t=this.container.querySelector(Selectors.controlContainer);if(null===t)return;t.querySelectorAll("button, a").forEach((t=>{t.style.display=e?null:"none"}))}getProgress(e,t){const o="#"+t+"_header";let i;return void 0!==this.progressQueue[e]?i=this.progressQueue[e]:(i=NProgress,i.configure({parent:o,showSpinner:!1}),this.progressQueue[e]=i),i}collapseAllRecords(e){const t=this.getFormFieldForElements(),o=[];if(null!==t){const i=Utility.trimExplode(",",t.value);for(const t of i){if(t===e)continue;const i=this.container.dataset.objectGroup+Separators.structureSeparator+t,n=this.getFileReferenceContainer(i);n.classList.contains(States.visible)&&(this.collapseElement(n,i),this.isNewRecord(i)?this.updateExpandedCollapsedStateLocally(i,!1):o.push(t))}}return o}getFormFieldForElements(){const e=this.container.querySelectorAll(selector`[name="${this.container.dataset.formField}"]`);return e.length>0?e[0]:null}redrawSortingButtons(e,t=[]){if(0===t.length){const e=this.getFormFieldForElements();null!==e&&(t=Utility.trimExplode(",",e.value))}0!==t.length&&t.forEach(((o,i)=>{const n=this.getFileReferenceContainer(e+Separators.structureSeparator+o),r=this.container.querySelector('[id="'+n.dataset.objectIdHash+'_header"]'),a=r.querySelector('[data-action="sort"][data-direction="'+SortDirections.UP+'"]');if(null!==a){let e="actions-move-up";0===i?(a.classList.add("disabled"),e="empty-empty"):a.classList.remove("disabled"),Icons.getIcon(e,Icons.sizes.small).then((e=>{a.replaceChild(document.createRange().createContextualFragment(e),a.querySelector(".t3js-icon"))}))}const s=r.querySelector('[data-action="sort"][data-direction="'+SortDirections.DOWN+'"]');if(null!==s){let e="actions-move-down";i===t.length-1?(s.classList.add("disabled"),e="empty-empty"):s.classList.remove("disabled"),Icons.getIcon(e,Icons.sizes.small).then((e=>{s.replaceChild(document.createRange().createContextualFragment(e),s.querySelector(".t3js-icon"))}))}}))}isBelowMax(){const e=this.getFormFieldForElements();if(null===e)return!0;if(void 0!==TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup]){if(Utility.trimExplode(",",e.value).length>=TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup].max)return!1}return!0}getAppearance(){if(null===this.appearance&&(this.appearance={},"string"==typeof this.container.dataset.appearance))try{this.appearance=JSON.parse(this.container.dataset.appearance)}catch(e){console.error(e)}return this.appearance}}window.customElements.define("typo3-formengine-container-files",FilesControlContainer); \ No newline at end of file +import{MessageUtility}from"@typo3/backend/utility/message-utility.js";import{AjaxDispatcher}from"@typo3/backend/form-engine/inline-relation/ajax-dispatcher.js";import NProgress from"nprogress";import Sortable from"sortablejs";import FormEngine from"@typo3/backend/form-engine.js";import FormEngineValidation from"@typo3/backend/form-engine-validation.js";import Icons from"@typo3/backend/icons.js";import InfoWindow from"@typo3/backend/info-window.js";import Modal from"@typo3/backend/modal.js";import RegularEvent from"@typo3/core/event/regular-event.js";import Severity from"@typo3/backend/severity.js";import Utility from"@typo3/backend/utility.js";import{selector}from"@typo3/core/literals.js";var Selectors,States,Separators,SortDirections;!function(e){e.toggleSelector='[data-bs-toggle="formengine-file"]',e.controlSectionSelector=".t3js-formengine-file-header-control",e.deleteRecordButtonSelector=".t3js-editform-delete-file-reference",e.enableDisableRecordButtonSelector=".t3js-toggle-visibility-button",e.infoWindowButton='[data-action="infowindow"]',e.synchronizeLocalizeRecordButtonSelector=".t3js-synchronizelocalize-button",e.controlContainer=".t3js-file-controls"}(Selectors||(Selectors={})),function(e){e.new="isNewFileReference",e.visible="panel-visible",e.collapsed="panel-collapsed",e.notLoaded="t3js-not-loaded"}(States||(States={})),function(e){e.structureSeparator="-"}(Separators||(Separators={})),function(e){e.DOWN="down",e.UP="up"}(SortDirections||(SortDirections={}));class FilesControlContainer extends HTMLElement{constructor(){super(...arguments),this.container=null,this.recordsContainer=null,this.ajaxDispatcher=null,this.appearance=null,this.requestQueue={},this.progressQueue={},this.handlePostMessage=e=>{if(!MessageUtility.verifyOrigin(e.origin))throw"Denied message sent by "+e.origin;if("typo3:foreignRelation:insert"===e.data.actionName){if(void 0===e.data.objectGroup)throw"No object group defined for message";if(e.data.objectGroup!==this.container.dataset.objectGroup)return;this.importRecord([e.data.objectGroup,e.data.uid]).then((()=>{if(e.source){const t={actionName:"typo3:foreignRelation:inserted",objectGroup:e.data.objectId,table:e.data.table,uid:e.data.uid};MessageUtility.send(t,e.source)}}))}if("typo3:foreignRelation:delete"===e.data.actionName){if(e.data.objectGroup!==this.container.dataset.objectGroup)return;const t=e.data.directRemoval||!1,o=[e.data.objectGroup,e.data.uid].join("-");this.deleteRecord(o,t)}}}connectedCallback(){const e=this.getAttribute("identifier")||"";this.container=this.querySelector(selector`[id="${e}"]`),null!==this.container&&(this.recordsContainer=this.container.querySelector(selector`[id="${this.container.getAttribute("id")}_records"]`),this.ajaxDispatcher=new AjaxDispatcher(this.container.dataset.objectGroup),this.registerEvents())}registerEvents(){this.registerInfoButton(),this.registerSort(),this.registerEnableDisableButton(),this.registerDeleteButton(),this.registerSynchronizeLocalize(),this.registerToggle(),new RegularEvent("message",this.handlePostMessage).bindTo(window),this.getAppearance().useSortable&&new Sortable(this.recordsContainer,{group:this.recordsContainer.getAttribute("id"),handle:".sortableHandle",onSort:()=>{this.updateSorting()}})}getFileReferenceContainer(e){return this.container.querySelector(selector`[data-object-id="${e}"]`)}getCollapseButton(e){return this.container.querySelector(selector`[aria-controls="${e}_fields"]`)}collapseElement(e,t){const o=this.getCollapseButton(t);e.classList.remove(States.visible),e.classList.add(States.collapsed),o.setAttribute("aria-expanded","false")}expandElement(e,t){const o=this.getCollapseButton(t);e.classList.remove(States.collapsed),e.classList.add(States.visible),o.setAttribute("aria-expanded","true")}isNewRecord(e){return this.getFileReferenceContainer(e).classList.contains(States.new)}updateExpandedCollapsedStateLocally(e,t){const o=this.getFileReferenceContainer(e),i=this.container.querySelectorAll('[name="uc[inlineView]['+o.dataset.topmostParentTable+"]["+o.dataset.topmostParentUid+"]"+o.dataset.fieldName+'"]');i.length&&(i[0].value=t?"1":"0")}registerToggle(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.loadRecordDetails(t.closest(Selectors.toggleSelector).parentElement.dataset.objectId)})).delegateTo(this.container,`${Selectors.toggleSelector} .form-irre-header-cell:not(${Selectors.controlSectionSelector}`)}registerSort(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.changeSortingByButton(t.closest("[data-object-id]").dataset.objectId,t.dataset.direction)})).delegateTo(this.container,Selectors.controlSectionSelector+' [data-action="sort"]')}createRecord(e,t,o=null){let i=this.container.dataset.objectGroup;null!==o&&(i+=Separators.structureSeparator+o),null!==o?(this.getFileReferenceContainer(i).insertAdjacentHTML("afterend",t),this.memorizeAddRecord(e,o)):(this.recordsContainer.insertAdjacentHTML("beforeend",t),this.memorizeAddRecord(e,null))}async importRecord(e,t){return this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("file_reference_create")),e).then((async e=>{this.isBelowMax()&&this.createRecord(e.compilerInput.uid,e.data,void 0!==t?t:null)}))}registerEnableDisableButton(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const o=t.closest("[data-object-id]").dataset.objectId,i=this.getFileReferenceContainer(o),n=selector`data${i.dataset.fieldName}[${t.dataset.hiddenField}]`,r=this.recordsContainer.querySelector('[data-formengine-input-name="'+n+'"'),a=this.recordsContainer.querySelector('[name="'+n+'"');null!==r&&null!==a&&(r.checked=!r.checked,a.value=r.checked?"1":"0",FormEngineValidation.markFieldAsChanged(r));const s="t3-form-field-container-inline-hidden";let l;i.classList.contains(s)?(l="actions-edit-hide",i.classList.remove(s)):(l="actions-edit-unhide",i.classList.add(s)),Icons.getIcon(l,Icons.sizes.small).then((e=>{t.replaceChild(document.createRange().createContextualFragment(e),t.querySelector(".t3js-icon"))}))})).delegateTo(this.container,Selectors.enableDisableRecordButtonSelector)}registerInfoButton(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),InfoWindow.showItem(t.dataset.infoTable,t.dataset.infoUid)})).delegateTo(this.container,Selectors.infoWindowButton)}registerDeleteButton(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const o=TYPO3.lang["label.confirm.delete_record.title"]||"Delete this record?",i=(TYPO3.lang["label.confirm.delete_record.content"]||"Are you sure you want to delete the record '%s'?").replace("%s",t.dataset.recordInfo);Modal.confirm(o,i,Severity.warning,[{text:TYPO3.lang["buttons.confirm.delete_record.no"]||"Cancel",active:!0,btnClass:"btn-default",name:"no",trigger:(e,t)=>t.hideModal()},{text:TYPO3.lang["buttons.confirm.delete_record.yes"]||"Yes, delete this record",btnClass:"btn-warning",name:"yes",trigger:(e,o)=>{this.deleteRecord(t.closest("[data-object-id]").dataset.objectId),o.hideModal()}}])})).delegateTo(this.container,Selectors.deleteRecordButtonSelector)}registerSynchronizeLocalize(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("file_reference_synchronizelocalize")),[this.container.dataset.objectGroup,t.dataset.type]).then((async e=>{this.recordsContainer.insertAdjacentHTML("beforeend",e.data);const t=this.container.dataset.objectGroup+Separators.structureSeparator;for(const o of e.compilerInput.delete)this.deleteRecord(t+o,!0);for(const o of Object.values(e.compilerInput.localize)){if(void 0!==o.remove){const e=this.getFileReferenceContainer(t+o.remove);e.parentElement.removeChild(e)}this.memorizeAddRecord(o.uid,null)}}))})).delegateTo(this.container,Selectors.synchronizeLocalizeRecordButtonSelector)}loadRecordDetails(e){const t=this.recordsContainer.querySelector(selector`[id="${e}_fields"]`),o=this.getFileReferenceContainer(e),i=void 0!==this.requestQueue[e];if(null!==t&&!o.classList.contains(States.notLoaded))this.collapseExpandRecord(e);else{const n=this.getProgress(e,o.dataset.objectIdHash);if(i)this.requestQueue[e].abort(),delete this.requestQueue[e],delete this.progressQueue[e],n.done();else{const i=this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("file_reference_details"));this.ajaxDispatcher.send(i,[e]).then((async i=>{delete this.requestQueue[e],delete this.progressQueue[e],o.classList.remove(States.notLoaded),t.innerHTML=i.data,this.collapseExpandRecord(e),n.done(),FormEngine.reinitialize(),FormEngineValidation.initializeInputFields(),FormEngineValidation.validate(this.container)})),this.requestQueue[e]=i,n.start()}}}collapseExpandRecord(e){const t=this.getFileReferenceContainer(e),o=!0===this.getAppearance().expandSingle,i=t.classList.contains(States.collapsed);let n=[];const r=[];o&&i&&(n=this.collapseAllRecords(t.dataset.objectUid)),t.classList.contains(States.collapsed)?this.expandElement(t,e):this.collapseElement(t,e),this.isNewRecord(e)?this.updateExpandedCollapsedStateLocally(e,i):i?r.push(t.dataset.objectUid):i||n.push(t.dataset.objectUid),this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("file_reference_expandcollapse")),[e,r.join(","),n.join(",")])}memorizeAddRecord(e,t=null){const o=this.getFormFieldForElements();if(null===o)return;let i=Utility.trimExplode(",",o.value);if(t){const o=[];for(let n=0;n-1&&(o.splice(i,1),t.value=o.join(","),FormEngineValidation.markFieldAsChanged(t),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,o)),o}changeSortingByButton(e,t){const o=this.getFileReferenceContainer(e),i=o.dataset.objectUid,n=Array.from(this.recordsContainer.children).map((e=>e.dataset.objectUid)),r=n.indexOf(i);let a=!1;if(t===SortDirections.UP&&r>0?(n[r]=n[r-1],n[r-1]=i,a=!0):t===SortDirections.DOWN&&re.dataset.objectUid));e.value=t.join(","),FormEngineValidation.markFieldAsChanged(e),document.dispatchEvent(new Event("formengine:files:sorting-changed")),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,t)}deleteRecord(e,t=!1){const o=this.getFileReferenceContainer(e),i=o.dataset.objectUid;if(o.classList.add("t3js-file-reference-deleted"),!this.isNewRecord(e)&&!t){const e=this.container.querySelector(selector`[name="cmd${o.dataset.fieldName}[delete]"]`);e.removeAttribute("disabled"),o.parentElement.insertAdjacentElement("afterbegin",e)}new RegularEvent("transitionend",(()=>{o.remove(),FormEngineValidation.validate(this.container)})).bindTo(o),this.memorizeRemoveRecord(i),o.classList.add("form-irre-object--deleted"),this.isBelowMax()&&this.toggleContainerControls(!0)}toggleContainerControls(e){this.container.querySelectorAll(":scope > "+Selectors.controlContainer).forEach((t=>{t.querySelectorAll("button, a").forEach((t=>{t.style.display=e?null:"none"}))}))}getProgress(e,t){const o="#"+t+"_header";let i;return void 0!==this.progressQueue[e]?i=this.progressQueue[e]:(i=NProgress,i.configure({parent:o,showSpinner:!1}),this.progressQueue[e]=i),i}collapseAllRecords(e){const t=this.getFormFieldForElements(),o=[];if(null!==t){const i=Utility.trimExplode(",",t.value);for(const t of i){if(t===e)continue;const i=this.container.dataset.objectGroup+Separators.structureSeparator+t,n=this.getFileReferenceContainer(i);n.classList.contains(States.visible)&&(this.collapseElement(n,i),this.isNewRecord(i)?this.updateExpandedCollapsedStateLocally(i,!1):o.push(t))}}return o}getFormFieldForElements(){const e=this.container.querySelectorAll(selector`[name="${this.container.dataset.formField}"]`);return e.length>0?e[0]:null}redrawSortingButtons(e,t=[]){if(0===t.length){const e=this.getFormFieldForElements();null!==e&&(t=Utility.trimExplode(",",e.value))}0!==t.length&&t.forEach(((o,i)=>{const n=this.getFileReferenceContainer(e+Separators.structureSeparator+o),r=this.container.querySelector('[id="'+n.dataset.objectIdHash+'_header"]'),a=r.querySelector('[data-action="sort"][data-direction="'+SortDirections.UP+'"]');if(null!==a){let e="actions-move-up";0===i?(a.classList.add("disabled"),e="empty-empty"):a.classList.remove("disabled"),Icons.getIcon(e,Icons.sizes.small).then((e=>{a.replaceChild(document.createRange().createContextualFragment(e),a.querySelector(".t3js-icon"))}))}const s=r.querySelector('[data-action="sort"][data-direction="'+SortDirections.DOWN+'"]');if(null!==s){let e="actions-move-down";i===t.length-1?(s.classList.add("disabled"),e="empty-empty"):s.classList.remove("disabled"),Icons.getIcon(e,Icons.sizes.small).then((e=>{s.replaceChild(document.createRange().createContextualFragment(e),s.querySelector(".t3js-icon"))}))}}))}isBelowMax(){const e=this.getFormFieldForElements();if(null===e)return!0;if(void 0!==TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup]){if(Utility.trimExplode(",",e.value).length>=TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup].max)return!1}return!0}getAppearance(){if(null===this.appearance&&(this.appearance={},"string"==typeof this.container.dataset.appearance))try{this.appearance=JSON.parse(this.container.dataset.appearance)}catch(e){console.error(e)}return this.appearance}}window.customElements.define("typo3-formengine-container-files",FilesControlContainer); \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/container/inline-control-container.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/container/inline-control-container.js index 883ac4f2..d5eb7e6f 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/container/inline-control-container.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/container/inline-control-container.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -import{MessageUtility}from"@typo3/backend/utility/message-utility.js";import{AjaxDispatcher}from"@typo3/backend/form-engine/inline-relation/ajax-dispatcher.js";import DocumentService from"@typo3/core/document-service.js";import NProgress from"nprogress";import Sortable from"sortablejs";import FormEngine from"@typo3/backend/form-engine.js";import FormEngineValidation from"@typo3/backend/form-engine-validation.js";import Icons from"@typo3/backend/icons.js";import InfoWindow from"@typo3/backend/info-window.js";import Modal from"@typo3/backend/modal.js";import Notification from"@typo3/backend/notification.js";import RegularEvent from"@typo3/core/event/regular-event.js";import Severity from"@typo3/backend/severity.js";import Utility from"@typo3/backend/utility.js";import{selector}from"@typo3/core/literals.js";var Selectors,States,Separators,SortDirections;!function(e){e.toggleSelector='[data-bs-toggle="formengine-inline"]',e.controlSectionSelector=".t3js-formengine-irre-control",e.createNewRecordButtonSelector=".t3js-create-new-button",e.createNewRecordBySelectorSelector=".t3js-create-new-selector",e.deleteRecordButtonSelector=".t3js-editform-delete-inline-record",e.enableDisableRecordButtonSelector=".t3js-toggle-visibility-button",e.infoWindowButton='[data-action="infowindow"]',e.synchronizeLocalizeRecordButtonSelector=".t3js-synchronizelocalize-button",e.uniqueValueSelectors="select.t3js-inline-unique",e.revertUniqueness=".t3js-revert-unique",e.controlContainer=".t3js-inline-controls",e.controlTopOuterContainer=".t3js-inline-controls-top-outer-container"}(Selectors||(Selectors={})),function(e){e.new="inlineIsNewRecord",e.visible="panel-visible",e.collapsed="panel-collapsed",e.notLoaded="t3js-not-loaded"}(States||(States={})),function(e){e.structureSeparator="-"}(Separators||(Separators={})),function(e){e.DOWN="down",e.UP="up"}(SortDirections||(SortDirections={}));class InlineControlContainer{constructor(e){this.container=null,this.ajaxDispatcher=null,this.appearance=null,this.requestQueue={},this.progressQueue={},this.noTitleString=TYPO3.lang?TYPO3.lang["FormEngine.noRecordTitle"]:"[No title]",this.handlePostMessage=e=>{if(!MessageUtility.verifyOrigin(e.origin))throw"Denied message sent by "+e.origin;if("typo3:foreignRelation:insert"===e.data.actionName){if(void 0===e.data.objectGroup)throw"No object group defined for message";if(e.data.objectGroup!==this.container.dataset.objectGroup)return;if(this.isUniqueElementUsed(parseInt(e.data.uid,10),e.data.table))return void Notification.error("There is already a relation to the selected element");this.importRecord([e.data.objectGroup,e.data.uid]).then((()=>{if(e.source){const t={actionName:"typo3:foreignRelation:inserted",objectGroup:e.data.objectId,table:e.data.table,uid:e.data.uid};MessageUtility.send(t,e.source)}}))}if("typo3:foreignRelation:delete"===e.data.actionName){if(e.data.objectGroup!==this.container.dataset.objectGroup)return;const t=e.data.directRemoval||!1,n=[e.data.objectGroup,e.data.uid].join("-");this.deleteRecord(n,t)}},DocumentService.ready().then((t=>{this.container=t.getElementById(e),this.ajaxDispatcher=new AjaxDispatcher(this.container.dataset.objectGroup),this.registerEvents()}))}static getInlineRecordContainer(e){return document.querySelector(selector`[data-object-id="${e}"]`)}static getCollapseButton(e){return document.querySelector(selector`[aria-controls="${e}_fields"]`)}static toggleElement(e){const t=InlineControlContainer.getInlineRecordContainer(e);t.classList.contains(States.collapsed)?InlineControlContainer.expandElement(t,e):InlineControlContainer.collapseElement(t,e)}static collapseElement(e,t){const n=InlineControlContainer.getCollapseButton(t);e.classList.remove(States.visible),e.classList.add(States.collapsed),n.setAttribute("aria-expanded","false")}static expandElement(e,t){const n=InlineControlContainer.getCollapseButton(t);e.classList.remove(States.collapsed),e.classList.add(States.visible),n.setAttribute("aria-expanded","true")}static isNewRecord(e){return InlineControlContainer.getInlineRecordContainer(e).classList.contains(States.new)}static updateExpandedCollapsedStateLocally(e,t){const n=InlineControlContainer.getInlineRecordContainer(e),o="uc[inlineView]["+n.dataset.topmostParentTable+"]["+n.dataset.topmostParentUid+"]"+n.dataset.fieldName,i=document.getElementsByName(o);i.length&&(i[0].value=t?"1":"0")}static getValuesFromHashMap(e){return Object.keys(e).map((t=>e[t]))}static selectOptionValueExists(e,t){return null!==e.querySelector(selector`option[value="${t}"]`)}static removeSelectOptionByValue(e,t){const n=e.querySelector(selector`option[value="${t}"]`);null!==n&&n.remove()}static reAddSelectOption(e,t,n){if(InlineControlContainer.selectOptionValueExists(e,t))return;const o=e.querySelectorAll("option");let i=-1;for(const e of Object.keys(n.possible)){if(e===t)break;for(let t=0;t{this.updateSorting()}})}}registerToggle(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.loadRecordDetails(t.closest(Selectors.toggleSelector).parentElement.dataset.objectId)})).delegateTo(this.container,`${Selectors.toggleSelector} .form-irre-header-cell:not(${Selectors.controlSectionSelector}`)}registerSort(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.changeSortingByButton(t.closest("[data-object-id]").dataset.objectId,t.dataset.direction)})).delegateTo(this.container,Selectors.controlSectionSelector+' [data-action="sort"]')}registerCreateRecordButton(){new RegularEvent("click",((e,t)=>{if(e.preventDefault(),e.stopImmediatePropagation(),this.isBelowMax()){let e=this.container.dataset.objectGroup;void 0!==t.dataset.recordUid&&(e+=Separators.structureSeparator+t.dataset.recordUid),this.importRecord([e,this.container.querySelector(Selectors.createNewRecordBySelectorSelector)?.value],t.dataset.recordUid??null)}})).delegateTo(this.container,Selectors.createNewRecordButtonSelector)}registerCreateRecordBySelector(){new RegularEvent("change",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const n=t,o=n.options[n.selectedIndex].getAttribute("value");this.importRecord([this.container.dataset.objectGroup,o])})).delegateTo(this.container,Selectors.createNewRecordBySelectorSelector)}createRecord(e,t,n=null,o=null){let i=this.container.dataset.objectGroup;null!==n&&(i+=Separators.structureSeparator+n),null!==n?(InlineControlContainer.getInlineRecordContainer(i).insertAdjacentHTML("afterend",t),this.memorizeAddRecord(e,n,o)):(document.getElementById(this.container.getAttribute("id")+"_records").insertAdjacentHTML("beforeend",t),this.memorizeAddRecord(e,null,o))}async importRecord(e,t){return this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_create")),e).then((async e=>{this.isBelowMax()&&this.createRecord(e.compilerInput.uid,e.data,void 0!==t?t:null,void 0!==e.compilerInput.childChildUid?e.compilerInput.childChildUid:null)}))}registerEnableDisableButton(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const n=t.closest("[data-object-id]").dataset.objectId,o=InlineControlContainer.getInlineRecordContainer(n),i=selector`data${o.dataset.fieldName}[${t.dataset.hiddenField}]`,r=document.querySelector('[data-formengine-input-name="'+i+'"'),a=document.querySelector('[name="'+i+'"');null!==r&&null!==a&&(r.checked=!r.checked,a.value=r.checked?"1":"0",FormEngineValidation.markFieldAsChanged(r));const s="t3-form-field-container-inline-hidden";let l;o.classList.contains(s)?(l="actions-edit-hide",o.classList.remove(s)):(l="actions-edit-unhide",o.classList.add(s)),Icons.getIcon(l,Icons.sizes.small).then((e=>{t.replaceChild(document.createRange().createContextualFragment(e),t.querySelector(".t3js-icon"))}))})).delegateTo(this.container,Selectors.enableDisableRecordButtonSelector)}registerInfoButton(){new RegularEvent("click",(function(e){e.preventDefault(),e.stopImmediatePropagation(),InfoWindow.showItem(this.dataset.infoTable,this.dataset.infoUid)})).delegateTo(this.container,Selectors.infoWindowButton)}registerDeleteButton(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const n=TYPO3.lang["label.confirm.delete_record.title"]||"Delete this record?",o=(TYPO3.lang["label.confirm.delete_record.content"]||"Are you sure you want to delete the record '%s'?").replace("%s",t.dataset.recordInfo),i=Modal.confirm(n,o,Severity.warning,[{text:TYPO3.lang["buttons.confirm.delete_record.no"]||"Cancel",active:!0,btnClass:"btn-default",name:"no"},{text:TYPO3.lang["buttons.confirm.delete_record.yes"]||"Yes, delete this record",btnClass:"btn-warning",name:"yes"}]);i.addEventListener("button.clicked",(e=>{if("yes"===e.target.name){const e=t.closest("[data-object-id]").dataset.objectId;this.deleteRecord(e)}i.hideModal()}))})).delegateTo(this.container,Selectors.deleteRecordButtonSelector)}registerSynchronizeLocalize(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_synchronizelocalize")),[this.container.dataset.objectGroup,t.dataset.type]).then((async e=>{document.getElementById(this.container.getAttribute("id")+"_records").insertAdjacentHTML("beforeend",e.data);const t=this.container.dataset.objectGroup+Separators.structureSeparator;for(const n of e.compilerInput.delete)this.deleteRecord(t+n,!0);for(const n of Object.values(e.compilerInput.localize)){if(void 0!==n.remove){const e=InlineControlContainer.getInlineRecordContainer(t+n.remove);e.parentElement.removeChild(e)}this.memorizeAddRecord(n.uid,null,n.selectedValue)}}))})).delegateTo(this.container,Selectors.synchronizeLocalizeRecordButtonSelector)}registerUniqueSelectFieldChanged(){new RegularEvent("change",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const n=t.closest("[data-object-id]");if(null!==n){const e=n.dataset.objectId,o=n.dataset.objectUid;this.handleChangedField(t,e);const i=this.getFormFieldForElements();if(null===i)return;this.updateUnique(t,i,o)}})).delegateTo(this.container,Selectors.uniqueValueSelectors)}registerRevertUniquenessAction(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.revertUnique(t.dataset.uid)})).delegateTo(this.container,Selectors.revertUniqueness)}loadRecordDetails(e){const t=document.getElementById(e+"_fields"),n=InlineControlContainer.getInlineRecordContainer(e),o=void 0!==this.requestQueue[e];if(null!==t&&!n.classList.contains(States.notLoaded))this.collapseExpandRecord(e);else{const i=this.getProgress(e,n.dataset.objectIdHash);if(o)this.requestQueue[e].abort(),delete this.requestQueue[e],delete this.progressQueue[e],i.done();else{const o=this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_details"));this.ajaxDispatcher.send(o,[e]).then((async o=>{if(delete this.requestQueue[e],delete this.progressQueue[e],n.classList.remove(States.notLoaded),t.innerHTML=o.data,this.collapseExpandRecord(e),i.done(),FormEngine.reinitialize(),FormEngineValidation.initializeInputFields(),FormEngineValidation.validate(this.container),this.hasObjectGroupDefinedUniqueConstraints()){const t=InlineControlContainer.getInlineRecordContainer(e);this.removeUsed(t)}})),this.requestQueue[e]=o,i.start()}}}collapseExpandRecord(e){const t=InlineControlContainer.getInlineRecordContainer(e),n=!0===this.getAppearance().expandSingle,o=t.classList.contains(States.collapsed);let i=[];const r=[];n&&o&&(i=this.collapseAllRecords(t.dataset.objectUid)),InlineControlContainer.toggleElement(e),InlineControlContainer.isNewRecord(e)?InlineControlContainer.updateExpandedCollapsedStateLocally(e,o):o?r.push(t.dataset.objectUid):o||i.push(t.dataset.objectUid),this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_expandcollapse")),[e,r.join(","),i.join(",")])}memorizeAddRecord(e,t=null,n=null){const o=this.getFormFieldForElements();if(null===o)return;let i=Utility.trimExplode(",",o.value);if(t){const n=[];for(let o=0;o-1&&(n.splice(o,1),t.value=n.join(","),FormEngineValidation.markFieldAsChanged(t),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,n)),n}changeSortingByButton(e,t){const n=InlineControlContainer.getInlineRecordContainer(e),o=n.dataset.objectUid,i=document.getElementById(this.container.getAttribute("id")+"_records"),r=Array.from(i.children).map((e=>e.dataset.objectUid)),a=r.indexOf(o);let s=!1;if(t===SortDirections.UP&&a>0?(r[a]=r[a-1],r[a-1]=o,s=!0):t===SortDirections.DOWN&&ae.dataset.objectUid));e.value=n.join(","),FormEngineValidation.markFieldAsChanged(e),document.dispatchEvent(new Event("inline:sorting-changed")),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,n)}deleteRecord(e,t=!1){const n=InlineControlContainer.getInlineRecordContainer(e),o=n.dataset.objectUid;if(n.classList.add("t3js-inline-record-deleted"),!InlineControlContainer.isNewRecord(e)&&!t){const e=this.container.querySelector(selector`[name="cmd${n.dataset.fieldName}[delete]"]`);e.removeAttribute("disabled"),n.parentElement.insertAdjacentElement("afterbegin",e)}new RegularEvent("transitionend",(()=>{n.remove(),FormEngineValidation.validate(this.container)})).bindTo(n),this.revertUnique(o),this.memorizeRemoveRecord(o),n.classList.add("form-irre-object--deleted"),this.isBelowMax()&&this.toggleContainerControls(!0)}toggleContainerControls(e){const t=this.container.querySelectorAll(":scope > "+Selectors.controlContainer+", :scope > "+Selectors.controlTopOuterContainer+" "+Selectors.controlContainer);null!==t&&t.forEach((t=>{t.querySelectorAll("button, a").forEach((t=>{t.style.display=e?null:"none"}))}))}getProgress(e,t){const n="#"+t+"_header";let o;return void 0!==this.progressQueue[e]?o=this.progressQueue[e]:(o=NProgress,o.configure({parent:n,showSpinner:!1}),this.progressQueue[e]=o),o}collapseAllRecords(e){const t=this.getFormFieldForElements(),n=[];if(null!==t){const o=Utility.trimExplode(",",t.value);for(const t of o){if(t===e)continue;const o=this.container.dataset.objectGroup+Separators.structureSeparator+t,i=InlineControlContainer.getInlineRecordContainer(o);i.classList.contains(States.visible)&&(InlineControlContainer.collapseElement(i,o),InlineControlContainer.isNewRecord(o)?InlineControlContainer.updateExpandedCollapsedStateLocally(o,!1):n.push(t))}}return n}getFormFieldForElements(){const e=document.getElementsByName(this.container.dataset.formField);return e.length>0?e[0]:null}redrawSortingButtons(e,t=[]){if(0===t.length){const e=this.getFormFieldForElements();null!==e&&(t=Utility.trimExplode(",",e.value))}0!==t.length&&t.forEach(((n,o)=>{const i=InlineControlContainer.getInlineRecordContainer(e+Separators.structureSeparator+n).dataset.objectIdHash+"_header",r=document.getElementById(i),a=r.querySelector(selector`[data-action="sort"][data-direction="${SortDirections.UP}"]`);if(null!==a){let e="actions-move-up";0===o?(a.classList.add("disabled"),e="empty-empty"):a.classList.remove("disabled"),Icons.getIcon(e,Icons.sizes.small).then((e=>{a.replaceChild(document.createRange().createContextualFragment(e),a.querySelector(".t3js-icon"))}))}const s=r.querySelector(selector`[data-action="sort"][data-direction="${SortDirections.DOWN}"]`);if(null!==s){let e="actions-move-down";o===t.length-1?(s.classList.add("disabled"),e="empty-empty"):s.classList.remove("disabled"),Icons.getIcon(e,Icons.sizes.small).then((e=>{s.replaceChild(document.createRange().createContextualFragment(e),s.querySelector(".t3js-icon"))}))}}))}isBelowMax(){const e=this.getFormFieldForElements();if(null===e)return!0;if(void 0!==TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup]){if(Utility.trimExplode(",",e.value).length>=TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup].max)return!1;if(this.hasObjectGroupDefinedUniqueConstraints()){const e=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if(e.used.length>=e.max&&e.max>=0)return!1}}return!0}isUniqueElementUsed(e,t){if(!this.hasObjectGroupDefinedUniqueConstraints())return!1;const n=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],o=InlineControlContainer.getValuesFromHashMap(n.used);if("select"===n.type&&-1!==o.indexOf(e))return!0;if("groupdb"===n.type)for(let n=o.length-1;n>=0;n--)if(o[n].table===t&&o[n].uid===e)return!0;return!1}removeUsed(e){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const t=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if("select"!==t.type)return;const n=e.querySelector('[name="data['+t.table+"]["+e.dataset.objectUid+"]["+t.field+']"]'),o=InlineControlContainer.getValuesFromHashMap(t.used);if(null!==n){const e=n.options[n.selectedIndex].value;for(const t of o)t!==e&&InlineControlContainer.removeSelectOptionByValue(n,t)}}setUnique(e,t){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const n=document.getElementById(this.container.dataset.objectGroup+"_selector"),o=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if("select"===o.type){if(!o.selector||-1!==o.max){const i=this.getFormFieldForElements(),r=this.container.dataset.objectGroup+Separators.structureSeparator+e;let a=InlineControlContainer.getInlineRecordContainer(r).querySelector('[name="data['+o.table+"]["+e+"]["+o.field+']"]');const s=InlineControlContainer.getValuesFromHashMap(o.used);if(null!==n){if(null!==a){for(const e of s)InlineControlContainer.removeSelectOptionByValue(a,e);o.selector||(t=a.options[0].value,a.options[0].selected=!0,this.updateUnique(a,i,e),this.handleChangedField(a,this.container.dataset.objectGroup+"["+e+"]"))}for(const e of s)InlineControlContainer.removeSelectOptionByValue(a,e);void 0!==o.used.length&&(o.used={}),o.used[e]={table:o.elTable,uid:t}}if(null!==i&&InlineControlContainer.selectOptionValueExists(n,t)){const n=Utility.trimExplode(",",i.value);for(const i of n)a=document.querySelector('[name="data['+o.table+"]["+i+"]["+o.field+']"]'),null!==a&&i!==e&&InlineControlContainer.removeSelectOptionByValue(a,t)}}}else"groupdb"===o.type&&(o.used[e]={table:o.elTable,uid:t});"select"===o.selector&&InlineControlContainer.selectOptionValueExists(n,t)&&(InlineControlContainer.removeSelectOptionByValue(n,t),o.used[e]={table:o.elTable,uid:t})}updateUnique(e,t,n){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const o=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],i=o.used[n];if("select"===o.selector){const t=document.getElementById(this.container.dataset.objectGroup+"_selector");InlineControlContainer.removeSelectOptionByValue(t,e.value),void 0!==i&&InlineControlContainer.reAddSelectOption(t,i,o)}if(o.selector&&-1===o.max)return;if(!o||null===t)return;const r=Utility.trimExplode(",",t.value);let a;for(const t of r)a=document.querySelector('[name="data['+o.table+"]["+t+"]["+o.field+']"]'),null!==a&&a!==e&&(InlineControlContainer.removeSelectOptionByValue(a,e.value),void 0!==i&&InlineControlContainer.reAddSelectOption(a,i,o));o.used[n]=e.value}revertUnique(e){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const t=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],n=this.container.dataset.objectGroup+Separators.structureSeparator+e,o=InlineControlContainer.getInlineRecordContainer(n),i=o.querySelector('[name="data['+t.table+"]["+o.dataset.objectUid+"]["+t.field+']"]');if("select"===t.type){let n;if(null!==i)n=i.value;else{if(""===o.dataset.tableUniqueOriginalValue)return;n=o.dataset.tableUniqueOriginalValue}if("select"===t.selector&&!isNaN(parseInt(n,10))){const e=document.getElementById(this.container.dataset.objectGroup+"_selector");InlineControlContainer.reAddSelectOption(e,n,t)}if(t.selector&&-1===t.max)return;const r=this.getFormFieldForElements();if(null===r)return;const a=Utility.trimExplode(",",r.value);let s;for(let e=0;e{if(!MessageUtility.verifyOrigin(e.origin))throw"Denied message sent by "+e.origin;if("typo3:foreignRelation:insert"===e.data.actionName){if(void 0===e.data.objectGroup)throw"No object group defined for message";if(e.data.objectGroup!==this.container.dataset.objectGroup)return;if(this.isUniqueElementUsed(parseInt(e.data.uid,10),e.data.table))return void Notification.error("There is already a relation to the selected element");this.importRecord([e.data.objectGroup,e.data.uid]).then((()=>{if(e.source){const t={actionName:"typo3:foreignRelation:inserted",objectGroup:e.data.objectId,table:e.data.table,uid:e.data.uid};MessageUtility.send(t,e.source)}}))}if("typo3:foreignRelation:delete"===e.data.actionName){if(e.data.objectGroup!==this.container.dataset.objectGroup)return;const t=e.data.directRemoval||!1,n=[e.data.objectGroup,e.data.uid].join("-");this.deleteRecord(n,t)}},DocumentService.ready().then((t=>{this.container=t.getElementById(e),this.ajaxDispatcher=new AjaxDispatcher(this.container.dataset.objectGroup),this.registerEvents()}))}static getInlineRecordContainer(e){return document.querySelector(selector`[data-object-id="${e}"]`)}static getCollapseButton(e){return document.querySelector(selector`[aria-controls="${e}_fields"]`)}static toggleElement(e){const t=InlineControlContainer.getInlineRecordContainer(e);t.classList.contains(States.collapsed)?InlineControlContainer.expandElement(t,e):InlineControlContainer.collapseElement(t,e)}static collapseElement(e,t){const n=InlineControlContainer.getCollapseButton(t);e.classList.remove(States.visible),e.classList.add(States.collapsed),n.setAttribute("aria-expanded","false")}static expandElement(e,t){const n=InlineControlContainer.getCollapseButton(t);e.classList.remove(States.collapsed),e.classList.add(States.visible),n.setAttribute("aria-expanded","true")}static isNewRecord(e){return InlineControlContainer.getInlineRecordContainer(e).classList.contains(States.new)}static updateExpandedCollapsedStateLocally(e,t){const n=InlineControlContainer.getInlineRecordContainer(e),o="uc[inlineView]["+n.dataset.topmostParentTable+"]["+n.dataset.topmostParentUid+"]"+n.dataset.fieldName,i=document.getElementsByName(o);i.length&&(i[0].value=t?"1":"0")}static getValuesFromHashMap(e){return Object.keys(e).map((t=>e[t]))}static selectOptionValueExists(e,t){return null!==e.querySelector(selector`option[value="${t}"]`)}static removeSelectOptionByValue(e,t){const n=e.querySelector(selector`option[value="${t}"]`);null!==n&&n.remove()}static reAddSelectOption(e,t,n){if(InlineControlContainer.selectOptionValueExists(e,t))return;const o=e.querySelectorAll("option");let i=-1;for(const e of Object.keys(n.possible)){if(e===t)break;for(let t=0;t{this.updateSorting()}})}}registerToggle(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.loadRecordDetails(t.closest(Selectors.toggleSelector).parentElement.dataset.objectId)})).delegateTo(this.container,`${Selectors.toggleSelector} .form-irre-header-cell:not(${Selectors.controlSectionSelector}`)}registerSort(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.changeSortingByButton(t.closest("[data-object-id]").dataset.objectId,t.dataset.direction)})).delegateTo(this.container,Selectors.controlSectionSelector+' [data-action="sort"]')}registerCreateRecordButton(){new RegularEvent("click",((e,t)=>{if(e.preventDefault(),e.stopImmediatePropagation(),this.isBelowMax()){let e=this.container.dataset.objectGroup;void 0!==t.dataset.recordUid&&(e+=Separators.structureSeparator+t.dataset.recordUid),this.importRecord([e,this.container.querySelector(Selectors.createNewRecordBySelectorSelector)?.value],t.dataset.recordUid??null)}})).delegateTo(this.container,Selectors.createNewRecordButtonSelector)}registerCreateRecordBySelector(){new RegularEvent("change",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const n=t,o=n.options[n.selectedIndex].getAttribute("value");this.importRecord([this.container.dataset.objectGroup,o])})).delegateTo(this.container,Selectors.createNewRecordBySelectorSelector)}createRecord(e,t,n=null,o=null){let i=this.container.dataset.objectGroup;null!==n&&(i+=Separators.structureSeparator+n),null!==n?(InlineControlContainer.getInlineRecordContainer(i).insertAdjacentHTML("afterend",t),this.memorizeAddRecord(e,n,o)):(document.getElementById(this.container.getAttribute("id")+"_records").insertAdjacentHTML("beforeend",t),this.memorizeAddRecord(e,null,o))}async importRecord(e,t){return this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_create")),e).then((async e=>{this.isBelowMax()&&this.createRecord(e.compilerInput.uid,e.data,void 0!==t?t:null,void 0!==e.compilerInput.childChildUid?e.compilerInput.childChildUid:null)}))}registerEnableDisableButton(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const n=t.closest("[data-object-id]").dataset.objectId,o=InlineControlContainer.getInlineRecordContainer(n),i=selector`data${o.dataset.fieldName}[${t.dataset.hiddenField}]`,r=document.querySelector('[data-formengine-input-name="'+i+'"'),a=document.querySelector('[name="'+i+'"');null!==r&&null!==a&&(r.checked=!r.checked,a.value=r.checked?"1":"0",FormEngineValidation.markFieldAsChanged(r));const s="t3-form-field-container-inline-hidden";let l;o.classList.contains(s)?(l="actions-edit-hide",o.classList.remove(s)):(l="actions-edit-unhide",o.classList.add(s)),Icons.getIcon(l,Icons.sizes.small).then((e=>{t.replaceChild(document.createRange().createContextualFragment(e),t.querySelector(".t3js-icon"))}))})).delegateTo(this.container,Selectors.enableDisableRecordButtonSelector)}registerInfoButton(){new RegularEvent("click",(function(e){e.preventDefault(),e.stopImmediatePropagation(),InfoWindow.showItem(this.dataset.infoTable,this.dataset.infoUid)})).delegateTo(this.container,Selectors.infoWindowButton)}registerDeleteButton(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const n=TYPO3.lang["label.confirm.delete_record.title"]||"Delete this record?",o=(TYPO3.lang["label.confirm.delete_record.content"]||"Are you sure you want to delete the record '%s'?").replace("%s",t.dataset.recordInfo),i=Modal.confirm(n,o,Severity.warning,[{text:TYPO3.lang["buttons.confirm.delete_record.no"]||"Cancel",active:!0,btnClass:"btn-default",name:"no"},{text:TYPO3.lang["buttons.confirm.delete_record.yes"]||"Yes, delete this record",btnClass:"btn-warning",name:"yes"}]);i.addEventListener("button.clicked",(e=>{if("yes"===e.target.name){const e=t.closest("[data-object-id]").dataset.objectId;this.deleteRecord(e)}i.hideModal()}))})).delegateTo(this.container,Selectors.deleteRecordButtonSelector)}registerSynchronizeLocalize(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_synchronizelocalize")),[this.container.dataset.objectGroup,t.dataset.type]).then((async e=>{document.getElementById(this.container.getAttribute("id")+"_records").insertAdjacentHTML("beforeend",e.data);const t=this.container.dataset.objectGroup+Separators.structureSeparator;for(const n of e.compilerInput.delete)this.deleteRecord(t+n,!0);for(const n of Object.values(e.compilerInput.localize)){if(void 0!==n.remove){const e=InlineControlContainer.getInlineRecordContainer(t+n.remove);e.parentElement.removeChild(e)}this.memorizeAddRecord(n.uid,null,n.selectedValue)}}))})).delegateTo(this.container,Selectors.synchronizeLocalizeRecordButtonSelector)}registerUniqueSelectFieldChanged(){new RegularEvent("change",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation();const n=t.closest("[data-object-id]");if(null!==n){const e=n.dataset.objectId,o=n.dataset.objectUid;this.handleChangedField(t,e);const i=this.getFormFieldForElements();if(null===i)return;this.updateUnique(t,i,o)}})).delegateTo(this.container,Selectors.uniqueValueSelectors)}registerRevertUniquenessAction(){new RegularEvent("click",((e,t)=>{e.preventDefault(),e.stopImmediatePropagation(),this.revertUnique(t.dataset.uid)})).delegateTo(this.container,Selectors.revertUniqueness)}loadRecordDetails(e){const t=document.getElementById(e+"_fields"),n=InlineControlContainer.getInlineRecordContainer(e),o=void 0!==this.requestQueue[e];if(null!==t&&!n.classList.contains(States.notLoaded))this.collapseExpandRecord(e);else{const i=this.getProgress(e,n.dataset.objectIdHash);if(o)this.requestQueue[e].abort(),delete this.requestQueue[e],delete this.progressQueue[e],i.done();else{const o=this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_details"));this.ajaxDispatcher.send(o,[e]).then((async o=>{if(delete this.requestQueue[e],delete this.progressQueue[e],n.classList.remove(States.notLoaded),t.innerHTML=o.data,this.collapseExpandRecord(e),i.done(),FormEngine.reinitialize(),FormEngineValidation.initializeInputFields(),FormEngineValidation.validate(this.container),this.hasObjectGroupDefinedUniqueConstraints()){const t=InlineControlContainer.getInlineRecordContainer(e);this.removeUsed(t)}})),this.requestQueue[e]=o,i.start()}}}collapseExpandRecord(e){const t=InlineControlContainer.getInlineRecordContainer(e),n=!0===this.getAppearance().expandSingle,o=t.classList.contains(States.collapsed);let i=[];const r=[];n&&o&&(i=this.collapseAllRecords(t.dataset.objectUid)),InlineControlContainer.toggleElement(e),InlineControlContainer.isNewRecord(e)?InlineControlContainer.updateExpandedCollapsedStateLocally(e,o):o?r.push(t.dataset.objectUid):o||i.push(t.dataset.objectUid),this.ajaxDispatcher.send(this.ajaxDispatcher.newRequest(this.ajaxDispatcher.getEndpoint("record_inline_expandcollapse")),[e,r.join(","),i.join(",")])}memorizeAddRecord(e,t=null,n=null){const o=this.getFormFieldForElements();if(null===o)return;let i=Utility.trimExplode(",",o.value);if(t){const n=[];for(let o=0;o-1&&(n.splice(o,1),t.value=n.join(","),FormEngineValidation.markFieldAsChanged(t),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,n)),n}changeSortingByButton(e,t){const n=InlineControlContainer.getInlineRecordContainer(e),o=n.dataset.objectUid,i=document.getElementById(this.container.getAttribute("id")+"_records"),r=Array.from(i.children).map((e=>e.dataset.objectUid)),a=r.indexOf(o);let s=!1;if(t===SortDirections.UP&&a>0?(r[a]=r[a-1],r[a-1]=o,s=!0):t===SortDirections.DOWN&&ae.dataset.objectUid));e.value=n.join(","),FormEngineValidation.markFieldAsChanged(e),document.dispatchEvent(new Event("inline:sorting-changed")),document.dispatchEvent(new Event("change")),this.redrawSortingButtons(this.container.dataset.objectGroup,n)}deleteRecord(e,t=!1){const n=InlineControlContainer.getInlineRecordContainer(e),o=n.dataset.objectUid;if(n.classList.add("t3js-inline-record-deleted"),!InlineControlContainer.isNewRecord(e)&&!t){const e=this.container.querySelector(selector`[name="cmd${n.dataset.fieldName}[delete]"]`);e.removeAttribute("disabled"),n.parentElement.insertAdjacentElement("afterbegin",e)}new RegularEvent("transitionend",(()=>{n.remove(),FormEngineValidation.validate(this.container)})).bindTo(n),this.revertUnique(o),this.memorizeRemoveRecord(o),n.classList.add("form-irre-object--deleted"),this.isBelowMax()&&this.toggleContainerControls(!0)}toggleContainerControls(e){this.container.querySelectorAll(":scope > "+Selectors.controlContainer).forEach((t=>{t.querySelectorAll("button, a").forEach((t=>{t.style.display=e?null:"none"}))}))}getProgress(e,t){const n="#"+t+"_header";let o;return void 0!==this.progressQueue[e]?o=this.progressQueue[e]:(o=NProgress,o.configure({parent:n,showSpinner:!1}),this.progressQueue[e]=o),o}collapseAllRecords(e){const t=this.getFormFieldForElements(),n=[];if(null!==t){const o=Utility.trimExplode(",",t.value);for(const t of o){if(t===e)continue;const o=this.container.dataset.objectGroup+Separators.structureSeparator+t,i=InlineControlContainer.getInlineRecordContainer(o);i.classList.contains(States.visible)&&(InlineControlContainer.collapseElement(i,o),InlineControlContainer.isNewRecord(o)?InlineControlContainer.updateExpandedCollapsedStateLocally(o,!1):n.push(t))}}return n}getFormFieldForElements(){const e=document.getElementsByName(this.container.dataset.formField);return e.length>0?e[0]:null}redrawSortingButtons(e,t=[]){if(0===t.length){const e=this.getFormFieldForElements();null!==e&&(t=Utility.trimExplode(",",e.value))}0!==t.length&&t.forEach(((n,o)=>{const i=InlineControlContainer.getInlineRecordContainer(e+Separators.structureSeparator+n).dataset.objectIdHash+"_header",r=document.getElementById(i),a=r.querySelector(selector`[data-action="sort"][data-direction="${SortDirections.UP}"]`);if(null!==a){let e="actions-move-up";0===o?(a.classList.add("disabled"),e="empty-empty"):a.classList.remove("disabled"),Icons.getIcon(e,Icons.sizes.small).then((e=>{a.replaceChild(document.createRange().createContextualFragment(e),a.querySelector(".t3js-icon"))}))}const s=r.querySelector(selector`[data-action="sort"][data-direction="${SortDirections.DOWN}"]`);if(null!==s){let e="actions-move-down";o===t.length-1?(s.classList.add("disabled"),e="empty-empty"):s.classList.remove("disabled"),Icons.getIcon(e,Icons.sizes.small).then((e=>{s.replaceChild(document.createRange().createContextualFragment(e),s.querySelector(".t3js-icon"))}))}}))}isBelowMax(){const e=this.getFormFieldForElements();if(null===e)return!0;if(void 0!==TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup]){if(Utility.trimExplode(",",e.value).length>=TYPO3.settings.FormEngineInline.config[this.container.dataset.objectGroup].max)return!1;if(this.hasObjectGroupDefinedUniqueConstraints()){const e=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if(e.used.length>=e.max&&e.max>=0)return!1}}return!0}isUniqueElementUsed(e,t){if(!this.hasObjectGroupDefinedUniqueConstraints())return!1;const n=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],o=InlineControlContainer.getValuesFromHashMap(n.used);if("select"===n.type&&-1!==o.indexOf(e))return!0;if("groupdb"===n.type)for(let n=o.length-1;n>=0;n--)if(o[n].table===t&&o[n].uid===e)return!0;return!1}removeUsed(e){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const t=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if("select"!==t.type)return;const n=e.querySelector('[name="data['+t.table+"]["+e.dataset.objectUid+"]["+t.field+']"]'),o=InlineControlContainer.getValuesFromHashMap(t.used);if(null!==n){const e=n.options[n.selectedIndex].value;for(const t of o)t!==e&&InlineControlContainer.removeSelectOptionByValue(n,t)}}setUnique(e,t){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const n=document.getElementById(this.container.dataset.objectGroup+"_selector"),o=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup];if("select"===o.type){if(!o.selector||-1!==o.max){const i=this.getFormFieldForElements(),r=this.container.dataset.objectGroup+Separators.structureSeparator+e;let a=InlineControlContainer.getInlineRecordContainer(r).querySelector('[name="data['+o.table+"]["+e+"]["+o.field+']"]');const s=InlineControlContainer.getValuesFromHashMap(o.used);if(null!==n){if(null!==a){for(const e of s)InlineControlContainer.removeSelectOptionByValue(a,e);o.selector||(t=a.options[0].value,a.options[0].selected=!0,this.updateUnique(a,i,e),this.handleChangedField(a,this.container.dataset.objectGroup+"["+e+"]"))}for(const e of s)InlineControlContainer.removeSelectOptionByValue(a,e);void 0!==o.used.length&&(o.used={}),o.used[e]={table:o.elTable,uid:t}}if(null!==i&&InlineControlContainer.selectOptionValueExists(n,t)){const n=Utility.trimExplode(",",i.value);for(const i of n)a=document.querySelector('[name="data['+o.table+"]["+i+"]["+o.field+']"]'),null!==a&&i!==e&&InlineControlContainer.removeSelectOptionByValue(a,t)}}}else"groupdb"===o.type&&(o.used[e]={table:o.elTable,uid:t});"select"===o.selector&&InlineControlContainer.selectOptionValueExists(n,t)&&(InlineControlContainer.removeSelectOptionByValue(n,t),o.used[e]={table:o.elTable,uid:t})}updateUnique(e,t,n){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const o=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],i=o.used[n];if("select"===o.selector){const t=document.getElementById(this.container.dataset.objectGroup+"_selector");InlineControlContainer.removeSelectOptionByValue(t,e.value),void 0!==i&&InlineControlContainer.reAddSelectOption(t,i,o)}if(o.selector&&-1===o.max)return;if(!o||null===t)return;const r=Utility.trimExplode(",",t.value);let a;for(const t of r)a=document.querySelector('[name="data['+o.table+"]["+t+"]["+o.field+']"]'),null!==a&&a!==e&&(InlineControlContainer.removeSelectOptionByValue(a,e.value),void 0!==i&&InlineControlContainer.reAddSelectOption(a,i,o));o.used[n]=e.value}revertUnique(e){if(!this.hasObjectGroupDefinedUniqueConstraints())return;const t=TYPO3.settings.FormEngineInline.unique[this.container.dataset.objectGroup],n=this.container.dataset.objectGroup+Separators.structureSeparator+e,o=InlineControlContainer.getInlineRecordContainer(n),i=o.querySelector('[name="data['+t.table+"]["+o.dataset.objectUid+"]["+t.field+']"]');if("select"===t.type){let n;if(null!==i)n=i.value;else{if(""===o.dataset.tableUniqueOriginalValue)return;n=o.dataset.tableUniqueOriginalValue}if("select"===t.selector&&!isNaN(parseInt(n,10))){const e=document.getElementById(this.container.dataset.objectGroup+"_selector");InlineControlContainer.reAddSelectOption(e,n,t)}if(t.selector&&-1===t.max)return;const r=this.getFormFieldForElements();if(null===r)return;const a=Utility.trimExplode(",",r.value);let s;for(let e=0;e{e.initialize(this.element,{swatches:t,opacity:n})}))}registerEventHandler(){const e=document.querySelector(selector`input[name="${this.element.dataset.formengineInputName}"]`);new RegularEvent("blur",(t=>{e.value=t.target.value})).bindTo(this.element),new RegularEvent("formengine.cp.change",(e=>{FormEngineValidation.validateField(e.target),FormEngineValidation.markFieldAsChanged(e.target),document.querySelectorAll(".module-docheader-bar .btn").forEach((e=>{e.classList.remove("disabled"),e.disabled=!1}))})).bindTo(this.element)}}window.customElements.define("typo3-formengine-element-color",ColorElement); \ No newline at end of file +import RegularEvent from"@typo3/core/event/regular-event.js";import FormEngineValidation from"@typo3/backend/form-engine-validation.js";import{selector}from"@typo3/core/literals.js";import"@typo3/backend/color-picker.js";class ColorElement extends HTMLElement{constructor(){super(...arguments),this.element=null}connectedCallback(){const e=this.getAttribute("recordFieldId");null!==e&&(this.element=this.querySelector(selector`#${e}`),this.element&&this.registerEventHandler())}registerEventHandler(){const e=document.querySelector(selector`input[name="${this.element.dataset.formengineInputName}"]`);new RegularEvent("blur",(t=>{e.value=t.target.value,this.handleEvent(t)})).bindTo(this.element),new RegularEvent("formengine.cp.change",(e=>{this.handleEvent(e)})).bindTo(this.element)}handleEvent(e){FormEngineValidation.validateField(e.target),FormEngineValidation.markFieldAsChanged(e.target),document.querySelectorAll(".module-docheader-bar .btn").forEach((e=>{e.classList.remove("disabled"),e.disabled=!1}))}}window.customElements.define("typo3-formengine-element-color",ColorElement); \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/element/select-tree-toolbar.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/element/select-tree-toolbar.js index a495b913..62f90fdb 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/element/select-tree-toolbar.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/form-engine/element/select-tree-toolbar.js @@ -10,13 +10,13 @@ * * The TYPO3 project - inspiring people to share! */ -var __decorate=function(e,t,l,n){var i,c=arguments.length,o=c<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,l):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,l,n);else for(var r=e.length-1;r>=0;r--)(i=e[r])&&(o=(c<3?i(o):c>3?i(t,l,o):i(t,l))||o);return c>3&&o&&Object.defineProperty(t,l,o),o};import{html,LitElement}from"lit";import{customElement}from"lit/decorators.js";import{lll}from"@typo3/core/lit-helper.js";let SelectTreeToolbar=class extends LitElement{constructor(){super(...arguments),this.settings={collapseAllBtn:"collapse-all-btn",expandAllBtn:"expand-all-btn",searchInput:"search-input",toggleHideUnchecked:"hide-unchecked-btn"},this.hideUncheckedState=!1}createRenderRoot(){return this}render(){return html` +var __decorate=function(e,t,l,n){var c,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,l):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,l,n);else for(var r=e.length-1;r>=0;r--)(c=e[r])&&(o=(i<3?c(o):i>3?c(t,l,o):c(t,l))||o);return i>3&&o&&Object.defineProperty(t,l,o),o};import{html,LitElement}from"lit";import{customElement}from"lit/decorators.js";import{lll}from"@typo3/core/lit-helper.js";let SelectTreeToolbar=class extends LitElement{constructor(){super(...arguments),this.settings={collapseAllBtn:"collapse-all-btn",expandAllBtn:"expand-all-btn",searchInput:"search-input",toggleHideUnchecked:"hide-unchecked-btn"},this.hideUncheckedState=!1}createRenderRoot(){return this}render(){return html`
- +
-
- `}renderEditorGrid(){const t=[];for(let e=0;e ${t}
- `}renderGridCell(t,e,o){const i={"--grideditor-cell-col":e+1,"--grideditor-cell-colspan":o.colspan,"--grideditor-cell-row":t+1,"--grideditor-cell-rowspan":o.rowspan};return html` -
+ `}renderGridCell(t,e,o){const r={"--grideditor-cell-col":e+1,"--grideditor-cell-colspan":o.colspan,"--grideditor-cell-row":t+1,"--grideditor-cell-rowspan":o.rowspan};return html` +
${this.readOnly?nothing:html`
@@ -101,4 +102,4 @@ var __decorate=function(e,t,i,r){var s,o=arguments.length,n=o<3?t:null===r?r=Obj
- `}filterCategories(e=null){return e??(e=this.categories),e.map((e=>{const t=this.filterSettings(e.settings),i=this.filterCategories(e.categories),r=t.filter((e=>!e.__hidden)).length>0,s=i.filter((e=>!e.__hidden)).length>0;return{...e,settings:t,categories:i,__hidden:!r&&!s}}))}filterSettings(e){return e.map((e=>({...e,__hidden:!(this.matchesSearchTerm(e.definition.key)||this.matchesSearchTerm(e.definition.label)||this.matchesSearchTerm(e.definition.description??"")||this.valueMatchesSearchTerm(e.value)||e.definition.tags.filter((e=>this.matchesSearchTerm(e))).length>0)})))}matchesSearchTerm(e){return""===this.searchTerm||this.matchesSubstring(e,this.searchTerm)}valueMatchesSearchTerm(e){return"string"==typeof e?this.matchesSearchTerm(e):!!Array.isArray(e)&&e.filter((e=>"string"==typeof e&&this.matchesSearchTerm(e))).length>0}matchesSubstring(e,t){return e.toLowerCase().includes(t.toLowerCase())}};__decorate([property({type:Array})],SettingsEditorElement.prototype,"categories",void 0),__decorate([property({type:String,attribute:"action-url"})],SettingsEditorElement.prototype,"actionUrl",void 0),__decorate([property({type:String,attribute:"dump-url"})],SettingsEditorElement.prototype,"dumpUrl",void 0),__decorate([property({type:Object,attribute:"custom-form-data"})],SettingsEditorElement.prototype,"customFormData",void 0),__decorate([state()],SettingsEditorElement.prototype,"searchTerm",void 0),__decorate([state()],SettingsEditorElement.prototype,"activeCategory",void 0),SettingsEditorElement=__decorate([customElement("typo3-backend-settings-editor")],SettingsEditorElement);export{SettingsEditorElement}; \ No newline at end of file + `}filterCategories(e=null){return e??(e=this.categories),e.map((e=>{const t=this.filterSettings(e.settings),i=this.filterCategories(e.categories),r=t.filter((e=>!e.__hidden)).length>0,s=i.filter((e=>!e.__hidden)).length>0;return{...e,settings:t,categories:i,__hidden:!r&&!s}}))}filterSettings(e){return e.map((e=>({...e,__hidden:!(this.matchesSearchTerm(e.definition.key)||this.matchesSearchTerm(e.definition.label)||this.matchesSearchTerm(e.definition.description??"")||this.valueMatchesSearchTerm(e.value)||e.definition.tags.filter((e=>this.matchesSearchTerm(e))).length>0)})))}matchesSearchTerm(e){return""===this.searchTerm||this.matchesSubstring(e,this.searchTerm)}valueMatchesSearchTerm(e){return"string"==typeof e?this.matchesSearchTerm(e):!!Array.isArray(e)&&e.filter((e=>"string"==typeof e&&this.matchesSearchTerm(e))).length>0}matchesSubstring(e,t){return e.toLowerCase().includes(t.toLowerCase())}};__decorate([property({type:Array})],SettingsEditorElement.prototype,"categories",void 0),__decorate([property({type:String,attribute:"action-url"})],SettingsEditorElement.prototype,"actionUrl",void 0),__decorate([property({type:String,attribute:"dump-url"})],SettingsEditorElement.prototype,"dumpUrl",void 0),__decorate([property({type:Object,attribute:"custom-form-data"})],SettingsEditorElement.prototype,"customFormData",void 0),__decorate([property({type:Boolean})],SettingsEditorElement.prototype,"debug",void 0),__decorate([state()],SettingsEditorElement.prototype,"searchTerm",void 0),__decorate([state()],SettingsEditorElement.prototype,"activeCategory",void 0),SettingsEditorElement=__decorate([customElement("typo3-backend-settings-editor")],SettingsEditorElement);export{SettingsEditorElement}; \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/editor/editable-setting.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/editor/editable-setting.js index 5a062485..6801d183 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/editor/editable-setting.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/editor/editable-setting.js @@ -10,7 +10,7 @@ * * The TYPO3 project - inspiring people to share! */ -var __decorate=function(t,e,i,n){var o,s=arguments.length,a=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var r=t.length-1;r>=0;r--)(o=t[r])&&(a=(s<3?o(a):s>3?o(e,i,a):o(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a};import{html,LitElement,nothing}from"lit";import{customElement,property,state}from"lit/decorators.js";import{until}from"lit/directives/until.js";import"@typo3/backend/element/spinner-element.js";import"@typo3/backend/element/icon-element.js";import{copyToClipboard}from"@typo3/backend/copy-to-clipboard.js";import Notification from"@typo3/backend/notification.js";import{lll}from"@typo3/core/lit-helper.js";import AjaxRequest from"@typo3/core/ajax/ajax-request.js";let EditableSettingElement=class extends LitElement{constructor(){super(...arguments),this.hasChange=!1,this.typeElement=null}createRenderRoot(){return this}render(){const{value:t,systemDefault:e,definition:i}=this.setting;return html` +var __decorate=function(t,e,i,n){var o,s=arguments.length,a=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var r=t.length-1;r>=0;r--)(o=t[r])&&(a=(s<3?o(a):s>3?o(e,i,a):o(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a};import{html,LitElement,nothing}from"lit";import{customElement,property,state}from"lit/decorators.js";import{until}from"lit/directives/until.js";import"@typo3/backend/element/spinner-element.js";import"@typo3/backend/element/icon-element.js";import{copyToClipboard}from"@typo3/backend/copy-to-clipboard.js";import Notification from"@typo3/backend/notification.js";import{lll}from"@typo3/core/lit-helper.js";import AjaxRequest from"@typo3/core/ajax/ajax-request.js";let EditableSettingElement=class extends LitElement{constructor(){super(...arguments),this.debug=!1,this.hasChange=!1,this.typeElement=null}createRenderRoot(){return this}render(){const{value:t,systemDefault:e,definition:i}=this.setting;return html`
- `}async renderField(){const{definition:t,value:e,typeImplementation:i}=this.setting;let n=this.typeElement;if(!n){const t=await import(i);if(!("componentName"in t))throw new Error(`module ${i} is missing the "componentName" export`);n=document.createElement(t.componentName),this.typeElement=n,n.addEventListener("typo3:setting:changed",(t=>{this.hasChange=JSON.stringify(this.setting.value)!==JSON.stringify(t.detail.value)}))}const o=Object.entries(t.enum||{}),s={key:t.key,formid:`setting-${t.key}`,name:`settings[${t.key}]`,value:Array.isArray(e)?JSON.stringify(e):String(e),readonly:t.readonly,enum:o.length>0&&JSON.stringify(Object.fromEntries(o)),default:Array.isArray(t.default)?JSON.stringify(t.default):String(t.default)};for(const[t,e]of Object.entries(s))"boolean"!=typeof e?n.getAttribute(t)!==e&&n.setAttribute(t,e):(e&&!n.hasAttribute(t)&&n.setAttribute(t,""),!e&&n.hasAttribute(t)&&n.removeAttribute(t));return n}renderActions(){const{definition:t}=this.setting;return html` + `}async renderField(){const{definition:t,value:e,typeImplementation:i}=this.setting;let n=this.typeElement;if(!n){const t=await import(i);if(!("componentName"in t))throw new Error(`module ${i} is missing the "componentName" export`);n=document.createElement(t.componentName),this.typeElement=n,n.addEventListener("typo3:setting:changed",(t=>{this.hasChange=JSON.stringify(this.setting.value)!==JSON.stringify(t.detail.value)}))}const o=Object.entries(t.enum||{}),s={key:t.key,formid:`setting-${t.key}`,name:`settings[${t.key}]`,value:Array.isArray(e)?JSON.stringify(e):String(e),debug:this.debug,readonly:t.readonly,enum:o.length>0&&JSON.stringify(Object.fromEntries(o)),default:Array.isArray(t.default)?JSON.stringify(t.default):String(t.default)};for(const[t,e]of Object.entries(s))"boolean"!=typeof e?n.getAttribute(t)!==e&&n.setAttribute(t,e):(e&&!n.hasAttribute(t)&&n.setAttribute(t,""),!e&&n.hasAttribute(t)&&n.removeAttribute(t));return n}renderActions(){const{definition:t}=this.setting;return html` - `}setToDefaultValue(){this.typeElement&&(this.typeElement.value=this.setting.systemDefault)}async copyAsYaml(){const t=new FormData(this.typeElement.form),e=`settings[${this.setting.definition.key}]`,i=t.get(e),n=new FormData;n.append("specificSetting",this.setting.definition.key),n.append(e,i);const o=await new AjaxRequest(this.dumpuri).post(n),s=await o.resolve();"string"==typeof s.yaml?copyToClipboard(s.yaml):(console.warn("Value can not be copied to clipboard.",typeof s.yaml),Notification.error(lll("copyToClipboard.error")))}};__decorate([property({type:Object})],EditableSettingElement.prototype,"setting",void 0),__decorate([property({type:String})],EditableSettingElement.prototype,"dumpuri",void 0),__decorate([state()],EditableSettingElement.prototype,"hasChange",void 0),EditableSettingElement=__decorate([customElement("typo3-backend-editable-setting")],EditableSettingElement);export{EditableSettingElement}; \ No newline at end of file + `}setToDefaultValue(){this.typeElement&&(this.typeElement.value=this.setting.systemDefault)}async copyAsYaml(){const t=new FormData(this.typeElement.form),e=`settings[${this.setting.definition.key}]`,i=t.get(e),n=new FormData;n.append("specificSetting",this.setting.definition.key),n.append(e,i);const o=await new AjaxRequest(this.dumpuri).post(n),s=await o.resolve();"string"==typeof s.yaml?copyToClipboard(s.yaml):(console.warn("Value can not be copied to clipboard.",typeof s.yaml),Notification.error(lll("copyToClipboard.error")))}};__decorate([property({type:Object})],EditableSettingElement.prototype,"setting",void 0),__decorate([property({type:String})],EditableSettingElement.prototype,"dumpuri",void 0),__decorate([property({type:Boolean})],EditableSettingElement.prototype,"debug",void 0),__decorate([state()],EditableSettingElement.prototype,"hasChange",void 0),EditableSettingElement=__decorate([customElement("typo3-backend-editable-setting")],EditableSettingElement);export{EditableSettingElement}; \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/base.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/base.js index a6c876e5..bffcc999 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/base.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/base.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -var __decorate=function(e,t,r,a){var o,l=arguments.length,n=l<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(n=(l<3?o(n):l>3?o(t,r,n):o(t,r))||n);return l>3&&n&&Object.defineProperty(t,r,n),n};import{LitElement}from"lit";import{defaultConverter}from"@lit/reactive-element";import{property}from"lit/decorators.js";export const internals=Symbol("internals");const privateInternals=Symbol("privateInternals");export const getFormValue=Symbol("getFormValue");export const getFormState=Symbol("getFormState");export class BaseElement extends LitElement{constructor(){super(...arguments),this.readonly=!1}createRenderRoot(){return this}get[internals](){return this[privateInternals]||(this[privateInternals]=this.attachInternals()),this[privateInternals]}get form(){return this[internals].form}get labels(){return this[internals].labels}get name(){return this.getAttribute("name")??""}set name(e){this.setAttribute("name",e)}get disabled(){return this.hasAttribute("disabled")}set disabled(e){this.toggleAttribute("disabled",e)}attributeChangedCallback(e,t,r){if("name"!==e&&"disabled"!==e)super.attributeChangedCallback(e,t,r);else{const r="disabled"===e?null!==t:t;this.requestUpdate(e,r)}}requestUpdate(e,t,r){super.requestUpdate(e,t,r),"value"===e&&(this.dispatchEvent(new CustomEvent("typo3:setting:changed",{detail:{value:this.value}})),this[internals].setFormValue(this[getFormValue](),this[getFormState]()))}formDisabledCallback(e){this.disabled=e}formResetCallback(){const e=this.value,t=this.getAttribute("value");this.attributeChangedCallback("value",this.valueToString(e),null),this.attributeChangedCallback("value",null,t)}formStateRestoreCallback(e){if("string"!=typeof e)throw new Error(`formStateRestoreCallback() needs to be implemented for <${this.localName}> for state type "${typeof e}"`);this.attributeChangedCallback("value",this.valueToString(this.value),null),this.attributeChangedCallback("value",null,e)}[getFormState](){return this[getFormValue]()}[getFormValue](){return this.valueToString(this.value)}valueToString(e){const t=this.constructor.getPropertyOptions("value");return("object"==typeof t.converter&&"function"==typeof t.converter?.toAttribute?t.converter.toAttribute:defaultConverter.toAttribute)(e,t.type)}}BaseElement.formAssociated=!0,__decorate([property({type:String})],BaseElement.prototype,"key",void 0),__decorate([property({type:String})],BaseElement.prototype,"formid",void 0),__decorate([property({type:Boolean})],BaseElement.prototype,"readonly",void 0),__decorate([property({type:Object})],BaseElement.prototype,"enum",void 0),__decorate([property({noAccessor:!0})],BaseElement.prototype,"name",null),__decorate([property({type:Boolean,noAccessor:!0})],BaseElement.prototype,"disabled",null); \ No newline at end of file +var __decorate=function(e,t,r,a){var o,l=arguments.length,n=l<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(n=(l<3?o(n):l>3?o(t,r,n):o(t,r))||n);return l>3&&n&&Object.defineProperty(t,r,n),n};import{LitElement}from"lit";import{defaultConverter}from"@lit/reactive-element";import{property}from"lit/decorators.js";export const internals=Symbol("internals");const privateInternals=Symbol("privateInternals");export const getFormValue=Symbol("getFormValue");export const getFormState=Symbol("getFormState");export class BaseElement extends LitElement{constructor(){super(...arguments),this.readonly=!1,this.debug=!1}createRenderRoot(){return this}get[internals](){return this[privateInternals]||(this[privateInternals]=this.attachInternals()),this[privateInternals]}get form(){return this[internals].form}get labels(){return this[internals].labels}get name(){return this.getAttribute("name")??""}set name(e){this.setAttribute("name",e)}get disabled(){return this.hasAttribute("disabled")}set disabled(e){this.toggleAttribute("disabled",e)}attributeChangedCallback(e,t,r){if("name"!==e&&"disabled"!==e)super.attributeChangedCallback(e,t,r);else{const r="disabled"===e?null!==t:t;this.requestUpdate(e,r)}}requestUpdate(e,t,r){super.requestUpdate(e,t,r),"value"===e&&(this.dispatchEvent(new CustomEvent("typo3:setting:changed",{detail:{value:this.value}})),this[internals].setFormValue(this[getFormValue](),this[getFormState]()))}formDisabledCallback(e){this.disabled=e}formResetCallback(){const e=this.value,t=this.getAttribute("value");this.attributeChangedCallback("value",this.valueToString(e),null),this.attributeChangedCallback("value",null,t)}formStateRestoreCallback(e){if("string"!=typeof e)throw new Error(`formStateRestoreCallback() needs to be implemented for <${this.localName}> for state type "${typeof e}"`);this.attributeChangedCallback("value",this.valueToString(this.value),null),this.attributeChangedCallback("value",null,e)}[getFormState](){return this[getFormValue]()}[getFormValue](){return this.valueToString(this.value)}valueToString(e){const t=this.constructor.getPropertyOptions("value");return("object"==typeof t.converter&&"function"==typeof t.converter?.toAttribute?t.converter.toAttribute:defaultConverter.toAttribute)(e,t.type)}}BaseElement.formAssociated=!0,__decorate([property({type:String})],BaseElement.prototype,"key",void 0),__decorate([property({type:String})],BaseElement.prototype,"formid",void 0),__decorate([property({type:Boolean})],BaseElement.prototype,"readonly",void 0),__decorate([property({type:Object})],BaseElement.prototype,"enum",void 0),__decorate([property({type:Boolean})],BaseElement.prototype,"debug",void 0),__decorate([property({noAccessor:!0})],BaseElement.prototype,"name",null),__decorate([property({type:Boolean,noAccessor:!0})],BaseElement.prototype,"disabled",null); \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/color.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/color.js index 06807614..34e0b8e7 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/color.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/color.js @@ -10,13 +10,15 @@ * * The TYPO3 project - inspiring people to share! */ -var __decorate=function(e,t,o,r){var l,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,r);else for(var p=e.length-1;p>=0;p--)(l=e[p])&&(n=(a<3?l(n):a>3?l(t,o,n):l(t,o))||n);return a>3&&n&&Object.defineProperty(t,o,n),n};import{html}from"lit";import{customElement,property}from"lit/decorators.js";import{BaseElement}from"@typo3/backend/settings/type/base.js";import Alwan from"alwan";export const componentName="typo3-backend-settings-type-color";let ColorTypeElement=class extends BaseElement{constructor(){super(...arguments),this.alwan=null}firstUpdated(){this.alwan=new Alwan(this.querySelector("input"),{position:"bottom-start",format:"hex",opacity:!1,preset:!1,color:this.value}),this.alwan.on("color",(e=>{this.value=e.hex}))}updateValue(e){this.value=e,this.alwan?.setColor(e)}render(){return html` - this.updateValue(e.target.value)} - /> - `}};__decorate([property({type:String})],ColorTypeElement.prototype,"value",void 0),ColorTypeElement=__decorate([customElement(componentName)],ColorTypeElement);export{ColorTypeElement}; \ No newline at end of file +var __decorate=function(e,t,o,r){var l,n=arguments.length,p=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)p=Reflect.decorate(e,t,o,r);else for(var a=e.length-1;a>=0;a--)(l=e[a])&&(p=(n<3?l(p):n>3?l(t,o,p):l(t,o))||p);return n>3&&p&&Object.defineProperty(t,o,p),p};import{html}from"lit";import{customElement,property}from"lit/decorators.js";import{BaseElement}from"@typo3/backend/settings/type/base.js";import"@typo3/backend/color-picker.js";import RegularEvent from"@typo3/core/event/regular-event.js";export const componentName="typo3-backend-settings-type-color";let ColorTypeElement=class extends BaseElement{firstUpdated(){const e=this.getInputElement();e&&new RegularEvent("blur",(e=>{this.updateValue(e.target.value)})).bindTo(e)}updateValue(e){this.value=e}render(){return html` + + this.updateValue(e.target.value)} + /> + + `}getInputElement(){return this.querySelector("input")}};__decorate([property({type:String})],ColorTypeElement.prototype,"value",void 0),ColorTypeElement=__decorate([customElement(componentName)],ColorTypeElement);export{ColorTypeElement}; \ No newline at end of file diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/string.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/string.js index c2838308..bfe9a4f5 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/string.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/settings/type/string.js @@ -10,7 +10,7 @@ * * The TYPO3 project - inspiring people to share! */ -var __decorate=function(e,t,r,n){var o,l=arguments.length,i=l<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(i=(l<3?o(i):l>3?o(t,r,i):o(t,r))||i);return l>3&&i&&Object.defineProperty(t,r,i),i};import{html}from"lit";import{customElement,property}from"lit/decorators.js";import{BaseElement}from"@typo3/backend/settings/type/base.js";export const componentName="typo3-backend-settings-type-string";let StringTypeElement=class extends BaseElement{renderEnum(){return html` +var __decorate=function(e,t,r,n){var o,l=arguments.length,i=l<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(i=(l<3?o(i):l>3?o(t,r,i):o(t,r))||i);return l>3&&i&&Object.defineProperty(t,r,i),i};import{html,nothing}from"lit";import{customElement,property}from"lit/decorators.js";import{BaseElement}from"@typo3/backend/settings/type/base.js";export const componentName="typo3-backend-settings-type-string";let StringTypeElement=class extends BaseElement{renderEnum(){return html` `}render(){return"object"==typeof this.enum?this.renderEnum():html` diff --git a/vendor/typo3/cms-backend/Resources/Public/JavaScript/tree/tree.js b/vendor/typo3/cms-backend/Resources/Public/JavaScript/tree/tree.js index 5e9e0143..a0b24423 100644 --- a/vendor/typo3/cms-backend/Resources/Public/JavaScript/tree/tree.js +++ b/vendor/typo3/cms-backend/Resources/Public/JavaScript/tree/tree.js @@ -36,9 +36,9 @@ var __decorate=function(e,t,i,o){var s,n=arguments.length,r=n<3?t:null===o?o=Obj role="treeitem" draggable="true" title="${this.getNodeTitle(e)}" - aria-owns="${e.hasChildren?"group-identifier-"+this.getNodeIdentifier(e):null}" - aria-expanded="${e.hasChildren?e.__expanded?"1":"0":null}" - aria-level="${this.getNodeDepth(e)}" + aria-owns="${ifDefined(e.hasChildren?"group-identifier-"+this.getNodeIdentifier(e):null)}" + aria-expanded="${ifDefined(e.hasChildren?e.__expanded?"1":"0":null)}" + aria-level="${this.getNodeDepth(e)+1}" aria-setsize="${this.getNodeSetsize(e)}" aria-posinset="${this.getNodePositionInSet(e)}" data-id="${this.getNodeIdentifier(e)}" @@ -77,7 +77,7 @@ var __decorate=function(e,t,i,o){var s,n=arguments.length,r=n<3?t:null===o?o=Obj data-position="${this.getNodePositionInSet(t)}" >
- `}));return this.getNodeSetsize(e)===this.getNodePositionInSet(e)?t.push(html`
`):t.push(html`
`),html`${t}`}createNodeLoader(e){return!0===e.__loading?html` + `}));return this.getNodeSetsize(e)===this.getNodePositionInSet(e)?t.push(html`
`):t.push(html`
`),html`
${t}
`}createNodeLoader(e){return!0===e.__loading?html` `:null}createNodeContent(e){return html` - +
${this.createNodeContentIcon(e)} ${this.editingNode===e?this.createNodeForm(e):this.createNodeContentLabel(e)} ${this.createNodeContentAction(e)} - +
`}createNodeContentIcon(e){return this.settings.showIcons?html` 'TYPO3 Core Team', 'author_email' => 'typo3cms@typo3.org', 'author_company' => '', - 'version' => '13.4.2', + 'version' => '13.4.3', 'constraints' => [ 'depends' => [ - 'typo3' => '13.4.2', + 'typo3' => '13.4.3', ], 'conflicts' => [], 'suggests' => [], diff --git a/vendor/typo3/cms-belog/Classes/Controller/BackendLogController.php b/vendor/typo3/cms-belog/Classes/Controller/BackendLogController.php index a41f3d78..471ee175 100644 --- a/vendor/typo3/cms-belog/Classes/Controller/BackendLogController.php +++ b/vendor/typo3/cms-belog/Classes/Controller/BackendLogController.php @@ -25,6 +25,7 @@ use TYPO3\CMS\Belog\Domain\Repository\LogEntryRepository; use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; use TYPO3\CMS\Core\Database\ConnectionPool; +use TYPO3\CMS\Core\Http\AllowedMethodsTrait; use TYPO3\CMS\Core\Type\Bitmask\Permission; use TYPO3\CMS\Core\Type\ContextualFeedbackSeverity; use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; @@ -39,6 +40,8 @@ */ class BackendLogController extends ActionController { + use AllowedMethodsTrait; + public function __construct( protected readonly ModuleTemplateFactory $moduleTemplateFactory, protected readonly LogEntryRepository $logEntryRepository, @@ -124,6 +127,11 @@ public function listAction(?Constraint $constraint = null, string $operation = ' ->renderResponse('BackendLog/List'); } + public function initializeDeleteMessageAction(): void + { + $this->assertAllowedHttpMethod($this->request, 'POST'); + } + /** * Delete all log entries that share the same message with the log entry given * in $errorUid diff --git a/vendor/typo3/cms-belog/Classes/ViewHelpers/WorkspaceTitleViewHelper.php b/vendor/typo3/cms-belog/Classes/ViewHelpers/WorkspaceTitleViewHelper.php index b5a7f95c..ccfa8197 100644 --- a/vendor/typo3/cms-belog/Classes/ViewHelpers/WorkspaceTitleViewHelper.php +++ b/vendor/typo3/cms-belog/Classes/ViewHelpers/WorkspaceTitleViewHelper.php @@ -17,7 +17,9 @@ namespace TYPO3\CMS\Belog\ViewHelpers; +use Symfony\Component\DependencyInjection\Attribute\Autowire; use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Cache\Frontend\FrontendInterface; use TYPO3\CMS\Core\Localization\LanguageService; use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper; @@ -29,10 +31,10 @@ */ final class WorkspaceTitleViewHelper extends AbstractViewHelper { - /** - * First level cache of workspace titles - */ - protected static array $workspaceTitleRuntimeCache = []; + public function __construct( + #[Autowire(service: 'cache.runtime')] + private readonly FrontendInterface $workspaceTitleRuntimeCache + ) {} public function initializeArguments(): void { @@ -47,20 +49,21 @@ public function initializeArguments(): void public function render(): string { $uid = $this->arguments['uid']; - if (isset(self::$workspaceTitleRuntimeCache[$uid])) { - return self::$workspaceTitleRuntimeCache[$uid]; + $cacheIdentifier = 'belog-viewhelper-workspace-title_' . $uid; + if ($this->workspaceTitleRuntimeCache->has($cacheIdentifier)) { + return $this->workspaceTitleRuntimeCache->get($cacheIdentifier); } if ($uid === 0) { - self::$workspaceTitleRuntimeCache[$uid] = htmlspecialchars(self::getLanguageService()->sL( + $this->workspaceTitleRuntimeCache->set($cacheIdentifier, htmlspecialchars(self::getLanguageService()->sL( 'LLL:EXT:belog/Resources/Private/Language/locallang.xlf:live' - )); + ))); } elseif (!ExtensionManagementUtility::isLoaded('workspaces')) { - self::$workspaceTitleRuntimeCache[$uid] = ''; + $this->workspaceTitleRuntimeCache->set($cacheIdentifier, ''); } else { $workspace = BackendUtility::getRecord('sys_workspace', $uid); - self::$workspaceTitleRuntimeCache[$uid] = $workspace['title'] ?? ''; + $this->workspaceTitleRuntimeCache->set($cacheIdentifier, $workspace['title'] ?? ''); } - return self::$workspaceTitleRuntimeCache[$uid]; + return $this->workspaceTitleRuntimeCache->get($cacheIdentifier); } protected static function getLanguageService(): LanguageService diff --git a/vendor/typo3/cms-belog/Resources/Private/Partials/Content/LogEntries.html b/vendor/typo3/cms-belog/Resources/Private/Partials/Content/LogEntries.html index 05ae5d42..a55c0ff6 100644 --- a/vendor/typo3/cms-belog/Resources/Private/Partials/Content/LogEntries.html +++ b/vendor/typo3/cms-belog/Resources/Private/Partials/Content/LogEntries.html @@ -96,16 +96,16 @@

- + - + - + - + @@ -121,6 +121,8 @@

+ +

- - + @@ -94,16 +95,20 @@

- + - +

+

- - +

@@ -211,6 +213,9 @@