From 7d9c1f3f3096f72033adc18c8250415e3d89dfad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Gu=CC=88nther?= Date: Thu, 26 Sep 2024 15:35:14 +0200 Subject: [PATCH 01/19] BUGFIX: Trim leading and tailing whitespaces Whitespaces like a tab can lead to a 404 error if a URL has been pasted to a LinkEditor or LinkInput. As datasources, assets, URLs and slugs should not start with a whitespace, we can remove them. Fixes: #3859 --- packages/neos-ui-editors/src/Library/LinkInput.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/neos-ui-editors/src/Library/LinkInput.js b/packages/neos-ui-editors/src/Library/LinkInput.js index af590598d6..abad8084cc 100644 --- a/packages/neos-ui-editors/src/Library/LinkInput.js +++ b/packages/neos-ui-editors/src/Library/LinkInput.js @@ -149,6 +149,10 @@ export default class LinkInput extends PureComponent { } handleSearchTermChange = searchTerm => { + // trim leading and trailing whitespace as it can cause issues + // with the further processing + searchTerm.trim() + this.setState({searchTerm}); if (isUriOrInternalLink(searchTerm)) { From 9e59a3c6eeb4fee87ca4afe19106203f4f1c7f0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Gu=CC=88nther?= Date: Thu, 26 Sep 2024 15:59:06 +0200 Subject: [PATCH 02/19] BUGFIX: Prevent potential js error Ensure that searchTerm is a string before trimming the value. --- packages/neos-ui-editors/src/Library/LinkInput.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/neos-ui-editors/src/Library/LinkInput.js b/packages/neos-ui-editors/src/Library/LinkInput.js index abad8084cc..af8d649d39 100644 --- a/packages/neos-ui-editors/src/Library/LinkInput.js +++ b/packages/neos-ui-editors/src/Library/LinkInput.js @@ -151,7 +151,9 @@ export default class LinkInput extends PureComponent { handleSearchTermChange = searchTerm => { // trim leading and trailing whitespace as it can cause issues // with the further processing - searchTerm.trim() + if (typeof searchTerm === 'string') { + searchTerm.trim() + } this.setState({searchTerm}); From 9754d5532f4798717df110898b72737100b0535d Mon Sep 17 00:00:00 2001 From: Robert Baruck Date: Mon, 30 Sep 2024 10:58:00 +0200 Subject: [PATCH 03/19] TASK: Add docs for contribution getting started (#3798) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * TASK: Add docs for contribution getting started * TASK: Adds code-style --------- Co-authored-by: Markus Gùˆnther --- README.md | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1e03152ec4..9e03cc5c5b 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ And on Packagist available via: `neos/neos-ui` ### Updating -``` +```bash composer update neos/neos-ui ``` @@ -58,7 +58,7 @@ For trying out the new UI, we recommend you to run the regularily released beta However, if you want to stay on bleeding-edge, or want to help out developing, you'll need the `8.3.x-dev` release. You can install the latest release using: -``` +```bash composer require neos/neos-ui-compiled:8.3.x-dev neos/neos-ui:8.3.x-dev ``` @@ -66,6 +66,24 @@ composer require neos/neos-ui-compiled:8.3.x-dev neos/neos-ui:8.3.x-dev Please follow the respective guides for contributing on OSX and on Linux. +To start developing the Neos Ui you will need a running Neos instance locally. +You can use +* one of your own, local Neos 8.3 instances, +* create a new one with `composer create-project neos/neos-base-distribution neos-ui-development-instance`, +* or use the docker compose setup in this repository (see instructions below). + +### Setup Source Files and Git +To install the source files and setup git, run: + +```bash +composer require neos/neos-ui-compiled:8.3.x-dev neos/neos-ui:8.3.x-dev --prefer-source +``` + +This will sync the git repository of Neos Ui into `Packages/Application/Neos.Neos.Ui` (this might take a while). +To push your changes to GitHub you need to fork the Neos Ui and change the git remote to your fork (check with `git remove -v`). + +Run `make setup`. To check what commands are executed have a look at the `Makefile` in the root of this repository. + ### on Windows 1) Ensure you have the relevant version installed (see above). From a53f256115fcb39dc3b68b26f3e601407e147f10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Gu=CC=88nther?= Date: Tue, 8 Oct 2024 13:36:01 +0200 Subject: [PATCH 04/19] TASK: Assign trimmed value to the searchTerm --- packages/neos-ui-editors/src/Library/LinkInput.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/neos-ui-editors/src/Library/LinkInput.js b/packages/neos-ui-editors/src/Library/LinkInput.js index af8d649d39..8447dca3ad 100644 --- a/packages/neos-ui-editors/src/Library/LinkInput.js +++ b/packages/neos-ui-editors/src/Library/LinkInput.js @@ -152,7 +152,7 @@ export default class LinkInput extends PureComponent { // trim leading and trailing whitespace as it can cause issues // with the further processing if (typeof searchTerm === 'string') { - searchTerm.trim() + searchTerm = searchTerm.trim() } this.setState({searchTerm}); From 41fb986a86f38f47e6ba22180f00d2ec37a534cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Gu=CC=88nther?= Date: Tue, 8 Oct 2024 15:02:22 +0200 Subject: [PATCH 05/19] TASK: just trim the leading part of a string --- packages/neos-ui-editors/src/Library/LinkInput.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/neos-ui-editors/src/Library/LinkInput.js b/packages/neos-ui-editors/src/Library/LinkInput.js index 8447dca3ad..525fad7381 100644 --- a/packages/neos-ui-editors/src/Library/LinkInput.js +++ b/packages/neos-ui-editors/src/Library/LinkInput.js @@ -149,10 +149,10 @@ export default class LinkInput extends PureComponent { } handleSearchTermChange = searchTerm => { - // trim leading and trailing whitespace as it can cause issues + // trim leading whitespace as it can cause issues // with the further processing if (typeof searchTerm === 'string') { - searchTerm = searchTerm.trim() + searchTerm = searchTerm.trimStart(); } this.setState({searchTerm}); From 500f9504874988181c105a37f684bfbd99d7d449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Gu=CC=88nther?= Date: Tue, 8 Oct 2024 15:30:04 +0200 Subject: [PATCH 06/19] TASK: Trim search term on manuall apply for --- packages/neos-ui-editors/src/Library/LinkInput.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/neos-ui-editors/src/Library/LinkInput.js b/packages/neos-ui-editors/src/Library/LinkInput.js index 525fad7381..18d5c2a58a 100644 --- a/packages/neos-ui-editors/src/Library/LinkInput.js +++ b/packages/neos-ui-editors/src/Library/LinkInput.js @@ -275,9 +275,16 @@ export default class LinkInput extends PureComponent { } handleManualSetLink = () => { - this.props.onLinkChange(this.state.searchTerm); + let {searchTerm} = this.state; + // trim tailing whitespace as it can cause issues + if (typeof searchTerm === 'string') { + searchTerm = searchTerm.trim(); + this.setState({searchTerm}); + } + + this.props.onLinkChange(searchTerm); this.setState({ - isEditMode: !this.state.searchTerm + isEditMode: !searchTerm }); } From 7f8619f9808ad6c55b4051d49ced4d04d957ce71 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Wed, 9 Oct 2024 08:29:18 +0200 Subject: [PATCH 07/19] TASK: Remove accidentally upmerged file should be deleted via https://github.com/neos/neos-ui/pull/3558/ --- .../src/plugins/neosPlaceholder.js | 75 ------------------- 1 file changed, 75 deletions(-) delete mode 100644 packages/neos-ui-ckeditor5-bindings/src/plugins/neosPlaceholder.js diff --git a/packages/neos-ui-ckeditor5-bindings/src/plugins/neosPlaceholder.js b/packages/neos-ui-ckeditor5-bindings/src/plugins/neosPlaceholder.js deleted file mode 100644 index 721fe8858f..0000000000 --- a/packages/neos-ui-ckeditor5-bindings/src/plugins/neosPlaceholder.js +++ /dev/null @@ -1,75 +0,0 @@ -import Plugin from '@ckeditor/ckeditor5-core/src/plugin'; -import {stripTags} from '@neos-project/utils-helpers'; -import './neosPlaceholder.vanilla-css'; - -// If the data is "empty" (BR, P) or the placeholder then return an empty string. -// Otherwise return the original data -const htmlIsEmptyish = data => { - if (!data) { - return true; - } - - if (data.length > 20) { - return false; - } - const value = data.replace(/[\n|\t|\u200b]*/g, '').toLowerCase().trim(); - const a = ( - !value || - value === '
' || - value === ' ' || - value === '

 

' || - value === '

 

' || - value === '


' || - value === ' ' || - value === ' 
' || - value === '
' || - value.match(/^<([a-z0-9]+)>
<\/\1>$/) - ); - return a; -}; - -export default class NeosPlaceholder extends Plugin { - static get pluginName() { - return 'NeosPlaceholder'; - } - - getPlaceholder() { - return stripTags(this.editor.config.get('neosPlaceholder')); - } - - addPlaceholder() { - this.editor.editing.view.change(writer => { - writer.setAttribute('data-neos-placeholder', this.getPlaceholder(), this.editor.editing.view.document.getRoot()); - }); - } - - removePlaceholder() { - this.editor.editing.view.change(writer => { - writer.removeAttribute('data-neos-placeholder', this.editor.editing.view.document.getRoot()); - }); - } - - updatePlaceholder() { - if (htmlIsEmptyish(this.editor.getData({trim: 'none'})) && !this.editor.ui.focusTracker.isFocused) { - this.addPlaceholder(); - } else { - this.removePlaceholder(); - } - } - - init() { - if (this.editor.config.get('neosPlaceholder')) { - this.updatePlaceholder(); - - const {model} = this.editor.data; - - model.on('applyOperation', () => { - this.updatePlaceholder(); - return true; - }); - this.editor.ui.focusTracker.on('change:isFocused', () => { - this.updatePlaceholder(); - }); - } - } -} From 0ee68446706a620a318f2e6713c93dd606589521 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Wed, 9 Oct 2024 10:17:03 +0200 Subject: [PATCH 08/19] TASK: Hotfix e2e tests by skipping syncing tests and only run on chrome The syncing tests are flaky and create catchup errors rendering following tests also kaput: https://github.com/neos/neos-ui/pull/3769#pullrequestreview-2332466270ll thus they will be skipped for now. Also we click the `button` in chrome and not the `a` as the > The action target (...) is too small to be visible: 284px x 40px. --- .sauce/config.yml | 14 +++++++------- .../Fixtures/1Dimension/syncing.e2e.js | 2 ++ .../Fixtures/2Dimension/switchingSites.e2e.js | 8 ++++---- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.sauce/config.yml b/.sauce/config.yml index 6b465d7be3..5d836840ea 100644 --- a/.sauce/config.yml +++ b/.sauce/config.yml @@ -24,13 +24,13 @@ suites: - "Tests/IntegrationTests/Fixtures/*/*.e2e.js" platformName: "Windows 10" screenResolution: "1280x1024" - - name: "Tests in Firefox on MacOS" - # todo use chrome here and fix ci https://github.com/neos/neos-ui/issues/3591 - browserName: "firefox" - src: - - "Tests/IntegrationTests/Fixtures/*/*.e2e.js" - platformName: "macOS 13" - screenResolution: "1440x900" + # todo use chrome here and fix ci https://github.com/neos/neos-ui/issues/3591 (but even firefox fails in ci) + # - name: "Tests in Firefox on MacOS" + # browserName: "firefox" + # src: + # - "Tests/IntegrationTests/Fixtures/*/*.e2e.js" + # platformName: "macOS 13" + # screenResolution: "1440x900" npm: dependencies: - testcafe-react-selectors diff --git a/Tests/IntegrationTests/Fixtures/1Dimension/syncing.e2e.js b/Tests/IntegrationTests/Fixtures/1Dimension/syncing.e2e.js index 5a148b4b52..53655aa584 100644 --- a/Tests/IntegrationTests/Fixtures/1Dimension/syncing.e2e.js +++ b/Tests/IntegrationTests/Fixtures/1Dimension/syncing.e2e.js @@ -11,6 +11,8 @@ import { fixture`Syncing` .afterEach(() => checkPropTypes()); +fixture.skip`TODO Tests are flaky and create catchup errors rendering following tests also kaput: https://github.com/neos/neos-ui/pull/3769#pullrequestreview-2332466270`; + const contentIframeSelector = Selector('[name="neos-content-main"]', {timeout: 2000}); test('Syncing: Create a conflict state between two editors and choose "Discard all" as a resolution strategy during rebase', async t => { diff --git a/Tests/IntegrationTests/Fixtures/2Dimension/switchingSites.e2e.js b/Tests/IntegrationTests/Fixtures/2Dimension/switchingSites.e2e.js index f323f54eb2..2f9418b416 100644 --- a/Tests/IntegrationTests/Fixtures/2Dimension/switchingSites.e2e.js +++ b/Tests/IntegrationTests/Fixtures/2Dimension/switchingSites.e2e.js @@ -20,7 +20,7 @@ test('Switching from Neos.Test.OneDimension to Neos.Test.TwoDimensions and back' subSection('Switch to Neos.Test.TwoDimensions via main menu'); await t.click(Selector('#neos-MenuToggler')); - await t.click(Selector('[href*="twodimensions"]')); + await t.click(Selector('[href*="twodimensions"] button')); await t.expect(getUrl()).contains('twodimensions.localhost', 'Switch to Neos.Test.TwoDimensions was successful'); @@ -28,7 +28,7 @@ test('Switching from Neos.Test.OneDimension to Neos.Test.TwoDimensions and back' await waitForReact(30000); await Page.goToPage('Home'); await t.click(Selector('#neos-MenuToggler')); - await t.click(Selector('[href*="onedimension"]')); + await t.click(Selector('[href*="onedimension"] button')); await t.expect(getUrl()).contains('onedimension.localhost', 'Switch to Neos.Test.OneDimension was successful'); }); @@ -45,7 +45,7 @@ test('Switching from Neos.Test.TwoDimensions to Neos.Test.OneDimension and back' subSection('Switch to Neos.Test.OneDimension via main menu'); await t.click(Selector('#neos-MenuToggler')); - await t.click(Selector('[href*="onedimension"]')); + await t.click(Selector('[href*="onedimension"] button')); await t.expect(getUrl()).contains('onedimension.localhost', 'Switch to Neos.Test.OneDimension was successful'); @@ -53,7 +53,7 @@ test('Switching from Neos.Test.TwoDimensions to Neos.Test.OneDimension and back' await waitForReact(30000); await Page.goToPage('Home'); await t.click(Selector('#neos-MenuToggler')); - await t.click(Selector('[href*="twodimensions"]')); + await t.click(Selector('[href*="twodimensions"] button')); await t.expect(getUrl()).contains('twodimensions.localhost', 'Switch to Neos.Test.TwoDimensions was successful'); }); From 130e7d8cac6029f9c62d8432e1e2150f4015bfd3 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Wed, 9 Oct 2024 11:15:22 +0200 Subject: [PATCH 09/19] TASK: Dont use react inside `terminateDueToFatalInitializationError` Fixes faulty upmerge of https://github.com/neos/neos-ui/pull/3836 --- .../neos-ui/src/Containers/ErrorBoundary/style.module.css | 4 ++++ .../src/System/terminateDueToFatalInitializationError.js | 6 ++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/neos-ui/src/Containers/ErrorBoundary/style.module.css b/packages/neos-ui/src/Containers/ErrorBoundary/style.module.css index b33b789663..b11e8853a9 100644 --- a/packages/neos-ui/src/Containers/ErrorBoundary/style.module.css +++ b/packages/neos-ui/src/Containers/ErrorBoundary/style.module.css @@ -29,3 +29,7 @@ flex-wrap: wrap; gap: var(--spacing-Half) var(--spacing-Full); } + +.logo > svg { + height: 40px; +} diff --git a/packages/neos-ui/src/System/terminateDueToFatalInitializationError.js b/packages/neos-ui/src/System/terminateDueToFatalInitializationError.js index 992c642a01..a10a4caa63 100644 --- a/packages/neos-ui/src/System/terminateDueToFatalInitializationError.js +++ b/packages/neos-ui/src/System/terminateDueToFatalInitializationError.js @@ -1,5 +1,4 @@ -import {Logo} from '@neos-project/react-ui-components'; - +import logoSvg from '@neos-project/react-ui-components/src/Logo/resource/logo.svg'; import styles from '../Containers/ErrorBoundary/style.module.css'; export function terminateDueToFatalInitializationError(reason) { @@ -11,8 +10,7 @@ export function terminateDueToFatalInitializationError(reason) { document.body.innerHTML = `
- - Neos + ${logoSvg}

Sorry, but the Neos UI could not be initialized.

From 0daa55c06d8b3c938cde05c59c7d340c5dda6af2 Mon Sep 17 00:00:00 2001 From: Bastian Waidelich Date: Wed, 9 Oct 2024 16:25:37 +0200 Subject: [PATCH 10/19] FEATURE: Extract workspace metadata and user-assignment to Neos (#3838) * Draft: FEATURE: Extract workspace metadata and user-assignment to Neos Counter-part to https://github.com/neos/neos-development-collection/pull/5146 * wip * WIP REVERT ME, PATCH E2E * Remove Neos UI `WorkspaceService` * Re-add UI WorkspaceService for now * Remove `WorkspaceNameBuilder` usages * TASK: Reintroduce usage of neos ui command value objects * Remove obsolete namespace import * WIP: Try to adjust e2e to work with new Neos workspace metadata * TASK: Remove `migrateWorkspaceMetadataToWorkspaceService` hack from e2e tests and use `assignrole` * Revert "WIP REVERT ME, PATCH E2E" This reverts commit 3aefeb2315e2af3d8d02d2e3d32013dbf07b5601. --------- Co-authored-by: mhsdesign <85400359+mhsdesign@users.noreply.github.com> --- .../ReloadNodes/ReloadNodesQueryHandler.php | 4 - .../SyncWorkspaceCommandHandler.php | 11 +- .../Service/WorkspaceService.php | 74 ++--------- Classes/Controller/BackendController.php | 23 ++-- .../Controller/BackendServiceController.php | 123 +++++++++--------- .../Operations/UpdateWorkspaceInfo.php | 44 +++---- Classes/Fusion/Helper/WorkspaceHelper.php | 59 ++++----- .../Configuration/ConfigurationProvider.php | 36 ++++- .../Fixtures/1Dimension/discarding.e2e.js | 2 +- .../Fixtures/1Dimension/syncing.e2e.js | 2 +- .../1Dimension/treeMultiselect.e2e.js | 6 +- Tests/IntegrationTests/e2e-docker.sh | 8 +- Tests/IntegrationTests/e2e.sh | 8 +- 13 files changed, 180 insertions(+), 220 deletions(-) diff --git a/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php b/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php index b9d6ad520f..b53287e2d5 100644 --- a/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php +++ b/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php @@ -23,7 +23,6 @@ use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\ActionRequest; use Neos\Neos\Domain\Service\NodeTypeNameFactory; -use Neos\Neos\Domain\Workspace\WorkspaceProvider; use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\Ui\Fusion\Helper\NodeInfoHelper; @@ -36,9 +35,6 @@ #[Flow\Scope("singleton")] final class ReloadNodesQueryHandler { - #[Flow\Inject] - protected WorkspaceProvider $workspaceProvider; - #[Flow\Inject] protected ContentRepositoryRegistry $contentRepositoryRegistry; diff --git a/Classes/Application/SyncWorkspace/SyncWorkspaceCommandHandler.php b/Classes/Application/SyncWorkspace/SyncWorkspaceCommandHandler.php index 834837747e..48656206f1 100644 --- a/Classes/Application/SyncWorkspace/SyncWorkspaceCommandHandler.php +++ b/Classes/Application/SyncWorkspace/SyncWorkspaceCommandHandler.php @@ -18,7 +18,7 @@ use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; use Neos\Neos\Domain\NodeLabel\NodeLabelGeneratorInterface; -use Neos\Neos\Domain\Workspace\WorkspaceProvider; +use Neos\Neos\Domain\Service\WorkspacePublishingService; /** * The application layer level command handler to for rebasing the workspace @@ -32,7 +32,7 @@ final class SyncWorkspaceCommandHandler protected ContentRepositoryRegistry $contentRepositoryRegistry; #[Flow\Inject] - protected WorkspaceProvider $workspaceProvider; + protected WorkspacePublishingService $workspacePublishingService; #[Flow\Inject] protected NodeLabelGeneratorInterface $nodeLabelGenerator; @@ -40,12 +40,11 @@ final class SyncWorkspaceCommandHandler public function handle(SyncWorkspaceCommand $command): void { try { - $workspace = $this->workspaceProvider->provideForWorkspaceName( + $this->workspacePublishingService->rebaseWorkspace( $command->contentRepositoryId, - $command->workspaceName + $command->workspaceName, + $command->rebaseErrorHandlingStrategy ); - - $workspace->rebase($command->rebaseErrorHandlingStrategy); } catch (WorkspaceRebaseFailed $e) { $conflictsBuilder = Conflicts::builder( contentRepository: $this->contentRepositoryRegistry diff --git a/Classes/ContentRepository/Service/WorkspaceService.php b/Classes/ContentRepository/Service/WorkspaceService.php index b1d71bfb65..479d2f077f 100644 --- a/Classes/ContentRepository/Service/WorkspaceService.php +++ b/Classes/ContentRepository/Service/WorkspaceService.php @@ -11,21 +11,18 @@ * source code. */ -use Neos\ContentRepository\Core\ContentRepository; -use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId; use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\FindClosestNodeFilter; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; -use Neos\Neos\Domain\Service\NodeTypeNameFactory; -use Neos\Neos\FrontendRouting\NodeAddress; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; +use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId; use Neos\ContentRepository\Core\SharedModel\Workspace\WorkspaceName; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; -use Neos\Neos\Domain\Service\UserService as DomainUserService; +use Neos\Neos\Domain\Service\NodeTypeNameFactory; +use Neos\Neos\Domain\Service\WorkspacePublishingService; +use Neos\Neos\FrontendRouting\NodeAddress; +use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\PendingChangesProjection\Change; -use Neos\Neos\PendingChangesProjection\ChangeFinder; -use Neos\Neos\Service\UserService; use Neos\Neos\Utility\NodeTypeWithFallbackProvider; /** @@ -44,17 +41,8 @@ class WorkspaceService #[Flow\Inject] protected ContentRepositoryRegistry $contentRepositoryRegistry; - /** - * @Flow\Inject - * @var UserService - */ - protected $userService; - - /** - * @Flow\Inject - * @var DomainUserService - */ - protected $domainUserService; + #[Flow\Inject] + protected WorkspacePublishingService $workspacePublishingService; /** * Get all publishable node context paths for a workspace @@ -64,15 +52,10 @@ class WorkspaceService public function getPublishableNodeInfo(WorkspaceName $workspaceName, ContentRepositoryId $contentRepositoryId): array { $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); - $workspace = $contentRepository->getWorkspaceFinder()->findOneByName($workspaceName); - if (is_null($workspace) || $workspace->baseWorkspaceName === null) { - return []; - } - $changeFinder = $contentRepository->projectionState(ChangeFinder::class); - $changes = $changeFinder->findByContentStreamId($workspace->currentContentStreamId); + $pendingChanges = $this->workspacePublishingService->pendingWorkspaceChanges($contentRepositoryId, $workspaceName); /** @var array{contextPath:string,documentContextPath:string,typeOfChange:int}[] $unpublishedNodes */ $unpublishedNodes = []; - foreach ($changes as $change) { + foreach ($pendingChanges as $change) { if ($change->removalAttachmentPoint) { $nodeAddress = new NodeAddress( $change->contentStreamId, @@ -106,7 +89,6 @@ public function getPublishableNodeInfo(WorkspaceName $workspaceName, ContentRepo if ($node instanceof Node) { $documentNode = $subgraph->findClosestNode($node->aggregateId, FindClosestNodeFilter::create(nodeTypes: NodeTypeNameFactory::NAME_DOCUMENT)); if ($documentNode instanceof Node) { - $contentRepository = $this->contentRepositoryRegistry->get($documentNode->contentRepositoryId); $nodeAddressFactory = NodeAddressFactory::create($contentRepository); $unpublishedNodes[] = [ 'contextPath' => $nodeAddressFactory->createFromNode($node)->serializeForUri(), @@ -124,44 +106,6 @@ public function getPublishableNodeInfo(WorkspaceName $workspaceName, ContentRepo })); } - /** - * Get allowed target workspaces for current user - * - * @return array> - */ - public function getAllowedTargetWorkspaces(ContentRepository $contentRepository): array - { - $user = $this->domainUserService->getCurrentUser(); - - $workspacesArray = []; - foreach ($contentRepository->getWorkspaceFinder()->findAll() as $workspace) { - // FIXME: This check should be implemented through a specialized Workspace Privilege or something similar - // Skip workspace not owned by current user - if ($workspace->workspaceOwner !== null && $workspace->workspaceOwner !== $user) { - continue; - } - // Skip own personal workspace - if ($workspace->workspaceName->value === $this->userService->getPersonalWorkspaceName()) { - continue; - } - - if ($workspace->isPersonalWorkspace()) { - // Skip other personal workspaces - continue; - } - - $workspaceArray = [ - 'name' => $workspace->workspaceName->jsonSerialize(), - 'title' => $workspace->workspaceTitle->jsonSerialize(), - 'description' => $workspace->workspaceDescription->jsonSerialize(), - 'readonly' => !$this->domainUserService->currentUserCanPublishToWorkspace($workspace) - ]; - $workspacesArray[$workspace->workspaceName->jsonSerialize()] = $workspaceArray; - } - - return $workspacesArray; - } - private function getTypeOfChange(Change $change): int { $result = 0; diff --git a/Classes/Controller/BackendController.php b/Classes/Controller/BackendController.php index 964e2e9c47..60dfb5b8dc 100644 --- a/Classes/Controller/BackendController.php +++ b/Classes/Controller/BackendController.php @@ -19,11 +19,10 @@ use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\Controller\ActionController; use Neos\Flow\Persistence\PersistenceManagerInterface; -use Neos\Flow\Security\Context; use Neos\Neos\Domain\Repository\DomainRepository; use Neos\Neos\Domain\Repository\SiteRepository; use Neos\Neos\Domain\Service\NodeTypeNameFactory; -use Neos\Neos\Domain\Service\WorkspaceNameBuilder; +use Neos\Neos\Domain\Service\WorkspaceService; use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\FrontendRouting\NodeUriBuilderFactory; use Neos\Neos\FrontendRouting\SiteDetection\SiteDetectionResult; @@ -78,12 +77,6 @@ class BackendController extends ActionController */ protected $contentRepositoryRegistry; - /** - * @Flow\Inject - * @var Context - */ - protected $securityContext; - /** * @Flow\Inject * @var ConfigurationProviderInterface @@ -126,6 +119,12 @@ class BackendController extends ActionController */ protected $nodeUriBuilderFactory; + /** + * @Flow\Inject + * @var WorkspaceService + */ + protected $workspaceService; + /** * Displays the backend interface * @@ -138,23 +137,19 @@ public function indexAction(string $node = null) $contentRepository = $this->contentRepositoryRegistry->get($siteDetectionResult->contentRepositoryId); $nodeAddress = $node !== null ? NodeAddressFactory::create($contentRepository)->createFromUriString($node) : null; - unset($node); $user = $this->userService->getBackendUser(); if ($user === null) { $this->redirectToUri($this->uriBuilder->uriFor('index', [], 'Login', 'Neos.Neos')); } - $currentAccount = $this->securityContext->getAccount(); - assert($currentAccount !== null); - $workspaceName = WorkspaceNameBuilder::fromAccountIdentifier($currentAccount->getAccountIdentifier()); - try { - $contentGraph = $contentRepository->getContentGraph($workspaceName); + $workspace = $this->workspaceService->getPersonalWorkspaceForUser($siteDetectionResult->contentRepositoryId, $user->getId()); } catch (WorkspaceDoesNotExist) { // todo will cause infinite loop: https://github.com/neos/neos-development-collection/issues/4401 $this->redirectToUri($this->uriBuilder->uriFor('index', [], 'Login', 'Neos.Neos')); } + $contentGraph = $contentRepository->getContentGraph($workspace->workspaceName); $backendControllerInternals = $this->contentRepositoryRegistry->buildService( $siteDetectionResult->contentRepositoryId, diff --git a/Classes/Controller/BackendServiceController.php b/Classes/Controller/BackendServiceController.php index 2ad2734943..faa6f7217f 100644 --- a/Classes/Controller/BackendServiceController.php +++ b/Classes/Controller/BackendServiceController.php @@ -17,7 +17,6 @@ use Neos\ContentRepository\Core\DimensionSpace\DimensionSpacePoint; use Neos\ContentRepository\Core\Feature\WorkspaceModification\Exception\WorkspaceIsNotEmptyException; use Neos\ContentRepository\Core\Feature\WorkspaceRebase\Dto\RebaseErrorHandlingStrategy; -use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; use Neos\ContentRepository\Core\SharedModel\Exception\NodeAggregateCurrentlyDoesNotExist; use Neos\ContentRepository\Core\SharedModel\Exception\NodeAggregateDoesCurrentlyNotCoverDimensionSpacePoint; @@ -32,8 +31,8 @@ use Neos\Flow\Mvc\View\JsonView; use Neos\Flow\Property\PropertyMapper; use Neos\Flow\Security\Context; -use Neos\Neos\Domain\Service\WorkspaceNameBuilder; -use Neos\Neos\Domain\Workspace\WorkspaceProvider; +use Neos\Neos\Domain\Service\WorkspacePublishingService; +use Neos\Neos\Domain\Service\WorkspaceService; use Neos\Neos\FrontendRouting\NodeAddress; use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\FrontendRouting\SiteDetection\SiteDetectionResult; @@ -136,9 +135,15 @@ class BackendServiceController extends ActionController /** * @Flow\Inject - * @var WorkspaceProvider + * @var WorkspaceService */ - protected $workspaceProvider; + protected $workspaceService; + + /** + * @Flow\Inject + * @var WorkspacePublishingService + */ + protected $workspacePublishingService; /** * @Flow\Inject @@ -170,10 +175,10 @@ public function changeAction(array $changes): void { $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; - $changes = $this->changeCollectionConverter->convert($changes, $contentRepositoryId); + $changeCollection = $this->changeCollectionConverter->convert($changes, $contentRepositoryId); try { - $count = $changes->count(); - $changes->apply(); + $count = $changeCollection->count(); + $changeCollection->apply(); $success = new Info(); $success->setMessage( @@ -207,17 +212,15 @@ public function publishChangesInSiteAction(array $command): void $contentRepositoryId )->nodeAggregateId->value; $command = PublishChangesInSite::fromArray($command); - $workspace = $this->workspaceProvider->provideForWorkspaceName( + $publishingResult = $this->workspacePublishingService->publishChangesInSite( $command->contentRepositoryId, - $command->workspaceName + $command->workspaceName, + $command->siteId, ); - $publishingResult = $workspace - ->publishChangesInSite($command->siteId); - $this->view->assign('value', [ 'success' => [ 'numberOfAffectedChanges' => $publishingResult->numberOfPublishedChanges, - 'baseWorkspaceName' => $workspace->getCurrentBaseWorkspaceName()?->value + 'baseWorkspaceName' => $publishingResult->targetWorkspaceName->value ] ]); } catch (\Exception $e) { @@ -249,19 +252,17 @@ public function publishChangesInDocumentAction(array $command): void )->nodeAggregateId->value; $command = PublishChangesInDocument::fromArray($command); - $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; - try { - $workspace = $this->workspaceProvider->provideForWorkspaceName( + $publishingResult = $this->workspacePublishingService->publishChangesInDocument( $command->contentRepositoryId, - $command->workspaceName + $command->workspaceName, + $command->documentId, ); - $publishingResult = $workspace->publishChangesInDocument($command->documentId); $this->view->assign('value', [ 'success' => [ 'numberOfAffectedChanges' => $publishingResult->numberOfPublishedChanges, - 'baseWorkspaceName' => $workspace->getCurrentBaseWorkspaceName()?->value + 'baseWorkspaceName' => $publishingResult->targetWorkspaceName->value, ] ]); } catch (NodeAggregateCurrentlyDoesNotExist $e) { @@ -302,11 +303,10 @@ public function discardAllChangesAction(array $command): void $command['contentRepositoryId'] = $contentRepositoryId->value; $command = DiscardAllChanges::fromArray($command); - $workspace = $this->workspaceProvider->provideForWorkspaceName( + $discardingResult = $this->workspacePublishingService->discardAllWorkspaceChanges( $command->contentRepositoryId, $command->workspaceName ); - $discardingResult = $workspace->discardAllChanges(); $this->view->assign('value', [ 'success' => [ @@ -342,11 +342,11 @@ public function discardChangesInSiteAction(array $command): void )->nodeAggregateId->value; $command = DiscardChangesInSite::fromArray($command); - $workspace = $this->workspaceProvider->provideForWorkspaceName( + $discardingResult = $this->workspacePublishingService->discardChangesInSite( $command->contentRepositoryId, - $command->workspaceName + $command->workspaceName, + $command->siteId ); - $discardingResult = $workspace->discardChangesInSite($command->siteId); $this->view->assign('value', [ 'success' => [ @@ -382,11 +382,11 @@ public function discardChangesInDocumentAction(array $command): void )->nodeAggregateId->value; $command = DiscardChangesInDocument::fromArray($command); - $workspace = $this->workspaceProvider->provideForWorkspaceName( + $discardingResult = $this->workspacePublishingService->discardChangesInDocument( $command->contentRepositoryId, - $command->workspaceName + $command->workspaceName, + $command->documentId ); - $discardingResult = $workspace->discardChangesInDocument($command->documentId); $this->view->assign('value', [ 'success' => [ @@ -420,26 +420,26 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d $nodeAddressFactory = NodeAddressFactory::create($contentRepository); - $currentAccount = $this->securityContext->getAccount(); - assert($currentAccount !== null); - $userWorkspaceName = WorkspaceNameBuilder::fromAccountIdentifier( - $currentAccount->getAccountIdentifier() - ); + $user = $this->userService->getBackendUser(); + if ($user === null) { + $error = new Error(); + $error->setMessage('No authenticated account'); + $this->feedbackCollection->add($error); + $this->view->assign('value', $this->feedbackCollection); + return; + } + $userWorkspace = $this->workspaceService->getPersonalWorkspaceForUser($contentRepositoryId, $user->getId()); /** @todo send from UI */ $command = new ChangeTargetWorkspace( $contentRepositoryId, - $userWorkspaceName, + $userWorkspace->workspaceName, WorkspaceName::fromString($targetWorkspaceName), $nodeAddressFactory->createFromUriString($documentNode) ); try { - $workspace = $this->workspaceProvider->provideForWorkspaceName( - $command->contentRepositoryId, - $command->workspaceName - ); - $workspace->changeBaseWorkspace($command->targetWorkspaceName); + $this->workspacePublishingService->changeBaseWorkspace($contentRepositoryId, $userWorkspace->workspaceName, WorkspaceName::fromString($targetWorkspaceName)); } catch (WorkspaceIsNotEmptyException $exception) { $error = new Error(); $error->setMessage( @@ -458,13 +458,14 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d return; } - $subgraph = $contentRepository->getContentGraph($workspace->name) + $subgraph = $contentRepository->getContentGraph($userWorkspace->workspaceName) ->getSubgraph( $command->documentNode->dimensionSpacePoint, VisibilityConstraints::withoutRestrictions() ); - $documentNode = $subgraph->findNodeById($command->documentNode->nodeAggregateId); + $documentNodeInstance = $subgraph->findNodeById($command->documentNode->nodeAggregateId); + assert($documentNodeInstance !== null); $success = new Success(); $success->setMessage( @@ -472,41 +473,36 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d ); $this->feedbackCollection->add($success); - $updateWorkspaceInfo = new UpdateWorkspaceInfo($contentRepositoryId, $userWorkspaceName); + $updateWorkspaceInfo = new UpdateWorkspaceInfo($contentRepositoryId, $userWorkspace->workspaceName); $this->feedbackCollection->add($updateWorkspaceInfo); // If current document node doesn't exist in the base workspace, // traverse its parents to find the one that exists // todo ensure that https://github.com/neos/neos-ui/pull/3734 doesnt need to be refixed in Neos 9.0 - $redirectNode = $documentNode; + $redirectNode = $documentNodeInstance; while (true) { - // @phpstan-ignore-next-line $redirectNodeInBaseWorkspace = $subgraph->findNodeById($redirectNode->aggregateId); if ($redirectNodeInBaseWorkspace) { break; - } else { - // @phpstan-ignore-next-line - $redirectNode = $subgraph->findParentNode($redirectNode->aggregateId); - // get parent always returns Node - if (!$redirectNode) { - throw new \Exception( - sprintf( - 'Wasn\'t able to locate any valid node in rootline of node %s in the workspace %s.', - $documentNode?->aggregateId->value, - $targetWorkspaceName - ), - 1458814469 - ); - } + } + $redirectNode = $subgraph->findParentNode($redirectNode->aggregateId); + // get parent always returns Node + if (!$redirectNode) { + throw new \Exception( + sprintf( + 'Wasn\'t able to locate any valid node in rootline of node %s in the workspace %s.', + $documentNodeInstance->aggregateId->value, + $targetWorkspaceName + ), + 1458814469 + ); } } - /** @var Node $documentNode */ - /** @var Node $redirectNode */ // If current document node exists in the base workspace, then reload, else redirect - if ($redirectNode->equals($documentNode)) { + if ($redirectNode->equals($documentNodeInstance)) { $reloadDocument = new ReloadDocument(); - $reloadDocument->setNode($documentNode); + $reloadDocument->setNode($documentNodeInstance); $this->feedbackCollection->add($reloadDocument); } else { $redirect = new Redirect(); @@ -575,8 +571,7 @@ public function cutNodesAction(array $nodes): void public function getWorkspaceInfoAction(): void { $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; - $workspaceHelper = new WorkspaceHelper(); - $personalWorkspaceInfo = $workspaceHelper->getPersonalWorkspace($contentRepositoryId); + $personalWorkspaceInfo = (new WorkspaceHelper())->getPersonalWorkspace($contentRepositoryId); $this->view->assign('value', $personalWorkspaceInfo); } diff --git a/Classes/Domain/Model/Feedback/Operations/UpdateWorkspaceInfo.php b/Classes/Domain/Model/Feedback/Operations/UpdateWorkspaceInfo.php index 53577a573b..7fd86f0961 100644 --- a/Classes/Domain/Model/Feedback/Operations/UpdateWorkspaceInfo.php +++ b/Classes/Domain/Model/Feedback/Operations/UpdateWorkspaceInfo.php @@ -11,15 +11,14 @@ * source code. */ -use Neos\ContentRepository\Core\Projection\Workspace\Workspace; -use Neos\ContentRepository\Core\SharedModel\Workspace\WorkspaceName; use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId; +use Neos\ContentRepository\Core\SharedModel\Workspace\WorkspaceName; +use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; -use Neos\Neos\Ui\ContentRepository\Service\WorkspaceService; +use Neos\Flow\Mvc\Controller\ControllerContext; +use Neos\Neos\Ui\ContentRepository\Service\WorkspaceService as UiWorkspaceService; use Neos\Neos\Ui\Domain\Model\AbstractFeedback; use Neos\Neos\Ui\Domain\Model\FeedbackInterface; -use Neos\Flow\Mvc\Controller\ControllerContext; -use Neos\Neos\Domain\Workspace\WorkspaceProvider; /** * @internal @@ -28,15 +27,15 @@ class UpdateWorkspaceInfo extends AbstractFeedback { /** * @Flow\Inject - * @var WorkspaceService + * @var ContentRepositoryRegistry */ - protected $workspaceService; + protected $contentRepositoryRegistry; /** * @Flow\Inject - * @var WorkspaceProvider + * @var UiWorkspaceService */ - protected $workspaceProvider; + protected $uiWorkspaceService; /** * UpdateWorkspaceInfo constructor. @@ -87,8 +86,8 @@ public function isSimilarTo(FeedbackInterface $feedback) if (!$feedback instanceof UpdateWorkspaceInfo) { return false; } - - return $this->getWorkspaceName()->equals($feedback->getWorkspaceName()); + $feedbackWorkspaceName = $feedback->getWorkspaceName(); + return $feedbackWorkspaceName !== null && $this->getWorkspaceName()->equals($feedbackWorkspaceName); } /** @@ -99,21 +98,18 @@ public function isSimilarTo(FeedbackInterface $feedback) */ public function serializePayload(ControllerContext $controllerContext) { - $workspace = $this->workspaceProvider->provideForWorkspaceName( - $this->contentRepositoryId, - $this->workspaceName - ); - $totalNumberOfChanges = $workspace->countAllChanges(); - + $contentRepository = $this->contentRepositoryRegistry->get($this->contentRepositoryId); + $workspace = $contentRepository->getWorkspaceFinder()->findOneByName($this->workspaceName); + if ($workspace === null) { + return null; + } + $publishableNodes = $this->uiWorkspaceService->getPublishableNodeInfo($workspace->workspaceName, $contentRepository->id); return [ 'name' => $this->workspaceName->value, - 'totalNumberOfChanges' => $totalNumberOfChanges, - 'publishableNodes' => $this->workspaceService->getPublishableNodeInfo( - $this->workspaceName, - $this->contentRepositoryId - ), - 'baseWorkspace' => $workspace->getCurrentBaseWorkspaceName()?->value, - 'status' => $workspace->getCurrentStatus() + 'totalNumberOfChanges' => count($publishableNodes), + 'publishableNodes' => $publishableNodes, + 'baseWorkspace' => $workspace->baseWorkspaceName?->value, + 'status' => $workspace->status->value, ]; } } diff --git a/Classes/Fusion/Helper/WorkspaceHelper.php b/Classes/Fusion/Helper/WorkspaceHelper.php index c22e35837f..a3b316ff22 100644 --- a/Classes/Fusion/Helper/WorkspaceHelper.php +++ b/Classes/Fusion/Helper/WorkspaceHelper.php @@ -16,13 +16,12 @@ use Neos\Eel\ProtectedContextAwareInterface; use Neos\Flow\Annotations as Flow; use Neos\Flow\Security\Context; -use Neos\Neos\Domain\Service\WorkspaceNameBuilder; -use Neos\Neos\Domain\Workspace\WorkspaceProvider; -use Neos\Neos\Ui\ContentRepository\Service\WorkspaceService; +use Neos\Neos\Domain\Service\UserService; +use Neos\Neos\Domain\Service\WorkspaceService; +use Neos\Neos\Ui\ContentRepository\Service\WorkspaceService as UiWorkspaceService; /** - * @internal implementation detail of the Neos Ui to build its initialState. - * and used for the workspace-info endpoint. + * @internal implementation detail of the Neos Ui to build its initialState {@see \Neos\Neos\Ui\Infrastructure\Configuration\InitialStateProvider} */ class WorkspaceHelper implements ProtectedContextAwareInterface { @@ -34,46 +33,48 @@ class WorkspaceHelper implements ProtectedContextAwareInterface /** * @Flow\Inject - * @var WorkspaceService + * @var Context */ - protected $workspaceService; + protected $securityContext; /** * @Flow\Inject - * @var Context + * @var UiWorkspaceService */ - protected $securityContext; + protected $uiWorkspaceService; + + /** + * @Flow\Inject + * @var UserService + */ + protected $userService; /** * @Flow\Inject - * @var WorkspaceProvider + * @var WorkspaceService */ - protected $workspaceProvider; + protected $workspaceService; /** * @return array */ public function getPersonalWorkspace(ContentRepositoryId $contentRepositoryId): array { - $currentAccount = $this->securityContext->getAccount(); - assert($currentAccount !== null); - // todo use \Neos\Neos\Service\UserService::getPersonalWorkspaceName instead? - $personalWorkspaceName = WorkspaceNameBuilder::fromAccountIdentifier($currentAccount->getAccountIdentifier()); - - $workspace = $this->workspaceProvider->provideForWorkspaceName( - $contentRepositoryId, - $personalWorkspaceName - ); - + $currentUser = $this->userService->getCurrentUser(); + if ($currentUser === null) { + return []; + } + $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); + $personalWorkspace = $this->workspaceService->getPersonalWorkspaceForUser($contentRepositoryId, $currentUser->getId()); + $personalWorkspacePermissions = $this->workspaceService->getWorkspacePermissionsForUser($contentRepositoryId, $personalWorkspace->workspaceName, $currentUser); + $publishableNodes = $this->uiWorkspaceService->getPublishableNodeInfo($personalWorkspace->workspaceName, $contentRepository->id); return [ - 'name' => $workspace->name, - 'totalNumberOfChanges' => $workspace->countAllChanges(), - 'publishableNodes' => $this->workspaceService->getPublishableNodeInfo($personalWorkspaceName, $contentRepositoryId), - 'baseWorkspace' => $workspace->getCurrentBaseWorkspaceName(), - // TODO: FIX readonly flag! - //'readOnly' => !$this->domainUserService->currentUserCanPublishToWorkspace($baseWorkspace) - 'readOnly' => false, - 'status' => $workspace->getCurrentStatus() + 'name' => $personalWorkspace->workspaceName->value, + 'totalNumberOfChanges' => count($publishableNodes), + 'publishableNodes' => $publishableNodes, + 'baseWorkspace' => $personalWorkspace->baseWorkspaceName?->value, + 'readOnly' => !($personalWorkspace->baseWorkspaceName !== null && $personalWorkspacePermissions->write), + 'status' => $personalWorkspace->status->value, ]; } diff --git a/Classes/Infrastructure/Configuration/ConfigurationProvider.php b/Classes/Infrastructure/Configuration/ConfigurationProvider.php index 36e4410d53..f18d4e05f3 100644 --- a/Classes/Infrastructure/Configuration/ConfigurationProvider.php +++ b/Classes/Infrastructure/Configuration/ConfigurationProvider.php @@ -18,8 +18,9 @@ use Neos\Flow\Annotations as Flow; use Neos\Flow\Configuration\ConfigurationManager; use Neos\Flow\Mvc\Routing\UriBuilder; +use Neos\Neos\Domain\Model\WorkspaceClassification; +use Neos\Neos\Domain\Service\WorkspaceService; use Neos\Neos\Service\UserService; -use Neos\Neos\Ui\ContentRepository\Service\WorkspaceService; use Neos\Neos\Ui\Domain\InitialData\CacheConfigurationVersionProviderInterface; use Neos\Neos\Ui\Domain\InitialData\ConfigurationProviderInterface; @@ -54,10 +55,7 @@ public function getConfiguration( ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, 'Neos.Neos.userInterface.navigateComponent.structureTree', ), - 'allowedTargetWorkspaces' => - $this->workspaceService->getAllowedTargetWorkspaces( - $contentRepository - ), + 'allowedTargetWorkspaces' => $this->getAllowedTargetWorkspaces($contentRepository), 'endpoints' => [ 'nodeTypeSchema' => $uriBuilder->reset() ->setCreateAbsoluteUri(true) @@ -89,4 +87,32 @@ public function getConfiguration( ] ]; } + + /** + * @return array + */ + private function getAllowedTargetWorkspaces(ContentRepository $contentRepository): array + { + $backendUser = $this->userService->getBackendUser(); + if ($backendUser === null) { + return []; + } + $result = []; + foreach ($contentRepository->getWorkspaceFinder()->findAll() as $workspace) { + $workspaceMetadata = $this->workspaceService->getWorkspaceMetadata($contentRepository->id, $workspace->workspaceName); + if (!in_array($workspaceMetadata->classification, [WorkspaceClassification::ROOT, WorkspaceClassification::SHARED], true)) { + continue; + } + $workspacePermissions = $this->workspaceService->getWorkspacePermissionsForUser($contentRepository->id, $workspace->workspaceName, $backendUser); + if ($workspacePermissions->read === false) { + continue; + } + $result[$workspace->workspaceName->value] = [ + 'name' => $workspace->workspaceName->value, + 'title' => $workspaceMetadata->title->value, + 'readonly' => !$workspacePermissions->write, + ]; + } + return $result; + } } diff --git a/Tests/IntegrationTests/Fixtures/1Dimension/discarding.e2e.js b/Tests/IntegrationTests/Fixtures/1Dimension/discarding.e2e.js index db382f1d70..f7ed4606a3 100644 --- a/Tests/IntegrationTests/Fixtures/1Dimension/discarding.e2e.js +++ b/Tests/IntegrationTests/Fixtures/1Dimension/discarding.e2e.js @@ -38,7 +38,7 @@ test('Discarding: create multiple nodes nested within each other and then discar .expect(ReactSelector('Provider').getReact(({props}) => { const reduxState = props.store.getState(); return reduxState.cr.nodes.documentNode; - })).eql('user-admin__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__f676459d-ca77-44bc-aeea-44114814c279', 'After discarding we are back to the main page'); + })).eql('admin-admington__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__f676459d-ca77-44bc-aeea-44114814c279', 'After discarding we are back to the main page'); }); test('Discarding: create a document node and then discard it', async t => { diff --git a/Tests/IntegrationTests/Fixtures/1Dimension/syncing.e2e.js b/Tests/IntegrationTests/Fixtures/1Dimension/syncing.e2e.js index 53655aa584..b2db46a047 100644 --- a/Tests/IntegrationTests/Fixtures/1Dimension/syncing.e2e.js +++ b/Tests/IntegrationTests/Fixtures/1Dimension/syncing.e2e.js @@ -152,7 +152,7 @@ async function chooseDiscardAllAndFinishSynchronization(t) { // Choose "Discard All" as resolution strategy // await t.click(Selector('#neos-SelectResolutionStrategy-SelectBox')); - await t.click(Selector('[role="button"]').withText('Discard workspace "user-admin"')); + await t.click(Selector('[role="button"]').withText('Discard workspace "admin-admington"')); await t.click(Selector('#neos-SelectResolutionStrategy-Accept')); // diff --git a/Tests/IntegrationTests/Fixtures/1Dimension/treeMultiselect.e2e.js b/Tests/IntegrationTests/Fixtures/1Dimension/treeMultiselect.e2e.js index 885bfd3c00..0bf502bb50 100644 --- a/Tests/IntegrationTests/Fixtures/1Dimension/treeMultiselect.e2e.js +++ b/Tests/IntegrationTests/Fixtures/1Dimension/treeMultiselect.e2e.js @@ -26,7 +26,7 @@ test('Move multiple nodes via toolbar', async t => { .expect(ReactSelector('Provider').getReact(({props}) => { const reduxState = props.store.getState(); return reduxState.cr.nodes.documentNode; - })).eql('user-admin__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__5b0d6ac0-40ab-47e8-b79e-39de6c0700df', 'Node B\'s node address changed'); + })).eql('admin-admington__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__5b0d6ac0-40ab-47e8-b79e-39de6c0700df', 'Node B\'s node address changed'); await t.click(Page.getTreeNodeButton('Home')) }); @@ -43,7 +43,7 @@ test('Move multiple nodes via DND, CMD-click', async t => { .expect(ReactSelector('Provider').getReact(({props}) => { const reduxState = props.store.getState(); return reduxState.cr.nodes.documentNode; - })).eql('user-admin__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__5b0d6ac0-40ab-47e8-b79e-39de6c0700df', 'Node B\'s node address changed'); + })).eql('admin-admington__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__5b0d6ac0-40ab-47e8-b79e-39de6c0700df', 'Node B\'s node address changed'); await t.click(Page.getTreeNodeButton('Home')) }); @@ -60,6 +60,6 @@ test('Move multiple nodes via DND, SHIFT-click', async t => { .expect(ReactSelector('Provider').getReact(({props}) => { const reduxState = props.store.getState(); return reduxState.cr.nodes.documentNode; - })).eql('user-admin__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__84eb0340-ba34-4fdb-98b1-da503f967121', 'Node C\'s node address changed'); + })).eql('admin-admington__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__84eb0340-ba34-4fdb-98b1-da503f967121', 'Node C\'s node address changed'); await t.click(Page.getTreeNodeButton('Home')) }); diff --git a/Tests/IntegrationTests/e2e-docker.sh b/Tests/IntegrationTests/e2e-docker.sh index c7cfed36a7..6fe682e282 100755 --- a/Tests/IntegrationTests/e2e-docker.sh +++ b/Tests/IntegrationTests/e2e-docker.sh @@ -58,13 +58,17 @@ dc exec -T php bash <<-'BASH' ./flow cr:setup --content-repository onedimension ./flow cr:import --content-repository onedimension --path ./DistributionPackages/Neos.Test.OneDimension/Resources/Private/Content - # Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary + # TODO: Fix when part of importer: Add Neos workspace role for the live workspace + ./flow workspace:assignrole live Neos.Neos:LivePublisher collaborator --content-repository onedimension + # TODO: Fix when part of importer: Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary ./flow site:create neos-test-onedimension Neos.Test.OneDimension Neos.TestNodeTypes:Document.HomePage ./flow domain:add neos-test-onedimension onedimension.localhost --port 8081 ./flow cr:setup --content-repository twodimensions ./flow cr:import --content-repository twodimensions --path ./DistributionPackages/Neos.Test.TwoDimensions/Resources/Private/Content - # Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary + # TODO: Fix when part of importer: Add Neos workspace role for the live workspace + ./flow workspace:assignrole live Neos.Neos:LivePublisher collaborator --content-repository twodimensions + # TODO: Fix when part of importer: Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary ./flow site:create neos-test-twodimensions Neos.Test.TwoDimensions Neos.TestNodeTypes:Document.HomePage ./flow domain:add neos-test-twodimensions twodimensions.localhost --port 8081 diff --git a/Tests/IntegrationTests/e2e.sh b/Tests/IntegrationTests/e2e.sh index 491915f5f2..9446741e5d 100755 --- a/Tests/IntegrationTests/e2e.sh +++ b/Tests/IntegrationTests/e2e.sh @@ -80,13 +80,17 @@ function run_tests() { ./flow cr:setup --content-repository onedimension ./flow cr:import --content-repository onedimension --path ./DistributionPackages/Neos.Test.OneDimension/Resources/Private/Content - # Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary + # TODO: Fix when part of importer: Add Neos workspace role for the live workspace + ./flow workspace:assignrole live Neos.Neos:LivePublisher collaborator --content-repository onedimension + # TODO: Fix when part of importer: Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary ./flow site:create neos-test-onedimension Neos.Test.OneDimension Neos.TestNodeTypes:Document.HomePage ./flow domain:add neos-test-onedimension onedimension.localhost --port 8081 ./flow cr:setup --content-repository twodimensions ./flow cr:import --content-repository twodimensions --path ./DistributionPackages/Neos.Test.TwoDimensions/Resources/Private/Content - # Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary + # TODO: Fix when part of importer: Add Neos workspace role for the live workspace + ./flow workspace:assignrole live Neos.Neos:LivePublisher collaborator --content-repository twodimensions + # TODO: Fix when part of importer: Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary ./flow site:create neos-test-twodimensions Neos.Test.TwoDimensions Neos.TestNodeTypes:Document.HomePage ./flow domain:add neos-test-twodimensions twodimensions.localhost --port 8081 From a42556f5d0c60fc5f1d1b3fb4760f38e12611385 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Thu, 26 Sep 2024 13:02:36 +0200 Subject: [PATCH 11/19] TASK: Reform `NeosUiNodeService` to use new NodeAddress --- Classes/Application/ChangeTargetWorkspace.php | 2 +- .../Service/NeosUiNodeService.php | 21 +-- .../Controller/BackendServiceController.php | 124 +++++++----------- .../Changes/AbstractStructuralChange.php | 3 +- Classes/Domain/Model/Changes/CopyInto.php | 3 +- Classes/Domain/Model/Changes/MoveInto.php | 5 +- Classes/Service/NodeClipboard.php | 8 +- .../ChangeCollectionConverter.php | 7 +- 8 files changed, 64 insertions(+), 109 deletions(-) diff --git a/Classes/Application/ChangeTargetWorkspace.php b/Classes/Application/ChangeTargetWorkspace.php index 18f34e5301..07fd682fe7 100644 --- a/Classes/Application/ChangeTargetWorkspace.php +++ b/Classes/Application/ChangeTargetWorkspace.php @@ -15,9 +15,9 @@ namespace Neos\Neos\Ui\Application; use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepository\Core\SharedModel\Workspace\WorkspaceName; use Neos\Flow\Annotations as Flow; -use Neos\Neos\FrontendRouting\NodeAddress; /** * The application layer level command DTO to communicate the change of the selected target workspace for publication diff --git a/Classes/ContentRepository/Service/NeosUiNodeService.php b/Classes/ContentRepository/Service/NeosUiNodeService.php index b0185b7cb1..07d0b8ee35 100644 --- a/Classes/ContentRepository/Service/NeosUiNodeService.php +++ b/Classes/ContentRepository/Service/NeosUiNodeService.php @@ -12,14 +12,11 @@ */ -use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; -use Neos\Neos\FrontendRouting\NodeAddress; -use Neos\Neos\Utility\NodeTypeWithFallbackProvider; /** * @internal @@ -27,26 +24,18 @@ */ class NeosUiNodeService { - use NodeTypeWithFallbackProvider; - #[Flow\Inject] protected ContentRepositoryRegistry $contentRepositoryRegistry; - public function findNodeBySerializedNodeAddress(string $serializedNodeAddress, ContentRepositoryId $contentRepositoryId): ?Node + public function findNodeBySerializedNodeAddress(string $serializedNodeAddress): ?Node { - $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); - $nodeAddress = NodeAddressFactory::create($contentRepository)->createFromUriString($serializedNodeAddress); + $nodeAddress = NodeAddress::fromJsonString($serializedNodeAddress); + $contentRepository = $this->contentRepositoryRegistry->get($nodeAddress->contentRepositoryId); $subgraph = $contentRepository->getContentGraph($nodeAddress->workspaceName)->getSubgraph( $nodeAddress->dimensionSpacePoint, VisibilityConstraints::withoutRestrictions() ); - return $subgraph->findNodeById($nodeAddress->nodeAggregateId); - } - - public function deserializeNodeAddress(string $serializedNodeAddress, ContentRepositoryId $contentRepositoryId): NodeAddress - { - $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); - return NodeAddressFactory::create($contentRepository)->createFromUriString($serializedNodeAddress); + return $subgraph->findNodeById($nodeAddress->aggregateId); } } diff --git a/Classes/Controller/BackendServiceController.php b/Classes/Controller/BackendServiceController.php index faa6f7217f..89e1975aad 100644 --- a/Classes/Controller/BackendServiceController.php +++ b/Classes/Controller/BackendServiceController.php @@ -20,6 +20,7 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; use Neos\ContentRepository\Core\SharedModel\Exception\NodeAggregateCurrentlyDoesNotExist; use Neos\ContentRepository\Core\SharedModel\Exception\NodeAggregateDoesCurrentlyNotCoverDimensionSpacePoint; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepository\Core\SharedModel\Workspace\WorkspaceName; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Eel\FlowQuery\FlowQuery; @@ -33,8 +34,6 @@ use Neos\Flow\Security\Context; use Neos\Neos\Domain\Service\WorkspacePublishingService; use Neos\Neos\Domain\Service\WorkspaceService; -use Neos\Neos\FrontendRouting\NodeAddress; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\FrontendRouting\SiteDetection\SiteDetectionResult; use Neos\Neos\Service\UserService; use Neos\Neos\Ui\Application\ChangeTargetWorkspace; @@ -207,10 +206,9 @@ public function publishChangesInSiteAction(array $command): void /** @todo send from UI */ $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; $command['contentRepositoryId'] = $contentRepositoryId->value; - $command['siteId'] = $this->nodeService->deserializeNodeAddress( - $command['siteId'], - $contentRepositoryId - )->nodeAggregateId->value; + $command['siteId'] = NodeAddress::fromJsonString( + $command['siteId'] + )->aggregateId->value; $command = PublishChangesInSite::fromArray($command); $publishingResult = $this->workspacePublishingService->publishChangesInSite( $command->contentRepositoryId, @@ -246,10 +244,9 @@ public function publishChangesInDocumentAction(array $command): void /** @todo send from UI */ $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; $command['contentRepositoryId'] = $contentRepositoryId->value; - $command['documentId'] = $this->nodeService->deserializeNodeAddress( - $command['documentId'], - $contentRepositoryId - )->nodeAggregateId->value; + $command['documentId'] = NodeAddress::fromJsonString( + $command['documentId'] + )->aggregateId->value; $command = PublishChangesInDocument::fromArray($command); try { @@ -336,10 +333,9 @@ public function discardChangesInSiteAction(array $command): void /** @todo send from UI */ $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; $command['contentRepositoryId'] = $contentRepositoryId->value; - $command['siteId'] = $this->nodeService->deserializeNodeAddress( - $command['siteId'], - $contentRepositoryId - )->nodeAggregateId->value; + $command['siteId'] = NodeAddress::fromJsonString( + $command['siteId'] + )->aggregateId->value; $command = DiscardChangesInSite::fromArray($command); $discardingResult = $this->workspacePublishingService->discardChangesInSite( @@ -376,10 +372,9 @@ public function discardChangesInDocumentAction(array $command): void /** @todo send from UI */ $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; $command['contentRepositoryId'] = $contentRepositoryId->value; - $command['documentId'] = $this->nodeService->deserializeNodeAddress( - $command['documentId'], - $contentRepositoryId - )->nodeAggregateId->value; + $command['documentId'] = NodeAddress::fromJsonString( + $command['documentId'] + )->aggregateId->value; $command = DiscardChangesInDocument::fromArray($command); $discardingResult = $this->workspacePublishingService->discardChangesInDocument( @@ -415,10 +410,9 @@ public function discardChangesInDocumentAction(array $command): void */ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $documentNode): void { - $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; - $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); + $documentNodeAddress = NodeAddress::fromJsonString($documentNode); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); + $contentRepository = $this->contentRepositoryRegistry->get($documentNodeAddress->contentRepositoryId); $user = $this->userService->getBackendUser(); if ($user === null) { @@ -432,10 +426,10 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d /** @todo send from UI */ $command = new ChangeTargetWorkspace( - $contentRepositoryId, + $documentNodeAddress->contentRepositoryId, $userWorkspace->workspaceName, WorkspaceName::fromString($targetWorkspaceName), - $nodeAddressFactory->createFromUriString($documentNode) + $documentNodeAddress ); try { @@ -464,7 +458,7 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d VisibilityConstraints::withoutRestrictions() ); - $documentNodeInstance = $subgraph->findNodeById($command->documentNode->nodeAggregateId); + $documentNodeInstance = $subgraph->findNodeById($command->documentNode->aggregateId); assert($documentNodeInstance !== null); $success = new Success(); @@ -473,7 +467,7 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d ); $this->feedbackCollection->add($success); - $updateWorkspaceInfo = new UpdateWorkspaceInfo($contentRepositoryId, $userWorkspace->workspaceName); + $updateWorkspaceInfo = new UpdateWorkspaceInfo($command->contentRepositoryId, $userWorkspace->workspaceName); $this->feedbackCollection->add($updateWorkspaceInfo); // If current document node doesn't exist in the base workspace, @@ -524,13 +518,9 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d */ public function copyNodesAction(array $nodes): void { - $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; - $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); - /** @var array $nodeAddresses */ $nodeAddresses = array_map( - fn (string $serializedNodeAddress) => $nodeAddressFactory->createFromUriString($serializedNodeAddress), + NodeAddress::fromJsonString(...), $nodes ); $this->clipboard->copyNodes($nodeAddresses); @@ -555,13 +545,9 @@ public function clearClipboardAction() */ public function cutNodesAction(array $nodes): void { - $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; - $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); - - /** @var array $nodeAddresses */ + /** @var array $nodeAddresses */ $nodeAddresses = array_map( - fn (string $serializedNodeAddress) => $nodeAddressFactory->createFromUriString($serializedNodeAddress), + NodeAddress::fromJsonString(...), $nodes ); @@ -590,25 +576,22 @@ public function initializeGetAdditionalNodeMetadataAction(): void */ public function getAdditionalNodeMetadataAction(array $nodes): void { - $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; - $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); - $result = []; foreach ($nodes as $nodeAddressString) { - $nodeAddress = $nodeAddressFactory->createFromUriString($nodeAddressString); + $nodeAddress = NodeAddress::fromJsonString($nodeAddressString); + $contentRepository = $this->contentRepositoryRegistry->get($nodeAddress->contentRepositoryId); $subgraph = $contentRepository->getContentGraph($nodeAddress->workspaceName)->getSubgraph( $nodeAddress->dimensionSpacePoint, VisibilityConstraints::withoutRestrictions() ); - $node = $subgraph->findNodeById($nodeAddress->nodeAggregateId); + $node = $subgraph->findNodeById($nodeAddress->aggregateId); // TODO finish implementation /*$otherNodeVariants = array_values(array_filter(array_map(function ($node) { return $this->getCurrentDimensionPresetIdentifiersForNode($node); }, $node->getOtherNodeVariants())));*/ if (!is_null($node)) { - $result[$nodeAddress->serializeForUri()] = [ + $result[$nodeAddress->toJson()] = [ // todo reimplement nodePolicyService 'policy' => [ 'disallowedNodeTypes' => [], @@ -638,18 +621,16 @@ public function initializeGetPolicyInformationAction(): void */ public function getPolicyInformationAction(array $nodes): void { - $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; - $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); - $result = []; foreach ($nodes as $nodeAddress) { + $contentRepository = $this->contentRepositoryRegistry->get($nodeAddress->contentRepositoryId); $subgraph = $contentRepository->getContentGraph($nodeAddress->workspaceName)->getSubgraph( $nodeAddress->dimensionSpacePoint, VisibilityConstraints::withoutRestrictions() ); - $node = $subgraph->findNodeById($nodeAddress->nodeAggregateId); + $node = $subgraph->findNodeById($nodeAddress->aggregateId); if (!is_null($node)) { - $result[$nodeAddress->serializeForUri()] = [ + $result[$nodeAddress->toJson()] = [ // todo reimplement nodePolicyService 'policy' => [ 'disallowedNodeTypes' => [], @@ -682,8 +663,7 @@ public function flowQueryAction(array $chain): string $flowQuery = new FlowQuery( array_map( fn ($nodeContextPath) => $this->nodeService->findNodeBySerializedNodeAddress( - $nodeContextPath, - $contentRepositoryId + $nodeContextPath ), $nodeContextPaths ) @@ -723,16 +703,13 @@ public function flowQueryAction(array $chain): string */ public function generateUriPathSegmentAction(string $contextNode, string $text): void { - $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; - $contentRepository = $this->contentRepositoryRegistry->get($contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); - - $contextNodeAddress = $nodeAddressFactory->createFromUriString($contextNode); + $contextNodeAddress = NodeAddress::fromJsonString($contextNode); + $contentRepository = $this->contentRepositoryRegistry->get($contextNodeAddress->contentRepositoryId); $subgraph = $contentRepository->getContentGraph($contextNodeAddress->workspaceName)->getSubgraph( $contextNodeAddress->dimensionSpacePoint, VisibilityConstraints::withoutRestrictions() ); - $contextNode = $subgraph->findNodeById($contextNodeAddress->nodeAggregateId); + $contextNode = $subgraph->findNodeById($contextNodeAddress->aggregateId); $slug = $this->nodeUriPathSegmentGenerator->generateUriPathSegment($contextNode, $text); $this->view->assign('value', $slug); @@ -795,36 +772,31 @@ public function reloadNodesAction(array $query): void /** @todo send from UI */ $contentRepositoryId = SiteDetectionResult::fromRequest($this->request->getHttpRequest())->contentRepositoryId; $query['contentRepositoryId'] = $contentRepositoryId->value; - $query['siteId'] = $this->nodeService->deserializeNodeAddress( - $query['siteId'], - $contentRepositoryId - )->nodeAggregateId->value; - $query['documentId'] = $this->nodeService->deserializeNodeAddress( - $query['documentId'], - $contentRepositoryId - )->nodeAggregateId->value; + $query['siteId'] = NodeAddress::fromJsonString( + $query['siteId'] + )->aggregateId->value; + $query['documentId'] = NodeAddress::fromJsonString( + $query['documentId'] + )->aggregateId->value; $query['ancestorsOfDocumentIds'] = array_map( fn (string $nodeAddress) => - $this->nodeService->deserializeNodeAddress( - $nodeAddress, - $contentRepositoryId - )->nodeAggregateId->value, + NodeAddress::fromJsonString( + $nodeAddress + )->aggregateId->value, $query['ancestorsOfDocumentIds'] ); $query['toggledNodesIds'] = array_map( fn (string $nodeAddress) => - $this->nodeService->deserializeNodeAddress( - $nodeAddress, - $contentRepositoryId - )->nodeAggregateId->value, + NodeAddress::fromJsonString( + $nodeAddress + )->aggregateId->value, $query['toggledNodesIds'] ); $query['clipboardNodesIds'] = array_map( fn (string $nodeAddress) => - $this->nodeService->deserializeNodeAddress( - $nodeAddress, - $contentRepositoryId - )->nodeAggregateId->value, + NodeAddress::fromJsonString( + $nodeAddress + )->aggregateId->value, $query['clipboardNodesIds'] ); $query = ReloadNodesQuery::fromArray($query); diff --git a/Classes/Domain/Model/Changes/AbstractStructuralChange.php b/Classes/Domain/Model/Changes/AbstractStructuralChange.php index f3dafdb559..020c85fd66 100644 --- a/Classes/Domain/Model/Changes/AbstractStructuralChange.php +++ b/Classes/Domain/Model/Changes/AbstractStructuralChange.php @@ -108,8 +108,7 @@ public function getSiblingNode(): ?Node if ($this->cachedSiblingNode === null) { $this->cachedSiblingNode = $this->nodeService->findNodeBySerializedNodeAddress( - $this->siblingDomAddress->getContextPath(), - $this->getSubject()->contentRepositoryId + $this->siblingDomAddress->getContextPath() ); } diff --git a/Classes/Domain/Model/Changes/CopyInto.php b/Classes/Domain/Model/Changes/CopyInto.php index 8940173219..bdd1188b7a 100644 --- a/Classes/Domain/Model/Changes/CopyInto.php +++ b/Classes/Domain/Model/Changes/CopyInto.php @@ -15,7 +15,6 @@ use Neos\ContentRepository\Core\DimensionSpace\OriginDimensionSpacePoint; use Neos\ContentRepository\Core\Feature\NodeDuplication\Command\CopyNodesRecursively; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; -use Neos\ContentRepository\Core\SharedModel\Node\NodeName; /** * @internal These objects internally reflect possible operations made by the Neos.Ui. @@ -37,7 +36,7 @@ public function getParentNode(): ?Node { if (!isset($this->cachedParentNode)) { $this->cachedParentNode = $this->parentContextPath - ? $this->nodeService->findNodeBySerializedNodeAddress($this->parentContextPath, $this->getSubject()->contentRepositoryId) + ? $this->nodeService->findNodeBySerializedNodeAddress($this->parentContextPath) : null; } diff --git a/Classes/Domain/Model/Changes/MoveInto.php b/Classes/Domain/Model/Changes/MoveInto.php index 74dbc07956..75474d0563 100644 --- a/Classes/Domain/Model/Changes/MoveInto.php +++ b/Classes/Domain/Model/Changes/MoveInto.php @@ -13,8 +13,8 @@ */ use Neos\ContentRepository\Core\Feature\NodeMove\Command\MoveNodeAggregate; -use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\Feature\NodeMove\Dto\RelationDistributionStrategy; +use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\Neos\Ui\Domain\Model\Feedback\Operations\UpdateNodeInfo; /** @@ -38,8 +38,7 @@ public function getParentNode(): ?Node } return $this->nodeService->findNodeBySerializedNodeAddress( - $this->parentContextPath, - $this->getSubject()->contentRepositoryId + $this->parentContextPath ); } diff --git a/Classes/Service/NodeClipboard.php b/Classes/Service/NodeClipboard.php index ad802b7be3..2f009b6795 100644 --- a/Classes/Service/NodeClipboard.php +++ b/Classes/Service/NodeClipboard.php @@ -11,7 +11,7 @@ * source code. */ -use Neos\Neos\FrontendRouting\NodeAddress; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\Flow\Annotations as Flow; /** @@ -44,7 +44,7 @@ class NodeClipboard public function copyNodes(array $nodeAddresses): void { $this->serializedNodeAddresses = array_map( - fn (NodeAddress $nodeAddress) => $nodeAddress->serializeForUri(), + fn (NodeAddress $nodeAddress) => $nodeAddress->toJson(), $nodeAddresses ); $this->mode = self::MODE_COPY; @@ -53,13 +53,13 @@ public function copyNodes(array $nodeAddresses): void /** * Save cut node to clipboard. * - * @param array $nodeAddresses + * @param array $nodeAddresses * @Flow\Session(autoStart=true) */ public function cutNodes(array $nodeAddresses): void { $this->serializedNodeAddresses = array_map( - fn (NodeAddress $nodeAddress) => $nodeAddress->serializeForUri(), + fn (NodeAddress $nodeAddress) => $nodeAddress->toJson(), $nodeAddresses ); $this->mode = self::MODE_MOVE; diff --git a/Classes/TypeConverter/ChangeCollectionConverter.php b/Classes/TypeConverter/ChangeCollectionConverter.php index a452640d63..9c438db681 100644 --- a/Classes/TypeConverter/ChangeCollectionConverter.php +++ b/Classes/TypeConverter/ChangeCollectionConverter.php @@ -12,13 +12,10 @@ */ use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId; -use Neos\Error\Messages\Error; use Neos\Flow\Annotations as Flow; use Neos\Flow\ObjectManagement\ObjectManagerInterface; use Neos\Flow\Persistence\PersistenceManagerInterface; use Neos\Flow\Property\PropertyMapper; -use Neos\Flow\Property\PropertyMappingConfigurationInterface; -use Neos\Flow\Property\TypeConverter\AbstractTypeConverter; use Neos\Flow\Reflection\ReflectionService; use Neos\Neos\Ui\ContentRepository\Service\NeosUiNodeService; use Neos\Neos\Ui\Domain\Model\ChangeCollection; @@ -133,7 +130,7 @@ protected function convertChangeData(array $changeData, ContentRepositoryId $con $subjectContextPath = $changeData['subject']; - $subject = $this->nodeService->findNodeBySerializedNodeAddress($subjectContextPath, $contentRepositoryId); + $subject = $this->nodeService->findNodeBySerializedNodeAddress($subjectContextPath); // we guard that `setSubject` gets a Node! if (is_null($subject)) { throw new \RuntimeException('Could not find node for subject "' . $subjectContextPath . '"', 1645657340); @@ -143,7 +140,7 @@ protected function convertChangeData(array $changeData, ContentRepositoryId $con if (isset($changeData['reference']) && method_exists($changeClassInstance, 'setReference')) { $referenceContextPath = $changeData['reference']; - $reference = $this->nodeService->findNodeBySerializedNodeAddress($referenceContextPath, $contentRepositoryId); + $reference = $this->nodeService->findNodeBySerializedNodeAddress($referenceContextPath); $changeClassInstance->setReference($reference); } From 13520defa0b00eee9cef6073fde11ccbfa3346d4 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Thu, 26 Sep 2024 13:15:06 +0200 Subject: [PATCH 12/19] TASK: Remove usages to `NodeAddressFactory` --- Classes/Application/ReloadNodes/NodeMap.php | 2 -- .../ReloadNodes/ReloadNodesQueryHandler.php | 6 ++-- .../ReloadNodes/ReloadNodesQueryResult.php | 4 +-- .../Service/WorkspaceService.php | 29 +++++++++---------- Classes/Controller/BackendController.php | 5 ++-- .../Changes/AbstractStructuralChange.php | 5 ++-- .../Model/Feedback/Operations/NodeCreated.php | 8 ++--- .../Model/Feedback/Operations/Redirect.php | 4 +-- .../Operations/ReloadContentOutOfBand.php | 8 ++--- .../Model/Feedback/Operations/RemoveNode.php | 18 +++++------- .../Operations/RenderContentOutOfBand.php | 8 ++--- .../Feedback/Operations/UpdateNodeInfo.php | 7 ++--- .../Operations/UpdateNodePreviewUrl.php | 6 ++-- .../NeosUiDefaultNodesOperation.php | 18 +++++------- Classes/Fusion/Helper/NodeInfoHelper.php | 22 +++++--------- 15 files changed, 60 insertions(+), 90 deletions(-) diff --git a/Classes/Application/ReloadNodes/NodeMap.php b/Classes/Application/ReloadNodes/NodeMap.php index 60285ffed8..38b08093ce 100644 --- a/Classes/Application/ReloadNodes/NodeMap.php +++ b/Classes/Application/ReloadNodes/NodeMap.php @@ -14,10 +14,8 @@ namespace Neos\Neos\Ui\Application\ReloadNodes; -use Neos\ContentRepository\Core\ContentRepository; use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\ActionRequest; -use Neos\Neos\FrontendRouting\NodeAddress; use Neos\Neos\Ui\Fusion\Helper\NodeInfoHelper; /** diff --git a/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php b/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php index b53287e2d5..2b05c6903d 100644 --- a/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php +++ b/Classes/Application/ReloadNodes/ReloadNodesQueryHandler.php @@ -19,11 +19,11 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\NodeType\NodeTypeCriteria; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\ActionRequest; use Neos\Neos\Domain\Service\NodeTypeNameFactory; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\Ui\Fusion\Helper\NodeInfoHelper; /** @@ -148,10 +148,8 @@ public function handle(ReloadNodesQuery $query, ActionRequest $actionRequest): R - but the logic above mirrors the old behavior better. https://github.com/neos/neos-ui/issues/3517#issuecomment-2070274053 */ - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); - return new ReloadNodesQueryResult( - documentId: $nodeAddressFactory->createFromNode($documentNode), + documentId: NodeAddress::fromNode($documentNode), nodes: $nodeMapBuilder->build() ); } diff --git a/Classes/Application/ReloadNodes/ReloadNodesQueryResult.php b/Classes/Application/ReloadNodes/ReloadNodesQueryResult.php index 0775bb03f9..69fa39cc3f 100644 --- a/Classes/Application/ReloadNodes/ReloadNodesQueryResult.php +++ b/Classes/Application/ReloadNodes/ReloadNodesQueryResult.php @@ -14,8 +14,8 @@ namespace Neos\Neos\Ui\Application\ReloadNodes; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\Flow\Annotations as Flow; -use Neos\Neos\FrontendRouting\NodeAddress; /** * The application layer level query result containing all nodes the UI needs @@ -38,7 +38,7 @@ public function __construct( public function jsonSerialize(): array { return [ - 'documentId' => $this->documentId->serializeForUri(), + 'documentId' => $this->documentId->toJson(), 'nodes' => $this->nodes ]; } diff --git a/Classes/ContentRepository/Service/WorkspaceService.php b/Classes/ContentRepository/Service/WorkspaceService.php index 479d2f077f..43cb89155f 100644 --- a/Classes/ContentRepository/Service/WorkspaceService.php +++ b/Classes/ContentRepository/Service/WorkspaceService.php @@ -14,14 +14,13 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\FindClosestNodeFilter; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepository\Core\SharedModel\ContentRepository\ContentRepositoryId; use Neos\ContentRepository\Core\SharedModel\Workspace\WorkspaceName; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; use Neos\Neos\Domain\Service\NodeTypeNameFactory; use Neos\Neos\Domain\Service\WorkspacePublishingService; -use Neos\Neos\FrontendRouting\NodeAddress; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\PendingChangesProjection\Change; use Neos\Neos\Utility\NodeTypeWithFallbackProvider; @@ -57,26 +56,26 @@ public function getPublishableNodeInfo(WorkspaceName $workspaceName, ContentRepo $unpublishedNodes = []; foreach ($pendingChanges as $change) { if ($change->removalAttachmentPoint) { - $nodeAddress = new NodeAddress( - $change->contentStreamId, + $nodeAddress = NodeAddress::create( + $contentRepositoryId, + $workspaceName, $change->originDimensionSpacePoint->toDimensionSpacePoint(), - $change->nodeAggregateId, - $workspaceName + $change->nodeAggregateId ); /** * See {@see Remove::apply} -> Removal Attachment Point == closest document node. */ - $documentNodeAddress = new NodeAddress( - $change->contentStreamId, + $documentNodeAddress = NodeAddress::create( + $contentRepositoryId, + $workspaceName, $change->originDimensionSpacePoint->toDimensionSpacePoint(), - $change->removalAttachmentPoint, - $workspaceName + $change->removalAttachmentPoint ); $unpublishedNodes[] = [ - 'contextPath' => $nodeAddress->serializeForUri(), - 'documentContextPath' => $documentNodeAddress->serializeForUri(), + 'contextPath' => $nodeAddress->toJson(), + 'documentContextPath' => $documentNodeAddress->toJson(), 'typeOfChange' => $this->getTypeOfChange($change) ]; } else { @@ -89,11 +88,9 @@ public function getPublishableNodeInfo(WorkspaceName $workspaceName, ContentRepo if ($node instanceof Node) { $documentNode = $subgraph->findClosestNode($node->aggregateId, FindClosestNodeFilter::create(nodeTypes: NodeTypeNameFactory::NAME_DOCUMENT)); if ($documentNode instanceof Node) { - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); $unpublishedNodes[] = [ - 'contextPath' => $nodeAddressFactory->createFromNode($node)->serializeForUri(), - 'documentContextPath' => $nodeAddressFactory->createFromNode($documentNode) - ->serializeForUri(), + 'contextPath' => NodeAddress::fromNode($node)->toJson(), + 'documentContextPath' => NodeAddress::fromNode($documentNode)->toJson(), 'typeOfChange' => $this->getTypeOfChange($change) ]; } diff --git a/Classes/Controller/BackendController.php b/Classes/Controller/BackendController.php index 60dfb5b8dc..0be2b353f2 100644 --- a/Classes/Controller/BackendController.php +++ b/Classes/Controller/BackendController.php @@ -23,7 +23,6 @@ use Neos\Neos\Domain\Repository\SiteRepository; use Neos\Neos\Domain\Service\NodeTypeNameFactory; use Neos\Neos\Domain\Service\WorkspaceService; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\FrontendRouting\NodeUriBuilderFactory; use Neos\Neos\FrontendRouting\SiteDetection\SiteDetectionResult; use Neos\Neos\Service\UserService; @@ -136,7 +135,7 @@ public function indexAction(string $node = null) $siteDetectionResult = SiteDetectionResult::fromRequest($this->request->getHttpRequest()); $contentRepository = $this->contentRepositoryRegistry->get($siteDetectionResult->contentRepositoryId); - $nodeAddress = $node !== null ? NodeAddressFactory::create($contentRepository)->createFromUriString($node) : null; + $nodeAddress = $node !== null ? NodeAddress::fromJsonString($node) : null; $user = $this->userService->getBackendUser(); if ($user === null) { @@ -180,7 +179,7 @@ public function indexAction(string $node = null) if (!$nodeAddress) { $node = $siteNode; } else { - $node = $subgraph->findNodeById($nodeAddress->nodeAggregateId); + $node = $subgraph->findNodeById($nodeAddress->aggregateId); } $this->view->setOption('title', 'Neos CMS'); diff --git a/Classes/Domain/Model/Changes/AbstractStructuralChange.php b/Classes/Domain/Model/Changes/AbstractStructuralChange.php index 020c85fd66..1293f58c3e 100644 --- a/Classes/Domain/Model/Changes/AbstractStructuralChange.php +++ b/Classes/Domain/Model/Changes/AbstractStructuralChange.php @@ -16,9 +16,9 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\FindChildNodesFilter; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\Projection\ContentGraph\Nodes; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepository\Core\SharedModel\Node\NodeAggregateClassification; use Neos\Flow\Annotations as Flow; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\Ui\ContentRepository\Service\NeosUiNodeService; use Neos\Neos\Ui\Domain\Model\AbstractChange; use Neos\Neos\Ui\Domain\Model\Feedback\Operations\ReloadDocument; @@ -147,14 +147,13 @@ protected function finish(Node $node) // 1) the parent of our new (or copied or moved) node is a ContentCollection; // so we can directly update an element of this content collection - $contentRepository = $this->contentRepositoryRegistry->get($node->contentRepositoryId); if ($parentNode && $this->getNodeType($parentNode)?->isOfType('Neos.Neos:ContentCollection') && // 2) the parent DOM address (i.e. the closest RENDERED node in DOM is actually the ContentCollection; // and no other node in between $this->getParentDomAddress() && $this->getParentDomAddress()->getFusionPath() && $this->getParentDomAddress()->getContextPath() === - NodeAddressFactory::create($contentRepository)->createFromNode($parentNode)->serializeForUri() + NodeAddress::fromNode($parentNode)->toJson() ) { $renderContentOutOfBand = new RenderContentOutOfBand(); $renderContentOutOfBand->setNode($node); diff --git a/Classes/Domain/Model/Feedback/Operations/NodeCreated.php b/Classes/Domain/Model/Feedback/Operations/NodeCreated.php index d5a13fe77c..f79d75b208 100644 --- a/Classes/Domain/Model/Feedback/Operations/NodeCreated.php +++ b/Classes/Domain/Model/Feedback/Operations/NodeCreated.php @@ -11,10 +11,10 @@ * source code. */ +use Neos\ContentRepository\Core\Projection\ContentGraph\Node; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; -use Neos\Neos\FrontendRouting\NodeAddressFactory; -use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\Flow\Mvc\Controller\ControllerContext; use Neos\Neos\Domain\Service\NodeTypeNameFactory; use Neos\Neos\Ui\Domain\Model\AbstractFeedback; @@ -91,9 +91,9 @@ public function serializePayload(ControllerContext $controllerContext) $node = $this->getNode(); $contentRepository = $this->contentRepositoryRegistry->get($node->contentRepositoryId); $nodeType = $contentRepository->getNodeTypeManager()->getNodeType($node->nodeTypeName); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); + return [ - 'contextPath' => $nodeAddressFactory->createFromNode($node)->serializeForUri(), + 'contextPath' => NodeAddress::fromNode($node)->toJson(), 'identifier' => $node->aggregateId->value, 'isDocument' => $nodeType?->isOfType(NodeTypeNameFactory::NAME_DOCUMENT) ]; diff --git a/Classes/Domain/Model/Feedback/Operations/Redirect.php b/Classes/Domain/Model/Feedback/Operations/Redirect.php index 43e25d3f3c..3e3b303630 100644 --- a/Classes/Domain/Model/Feedback/Operations/Redirect.php +++ b/Classes/Domain/Model/Feedback/Operations/Redirect.php @@ -7,7 +7,6 @@ use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\Controller\ControllerContext; use Neos\Neos\Domain\NodeLabel\NodeLabelGeneratorInterface; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\FrontendRouting\NodeUriBuilderFactory; use Neos\Neos\FrontendRouting\Options; use Neos\Neos\Ui\Domain\Model\AbstractFeedback; @@ -114,11 +113,10 @@ public function serializePayload(ControllerContext $controllerContext): array ); $contentRepository = $this->contentRepositoryRegistry->get($node->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); return [ 'redirectUri' => (string)$redirectUri, - 'redirectContextPath' => $nodeAddressFactory->createFromNode($node)->serializeForUri(), + 'redirectContextPath' => NodeAddress::fromNode($node)->toJson(), ]; } } diff --git a/Classes/Domain/Model/Feedback/Operations/ReloadContentOutOfBand.php b/Classes/Domain/Model/Feedback/Operations/ReloadContentOutOfBand.php index ac9ba7e918..084d5726bf 100644 --- a/Classes/Domain/Model/Feedback/Operations/ReloadContentOutOfBand.php +++ b/Classes/Domain/Model/Feedback/Operations/ReloadContentOutOfBand.php @@ -11,14 +11,14 @@ * source code. */ -use Neos\Neos\Domain\Service\RenderingModeService; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\Controller\ControllerContext; use Neos\Fusion\Core\Cache\ContentCache; use Neos\Fusion\Exception as FusionException; +use Neos\Neos\Domain\Service\RenderingModeService; use Neos\Neos\Fusion\Helper\CachingHelper; use Neos\Neos\Ui\Domain\Model\AbstractFeedback; use Neos\Neos\Ui\Domain\Model\FeedbackInterface; @@ -110,10 +110,8 @@ public function isSimilarTo(FeedbackInterface $feedback): bool public function serializePayload(ControllerContext $controllerContext): array { if (!is_null($this->nodeDomAddress)) { - $contentRepository = $this->contentRepositoryRegistry->get($this->node->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); return [ - 'contextPath' => $nodeAddressFactory->createFromNode($this->node)->serializeForUri(), + 'contextPath' => NodeAddress::fromNode($this->node)->toJson(), 'nodeDomAddress' => $this->nodeDomAddress, 'renderedContent' => $this->renderContent($controllerContext) ]; diff --git a/Classes/Domain/Model/Feedback/Operations/RemoveNode.php b/Classes/Domain/Model/Feedback/Operations/RemoveNode.php index 437e349b2a..826da07d67 100644 --- a/Classes/Domain/Model/Feedback/Operations/RemoveNode.php +++ b/Classes/Domain/Model/Feedback/Operations/RemoveNode.php @@ -11,13 +11,12 @@ * source code. */ +use Neos\ContentRepository\Core\Projection\ContentGraph\Node; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; -use Neos\Neos\Domain\NodeLabel\NodeLabelGeneratorInterface; -use Neos\Neos\FrontendRouting\NodeAddressFactory; -use Neos\Neos\FrontendRouting\NodeAddress; -use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\Flow\Mvc\Controller\ControllerContext; +use Neos\Neos\Domain\NodeLabel\NodeLabelGeneratorInterface; use Neos\Neos\Ui\Domain\Model\AbstractFeedback; use Neos\Neos\Ui\Domain\Model\FeedbackInterface; @@ -54,11 +53,8 @@ public function __construct(Node $node, Node $parentNode) protected function initializeObject(): void { - $contentRepository = $this->contentRepositoryRegistry->get($this->node->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); - - $this->nodeAddress = $nodeAddressFactory->createFromNode($this->node); - $this->parentNodeAddress = $nodeAddressFactory->createFromNode($this->parentNode); + $this->nodeAddress = NodeAddress::fromNode($this->node); + $this->parentNodeAddress = NodeAddress::fromNode($this->parentNode); } public function getNode(): Node @@ -110,8 +106,8 @@ public function isSimilarTo(FeedbackInterface $feedback) public function serializePayload(ControllerContext $controllerContext) { return [ - 'contextPath' => $this->nodeAddress->serializeForUri(), - 'parentContextPath' => $this->parentNodeAddress->serializeForUri() + 'contextPath' => $this->nodeAddress->toJson(), + 'parentContextPath' => $this->parentNodeAddress->toJson() ]; } } diff --git a/Classes/Domain/Model/Feedback/Operations/RenderContentOutOfBand.php b/Classes/Domain/Model/Feedback/Operations/RenderContentOutOfBand.php index d270fb33c6..ec58a6c417 100644 --- a/Classes/Domain/Model/Feedback/Operations/RenderContentOutOfBand.php +++ b/Classes/Domain/Model/Feedback/Operations/RenderContentOutOfBand.php @@ -15,13 +15,13 @@ namespace Neos\Neos\Ui\Domain\Model\Feedback\Operations; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; -use Neos\Neos\Domain\Service\RenderingModeService; -use Neos\Neos\FrontendRouting\NodeAddressFactory; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\Controller\ControllerContext; use Neos\Fusion\Core\Cache\ContentCache; use Neos\Fusion\Exception as FusionException; +use Neos\Neos\Domain\Service\RenderingModeService; use Neos\Neos\Fusion\Helper\CachingHelper; use Neos\Neos\Ui\Domain\Model\AbstractFeedback; use Neos\Neos\Ui\Domain\Model\FeedbackInterface; @@ -156,10 +156,8 @@ public function isSimilarTo(FeedbackInterface $feedback): bool public function serializePayload(ControllerContext $controllerContext): array { if (!is_null($this->node)) { - $contentRepository = $this->contentRepositoryRegistry->get($this->node->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); return [ - 'contextPath' => $nodeAddressFactory->createFromNode($this->node)->serializeForUri(), + 'contextPath' => NodeAddress::fromNode($this->node)->toJson(), 'parentDomAddress' => $this->getParentDomAddress(), 'siblingDomAddress' => $this->getSiblingDomAddress(), 'mode' => $this->getMode(), diff --git a/Classes/Domain/Model/Feedback/Operations/UpdateNodeInfo.php b/Classes/Domain/Model/Feedback/Operations/UpdateNodeInfo.php index 46b80d8b48..5d1dbd9ae4 100644 --- a/Classes/Domain/Model/Feedback/Operations/UpdateNodeInfo.php +++ b/Classes/Domain/Model/Feedback/Operations/UpdateNodeInfo.php @@ -13,10 +13,10 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\FindChildNodesFilter; use Neos\ContentRepository\Core\Projection\ContentGraph\Node; -use Neos\Flow\Mvc\ActionRequest; -use Neos\Neos\FrontendRouting\NodeAddressFactory; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; +use Neos\Flow\Mvc\ActionRequest; use Neos\Flow\Mvc\Controller\ControllerContext; use Neos\Neos\Ui\Domain\Model\AbstractFeedback; use Neos\Neos\Ui\Domain\Model\FeedbackInterface; @@ -115,10 +115,9 @@ public function serializePayload(ControllerContext $controllerContext): array private function serializeNodeRecursively(Node $node, ActionRequest $actionRequest): array { $contentRepository = $this->contentRepositoryRegistry->get($node->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); $result = [ - $nodeAddressFactory->createFromNode($node)->serializeForUri() + NodeAddress::fromNode($node)->toJson() => $this->nodeInfoHelper->renderNodeWithPropertiesAndChildrenInformation( $node, $actionRequest diff --git a/Classes/Domain/Model/Feedback/Operations/UpdateNodePreviewUrl.php b/Classes/Domain/Model/Feedback/Operations/UpdateNodePreviewUrl.php index 4322d130b3..5e136e3ec4 100644 --- a/Classes/Domain/Model/Feedback/Operations/UpdateNodePreviewUrl.php +++ b/Classes/Domain/Model/Feedback/Operations/UpdateNodePreviewUrl.php @@ -12,11 +12,11 @@ */ use Neos\ContentRepository\Core\Projection\ContentGraph\Node; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\Controller\ControllerContext; use Neos\Neos\Domain\NodeLabel\NodeLabelGeneratorInterface; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\Ui\Domain\Model\AbstractFeedback; use Neos\Neos\Ui\Domain\Model\FeedbackInterface; use Neos\Neos\Ui\Fusion\Helper\NodeInfoHelper; @@ -111,10 +111,8 @@ public function serializePayload(ControllerContext $controllerContext): array $contextPath = ''; } else { $nodeInfoHelper = new NodeInfoHelper(); - $contentRepository = $this->contentRepositoryRegistry->get($this->node->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); $newPreviewUrl = $nodeInfoHelper->createRedirectToNode($this->node, $controllerContext->getRequest()); - $contextPath = $nodeAddressFactory->createFromNode($this->node)->serializeForUri(); + $contextPath = NodeAddress::fromNode($this->node)->toJson(); } return [ 'newPreviewUrl' => $newPreviewUrl, diff --git a/Classes/FlowQueryOperations/NeosUiDefaultNodesOperation.php b/Classes/FlowQueryOperations/NeosUiDefaultNodesOperation.php index c941c8bef9..5123e8f616 100644 --- a/Classes/FlowQueryOperations/NeosUiDefaultNodesOperation.php +++ b/Classes/FlowQueryOperations/NeosUiDefaultNodesOperation.php @@ -14,12 +14,12 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\FindAncestorNodesFilter; use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\FindChildNodesFilter; -use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\Projection\ContentGraph\Filter\NodeType\NodeTypeCriteria; +use Neos\ContentRepository\Core\Projection\ContentGraph\Node; +use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Eel\FlowQuery\FlowQuery; use Neos\Eel\FlowQuery\Operations\AbstractOperation; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Flow\Annotations as Flow; /** @@ -78,7 +78,6 @@ public function evaluate(FlowQuery $flowQuery, array $arguments) list($baseNodeType, $loadingDepth, $toggledNodes, $clipboardNodesContextPaths) = $arguments; $contentRepository = $this->contentRepositoryRegistry->get($documentNode->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); $baseNodeTypeConstraints = NodeTypeCriteria::fromFilterString($baseNodeType); @@ -105,15 +104,14 @@ public function evaluate(FlowQuery $flowQuery, array $arguments) $loadingDepth, $toggledNodes, $ancestors, - $subgraph, - $nodeAddressFactory + $subgraph ) { - $baseNodeAddress = $nodeAddressFactory->createFromNode($baseNode); + $baseNodeAddress = NodeAddress::fromNode($baseNode); if ($level < $loadingDepth || // load all nodes within loadingDepth $loadingDepth === 0 || // unlimited loadingDepth // load toggled nodes - in_array($baseNodeAddress->serializeForUri(), $toggledNodes) || + in_array($baseNodeAddress->toJson(), $toggledNodes) || // load children of all parents of documentNode in_array($baseNode->aggregateId->value, array_map( fn (Node $node): string => $node->aggregateId->value, @@ -136,9 +134,9 @@ public function evaluate(FlowQuery $flowQuery, array $arguments) } foreach ($clipboardNodesContextPaths as $clipboardNodeContextPath) { - // TODO: does not work across multiple CRs yet. - $clipboardNodeAddress = $nodeAddressFactory->createFromUriString($clipboardNodeContextPath); - $clipboardNode = $subgraph->findNodeById($clipboardNodeAddress->nodeAggregateId); + // TODO: might not work across multiple CRs yet. + $clipboardNodeAddress = NodeAddress::fromJsonString($clipboardNodeContextPath); + $clipboardNode = $subgraph->findNodeById($clipboardNodeAddress->aggregateId); if ($clipboardNode && !array_key_exists($clipboardNode->aggregateId->value, $nodes)) { $nodes[$clipboardNode->aggregateId->value] = $clipboardNode; } diff --git a/Classes/Fusion/Helper/NodeInfoHelper.php b/Classes/Fusion/Helper/NodeInfoHelper.php index 225a968604..f6278c25e4 100644 --- a/Classes/Fusion/Helper/NodeInfoHelper.php +++ b/Classes/Fusion/Helper/NodeInfoHelper.php @@ -25,7 +25,6 @@ use Neos\Flow\Mvc\Routing\UriBuilder; use Neos\Flow\Persistence\PersistenceManagerInterface; use Neos\Neos\Domain\NodeLabel\NodeLabelGeneratorInterface; -use Neos\Neos\FrontendRouting\NodeAddressFactory; use Neos\Neos\FrontendRouting\NodeUriBuilderFactory; use Neos\Neos\Ui\Domain\Service\NodePropertyConverterService; use Neos\Neos\Ui\Domain\Service\UserLocaleService; @@ -186,13 +185,11 @@ protected function getBasicNodeInformation(Node $node): array $subgraph = $this->contentRepositoryRegistry->subgraphForNode($node); $parentNode = $subgraph->findParentNode($node->aggregateId); - $contentRepository = $this->contentRepositoryRegistry->get($node->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); - $nodeAddress = $nodeAddressFactory->createFromNode($node); + $nodeAddress = NodeAddress::fromNode($node); return [ - 'contextPath' => $nodeAddress->serializeForUri(), - 'nodeAddress' => $nodeAddress->serializeForUri(), + 'contextPath' => $nodeAddress->toJson(), + 'nodeAddress' => $nodeAddress->toJson(), 'name' => $node->name?->value ?? '', 'identifier' => $node->aggregateId->jsonSerialize(), 'nodeType' => $node->nodeTypeName->value, @@ -204,7 +201,7 @@ protected function getBasicNodeInformation(Node $node): array CountAncestorNodesFilter::create() ), 'children' => [], - 'parent' => $parentNode ? $nodeAddressFactory->createFromNode($parentNode)->serializeForUri() : null, + 'parent' => $parentNode ? NodeAddress::fromNode($parentNode)->toJson() : null, 'matchesCurrentDimensions' => $node->dimensionSpacePoint->equals($node->originDimensionSpacePoint), 'lastModificationDateTime' => $node->timestamps->lastModified?->format(\DateTime::ATOM), 'creationDateTime' => $node->timestamps->created->format(\DateTime::ATOM), @@ -240,9 +237,8 @@ protected function renderChildrenInformation(Node $node, string $nodeTypeFilterS $infos = []; foreach ($childNodes as $childNode) { $contentRepository = $this->contentRepositoryRegistry->get($childNode->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); $infos[] = [ - 'contextPath' => $nodeAddressFactory->createFromNode($childNode)->serializeForUri(), + 'contextPath' => NodeAddress::fromNode($childNode)->toJson(), 'nodeType' => $childNode->nodeTypeName->value ]; }; @@ -336,12 +332,11 @@ public function defaultNodesForBackend( ): array { // does not support multiple CRs here yet $contentRepository = $this->contentRepositoryRegistry->get($site->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); return [ - ($nodeAddressFactory->createFromNode($site)->serializeForUri()) + (NodeAddress::fromNode($site)->toJson()) => $this->renderNodeWithPropertiesAndChildrenInformation($site, $actionRequest), - ($nodeAddressFactory->createFromNode($documentNode)->serializeForUri()) + (NodeAddress::fromNode($documentNode)->toJson()) => $this->renderNodeWithPropertiesAndChildrenInformation($documentNode, $actionRequest) ]; } @@ -420,8 +415,7 @@ protected function buildContentChildNodeFilterString(): string public function serializedNodeAddress(Node $node): string { $contentRepository = $this->contentRepositoryRegistry->get($node->contentRepositoryId); - $nodeAddressFactory = NodeAddressFactory::create($contentRepository); - return $nodeAddressFactory->createFromNode($node)->serializeForUri(); + return NodeAddress::fromNode($node)->toJson(); } /** From 0b9842c6900028a0fa8e829847c7249dc5f4d898 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Thu, 26 Sep 2024 18:03:50 +0200 Subject: [PATCH 13/19] TASK: Use `CSS.escape` to handle json node address in query selector --- packages/neos-ui-guest-frame/src/dom.js | 12 ++++++------ packages/neos-ui/src/manifest.js | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/neos-ui-guest-frame/src/dom.js b/packages/neos-ui-guest-frame/src/dom.js index 381eb0f0bc..33eb768352 100644 --- a/packages/neos-ui-guest-frame/src/dom.js +++ b/packages/neos-ui-guest-frame/src/dom.js @@ -54,14 +54,14 @@ export const findAllPropertiesInGuestFrame = () => // // Find all DOM nodes that represent a particular node property in the guest frame // -export const findAllOccurrencesOfNodePropertyInGuestFrame = (contextPath, propertyName) => findAllInGuestFrame(`[data-__neos-editable-node-contextpath="${contextPath}"][data-__neos-property="${propertyName}"]`); +export const findAllOccurrencesOfNodePropertyInGuestFrame = (contextPath, propertyName) => findAllInGuestFrame(`[data-__neos-editable-node-contextpath="${CSS.escape(contextPath)}"][data-__neos-property="${CSS.escape(propertyName)}"]`); // // Find all DOM nodes that represent CR node properties in the guest frame // export const findRelativePropertiesInGuestFrame = contentDomNode => [].slice.call(contentDomNode.querySelectorAll( - `[data-__neos-property][data-__neos-editable-node-contextpath="${contentDomNode.getAttribute('data-__neos-node-contextpath')}"]` + `[data-__neos-property][data-__neos-editable-node-contextpath="${CSS.escape(contentDomNode.getAttribute('data-__neos-node-contextpath'))}"]` )).concat(...( contentDomNode.hasAttribute('data-__neos-property') ? [contentDomNode] : [] @@ -71,9 +71,9 @@ export const findRelativePropertiesInGuestFrame = contentDomNode => // Find a specific DOM node that represents a CR node in the guest frame // export const findNodeInGuestFrame = (contextPath, fusionPath) => fusionPath ? findInGuestFrame( - `[data-__neos-node-contextpath="${contextPath}"][data-__neos-fusion-path="${fusionPath}"]` + `[data-__neos-node-contextpath="${CSS.escape(contextPath)}"][data-__neos-fusion-path="${CSS.escape(fusionPath)}"]` ) : findInGuestFrame( - `[data-__neos-node-contextpath="${contextPath}"]` + `[data-__neos-node-contextpath="${CSS.escape(contextPath)}"]` ); // @@ -81,9 +81,9 @@ export const findNodeInGuestFrame = (contextPath, fusionPath) => fusionPath ? fi // fusion path in the guest frame // export const findAllOccurrencesOfNodeInGuestFrame = (contextPath, fusionPath) => fusionPath ? findAllInGuestFrame( - `[data-__neos-node-contextpath="${contextPath}"][data-__neos-fusion-path="${fusionPath}"]` + `[data-__neos-node-contextpath="${CSS.escape(contextPath)}"][data-__neos-fusion-path="${CSS.escape(fusionPath)}"]` ) : findAllInGuestFrame( - `[data-__neos-node-contextpath="${contextPath}"]` + `[data-__neos-node-contextpath="${CSS.escape(contextPath)}"]` ); // diff --git a/packages/neos-ui/src/manifest.js b/packages/neos-ui/src/manifest.js index 22cb23bb6e..749a16240e 100644 --- a/packages/neos-ui/src/manifest.js +++ b/packages/neos-ui/src/manifest.js @@ -422,7 +422,7 @@ manifest('main', {}, (globalRegistry, {routes}) => { const tempNodeInGuest = getGuestFrameDocument().createElement(wrapTagName); tempNodeInGuest.innerHTML = renderedContent; const contentElement = tempNodeInGuest - .querySelector(`[data-__neos-node-contextpath="${contextPath}"]`); + .querySelector(`[data-__neos-node-contextpath="${CSS.escape(contextPath)}"]`); if (!contentElement) { console.error(`!!! Content Element (rendered out-of-band) with context path "${contextPath}" not found in returned HTML from server (which you see below) - Reloading the full page!`); @@ -527,7 +527,7 @@ manifest('main', {}, (globalRegistry, {routes}) => { const tempNodeInGuest = getGuestFrameDocument().createElement('div'); tempNodeInGuest.innerHTML = renderedContent; const contentElement = tempNodeInGuest - .querySelector(`[data-__neos-node-contextpath="${contextPath}"]`); + .querySelector(`[data-__neos-node-contextpath="${CSS.escape(contextPath)}"]`); if (!contentElement) { console.error(`!!! Content Element (reloaded out-of-band) with context path "${contextPath}" not found in returned HTML from server (which you see below) - Reloading the full page!`); From 5d0b5e756c421acfc2b097330b5380c459e25927 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Wed, 9 Oct 2024 16:43:01 +0200 Subject: [PATCH 14/19] TASK: Fix php code after rebase --- Classes/Controller/BackendServiceController.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Classes/Controller/BackendServiceController.php b/Classes/Controller/BackendServiceController.php index 89e1975aad..fead2016cd 100644 --- a/Classes/Controller/BackendServiceController.php +++ b/Classes/Controller/BackendServiceController.php @@ -412,8 +412,6 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d { $documentNodeAddress = NodeAddress::fromJsonString($documentNode); - $contentRepository = $this->contentRepositoryRegistry->get($documentNodeAddress->contentRepositoryId); - $user = $this->userService->getBackendUser(); if ($user === null) { $error = new Error(); @@ -422,7 +420,7 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d $this->view->assign('value', $this->feedbackCollection); return; } - $userWorkspace = $this->workspaceService->getPersonalWorkspaceForUser($contentRepositoryId, $user->getId()); + $userWorkspace = $this->workspaceService->getPersonalWorkspaceForUser($documentNodeAddress->contentRepositoryId, $user->getId()); /** @todo send from UI */ $command = new ChangeTargetWorkspace( @@ -433,7 +431,7 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d ); try { - $this->workspacePublishingService->changeBaseWorkspace($contentRepositoryId, $userWorkspace->workspaceName, WorkspaceName::fromString($targetWorkspaceName)); + $this->workspacePublishingService->changeBaseWorkspace($documentNodeAddress->contentRepositoryId, $userWorkspace->workspaceName, WorkspaceName::fromString($targetWorkspaceName)); } catch (WorkspaceIsNotEmptyException $exception) { $error = new Error(); $error->setMessage( @@ -452,6 +450,7 @@ public function changeBaseWorkspaceAction(string $targetWorkspaceName, string $d return; } + $contentRepository = $this->contentRepositoryRegistry->get($documentNodeAddress->contentRepositoryId); $subgraph = $contentRepository->getContentGraph($userWorkspace->workspaceName) ->getSubgraph( $command->documentNode->dimensionSpacePoint, From 9c765b733f593da67735ad3a7c0872bfc0a9fdb8 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Wed, 9 Oct 2024 16:52:55 +0200 Subject: [PATCH 15/19] TASK: Remove usages to `NodeAddressFactory` TASK: Assert new json node address in e2e --- Classes/Controller/BackendServiceController.php | 12 ++++++------ .../Fixtures/1Dimension/discarding.e2e.js | 2 +- .../Fixtures/1Dimension/treeMultiselect.e2e.js | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Classes/Controller/BackendServiceController.php b/Classes/Controller/BackendServiceController.php index fead2016cd..a346851e46 100644 --- a/Classes/Controller/BackendServiceController.php +++ b/Classes/Controller/BackendServiceController.php @@ -780,22 +780,22 @@ public function reloadNodesAction(array $query): void $query['ancestorsOfDocumentIds'] = array_map( fn (string $nodeAddress) => NodeAddress::fromJsonString( - $nodeAddress - )->aggregateId->value, + $nodeAddress + )->aggregateId->value, $query['ancestorsOfDocumentIds'] ); $query['toggledNodesIds'] = array_map( fn (string $nodeAddress) => NodeAddress::fromJsonString( - $nodeAddress - )->aggregateId->value, + $nodeAddress + )->aggregateId->value, $query['toggledNodesIds'] ); $query['clipboardNodesIds'] = array_map( fn (string $nodeAddress) => NodeAddress::fromJsonString( - $nodeAddress - )->aggregateId->value, + $nodeAddress + )->aggregateId->value, $query['clipboardNodesIds'] ); $query = ReloadNodesQuery::fromArray($query); diff --git a/Tests/IntegrationTests/Fixtures/1Dimension/discarding.e2e.js b/Tests/IntegrationTests/Fixtures/1Dimension/discarding.e2e.js index f7ed4606a3..36a7c54bd6 100644 --- a/Tests/IntegrationTests/Fixtures/1Dimension/discarding.e2e.js +++ b/Tests/IntegrationTests/Fixtures/1Dimension/discarding.e2e.js @@ -38,7 +38,7 @@ test('Discarding: create multiple nodes nested within each other and then discar .expect(ReactSelector('Provider').getReact(({props}) => { const reduxState = props.store.getState(); return reduxState.cr.nodes.documentNode; - })).eql('admin-admington__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__f676459d-ca77-44bc-aeea-44114814c279', 'After discarding we are back to the main page'); + })).eql(JSON.stringify({contentRepositoryId:"onedimension",workspaceName:"admin-admington",dimensionSpacePoint:{"language":"en_US"},aggregateId:"f676459d-ca77-44bc-aeea-44114814c279"}), 'After discarding we are back to the main page'); }); test('Discarding: create a document node and then discard it', async t => { diff --git a/Tests/IntegrationTests/Fixtures/1Dimension/treeMultiselect.e2e.js b/Tests/IntegrationTests/Fixtures/1Dimension/treeMultiselect.e2e.js index 0bf502bb50..a06f967e2e 100644 --- a/Tests/IntegrationTests/Fixtures/1Dimension/treeMultiselect.e2e.js +++ b/Tests/IntegrationTests/Fixtures/1Dimension/treeMultiselect.e2e.js @@ -26,7 +26,7 @@ test('Move multiple nodes via toolbar', async t => { .expect(ReactSelector('Provider').getReact(({props}) => { const reduxState = props.store.getState(); return reduxState.cr.nodes.documentNode; - })).eql('admin-admington__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__5b0d6ac0-40ab-47e8-b79e-39de6c0700df', 'Node B\'s node address changed'); + })).eql(JSON.stringify({contentRepositoryId:"onedimension",workspaceName:"admin-admington",dimensionSpacePoint:{"language":"en_US"},aggregateId:"5b0d6ac0-40ab-47e8-b79e-39de6c0700df"}), 'Node B\'s node address changed'); await t.click(Page.getTreeNodeButton('Home')) }); @@ -43,7 +43,7 @@ test('Move multiple nodes via DND, CMD-click', async t => { .expect(ReactSelector('Provider').getReact(({props}) => { const reduxState = props.store.getState(); return reduxState.cr.nodes.documentNode; - })).eql('admin-admington__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__5b0d6ac0-40ab-47e8-b79e-39de6c0700df', 'Node B\'s node address changed'); + })).eql(JSON.stringify({contentRepositoryId:"onedimension",workspaceName:"admin-admington",dimensionSpacePoint:{"language":"en_US"},aggregateId:"5b0d6ac0-40ab-47e8-b79e-39de6c0700df"}), 'Node B\'s node address changed'); await t.click(Page.getTreeNodeButton('Home')) }); @@ -60,6 +60,6 @@ test('Move multiple nodes via DND, SHIFT-click', async t => { .expect(ReactSelector('Provider').getReact(({props}) => { const reduxState = props.store.getState(); return reduxState.cr.nodes.documentNode; - })).eql('admin-admington__eyJsYW5ndWFnZSI6ImVuX1VTIn0=__84eb0340-ba34-4fdb-98b1-da503f967121', 'Node C\'s node address changed'); + })).eql(JSON.stringify({contentRepositoryId:"onedimension",workspaceName:"admin-admington",dimensionSpacePoint:{"language":"en_US"},aggregateId:"84eb0340-ba34-4fdb-98b1-da503f967121"}), 'Node C\'s node address changed'); await t.click(Page.getTreeNodeButton('Home')) }); From 288e29af08b84949373c57ac8536117aa43d0f0c Mon Sep 17 00:00:00 2001 From: Marc Henry Schultz <85400359+mhsdesign@users.noreply.github.com> Date: Mon, 14 Oct 2024 17:59:45 +0200 Subject: [PATCH 16/19] BUGFIX: Restore old Placeholder behavior to keep shown when focused (#3864) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * BUGFIX: Restore old Placeholder behavior to keep shown when focused In Neos 7.3.17 and before the placeholder in ckeditor would not disappear when focused. And only when typing. By switching to the native placeholder feature of ckeditor in https://github.com/neos/neos-ui/pull/3558 we introduced a regression as that implementation would hide the placeholder while just clicking into. This is especially noticeable for centered texts as the cursor needs one millisecond to adjust and its glitchy. This will eventually be fixed in Ckeditor 24 something. As a hotfix for our version 16 i introduce the patch of https://github.com/ckeditor/ckeditor5/pull/8474 (without the css absolute change as that would make centered text uneditable). The mentioned fix was not merged directly into ckeditor but made way more complicated: https://github.com/ckeditor/ckeditor5/pull/8867 We dont need the more complicated fix as we dont use the mentioned features of the placeholder in a image description and such. * TASK: Move cursor before the placeholer * TASK: Hide break in placeholder context To move the cursor to the first position, the placeholder text is moved backwards. Therefore, a change with a break is disadvantageous. --------- Co-authored-by: Markus Gùˆnther --- ...or5-engine-patch-dfc8c266c9-0ca241d6d2.zip | Bin 0 -> 430063 bytes package.json | 3 ++- .../src/ckEditorApi.js | 1 + .../src/placeholder.vanilla-css | 17 ++++++++++---- ...ditor5-engine-npm-16.0.0-placeholder.patch | 22 ++++++++++++++++++ yarn.lock | 12 +++++++++- 6 files changed, 49 insertions(+), 6 deletions(-) create mode 100644 .yarn/cache/@ckeditor-ckeditor5-engine-patch-dfc8c266c9-0ca241d6d2.zip create mode 100644 patches/@ckeditor-ckeditor5-engine-npm-16.0.0-placeholder.patch diff --git a/.yarn/cache/@ckeditor-ckeditor5-engine-patch-dfc8c266c9-0ca241d6d2.zip b/.yarn/cache/@ckeditor-ckeditor5-engine-patch-dfc8c266c9-0ca241d6d2.zip new file mode 100644 index 0000000000000000000000000000000000000000..303f1a6d5e7e3e933428277f94afa16bca72dc28 GIT binary patch literal 430063 zcmb5VWlSYb@GXeT;4rxR;65<8yUWGh-QC^Y-QC^oA_IfN#ogWA_xFE!n@u)(n`|ei ztJCSK^oRP;r%som3?$S~u>To?bxUynYw^D)r2nj)y@{#5t-Xn>jj1z};{Wj|_W%2+ zps}^7iKUCZ)BlIlum7{t|Lx7eU}|S>X=nPsqd&|7*rNG+AgcdTq)%|tW zfByY`R^8mZ)BY1J8O`crNTp@^9?eTo^9}9~BmCet z_^Z^}Tn&_)sk-#RyR#^$lg){Ojn?WeU47UoX&qQ2U;lO6Lwb+KGp|+HenPho`l+K4 z4A@i6^=F<{0m#H?O@}Y-Bq})#(en6PTOMBHT?CE{cKuWHspXAH^|MKJ4@_!a{rddx zcuxD^>+P?bkC}SEujQSQ{JigvdV!wcNbh>_&J@l)ma8^HDZG@fK`z7pD`AHOWM9hj>R;qQydQyt$$CDj?k3pT9o{8S0DAR$Q#?-xz z&9xM~F?}Q9x6{U;rd>t&L1PeR#+yFjUWLYGZocf~v2Cm8{&~X(_jHUclT%yUbID)j zyKJ+lxKnfSPfZ(o#@~|z!SC{UTj)FC@g>P^6Ga)cAmI7Z!C^LJ*Im}AoGoQ)s;`r3ZQ*Zff)vtZkWu4Rlq@$|+$Z_G$rny4wwftR8g@!#OuIg~m z6a1RN1+m9GqreLx2o(>eBr2wX=_dh(pnvoAp+{&U_db4A4flK9F1VcD2I++L;iO8t znjtj%27ripmF7wkX1Jc#EyVCDM+sW0cqlskOMXMIb&$Co1SNIhLLgxXF!9SZGh93s zfU37sdv?HVqg#~C7_%$4OK4L!7k7t+EO-YEovLhB>~Bs!#(1fCJcr5O(jq07JX|0l zboVM@l$o6YYUtq0Gr5VnFJVtMa=n~qBT$rck$SW@D*wE)vg9gp!n>5gV@Fn~^iMZ1 zyB(#cuCa4&RspQ5`%m4hHVmJu?jMZT+YhCIQNhk4mjhW#`?cJo#68x7Kvv8r4!x z<(BQ0q1>EX+^RY{bsV6 zyJ6@4q?-{I%(OV&&dsW1fUj1)!Fm(XkNN-+xE9P;DF6?_Vl0jwi0VtsMhQFf>M|L7 zaz$H@){!91a^oeh^_NZUJD&Glgr7t8&xSfb3yAuwH7%(;Oa*>RNkR8|Nn#yh^Ca0x|*$X1DahpFVcy$A*5G=Gfs?(@rb2V%T{gX~l*SZ`Cc#$$S%&r4j_tN;6QD*;zffvr)o4*b z9yL1rKI^;R`emIxjD(E$`xiBrBrKQP%aTUgWtX4-axebDQ79g1D_s70HIbJ$xq6lF zU)Q!@(#0z6Dd>ZyO6AdIQla|#ni-5Aj}4b+x}`8)@afxDPffOXoqX&6#HaSBs)e?y zrgxNUs(sKx^JEf3p8YZYHnzIaO|YFKb|GWZ=R9+a8@1o{0;D9IjdjN&7ShT zUW;Lj@+6vIPxbRP-3_lBG3eCZwjBwRQ*dAWjDq>A-_D>>QN+sL;d0}EUIAj7ctLt?G=)|Y)PtJd%2Dl->bTbRL(n1EVe#% z4Cs>5P)7L66;Aekr)RrTufmOKW{j;3DjswvTkHC2=_!Q$?a-{IE?{+|rKaxR((p2f z*#!Mw%9+?}`0}#{DLfO8s&92bJDN{smtDV8-hAB3A_; zZ-Mqu&CiuNrtWTz9CoI4Kase2HaDl9f}tPv>-md{iO&w5&$f#Dr@ocxv!)K==756X zn-(S5EM|MeQfhN~B9O!TD`w@Sg)AR%G&=cgBH{_MQ*v5iAtY6t&WK~K1;2zOA{ ziatR3!9ccZcdm=9f7X!&=zgYD8c<|SsH(!ls8VinD~JQ`)a-z?M&qG!oy57 z)<~Irz2YD0Si^mtW%)_KaWOMLGwvUE&GPoTCrzWL?^`NQ-w9o6)$>>VdGOEbDr(!x zKxS*5R^?I(n?ZUYLDg#L!sHAKIoWUW8$JM=oW{|taaRbr(^HbRYgpA}d#S2KrOk5o zW&oa5YlgbiG}ijH^X?e6PouK+kcrab%&DN zR3yKumy41Xh*`tUF{nL%eKH(+RON{^`=D2(?}{ott0Vd|e&wHF%>bcWJ?9^Zx|Ju# z>D`s}1?*%@Hv24Q8NTD_P{+QlSY$H1z(DNIKHo)d8tvAEfyc(q{8JOHYuE)_!j%)#9Ev|F3<_aI>yLKLqt-Xt^kCl#M>VmmaEDT;&~ zo-0-^rNWldO^2VSFy0bxR5Qh62wMa5>*XZQzzgb%Xmx4@ThKWqJA~`E?I~gvc)(DU zGfEqwfc&i{!I!dD@pg3l8r=Y+=1XN(x!h8`&6cOv-BE5im!v6u6!&wFq9zV(B)C{| z80`60x9cV@3Y*2&*^vLyE<3Whxo7BBn3!ak7-dsMLY~%d1mkBt1XHYsGe+w7lUo(_ z8jvRFeq<~D3f}$QgKim(X4!PUr1b{zM+5V7yy~C6jKw{dcvx;Z$JnA!sOf@FHVnIY zAkT@iVtkTV24&;1)EIE3m^^FB0w)PS$uTuxjDlBx8EW9xpCf)|DShbEec^` z;WGoIxJ z#9XU9&dQq{J*+m&ml=5DziANm;f?#%TmonQ%KN6Flykfx&_!~j_{PS}sup1j$lk?M zLzFf2JUzCANz-w6BgX+HzX!zjstp`I>JEfx{wulP0b}7Es)gx4-qoDbbB4j>JP6T2N2t*OZ z;3++ZzAAzl;UmHyQ(QmsCL9>?W-u~BQP%w$h+lFvs)CJ5mlHSRe?4AGlwfwzR$({R z3x@;WKO1hDF1?^LQSjm&>p*QzrFa6jh=V0wi#71oZI}AHDi(iF!81U1L&?c_f(Jl} zqr|ky{R>b#Z6X3O?uNW+QfjQZGz`ME!r^9Y6BwFk9b-O#PbxtWkOo3ywvuLR^&27C z31*-NYy@Me7AdQf{))UIS|Vj`aM*H31p{R<`7WSnJE4%x67@t(2-x+JFFz3H+xBVm zvp(J5s79nDb=;s1HW$#(cin-iG&5SPf|a3C=b)Yj*X=sv>_@b87C2$H9?t2KSwigd z6QPSnA4zxYE!_3kSgbY^rHRD@ZG5y z6I=#&O@rC`uC?Ocu#!HCrycD-W+%Ri3QH_}rP{x}b^itTV%*2|sG*3Cy~N5hfuPW? zKbOwpKBA`&R#PPT>DaZ+VUr(N=3@FHG?g|+(= zGeZLW`WUxA-bUigM=daj^U`ScH z;uQ0n5!87YQ4!oew6#7pe5>&2yF8X#jj;RzDG!EE=`Qqr+i+ z`GTw>lU~O=`K1qne0b#YIAV`$hkz@+`lRR*gR%#;4nSA*++brE$zXnmT5#5o-1~fx za+*=Mm5^M~%Pctm4V(ibA0bz|-pkmmA!;Nmk}nG6&$7T`9aXKlWLU76DrA_1FZxup z+Wmg0I#CytTZx!06K`_*9!?;cp`a;g)huUVSjZr2sZC~M@tGS@-GHnZ$sbWpWM**7 zM2~zOn{D=cW(D3)J^By0f~hA!7KrXaPl(>U9dB(aDu;qk?2u3*qk8ji-(Y{tr;nk^ z^gi&u$=t9>(;|^UVr7!G0_3`hff0t}ao4A}I-L~FO;4*39TJMNarp3nc(jYy__ro? zCu;hP>`89a*pS-Y1D+YXqfe2%30K5sV#?dDIA%}@Vb!FQiR(w`DOMkb2ZG8LUB^n7 z8C1~%t?9DYLY?(A$2)YggDly&L$Q~c4Cy}1FN&+|2xn1=%M8gd{TZ2mxMjoM8R%}V zJdOPtx>6F zbpd&W!q}Uisc4xgl8^^6bw0)5mokmjY!L|`v`y6LG?c8#odQ=o{ws~l^Nv@o+D=`c z=KjW5yK*_h#mNW$4>mDkdCcj}C)~fChDfE-O$x+@#M4e^Yw!gbMfF^o`wNn3;4d`p zFRGhF*cj=h)r#hJP?@sUl->%sQ?vBIfPL#YNKS&3dBN%|T2M801JPp5{k*Jq%TW&| z6#vq8O@^xp=AE6bws>GfMGN+VH+gF4Ip(>dE3QuaaUCn*#d1;wV3p%Lx))h}b+}ft zk$7bBT~e_~v-QJ;m;5eMD*!G9)69WoH!^eJ+_rtaK)#q5AZJWq)6U@_{H`viZ)uu4 zxcR=+<#nkyeL;<4f9e=gD=KjUI?)#O&l78V>`cew>{AbWT$5%+oK7$35>np03pz6M zzYhE~n<{PPa#8P|8{LnoL4Ig#jiXe1p>)v`O|2yn2s4W|>D z<}YUI^=Y94i}(^)hSee4!C!O!$%X%yo9v=|@vQbhn}HQU59$3Jc3lkQJc&^{qtE$HyLaQ2wK*?p%HwYZgd6y8Ul_pvzB$@ASp!5qcMoJ(~s z!;N>_+hDIa`TNexXMP9P80JyUAk%h&ggVcD`~D2jUIM0{F#hF|z%q9M{-f>EvPjk! zY39R`uFl?dkKDh#KjlP4&-r(Or{z7gkbD-nXzdk~1p6W`(g#{_d_hMBgI|Vx~2#$_-vE{$#i=~!ewFt^Ln<~j-&sNasg4IzX3m^6f zPlL4JCMeqIgnRj$_4%nEHRu~5c1~T$0EfJ6bo}d!0cPoR0=p{Qs95znxLmv?1#g}h zyuR^yfS+Y#?%Knc@Y8Q24kLcx567n*lf*^qIzRjGyeH6YBe0$rpVr61s{{l&V5>%} z8B^nwWAqyy-iIW2oTQxuX?qWSVO)z*{L*m7EGL&BONETUFSdCen{xsPC0l&p95ACL z2~-$FzxR(1Mi_h~Mg1kU?k&4IkGz{EHI{>PCRdTlnkkWdtcK>8?YVGH3$%u{Ua)uceJ7@a9tOK+4Ip2wnwWmZB6F}=g(+9jl+PUu_)I_S!VAd-K! zarBzus$@;_Y`p0q(!}w8O0p8RaR-FFSe?|>B!pCZJ?dl{)KD;sr)^@M$0G0Yn`vs5 zbe7BHhvL#Srpi4_@mTV=eIi>^7yy`(g2B77VT@4mBQi;U;$RDHb3o?$xm_Pc)&~_+ zM0T>tf*|f=W4N#ZY{YQJ)pLXhTKuSF@qqgN)UYZn z5f@aJ)UfsyWyZ*+_}p)g5vF_=Wrbu?NYZD3pG~)}0v2?S;|DIg-iX9p9jaogJc9$AUHDL6WqF&<^-*>n7DNfjUfbZ5z3VAo&(aNK z5(Qf*E$&`HaIwQHlf-fK8cG>$PSe<7A(mOQ_MkFFQFUt5-OlZdrp$+mHeVmp0{%w`*K4h=336eo-19wug#kwb8Q)Rnm0xL}M`0*+b zJ2(*7G4@TiR;#63Vsqw;_z~x-KBrnMumkn|#MG+O&ew58?Z4>beXAcQ;k}J7xzp0> zChcJ>^&Wosc%H|Thr+t~QfshL`!>DCoP#=&Jwp$(&ph|EXF+lo#?AgAtBXS@8+ZZ} zUX#lGL$<6pw5`}8XnsLaT{kHA)r`l9N^Z4qn>Kp)3=RM4OzQW>qVa!#{14>+VgElU z{kL!VpG~&us1CR7s4ib|P)AvFKw&t!M(g}G#d>_HV`^?F*GA+meJeh76KJ{>2NMXb zeT|_!w1;{=AN{cN9l*K0cjc>MCej^D*RkqfO#iRSIoGS@zePLfJ}2YX{=4rL-PY&+ zy$$W?>oTwSv9XN*2~?{V+)@kq=yN$`WtM- z`I-CbU`4YpsjguE*#!Ncp2%;NQ--?68wZ~6Ym{^N+D`>X&%D{K?-KQ65x$ohM@YWb z(C_D~{PMONHoN@Obl)#b$AjK{|4PEX7x#Xzkn2M>K7W)-6lx?miRR*&D6{ae76GTC z)m^m=1xL}I(h#!c`x*W=qG;^+mLnXBr2O9o5p5XkO zW9?N{uvyRGF{0FD(KI!GIjh?r0fRduy4t!gmtv_C`?Z|)J zblX99H(W`XD!LWZDY%&nh}P{@uGJ13g*s!!6BXFs;XLtiV*uBRZlRUR$x{!01OPF) z$2c0GA{RMI*f#}P{*$XvIi`YseV~3k96>vF>BA`T%A7(vqs6mfoA!k&r&6FXm8m7C z=bdKL+Z2KUHXmD&L%W0bh7o(Kk!CvA9JE5oGT)bk$qlPlXH_`}&nj@=WDIOo)x~Pf z$Uf?S;#7hL>`B*1>%_YIhP``HMUT@0}HfPG=~c#HeEAJa53YQwonb48lFj-^8A z@CW?ZSfEp|a;Bkd?7Spgy(lIjlm(@>EU%*%jwkFCIdT>gSlLdbxX~^eRDqOLDxjmJ zrl+k_;-Tgv!ZW?0hqK!dguW~;ql35caQBOCc(L|PL`TY1Y0+GPe}bNL!GA9*16!^4 zMvm6p5JCNq%lH0fcE0UNH7haKpC}nw-0qy2RZ3Kt z_nE3bA1$tIP3sqeInI%2VZD;$0;+L)Zk9PRMP<5X7`U*)7PqBY8*MTG*c))A>YujD zDn*M#EeQJ2>A(ANqbdyEJEn0ttUWU*#KFDAbz)AnCrLxgZ!C_5LX`QMTl`m;p*3R$ zaMC~=ah+u zk`}(&EouH`-)iFu+hgsgkPrzHZic^*Bwgz$E7@z^4{$*aeypVg4zeUc4OOA2d8HB> z840)yoqimrQDO__vWzu*fN@{3KtgRi*^3IKEk&2QNdnGFiysOlbO-{X&<)Fmv|8b% zzg+wSGiDErm9J?ky_@d!O(sZ`FPoRU^~yfmga!XL^VkZKlUNO&J;vO(f&!dp)mg!JT!>wNj#I(@~N`sVgh<9r|<%UooJQxqYhgki^*0HE*uQ@e|SVa7ldUW?99C;}gE==&S}kNg^+ z7!F*G^90AHjQ3Gd4UP1M!X)1C6gQ{?&?XFQoToTsQMK*zvmK+FqFc8sLz{PwjI+IX z%^x zq$zNGO;{VZQuYd1RYM(o3b!SsjBjs<})eucX(D zB0O$bT%PIS@V>ITq=QzXf4`)BmbrfrGoO=Yjq3=M(D}*8GKQxs9BhV0bR{tDnQeK9 zD`5CUNPKYM5io2A$FR~^56=+eLQtvf64QcYk z5;^m=Qq1IsnY29mEgPT9Hh8R(|6(gtYNEcT(nsVy+^t+6Dp-4-J>NYHrstO`#3i3{ zmaPt5@=X+}R0cLjK=!MthyvS{QQ;M=yfxm0KQVS7N8LzK5bQ7k^AdG$X&wj(oBjseQgBJ{>}{W~ z7~?7Wbiw>ghDjM4`EVfv*L4U8X@&e54Qb&E@VU^cV3%oyT~>aq#a{Qm;A2@H^tAGk z5*T=ub}uZ@faQfV?c*v_gQa_fF}0yx*NcVASk6#$LBJHLRId?$h=H;DiX?Zt(q%D@ zgAaJ}y~vfp!3c34UPdUV*n|-8vfCg+atU6zq`Ec5I_mAjP5kOQKC@q5e!+VuwirgO!vfVRYlnMH1AKiAM9b2#C9 zT(I(P)%H~MGa~X@OO;N5C?6@RLYV0h#v-zA3CjAJASz&1mBhW6lUT`D4v;W zs`c_FDCvQS^8YCA&<@HMj>)Na;yyOrwcM$h)-zR4OA%Pj|Lk2!%Thl?pNH@p8z z;at+-XSO#b^4XaF9IqVyB`w^0H|RcEjwb?5dyUfP>}S=u7=#9rTLC#pQsXx&BJl=AlBo_V?owX>f;<(Q|;L|!;wFlcx!G=cR!+e?C$G$Gy`foT! zQYki-$uf^)sl(DjPt%%k5F60T`%FwfKR;z6c({!NT%*OC==}mTWkIlGT@D&$Q{5IG zK(V20DkiaAZR6;W%KkJ?P4A3)@v!+-BJ1+?SNYY0c61%4HT~GHbG!9;McIhhZkf&X ztf`Zbu{-)`6$Q2Q(0tJIzUYz}4!~*l$|sfx6@Z4Ce9l2@zm{$abe`U!?>T>FU?$tJ zp`nB|hi0viwOW6%p_c`r5SQ&J+f>PcA44`u_ax)Q?Lyf1Dy<5XLL@JqX@EX@4|?9c zha3y^4lgbwjGlw*Q7y-+c5d`%yQ(+sJzIL(@#ugu<_VL%>fXc~V>`Io*ecA<`Y7RV zmQ*1~&m38|wN~)sBD`seBRDLp!F@>be>MUjL}&)CKw&?tNTMYDE_{rr_{#CH zYwEF@y^_qzdDSt>%_(}4bd#wnR5*9POtqgag+>Py%uKq$3_E-}^d~*gd_@vRDP22Q zr9VZqHFNmLqi$$#LQz4PgUr^Eh9BV{jAre^aJJ5%jCELZMr~LQrh+&rK>$|X7}bbu zY`7)JdHf5XMZW~B+FY!Vyq+zzmMI^%KpB{NiS&J`?G&pfY66wHI1**x;G!?z}SPBODb?w zx`N|8f)U2PaK~P+f2y%QuXWm^vcR{#igD+q*%{^-;VKi5_PDRP?I?SXKL_7<{kFNjO@p=paeq2>u_%_nM~BH+9%N6z{nh*3W<+Z#>KGcnaTZt z->@o4+-h6a$o;X1Oj&@blfk!fll~7`p>sr1}Qe z%m|Y8eD$$Tt!#?Tn>Ei7i9j!)IeXVl%)!#dF!#LZkD_Y$z8j*?N}xH8L1{ucRR*t; zRX!^Tjp2M6y#;Qic(Cx^2TZM(REycw@ zN#1F-sHMh@b0=H1Seb=@u!pZfeBST+>=5Yd&BF7rX0WJQJ^G7?dAnk~s$a9}61?M( zrCwZ<0htiIlUS);7OP0ZgX*-gAvqD=HH#TvvQ|G5hmrf~rA~7#2iDk8(&P_GMLUj; zO-mO(q3c?97pK|TR#Q}!=vxv~GV_9Tux3nUQ-DqxNHouu_IBkfxGE7`b>X)#8a+o; zb_!>CabkT^8AW8#??@A+R{#v9;ieL^=SiDtv)B{zWpd??*F~--u7q9c6W3#Faw-Lq zaH3eGeHt0Ubs+&UEe@wzk=<|7k01^H>76=^ztG>PAA;eM3=^9iAYY9~twN=6(`t5H zM&=6V!qPpDbCj3mipKSC#JA=?X#}N=+HB+$alpfUd z#M2r35MwApg12F*DutG+yLBNYh{0X#OeHy!bCd^&s#ko9f2a$`i{O0=?Zzn52d-(BU z2U*=eKJ`<*~efsF7jclX?!$YWx!TMR& zzxvt6L*9Zw2vC2a;N%uc)SLRsScRz#9-8-56{O4fzLn{LRJSALh0NIFl;@5V>!vNN z>k~SuDXz<53=XdIMNTqrRpWhlu|Uie=|ckgmM~njU3s4azT2M-jQcf`$}^GXhCE-6 z7E;#lL7&8zJ58!e-+|=A3Aq^cn0ul8hKnoXle1j+Vv00Ub+G7*p-lLH5LC9~f2Qnh z^ae(6Ff&&*ZoZFd6-r!nP>8`|sR(AGto`{KVAP=4t^67enXc2IPvX6m8zVIgZ?hqj z3%1VPlcV8kHDsbbBtZK8>+WB^&Hxv`?n*RjH(` zq_8~~Aa-q8LW5X0c@TS#TCANt<;~MVlt$JhEW7+8sd7>HfHWbMd;?3M0WZG|aVVY> z*toKA1*1O%-Ym~tgzftccsCa&DB+U)b0O6IY0&6euJSp1zL(RJu9}9Xy69);ByTJ! zRvTc@R>tf~+~z&886~GGxionbGuOM`V%o2AzNU_sgAHqoE(WTPGAtV$Uc`QvlAR0; zP}am)a2z&$mG}CNX!M=wmWkTjNi4BXCROn!`b%2>Jt*|KON#gWlfUGup&5D2(BA|U z2WtVjisyl8l!?bVyjSbDUU8Eg#*mL)@hjAI(Ik%+0zrHA2N~GJJ@Q8G5q*($yaVaL z{oQ@{_sj0(I;Z{j{@>$zzqiLrl(Ua@yTO^r;uT-f#W@03L^M-nVhh+;MecLA9Teg| zv3-@qLIgAD%=BolyccEc#0C!0cB?7->)`*??i08SIE9Q-rI(;`1f;w)DLfhdB^q=$ z6*a^A>so)8vBG4`-sKZ74wHIvi3ph2fN+;hq&o03B<6z-_aek?URqxczn^7s$iK5n zMad%i4mrZdD0hQ~JVLKd$7CQFu6?Uyx*0d2VnW>^U>208CX9CRAIuHo5>+-mIi$Xa zS!7kJ90(JzPS`hj*r;~rH5>^SH7{`S%?u%{Y=>dj|KZ&a#57H>PY3A-sC?`ulk@$_ z%WuM53$Y~SwME5h+k4GALLyWPs2`LJwDOB*#@D6z;UZA8CiBc1t{AI!Wafjlg`0n% zZBZr0;A82o`SPpj1X{5usM(24OD$ay+Dc*xY}h*X4umn&Rm$yo%>Os%oxWtOXe@aw zFq9#`BQl^JM|F8lj?-W__Ip?KvkY+5Z+}IJpxwThG@00V^`N(U!fyfC%!RyaI!)rL zX+d$8CbPFN7uBYd`BxOji-D@?vCXh7vm>Z0rF?zSLbtS1is*2_!ReSz9m4S`0 zT_e{ucu!G{zx@G&b<|gr=r2?Gb|U_DX>)ZxqZBlJ1QihC$BjVyL??o zmKv)p?_RTtbPqL{xW32Ui_LyJfP=QQun-?yHbP6Z*Yy*rsy4!-TKj0Mv8u3YXic1! z;W??krJ_>GNZcmTL$5+Q;cCG%8Pw>lC@+LAL+-wz$c>uv&Yei$624((kW{>x^PDpOheQj-W03)wKQF1;?^Xjv_ zWLgASPj-0|d5geAb$T~>tN)1TR30FUJY&6;yQMVrPKgPA)It`JY1O=Nit*tFW+V#j zb8qxGw;NAy))n)PhcZR~g4fP%)ND9O2}rvy>umu869saeiYwyPx}&mCi1{m}E0ObU zM$pIfda(h}1nb@8)W*jR1wTxSqwJG(Nxw0GFaCv;eH+G_E;kfg)rqGv|Je0FTjORF zlfO`B3;RpYhy{s$Y`m>m_Jczer;>oR;T7+T7n>b%N2E7LrVIZ#`GMs*McK#_0|u2n z3JY06on>B;eWN;%TGSWtQd{_H&O}trG+d#%>X+Dfn#N%Z+e?46uvX*}mRfa9@Q{1q z#RcRb?5CnxMl6DTm}+dlMQy%CEf>@I-S;p>5o7&|ZA#t35m<*N8!>m?ZAVdlkdq)| zs|wN?_PCJGc+c{YPFk`i-!Hi4xcfaqCO!fRO{hFZHroBf^0)4m zA~2%_YLf1eK6(oqtNvD zvQT~Vvb1aYG_r?iPS+Fp;>(Y|P>5&Ls72;w{$JpkLe%ei5NJo?a|zaX@{@lGJy|e9 zjZTU=qpC-5Wg3QZK4#MG^=4c$-KmU%R7vF3x_k=_OLHVl=VNwqSZ$6TxRw&xd(Dqr zwdlEE(rgP%)?7CMDbH@}hU9Yst}zMdew!}GfDN92RE~H(tgt zW_z)mTugKetPKiId&c;@rtJGsipsf0YwJ%`s}eCgN|Q@ZrUEtp&F`Sox`s!%*G((N zASD_6$Xdz%FtVZ?jLKsV(DbFH!(Z>744cgrL~7a%^4!f8(T)hg)twgfv%uB8oxUAX zob&BV?*m6Z!DPJ^}VC$6c0~x}{fb-gy-$k|m-N_$L zukAC;Nq5@gnm)33);1i{?wW<^2Y-9|`5j>xY`UEriTRUnQ-YhZNsudb*g zl!lOop^=|F0WKj5kOY(*Xf8&`OByoiDvrBDh7@Z7wuV*1T@FmwBxYI-$&4{WtPig9 zh0N>0P=^?uw} zHbLe-6(e%F&oUt3dZvd`P%CIGJ1Tj5ooc*DQF3T{C$Cq3i6Erv*Tpb;nKtBExkoUR zQB?)^CvjsC>b_b`f$P%1JZ`35=h^^cSez51TAp+m>3JEkv%UmcmpSPkiFKH@CY(Gr ztXI|7-5_0vZEcB-$TaXy(~k-%_2I7|GQ63qxI0hj*?4Hj(X;;R2bA9M%leZUN$4$r`ws5MqpwRIFDWsB;B%-{|D$l4*X zjy3yWF2ivOxL{YZewhD4zb-VO>(YquWP1)7XuSEEhM_}sK==AyhyT^2CslQF3B6CWLh{Xn z!HvznYOp{$T*YN%o**KENK6QCth~O6eFt|iuPH|AE|Bf_5b%JXl+`geb-6o!Z57N#2o-zgQ5tsMOvQ-oo{BYTFY79{H^|X%7yprOoiDlEk3rz+UOu)+F(iq6sa8(Flf zKog!Z4F<1F==>b_#f%;a`hmbsxt=ptaF`vUwI+)8X?U#RW`x`&N5bi0I_2{1NM54X z^%A$;dn=q_KmItDzB$zVS>uJIGh5C>3*n#QQJ1^%2-5^<)Zhf>M%NBR?bMJPD;Z;% zwd-aLN+-60BsxErG#6QuhRGt3lS~*G4=CE$W?Pf^ujd2S9jQb7N@1PP?h#Q&?mRHP zL`*pK2}^KZ*p~8-idn`yabOrsZsh=tvxp5phS<_eLsxrFdaGJ};8wuVM|JB`MMXl9 z7lK2<1LU9HDtyay_GbU$kzi$;_C39Ke#yiyM2?(l{yFcKFG4JdhieujuNa5te|?nL z0dWcmz140 z;B}Ea@u6zKX`XOu+9YvWxxlf)IzsiBrJr3H9-_ikr@{z+H~k%LXSXP%E247Dlj!@0 z2EQ))(`SgJN5%K%vzJQwZ?h-&;nj^HkxUI$l(jzf2T<55wGtt;Xj(=}q(?~^uEf|B z(i%TGz&JH*OK~EhFii@5(Q#i}CpyG-Ee!X_JnQ^*(JQFGxZRab#MsJ~LKX1Um#l4~ zdx63VPHr!&G@Mbyl`3~oJ>SrvrZRlD-TE)1HnB$70@+EOa~;nCmHV4=M;7|~hq-&3f zg0(((yIkQ|YN}rtGl=LofRnbo#I_pPh{6+t^{3Zckb1xTLf~B#O;IyqQGC zwZA`YdE%|&Ae2C_U$J<0o<*^1S-)^c_!3cOAEymhb>kYiMdLE>tjuq^^B)`2CeHOf zFLnl`M7=%ixr-|a8&=QkFD<%-uCMD+hd0&k;=ONy?fr6U-UsqN5MgtcGdxTWBmKc> z*AXqU00E?~empruU|Yb|e^0&a-y>HfZ< z<>pyC=fF~(uM5@oL-fo=br+KD7rl`kFS3qOijOC9R1y3E8RASG(FYv%)>( zdqxCnU`C#t!JBLZVo_OYCrdZ~Q@bm--mhLCy(a5nFdE5{ew zZyx*gAvI#c-RBEm^!+(Fl?(DmG1Z~pp%v=bly8AL*Tg`#pUT){_MIwK=Y!4(J)*p+ zudP)FIgX^di2GyWZ4BaC$OWbmWe2Cn`LFAy{R$WDLP_WV(X6X%NnulzXbv5 z{m|cSU+ufwZQt^U92)kTv7?eJmY*kos42)rl`^qszH0s3dJGhLM{CF`yOgs=yaxV+ zeX=ue;?f}u>1s>m2FEyZiAY#$(-x%7>w+5xB0sII*%kHOnJh$5a7L+Yx-7 z_l1&Lo2sIGKO5*{V2O(}$C)b5)4>ezUc7eXtrp>1YVEEZvExflic4Y5$YMX+pi%X^ z)l*LQCChkK%NO$*Q&^pW3T7JfFYVVGOICLQD{oFD&$hp zy4>(qI6?;>!fmAnn~6f9p_F4v%y^soy-pkRPNU=5AZFRq9|^9ij3v~ffuZpMUb09c zw36T`}kRL#RRBatbYey?$UyNZX$W4BcFe<7#agi z6PecO5ESCk0TqFEE4k$S>KzPd$%f0{Twqu?p0@M=#93uZTK*10m(AUq7FflU*;*;G zd(Z;z6!2$)J$nuCCY)0x$2B3TnBq&? zGnrvd%C+M&OHEE#bf9L=hpp!eBN8;FS;_$A|HaumMTr(Pd!FS}wr$(CZQHi(I%V6o zZQIr<+qSyyn)|I;J+u1Z_S=5gJM&>@W<*B(;}?C+V(!oii$56Wvr*)-i8;2qU17*N zaseEJYkpgdtNR6zh3#zQslg6^eH*}A5Loh=yrY(#s>D)9ni-;VT=tOM0otzpeq06w zhO5ByNAgPj;(|;21Y^Of9p0CH!m+~&pG&Isiearsv!mje|EYLwL)+bGj-9>5cQgp@ zSj(f5Ccnd2Wa$)JW3c0-{D1`KOO3{rVw0%jvb?!#-&^_vG0A{`ZrNB#9-UGwCYgKw z1#n^oE7N~d00>ODXHM^D2_-*!6k9;el=h{Z_jniCxhJO9F)M0?iiZLnql^)`#QODw zxTM{zkH1Y9^PoruFO}d94)BA`wgtAo;88@|K%b zj$x#XTrJhwk!faLYFA#nKlZS`;s4l*TCPFiZ1~y2lY64D_^&P8bric0VEOVEmn3c3 zJ7ob%M~Ag~`7xX{5jCF_46$8-hd2=bfb<#tQ&h(sWJh1$Tzp2~>jk>mq*njtPZ#hm zaaf^xb7mNZT>e9zK6>xFI!(}y7t#-x!`hfvgRj1;4upL zSA_RWO|GM9Wo~(#W(9`Y0`>T8dLNZG&NRD780B3pgSf&x=FEVdl*&z%`}%SH743Xp zilaW8UVE2Sf5n|k7h#F}?#PvQD>qesD`3{#w`~MD zLeHc2?`u*rR2=i)^B|pd5@e-fgFO+V1?15tuFYn4M-0SA3`q|0vpx@;60hjUUv;11 zRs^1{*-q;Xgb5aeJ}7?3yyl%=;y!UNozXSyj<#dbw*w!IU3gIQ9cY=YCBxyYD$Qez zdl)|kd*w)zirE|Af0*T8u{}mh#@pu)$u1JZwx7m@YUFTH475K`hm8#gN4)q*Rbp8L zN6b-P*DEqr4X+N3))(D*4&$kzX8TPI8gk(|DlRni_edjKGsH`JLXvdWPG8EJuKP`C zN7XUuJ3IE+5~XXV?mY)e?RfMh^Jnrj=txCJlVY3Or26Z`^X%r$9eqxD`W@V(Xh)b>MUX=b0_TpMpy;HX}^)_Cg7+!TYXV-K?HVPpeSg zmp}Sob22HHE)T=XX28{0RM7j%ovMS9{_0?d8}=0jAV`H-4u|r5?7O2y9q2HtU`oxh z%nl$g_XSH;3Hf)V@0+r&&6aw>kX~s?rD~dA&@~FwVMEfk0Srp+W6wStW+Vs?pVD zp-DxdQ!iVvzt7>oxV!E~0l&b%@B8W~WlSePidcC;tm6Z8_`$V$6RD1IFDBkq;8Btg z^HtFF#W)I$`j?A#1mOH(rmr|Sv^wl*i_K!rV3s0k#WR99#cn~z(1MZGXG2}b&(y{3dMcq0WiD+dVW1&1Yq`en>ZHURc9phxI@Lydh z^Fb%9XA-W4MyOE{XOKpU!!!~0p|`Y5#12sLnhWCy1&EQ@6fNnti{<%Ab>+GonrIiaFtH;EVG6Qr-9pU7dtYCwwb~q; zm{{68uh&P=Gr{&H)?>zAc(35<>UHM4J=u~)?Os6ain3$*!a0XJ^kB}7CXW5biuGoy z0+Rbxt>@@6|6xb}S=tEBoVlxYO%$sG=M;JAYnx6zF$tUicr15mV{lQmu z)B7`qwdBMHH1m85L(ln&0){^obuS^OGD$5X+*$VMv9rmW>BMGjzbDQ9S>@v=zjA-F zg8=Zz`~>AbIT$h}0xS9tkfe=6Sm{|fR$6OODW(Lo;xzQ|WUA~4{Mv);4>s)a1F{ul zX^>1oHbn39LIwM7L?X4?LY-Po$v1IW`bNrEiI8_q1L(9N?>l@jX_bT{>X?w7Z*7%n zDoej7ZX04O1ot-f*CEkO6K=M_9+EV^U){WF{a#pRe$JNMd*Pm%4Ujh1i>G&g^_spH zC*~s=%PAd^Fq_4FsBBYtr1V1PV2 zWbj-8zj*DyFfnNQ)c|{C^-NR*TKcYe;{&a*xJI8gldHe+HAJU!;314%g~y@P_2>Zd z815No^(1Nxx>2)cdeNMe>*gAS(4qOet1=N^veQhR55Q7-l( z3{-!rXGB4juT<`X z=&&W2IEQ(0M>0eqt1P+3d0s;VTmoHLeBrk1!t|wJWgA9VOOa;m>7myb?Q1?5GKfy2 z$Yo|K4%gFu1pAW@T!1ps{8R|tzqpVs%EpNe(N%P`azQ*uQN|{%r%c_&N=F;A!|kn^ zz?;nrhM`#(`q_9J=<`uyCzI^}-;ybRt^BE1D7Oc}iLwwj_zSN`PAv%FcCs-Uh=kel z95kmrh-7^O(&JtewOcX!IDt|-t-m<*nz^njG<>=OGXB1ykmFi)pw~LPf_qRJRM7g> zmX>;Sa8O83Um0vvGMVd(yRX7&@~v2`od)Icjb#fI%Q03?>Pw7u0+KG`yCbHt(OV{Z z4a0%$sD;vF^iR?6akt2#aN`wsvVGdrVM71*_A$a2X4m`hP+Tg{OS-2U=g{2X8Ap@H zM2<6uCI^C3H!7}rLx{zHzSvWN9Kc`Iv7ekZhYFs77!mn>WC0&66LlQMQtg1$E+tT`pdI|lpdNOGKX5pVIdYRBBj3Y!^f)~?doFx4mE%5X$7f3DDv$yQ*`Zt z6LTkL0z2Ra(d%krgm6AdJ?YPJMhPlM!gmxvHJ?bZl`O66&TSx7#(KLTKqM ziy?hQNNn?y4iCmiD_tD*v^dYSI4dgu{urKGLBwsj@iuH13^Ja<`%b}+QSBfHM46xZ z#Tm}0tJ6RY(19*!pUUpWy3pykdV^#sbDDprW3=CRe;)U}m3!$$bYPkB^=}DO;2h8U z-h?P-GLmsZkq}$R!`m)hFEp)h|4nuV@MRxb3roPKQXM&1xo=$YnuQr9y_q^VWpPS86d~q}aiN+PMtOV2 zs7SzC7xk01z*8*^DV#PFv$84(rY|jCks~<@NUc^=4Yy}TeFZAcJ|e5`G;pSWxF$IK zDs3#zJlGrP-4J7J@44~hRbUJwMFQ&15e{(!o}9W-@Q%9IRsfOG^nXSUB}I>Jejk)f6Zr$Co+| z3?Nk^CmHRArK?xje&;2gzK5WhksG5N<-CnM&qg& ztfNHjA#Np(N_@di*2|2*&^Fz5HBmf&(k+iP8k_i+x-2NE6P=0%4p#WJLY zKeb_YuI{#*7R_t5*v`{^W_+(+n>li6@nC2`E|72|FH%eZSD7}|B6PJuY@b93f7t?` zbEGZFm+?~lMaYkf;?nO^er3l8P6aDK=QwtDH#Z|{VLzTd4PB3S9&|B$#)u*JgS4@M zzNREKO0|Bfay9NBYsp;Yw;e0`R1?5O1|D22YTb*X8XLaT7 zbp7mAB9MW;M~(0D_eCj5dm2j*V)k~zB#o}s>Yph#B<>hFJ09mA9BP}Bnb~r1Bv#UA z2Ak@yB_aIrm*2Dfs)_=yu3{L)9F3P;W>nx+V2od4NVOSEL$oPGByS&293Vjs+lnj6V&G&M@xT zrOjCFfMY@-fsB&p&DskBzJOa!5(jbR()8W$ITK0BU5O?&z^IUwE)t<*L59?0{Sxo; zaTsjbWQOe6W1!Jf`)Hs^a13sI;nY->9nZyuLVIF}?b8zcEnAbeG#u5N4zbysOOb-W_)FGg zJ?Rd_+*`ndNVkKYpuW=?r?xT6)^mF6+8})4zWgDgXIbw~o=GYDi#fxqJ!+fRwT8tr zGfd>O*1bo!RHJtG=cw9s(+boHq_iP+$*RaXxEfR^=nRFZP{TM4VKZ^iP6>&|@h4<2 zVJn`jbS6vgHOQ#jH?wJ?T+UmT#4-2=C&b(yk&HxB1=36$FD^~-x4w-p1l7(%nUJ7c z{oEW{EW93-mK{yR2^xD+si6a-^^z$FM+5d_j(yBlD?+LLd{zhHv4odRBUiL%7}`lm z{0&RJ&K72uRKu|k*QLa#-7(J%>>6GMN$x4eX9I~Cp&>6&GgHLbmb4JiKFd4Sn@?dp zUF^G!&_X5he03&3oH}mi!99qeb(n#2Scf?D81`;#Tat~Ut=)r-*4yV%YvZb#14Z3W z+QK~?57bjEi+HoeT-vr9b%1OdKfCAn8DJDE+>+8}#y4{iqu5}ofNt~)f1Iwd^O2tz zM{}2;wkF6Mki4@tH);e-%rrR2*2g8?PyO2-ZjG_Xq#2ecZa=4<6Z_n;*L3TZ{!IZ9 z2@11BrHQuugz~&hP(@vbzZ-2TVS`@CB6NQ{R_H64`PouHXPhQAHiR2U-=fmj83^(x zHmb55`2qhw7|s8%EIY{3CZ7QT06KvI02u!VEK6w#ArV<6kzbN!cH(r*B0c=*jYkBB zZ6zy(h!+6hLWQPk88`tAR2WLwP!4G!rz>*~^WzBDZ74Uy!Q;b#35`fY)!XZjACm_( z7KWtgt2CI8a9brty$Id<$4?G*rmWh9mlPtpErHJ1s{M`CJ$v@R&W>Lm!rA_2L77BG z&xDLQRO2wik#~FcK^o8v<#$}QV5?aLRsa@Lz>(pdXODK5CsWYL@;k$$_3epFMTN*T zYYbfZB?vF0rZFSnN>3H#Bga3EKStHyQ3xJktg{V;Vo=?yAaP&qq&x9Mpm0+1y){c&jR^+m_Zu%ByB+pnx9UsTlUNp8!d|#Zu{69M0w;6g zxtjK;aVE93BTuR#@nJ|y*53(3NP_03zgG z7J-7nmT+V%_UO@^VGEncI20472gr*p~oj!&QrP2lxHLRiHTypm_h!Z;^;tj{a{-V%Z3hNw9AVv-NFs-Te^wG5<U!?wTOz< ztn854kiU9*2f*`LH!or3<0>kW7U0P#gDbc-DJqa_eauFNjO1))ZCiSKPCQMYLH7vc ziCNe0?%GeXyskLjzLYZ$gWBl8@uDh0+9%jExL>FI635@7omN>5B?vHYzTaA8%cJ>F zhXv0gj!n>3oDL%0>f2myS~`llcB(t&Mq*#gzG5EQs$yCy)hd^<>u&b7-%5V(M@c9s zy-}4BgGXXh2dgvcG`b||9c>|!0<7ksKoLYMhfZ5Zjl#&e^B^DZQ!1i-2ad#=A!PI9e<{2I%Z^P_Ks>6I`S+| zk5bVY>bmakpHxp*SZMn4K=@Df1da_h*`5LN$B-tjvV5G%v+TDTpg*b}&Lo z?GJAzt_zAT2!g3(3RAiS2t$CNh@1NBE7KtA6vG&Y+uf>X$&s?zMTm7$t#1_PFB>zW zES^cACE5k2NJNZSH9VX-ryk&zBmd14Ib}>hJ-5HBpF@^8y4ATaV3uIcmH~q&oa@bo z09L-_R~J>LMPpUtUzka-5GS{*)_(P$=t5dBK%2#`*{+oFwwfjh2Lb;CYKej8r$Jq* zoOEZNed=Z*a9M~LrPI4qdzRr|@(ZF08;BVtGv!6U1$%acYE3RF&9F=lW|lczuqu?G z4%8EY420^9DuAA|yz0cqSI9orcRS9<;%=A6y`^Q~pgj>}_brOgb28$bPX2r&2v1>l z%#u9`d{{2ETWw9Hd9nV7v3b%j`Ybk2l?z8n1~3B-q$ZrOs&RSsZ9%9D~Wn4q9=o zJ5x$uhXjh!wOMajDbv1%aqv}4?3fa{A(K%$a0A<&8-6RA(;c?aLqi=NR*rI@c(#wI z?>?@Zg(cwb4s4I#OlL~dafGmpHobCrhIF*+_zPosm~7EuiViW7(R5v{YA=CK-T?BC zoj6Z9`f`nhKj|h8$cH+wL9d<^J{ZT4MguSJV5&|Lp{oHOAb2HiU>9C)#C1-WJvSK4 zAeoUiRvB#@J={_~?^IY6$|xFeZ!DB-~JYB1Gxi7rc>ZLF3oi zEjIXKn^o1_m+ZIwGf&^6)^^_hz8{*3DS&m*;j5szH<)g@Rq z+pMRYpAZ;ylFV0o+(~Upno$g_EXS)T@coP0m-zAT3EqK})Gy=C2qphM3K~t+Z zvMVbBV4pl^T}Ws4Du73BskDMA_-HYqG@p_10a(b0&WGlwAeXcr&h^q-bqZ+)9K)K7 z^_=km5;@a=*?Ji=MgIbZd=P4p%yj<9D!JaSEwEnC(J1}NV}G1)X@~rjnmnrOlBwjv z=#fBGJ9Za>+?oHtA`6PU9#0;2{CPz0gkd?lEHl(=T@zawQ85^R3`g2A=67`>#>4#j zcJ?h}==RrpYr9i?*c}UFo5uB&zx@jsC4!sSiX?ql>$c6nou9}QbPij`N*{WFgZ6?ZYG6&IIp zghGg$eEGP>;qG&N{A|5)(W8*gp6*xyXXxz@NxiZ}=iB1cC_9#Y?fmUKXq)fn|Hm+` z|NN7<00IEm{zZ#3{|^k4y@8RHftd-drIVd)w92&Y5%u}BB4qrU#1e~{z z4>$+#iGI!mET1}k^BHR7A#h!UKYTdh-;1aDq2GBj2J@dVISP)a)$ETZ@&^w4(ShQ4 za>-VQud~gLd0DZcM~EpPQSRL5sL&4>3=&xe6W7faf%<}N>jg>FtH%MJ1YMa~==uqq z^U{Ic{R>8xPr{jybRysCuXv~R{+Ecz|6p4e0x9_&0DEkE3GdfX++@Y!BzkCUQR)@Z zrc{v&u0=9*iq_lR?D^Q+yjnN@=+^Eob?6Q-sEJW1K4g5KHU%X^*Gy}ge=5?Z5BIGk z)HzLQRyBj8N!Q4<0;#@&X@{iL@cYShM?-OX%#Av#W(Z2D0n^v5|n`}jv69fQ&5n%uT@&Efl zjSZX){@*!%cl?#Ml+>BCk}hA!4bZq)32l%X3{raRbphO7g*)3D-r?BuZePyl}7@ zeV%cR%-8ePDnQU53Q1R1-b(^hh^fcNN2{J|T+^=J-pc3YLUu@J%O=k8dlQ80St%Ci z=cU+}o1cT-(GR{)t0LK)?io~(yyXB-%~N?ag}8FFa=z^IC8gK{^?Bw(NE>H|av``g z-f76;qQXb-qNtVg)W$@z-X7n5lKjBbhlZ)?J$G#FQ+mqA0jLIJ>k&CRP#pP=}yDt_zVA*WPy#EFkef!qouD?`@N^TQ2>oV?QDS=RskFdV- zl`EqcPdG!5q8q>M-cT#)?w_n4=rz5Sea3Ul@?&yQzdZ^TU4C!9v{FAYkINRQ)b^Gl z1%&nxb_RT(o}{%_q5sCMNSpsOns1{joZ0G?+)h$?o>ic~yiCZ=y6_P7n;ih*?Tg=q zCQfWGLtjEZSI)sG;~sH>{oF2PJ`<7f8ZL2n?yDhi+G_}7a;K>g3pNmGkID(%9w6Ef zKsHB6%6(NW^2eGR@7m{oIReh}C#$7PI&;hl7SFZd$uZPZpGAT@V1i$aN#+pW=OpXAuzvy0rN@cv!4jWp+402O(=OYRNk zOZ7!I$_n790Wn4c9Ez?7LHl-^zB|E<&l3MPOox;JZ4H23tR125>Y9asYiY4$ItodIh~iP+qu3_N*c z=zf(4eeyTAort$9`iJp4m6s$!cwJCT*(jffuS?WqL;7;vZe z%X>|WkAnyZ?E$v&6uQpfEB6!Q1ZI08@HK!nG9tk*39#qWAZ?{_Wn;}Wp6$7La@O*@ zEK&63UoF4{C1!b^P?HctEf-?PNa%-PLMVeK8h4^0j}@>{;XlF8UrFf9I8w@xR@AlP zIOWfbTEB!qDb_fqRf6x206ieco7ay?MdE8Bnbz4B zn?N`qK$^Fe#>A{!oozw4fZ18t0jIoL77D6%vfO(Y6P!rE@x)L z$~cn}i^IATX=Xc33V)On7zslcv3n3?N#DU;#WSi6DG8f{ARft0!0)IK*M9;M!3XaW z3726wg$-629Ha|jkhl-wPb>1I0f0*<3t0WR3b43<^OaYXZaS+Z7$HCpdc?;)8r>;X zO62RCvJhmb*pF*%B-^JQ+Mo>RRZrr01uC{ofRi5~^@Kl_qX4ujwY6G6BmH?pU^F9chvRgv(Ixt&~Ehv;H7aFOcCz>xMeMJSD*_yC#NJT z@hm~~R6ZERtMu24 zHk%}1fG;wdcaJ8BRo9+IJO!k7*tLBJP}{{Yit!dl0+cD_4i}q14TfDd0v8S++O~$8 zE-2pvWAD0F6_w~F%*b;p*tQ9iUoyY%zRWnTR%j-^$+9GZxSsQpUR_fvUKJ zfJq1Wk)_%y*_QF!*<_%NB?vqdS8LQ{)cswp#U+CQEug+EwArxsK6$d|z4=u(-C){- z$0G8;9$67}2J=|w46w}LFV1uAYpT}Qj?F_;Nn);z)x+(E-mIOSU;ZR5?8V-*)dTe7 zmTc(C4XsOl#Syhzyxfr{ap|+xg%z7ekV_L%RijEX=M??;UmtE~Cf+)9Rq+v^bp+JI zx)TWUCHHB_WHFP@+~AG5>1^q(K}+M;%QcCuM-E3$et?!TW%rcr-BqkX;G8?3?Ai>z znjGK_(aAtKo~=qg)VjVYFzeFmR60oUgQg^^I!^i*Iu_EcBK%UsSTZ2uuQiDgPqPwP zJ?>Fh(aH)t_Y$-z1rYy>5(m^@DZHMe00e_36D4HowW-c?7!Coz7H2c+RX)bw;Azf) z*p<*Bm?sv6PmJWH(3lo6+6UOSw-P@GIz}Ig-k`S8wFfDP@%Lsw)nf5)d>l1SPO2@T26@eIkkOo?`5O{$k#fr)@P+2QkJv1=OK4Mf?iA!1X7eSIIF1 zM!idRjO%wWD?LH3?8?%2IDl{Q1=r-pc=oqzBEsZsShr& z#SW}=Ftt+sdr=X|?U|jR)RmI~IK@)3Hz-sIo&K1(_Lb`Sq}>Ssty4Y>T| zvnO%Iz{t!?%xiMH4glX@%iU+EXPLO7hc;*r?+pV?b*5 zaXL$o?^l9^K;THH5&rtK4Fu6kxyb2pkY7AbVSod`lf_fydahLEd^`$l(U7BJEHjMz zWM)~xQfkK-7H!F1hd6Bt&ufDU-I4-ehOk0#3mAxl{&(vuN>T*5KY;hz))1*aoKqgj z5>&4Ze-Hh8h36QnC3bW&n7ocWDk!aP zVAS%gT+?SiBkd)wH|BM=UYn7;3`@*R{q?KkmT$Pir0{4jy@(KOX-Dp?>S3PZE-J?K$d<_H$b`8_E!#|xMDt1 zveDqqWS+jjvVFfXSdqek68hVEr9yJ+0?94HmMz67E(BQW3IN2JAE-l0z!auj=&3|q zlEbu7k#ft`iqU~5e&b0@8L;WNeu@RVRydB5?h@*^P+~?H&POrh{IIJO5s>1vFG1V) z@tj_z22N3h+)@l97Soy&%*>ogf3*dxvpkT3VONlDFH*|PPKXC-ltX)`JWGOE^GW)C zrnWjST>43wIXQ`$ZPMTZm!6bo|DjatK{jY5-us#bwn;YUA{#sX{E`sqDY z;H2md0!{7a4QbjZ+km0kIo2(G%Df9wJE1Y4o#XCAi@S*F7FeYG7{tWtx>|EpzGXNI%>kSpBv+rk|9kODB<* zUy_=`BQ`lnN(Tn;*HiE4n-uYpA6jz&m#nCto!fYMhxD_$i@UZcg~RKN^Y*75qL z4n7nl-ae8yKD?`!T;8g%o=r1{GAF6pK~Sx>nb<<%+#72O&*tpaKV=SK%cp9M4B>+j z8olZk6Q0VFJeJJzVtej+ojH24dKc>cfg{;!kCK#J+X4N&G{41(aJ$w0I^48f{v&-{ z?d*hhwVMXCM}{QO6WEz>Z}8GJ>t~ z6rt@@ZN15Ry}v;0PNgf3fgEA^D-2bCdVDZK^kGnZ*&ZtkT@?xwg;3{70P;d<_-G;h zERZC|@M$_2o?HwifhaC4u*T#xP_6K)HgySmu-x$Dx2r0SLqMBh4O>Rr&oudri{=M; z06Yb{0BqXe8v;uVMVas#2DeF>bmgrn&LPr)o|^#D6#-uO!`6?`$bY*WyGIS~yrOM9ZZTr0@*T#572}0^|8{ukboXkC z_dkfyK2Am2D#e+En{nX4UdP!_O1pJCGh=!KB@VziADa9^?m5z%p-CmG=lsa z+?)4R3Bz|cjZz$dFh2JOAo{c4f5*E16HG!v#J^+u0|3B@3IHJWe;-Wxudb68wr2lZ zJgHjU#%_}p{`>MX0$8)pbx&L;3{Wc&+6JkXyv3D&qZ&_1v%sb%sVrVuSCzQeM+{eD zyd|sYq6eJSrOWI3y8S@mEs^ZcEl7@(!tI7VyUKJlYGreX1Vf0KT&}O*>*bjn-}LU| zs$0b}XqeEe$U}ma0{LsRX(VVZlRE*)s|^@4o3`FPqm!qf0;YI#nHm#))}URj+=<=J zbYlgGcY8|-6e-H>+_?^SQZ!$^i z@lG+a+fWvm)ok#Aw!;l@m6K$@poFS-Pl)YHEL=m?`X zP^oTc^=$i^O9n3wX~Rh~c(7VjMdQ)5j>*r;wsI%P-(Q5F>+(FkYkemE2uhS;XuS zF?9^>K)-FmqK#!L)VxNj^WUl|C3C|xfI;Pg3Kg(g8hQ(4(Dq{~pAnOwckeY=zI(G}qQ))g8Ro=28Vk>U4&>17>et^mgPJZCIfs zb)I0f$ccuI-Sot#`&q0K4bWWRrnxrnj8l)7P({%%K!#>V%-OGMeN&|FTW)hKTF}DJad2PXpbZNM-1#mYAD?7%#Tcw;R|AGYY7>ZLW09v z{Q(nm-Ow9)hJIvUZ%KmUZ+iN!q*<)0*&KOO{Sax0sQyw^5Vh3gEIlmPU1j*lnP7YQ3fzl?!lRDBg~U^jP@w2 zVI2eWv~%%N+}A^UGj^Xb!gztp=P35n=?bWe`TQ}; z(%)mQO^_||82xqR0ZeqJmEyGPlYeO^A)&oXgr~lHX3+qN+!BXVt_M-NhW_KHJ!4?7 z11N#cJY?XPR+1XnDdR|XM1=rThPi1XCcGSQ6_N)hMNX!_ZG5^RcE+A9z!g@l7Sj2} z{Li!D)M}gzCJY_z(PIPGaj)Oq;)T!+8#x4G&Adb}WX@mYdMy5Yhv2O*XrpL~*jaDl zDWDB9=*Y(4YIWsAeYho$KlX5X@KfnHjokGx6JdtBdK*XKu3AS`?!_Ev}?6NoMiuKv^gwjb&8B6ZU}@h4_+^dmv5?I z)bgw$c$L{SLzcqH12g)F%HvrWt<;4D<}Rg^SLbPZ3*?Ie>K zbFk76J-8RIlk^&NINRg|Shy3Y^Ph^1vcRG=3rf-v(X~eS1*2&zUPgDDpoAqNp}SR# z?r}0;TG(po2yID9bWfNtO3Tacw1=ITbp*&!_Dfz-!$XKVD9t{SCLO?(M>>~fLpzrr zEIpSWy!L@@hDObDrU44rQ_$kQ98Z3={sdHh>%W&JeMjcNjN%R@_6R~3q`@#!!G^-| z|5NRDq24KM4PH zIQi%wg`SbGS7j>_p!pt9WXUg0+8)?9H781TpO*Lt?A)wgJm_g&n5LqZE(`PmjJPOY z#j4EM;kFzVyodLx8hSE*NgTC4Il#4jMf*SJq5dzjN3JH0P8N2y|DBThkHH6$d;I!F z1^~!5_$3Ja&kg>62K}}4|NZ!1nImp1r_HhW++sZjGd*cZ0)fr)?v6y7&4{b+HpkA3 zi00G|M`b{8*l~>j04QL|DPe*%$-CbssCuR7E}Oj|r#JYN~3yRWZtIE`xQ z;vTddUOH2$#c9%1D>AWbi=(kWbAIoy<9?587kqx?s3sE{xjuUL2y`Nvb$ln|_G1r! zvrRAx4HA;I@9!gG34=d;6c|A@4-;_{vl@RqU*4}`@wP=9e|wHBR%A>j_TzUS5-FgV zB%wA6jF3r~X1<3c`N-h)VPoUMGS4>}HjS|#ya^wA$DzKV&=r$A-pH}=PaTVB^kZ-T zrW{Qm%0^8XjI!0hqK98}{1n2aVU5!_SYwDdXQA_QPb>&4`R=S?)tU3m>+)90EnTvA zkXJp*KEzu)0Zk3fpef*&6N)tmNh(VuhU+qo$IXY9E-8amP^1k^BzO(M2(chIyMJA8N6Qfv2(^PSx*?L4W}JvbMT1j0t-|8WJ#iX(uN8jR{1xVG|g$BO*$d3l4#e zful~TbQ@dGOHFwmI&09Q&5RU)NK^vG&^XAWs^Ub2(}9E>P$_bQ29S-m%#BA(xwA>z z~!Zrl3TLy?*mZV-%nI6hK1k^ zt()hWhpAZUpx~98h11xR_Y$IC*)@#uvxE^94hSbBtPZD&s8O9VvdExUP!MACK!p_m z<=?OEv9nLla2wag7)^Diy-4K<9h5$M(c2Ar-SU4kcv+W4}5a-H{*QqNRbh_-N$ zDM3_rfzXXAhSCT?05jEqdWg%`L)%Nf6{DTUAFw|(o!6wllq4Rqm+30$4r^1-IHVpg z64d3dRrIr6rwn+F8di&}wTvI?0Q9<9kN$Azp)ju_mzgh=#yu(&mQ|R$3^N>JD)Ay{ zR}0kJ+!6nW;%*%Zo^UE9E>%&1JSZ~Ev%g_uaBtmfC%l_Jj25QZn>E%?@FUC+a>pg9 z_1i@C_!c1OFEGFlW|udpWo8|=zbDn8`vQ2U!m8Q>NEctH2A4~r#Z2lJrqJC8s}HHV znMpcz;fWsD`S1i~t5wqGdD}t zsEJ&8Y5JVc-6;h+a|2`^r^&$dY^2hicniv`Q8nJJhwLkk=!n0tk`VtMn$&#-`#`to zaX0=|)byqabytNi%YC|Hk5iU>jKx;$5%aI+ z-0e30Ej~5VDwYKZ?>zS9hZ8SePXeu6aMr%ta4Xed~YIbIRC6n`t*qZH_wmTKE)vBd1K^dZh?p8^eJn0uN<6RYjr3eMUCn$nv=sp0-FI3L zI^I*5-RvkJ(-x;4Mkhp?*=oX0f~wpoXB!gM==bEj6*>+JP{FDUmuV85x9E;V z@K69puSl!00-8JunZ?n^QpM?VXqK_epQ@ie)fSesd5nkbHx!@ zoXQD&W!Bl;(B#?Wl!PB_Bsy!vksiVU3U*0!G>MC`+c2)_y{=UbEm4Bv5AF#XTQ&8g zAeM#tABdEnX(nL~WKlZ9Zq^$~xP_KuC4@t4DgXp2g?Bzoh!VWED9~>+a@|}(Y(7K0 zsP(mpfZ<$0Tu@Wcd7Q~K%-^!ue@RG}C^tH-StkycCd*X%ps_%+L@QrQsZ_U!IB0E- ztTkrXgp4D(^~qmCY_2NQRv*6rL#$_JS(Zg^xYJ$nvc1y&C7=7zH;hD;o;og31OXJ$ zr8yy#VKgJx0d!QR*Vy$1^$xR;xpq}|jSR#w5L{edD#v)ofO=aL_b^pzs!ou)E&Egw zWB^Vnq7c~=PP{K{QyCnI%(B;yfrB|N9Y;+-X8U`7K#@c|1kxXQZ>#^Py#ZCqYe=yFILAdJ8W=c`g4 zTz_IQw64u>zYCZ@011i45i40Vh+aX&E2oPdYY7yTjGFyn1tr$8rMQ-ag@`x>*TPbS zrL>&vw9`@NrxPJLJku)Zs}jwaqJ6w$-932n zwV9S8pDT8-Bcq~Kt+1{kLYHM6c;&VmHxT~vLwKxgCQ5&_k#lsLN?`WePXR%{u^#@XzLvgNP&ln(sek9bWL1o#;SL^TJ_DOv ztoMDlTJWG6pq!sq+otH^`jp2vtK^ragBGRN&+ z8q!pJJ$^@}!HAbaJ9dcS7$MHl6SUBAW+Q3LSoEM zGox=BAKf}#-0^ho6{(alie<^`DmD^)q;82JWc1~WLbyf@%X*%hi{ z;^9Jh3#hqo73~S|b#%QY-ZTw-8Y(8y6LwNTISDn0l`a}=Q-VTGRdITUPC=Ho< zq*Z3oW-X(X+hHoV*x0U0Zlfl4n;@9S9S<~#@X9x?4B%{U<48?bX!A+8t!tTEhvI!Y znOtYSH{t&Zc{c>1vJ0GoUwXMJB|{Ol>uW1sv06ECPlegEx3HY@6(S!vi=xPV<_UwM zp!&~(6@R$bGn#0YAd^68v6<%^I>n3CEnwFYEdyFxtb#+YtA3dgqC9MDeM9^xl-gdnsD|XE*7ksV&pXy5B{c<%p{Tmh=FND~^AQtY;2p=@T z>Xc2cZY50KiAN~Mr(u`lJMvU6agE%yAUUZ^b=E+6=sR?Zn7I&gSXvaxoP1-7#2dOG zzcJ6Gm>WH8GKsX97?BqgWtJ1qL$0%T2ENprZi(qWrm!vkft81D!9C)TA`E|Qcd5pa zZw(rBx!-%DB)Kjpc|8tGfNB_Q^p6Fh<>CK@i(*A7Lmv4_ApRIGV?b!pw!pja9*SZ3 zN;w_-Og_*)u_mnQx=XRJ**Oid#gJMXtcIi4lXrMaKn;yt!)f#3`md?_L?f-&<6}x6 zauXLbMr=$$oS*aSgUM@{$B3JJ1q4Y3$zkJnFU3iCCU z<(ks^J z{W~(7*T4(s#~VZ0Ik$JEdd>}6+GS2^vQ$Z`zEN?m@=jk?Q(JBW@2V9wrHi(Pu8rqo z#)VDxERHlSEIX*A;S}ggwxci5iU04vBhty9f_Bj}*3EMPx1J%Rne$;i2FWE^ANsyW zir8CS6S46fEI2AR^_psxh*U^SrxajOq6jZcfiwin^F@YB)kZpBFY+)gv>HgDGr46H zBpj+7BORbS{gO%iZ!Ws9;M_vrbfL@O4;W3X=c$an#;IJN^rws>wzHKss_4O)QJP>l z)zk}0tt7%PL!OI17rtB-7oq&*a@`;4JQh@1M|q}E(RRQJ=v)9jwP4%Q$|#^e+6r|} z912w<5)`kS2peA~Y&bX&?WpEqz9lvu6}6{W?D`rMHJCQzu}V+C)j4LxlH8n(lr~5= zYAjK2GeY=LeQ%0oR|@`iJoB5?(7FMtLtTJwNnl|mr&t9OMR$4#h#L2!X=PovLL;f? zB0C&qm6VsNO#0r*jiEqU|91MgT$^ABDD(}9CNzdhNRQg^>7U>)hiqem>A3VZh@tedzDx7xt_MS`gCJdS4I9(>7QLW>}8wMeI3R{m1*I(EyebqMfM=*uk08S zozAm<{LxIHLsFHh%Z`09ojPSe3xEt_M-(x;_&L(nnCCJtJD$$KOcUZS4@4pnH<`KE z*dR0|s9u1zkTNbYPl7!-q-zcQwlBRzU?YxOE?ZpU>!JQo$x^_0_ILb>TE3LA*G#Mc zuo@_~m;S#;d3uFJy0q1-Pyi;aDh7#JGGEJo-uA8qp11nSDol=Lg)C+bJ-Nfy1kI0X z_+XNY(+~fG*^>HYm?6pGk~E3e2-8N~K^VN)Zj01Ru3ew%s|BUSD{^g~3T%;S2i$6w)X|Mi zM|tMCb!rRjYW?90*ZbOJ*dLAhg`si;{oa{>QO0(Bi3B&evYBXr8wTge!}zK#bYx5|^YD zw0mzA;@v=5pZ${ayzk29te>+z=D&GHb_s1pAMfmYq0C5+(@?}3@BPz2!IXPkTjbp@ zO#PsH7qpBAV#x<^Xg2{$H*w;=8}BTiyR3IosIK+!ZWwk~Md$9j7Ao-aL4Ho>-a~j6 z&->vdwdH=itmHE1?fLB^Im}AO>SoR5H!N4Kd;?`%6#Z73f*3x`?ID#8*3=o^)+m2c z$zD|431Q{Cgj*5eUZ~!a^$z7rpZ;Hp;I>29cz=WB=oAA764CYGL+%d{)BM1YshM>2 z=ie>|2KHPSPjRonjS{PCau{B+NY# zsj3dlAZSnDr8D8a`^)h5x2)q{g250dHnGR4F0#_oU|{;eKOnIb_X`YLlMNnilazj@ zZl|>Lux-Rm_2#i^`gpB64z5H=oLEMv#RatQO=E*2aptVxj2mJMR5zO` zGye1i_m8&2HhKA^tFEzUDLlaRtdc@KlST1e!i!E;@4!)1f14X5J(fXxcRf8`3qFHS zQ_!|r3+j2kgAZxK`yB9;B>MAMqW$#p_vvn3082sc2LbQ!oZ_p{@zvoJM4zEK@9k1D zhu0_`$}1^e)rjqKq=YSy6>W-zf`g%l)&@KdYo~K-Ch?oupLV4clKbt0QNq)2Sj@fu z5;;VeA7?nZ9fmATOJ==A(8ZS-qB~0y1-pCJ{+M=c^ZiqYfzHnn#7<@4(gRHihlWXk zy8P9*ALq6q&|rXQ_)Lbx*<|!yGZ(L`(_>suoz3p~D3QdQnVLXydCvtKU-_eF`$ZX@ zPtt#7-egIBdI;XWwodqa2ZbOlR)%njUW+*GjTa-A_kRHYdnDBQrG5PCzhJQ!$p6zq z_5apaElh13{!?=QlUYNRrtG#D5O}2Z8wBWE5v1+BD!&Aj$i<>TIG1la3MN`aLdZa! zPRJaR?deG?Q*p@0W4AMKuWw~iNf=2SN=d|T5Kc>d>Y3;v#C%}NmM+34E}nnJkkj>P zWlcE;LD0}ZwI*P7EL*h-VjajJhHcrm%$HWwdySyBb|GgYHH!#;BVOLZBdi^tj>hn}Hf7688nkxAS{ zSjJfj+g_NHHrW7oIa_ZCe{$L|bMK0!_hmAR3w0(U($Dkhx|BrwUNofms1{M>QGV0G zfAy`-7u6z89gahDG@`!I#e^}$WVH}e6-)oYT z-?pcavfd}CM@v0{Re%!_Lf%(djKVVf3rvB>REF}MW!*<(EfJg~QdRpp?!NFy%jwzC zJ;mFr|M1toZ?~@Gmd`*aIywk0m~qsaU+9-$u;ysxauJzJ3F8cGh!@BTq`2OmY;Gt& z^8er87zR%pCJ;IRz=90`fXx59hHql;Zf9)h>|$c+>|p3(Y+>s3Kec?`4JT~z#JNND zWKwa2Wq|;5vRA`_0$~=?P)xlExM*X38ygs?SfGU=G4{ePK`3hBJwDHs1#|$tN5&^1 zgdJCtlN?RW(1WKl@XHRbjNt@H=%U%i6Rvprvyw|u@k@Gr-CeZ=f*lHtTau&h{h2H#xyR+cs&!*2ci97#&B?OVL-10S@lRovYr@a z=9tFk&12E*k|9gCB(YA4GRKBxQxBqNREg?Wc?P`CS`{Tra{sOVDE{Z<)QBD75$w5n{%Xs!bE z27uv8c-d-olQOzv|JnKL>`on7&H__C(J~7A37v|FFX3T}I14KU2mshmw#PBB2y#a_ zTNnG$SXw&3459+LmL!=L7E}SNmHRhM%AIlngPn*=oQsGo%uAyJL0p8^plyPaKEkQy z0%ie-g@)vTIY4>=R6>x`%DkBO<(~xUQzI{^d2@(xp2ld@h2KAa_8mEsYDu>yb zf+VMb3V4My`$y~4nhybLf?EB!BLRdNaOgYg$goNv#ObAUu|zac3#PVd02xDWD(G4U zQ9~@S%b$=G2fB*_59@DLp%!6?2LVoW(r7(q7nemy^FPVx&fw&iXjma&X7rUvJvK>4sJ(1^@9+^1iZIBH#9`= z5t%m8NH$`F2#&{ZUw;e{S&|U*?m-GJLHJtD{>G4DH@HOnvysrA1z0dKSD4j2VhM>{ zDTM65=I62L&@>Tn`(1~{Zp&&M@Nn7hCUX4aM4;vhGXN&FEA_3iS3p+HZ~4#dZNdr0 zn?6>;A~j%KRJ=FwokqsmAy(C*Tv$oBSl0H=>rnDtWyFl23KbM31q#Bpj9ZwGUuU}@3iMlPxsLQZylaika&YVswV{qXphx14lzra=aD}*E+EJUj&iAj%K zcP9jWm&Ir~&jIXwwQNOEm?Rf9-6ldBl_V8CMC1Y_lGm}2jqCuG3&IC*XWA3KL(bbg zGDzd%XZi@yjJ|Gxfu@4Tr||9b)b0fha#=GiEEPyz1HEm0QCy=OZPJ#`d)K%j*Wkf? z!ZW9q=6ow{M}A3fcl3<8sioxSYX<2C!~ANuaQ-NrjgoE(lt6!tQCmZ<_tmIN`VwlWQxaMKIxr`rExfU8`CH(Ksjgy5WG|qQ^t~&h^Aw;^^p5l zX4Vp}QIH3}CJL#1Oc9H#alIuaQZRqo2xzK+V@gE5ykAmKe-xl#T7ED(pa1~>I`9>j z>>>jL-du#u%68J5{&X^(RE#2eJxqp6SD7VBk(xi_>OUl^K$Ue)b&RWqkAAT?#z!Ks zJ)-t>lPb|EbZSSj`!Kc`FwU&!Y*43cqjwCV3<@ z*SSDL3rirCI?xP1W`>LV-OMsSXUg4)-ey4m| z1D6uHepNgR0nnRqSvlx80#v3k9SYncUh36h;(-qkSgU%D>prIZFDq}59RP~v^9>dp zU?(y3cG9*0O*-CFTdXJrkS`!xlLUiP%K{-}IxF;naB)RID6(_FU$Cu%5^&N`zhK4> zN;8tggdDuU03c+1oUp?zMXS2Mw%^UUxRR_&9tOVuh7MvkcDO?fHbQTz<0SwSG(1O^ z!>HBn@gkOop{GXh4fZP6u@%9XG!~Hz$H#SquY!r-x@=XygpRmkYLUVaM|y|OhC&XZ zeW4?eGqiEU;|za@yvmq6PdSYrj|z zvDq9fJR1)KKE(_dD>Ljta1@d*N@WFpz*wF^;|nAO#wp%(R`Z#zvP`RJfQ5w&uAY(J zH(l?DW&}ANRLZE3@3-HhJi~rgX61bWcmY64sv#)c<-{>FZU$A6GEtNe`;|oglmN5r zYRy!UDlB~Z6XRFXNl(}ykO^a}L%uV6%QP7ASBuu|zmJ*}TCn8|aSzInUk`g6I|~7T zKS|E`XhGClWXYDdLk|BRVqm46a#b|Ch}#BydaVR?nsx7{`vS{V4wt$=FGyG#Q< zV@}c7^)!!_gTNm@sdR}>C{8@ll;H}B8p<(V>`ZqDOR0ff(O2TwRqn(NVYk%(8bQJ^ zi@gkO%xnk_YC!QhGBh$|ir#rVRUjWv{5Z(Olu=9$Cr{@^$EA zxi}$pA+3}&r#dh|H%qa~>v1e0 z@)d|#w6#5T+^xck*VWW);M<($=F~)F&q_VCVhh<3hk++Lh1f<%AfJ0rxsPb|h}X3n zDKOJPvll2r3?htU^+}?ncYQPf)EOhCa>0Xv0?x z%xZxc z0T6)I7>3=LP#bt|#*=3l+7By(dJ2ebPyJU#NwLdA%7cjMOO%U1Vf`^!a71S5MKTPBGLMEBB+jQfF;|ZIF47a^IJSKJU)ugW@y9 zl@w;!B*Br2JE%d|%rh@uf$$pi)9~HRR==jXHJN_z{ei(gVR4@SfNvHRRC8^>_KVaeDqr;YIX}@~-Xt9dE5W=B;?~ zmn^jQEu)8V(5ebgnon#0I4yLlck;=?Lpkiyof3{2v8b!!NKp41TkN!5xd65-^<`uc zPaYD9T`DKRgXCl@j*2ZtrB#FVqTPaKfHmQy7Wds6RLkE@lK1p>-`Kj)-Tak6Mpsxt zS%4GuPCqxRUFAZb*5!1Zp#v^622KF-dK1a*Nm{&E9Ly-w{r~+}59iS1{~^k%cZg4f zX6NsF0l;xxZ~PT5dX_32EeuM+phP+0nUR!KUn_?p(oD!|{BKj0xi?8uN3N6Nt2(qk zdwT-r@YXD@Y)RzahJ51#5*NCf8txkc>0JQZQr?WPCcJ5>uR>9=z$=APVW-ti!Ct?D~FnXF!^dhIm?FkHFe*URB|?lL^x{=j4&~ zPe9h6%!HA&?4caZw~BZGYLsr*f#9V{II?4(Po*y=7vamJy`5`#&O%&Z)kC6#W$WxVMHWYEz@`x7ZW) zeL+-BeXF%9)5`*j?OLO{LOA`U;Xtx#-1vNl5Nu9#oQsmr);4hz zaNtcz@u1B^HY6y4Wmr{Am-hBC?JbwbQ*8Ir7Ol1uLYyb)4gkmm1)7Iv$j}j|e)9I% zh{>c19TF;a54o*f?qekk5BmsO{2}X{MMaJ|2y+bh<#awrCFCTFm{74JzCE*gQ*4wi z-_Cv`(HYk0_F~y5J_NUjwmhgbW%az{`DNxqjPEAGx@jWWOwVS;l-*c8aB_add{aiH zNb$7G`xK-|aTaHGJZim6irf*!lk*CkF`PAd-ne+6S|mV77lAAi@UyH#6fk`YzB`@? zHB*JSMs6W7&Cd|O(b1{Yw`;BcoRjC&m^cI^dHjE7#~y%QPb8-qmu3whs# z7y%ya6!~w@(_YnQ1n{<8b7(oQ$X}bJ(fUzZ6fwWw_d$vhvphiz(-Jwfgu7dscr;sh z!Z@^*ugD?-n=B5eq&b2(+LkO51#M`Ki)G6bxW<~4Y!(A=PVy6!*Xo6DU8r)B-fvWm zc2cDnoSwWUg>#p;5~-h5?Ue5USnhu+Yf7wI92PpuHW@DW++ie*r-aBe%A@GnG!yWBUAtID|d2qD9I`F6Mb~T~3Maf!)N9j9)fxI!jjpm)2Alh{w zU1@Mn6uBl7F8aEs-l(1|QRttG&E-w69)}6IG5T8Zhf;7G;=gRbxF!JI#zs{>JHK6h zFHmpm){Y;*9W;sz6_q-eO{C&0)%N!-Lj;hqg?n+x2;9(dKeCBRXwz?@H$|+SW&Uj? zKp*fIO*=gd%siNQQ5rQMPlAbh=`VMshxh>~t0srOxwpMcwd)l&X64G=yXL1~F50ru zEE}`0L#pdgEwgGSyl9`3A?#xN;Oa1e z*xb4cVYUtp^lQ`~F}ORiC63}gJX4JcxgrQi^L@xU@n1gt)-vP3cTEwLOSzzw=CMJ**?Dbjp~D4Dr}SJEyVPhZj4a^8Uv~la2SZ+Z zN43e&yM{=l)I6|fW7Apz$;^4NG#rDf`Fr`%`L||gL0xE5Ys-t20y?0v9$BI)r-WtA zz!dZXL>!&6E_fK7lf^F1GVC#{NtQK%U#vVCYOHw0DpstlfpJq99zL7P+Q>(D3%do6 z+B{i*FSRp&EnjT2o`pU!Ts^CfLf6tJ&z)mQb?{QdfI6lWy2vYC?}lHhmMYuTTk7H8 zelz|3R@+n^#dD=Czr=<+NUfY48pHTr zv~AfhRs61j-1$QVpQ|Ju5XP-irp^hi0MKpV=XDI2^di^yy*xxAT@3W)&`(x7g{)HS=m=s3`2xDEQpAA6YwZFL9mu})cUEXKD zuTgzU@@;d!vZS7f5Hu zC#OiT0kL?k*(=>QqT{!lU+b!f3X6#@Ado=^+a98z8Gls?AQQ7^21lK3H8yLFk`aO3=Un*N;EJgEcAuhy5X4)H%HgPbAwTZF z(cQ&g<%r78eNSmSOUyuR=OSAH^B{9KqT_t2_;w+zpt@hN=+&NE=|Aq5zT^pP0)Fu& z@g1EtNBy4xIZ+;I`7%lX0P;-$0LlMS}N0 zTDz-Wj?_|I52Jb{bw9FCB0`2WlbE|Pm7?fM|6Z@a@nB)X=oRI<-G2=vnSt{GSvvhK zT-f9MzqW#p+a~bIKNL_~q;gZ6wy65B=8|^r89si}^nafg?)ttj_r4~U>h#m1t;!RN zjzvqvDksBDA6*l4b;^lkXUUR6qE;kJtWCv25C_;za zvoqFeo9Vu*ap>+PsXd8*1Vg6F+_HbChm0qq5SM|;$A366Rm$*unzaMSetfFe;{O7z10$HFdR>radxNGl@T*1i>fn0Az<@BXc`U z^vF0$Uhl-plxRdi_hO#3dc$8}ikBtzNQVCVn>5BHPghbGnbi4Bmo`LRkPib)?mbdf zH&jz*M&Zes>@h{Tu5wHSKg;}+&xNxb_U<4_vkM$N=t*f(eN;Biw zOHPmQ;6TuB5opOJ*VuM%uGrUMde0yCrjG9y$gThL(`<>WiS$%HHcpNmnHp04(?Hs%7wOpiRYJWiB%PhBK0<26JdbcI5N^O1XD4+6C`1+ zn2A#KQHm58nr9z2K%=+tBSE6!Ik1m#OstkGUyGWDY#rFv!am?)k+B+~iBI{sK5JnZ zEzcD2SNIwO&pCZudh&~)9;eCWEDuI$uQl&_=&wK z7t7f`ermwvT+`DLH1!HP%a^F&NGVkVhZn%*#n``&Y4j9(3c_J*ryws1EZ?xK_tHxl zL9Jr^`O8}Es*XlTnHGl(5n1$w33 z;d?&0v`ALH>ze55vTB8uXcOsG=TMTExcc@_E_&k1qG8EE|3F<-mv5R7QCM5Fe%Ja& z#Sf9=?aMK^x$T0B7mF3?f737NQ(vm}?PBTMP~#Sv#nbv^`f2l!&NDzW;;A_ZRsG#N z61fgw8r)HxgNem}!ouPG5od?ud>AG|%md=4@xtMw^@p2+w2A*5nEWJ1DcIrQ|3w;- zP}#Kw;0K0T%kJ?lXovUH1UwCZhDm)|?zjcDZ-LZ+^&5>hER^&kof1@1DzRkR7thB< zyeH9AHEk0CQQ?5d#Q!Ao3_Ic;M=zg2;ckMsyy&fI%kJc`v>!H0cj@J?*&oB?Cwyg@Ss{jBah+qrF5O3MRr zYEwoVw9cdehsB_`xICKQ{}r!m02K&ehzha}`VOe|#I8rvJvu|0w(5=26V6FIv>zK zJ*H>J0{@S@UhAA_9wTN^Wv{w6;R^$Q?)G9nk~Iw*PN5;a zo)+Lvnx_CQZfr-SRda;5ey>8TimRLaEJ*{{GGLX|HVOKw`C!ZAD%@cb#sDcou342Ms^vpOGD2`{0!(6M5+ z5)fw=FT&1aLZi@dqr%PPR^C$L6jpN|7BDCvog%nLcSjflP^jEBMBs#xzXUhDu{)*^ysNXUKX-z}zs>?c{`+XR%``)&dy49AJ}vVV&JVu`H~jiqT<78< z7>lLf;Tr&ex7R!9rTQ-lt21dKhg#2&>=;d$VRj_$c}iDsH7@pPiP$XbYYXXGY{v?@ zTQ?_Hvz_|1{fcTAJAJ2yoOkAaE}$K^I?bO~->}u@!jbKLUBTttlSBW^{%f@r2qi400Zcz%ygk90Wbd# z0nF2_UJCZVxv4P#zFzFNq|cvf6{pgt=H$(L_rWU;#@;DSFLhe?oMIc(h5Cj)C?E>Yt%94a0SP*41{#vxHw^eZB-qUY9;ZIN#f_ zNY+NMa724qe~3%B97Fm!Hp_+|!wUR2V5¾*SRAUox6GCBJEW(ftJwo$BxW*?yh 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™uDj6|k080hvB2c#t`F`}ZTUzWOeU_y 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%0AF^kJZ$MP>;%2XyGAf)Y2CfU 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

-vAmu*eAMBgwxi|IQ0Qpv5exNqo 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

H5b^E6xM=Ab+BJ4-*( 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�tY5{NzU3YFr9Z8TY<7IMWkq+E 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 z zugSE|wiLd(tstXrf<~ua3XvLW779MITv9#mm$b||`*-5Zh6=J6{uavrI{kB6;Sk}N zH6vQp&WsFp>n0Oeo)aw|h=s#PMXQa&a4+s91~lphV>k;Ef(R3>9MWtnn++WR|GBDf zX$|gk?pe{;e&6suyGQL3g-PFK^yeK3544X|a+nv)rBltS?>NAKa1hg!Q`UDV3~9cJ z!kFGS1+HnOIj~W#ptS9b6h?wAtDPB=7g79Q)UfJma<)vK-|K{1MSzP|zyvJ66W;5- zTK4Knux%2CRL2x~X=iDSE!`LJ0MfGDgcl#0t(eWdMsGQu`ntO{$@`!g;et3?kk^oM zNlld%1qsOB8dc{Bb;L(C_V$pv1gj9q7fTCEsfVC{^6)!lFO5Mq{PgULD79Q1txy)wpoT>pmO@;Kb=or3G&V9Ju0HqsoAm_nA&T$SOLCyB9 z2k@R0<}U%Jo$3^2?YsNGuai0;@@B{PJ>Zp((C&+e+StAKmAW3_5{v8N$X!fAH|1py zow7|x$y%#beZY()$)1~;DAeKY9?S0~zQS`d5!RdvTdU{OGF%hn9~`iI`a%vbmJZc_ zsXqGs5DJAwlOYN7`M z`e`oz&-bqXV^RC3QNPmKa@-h3?@rD(OqdK(kx^1(?kYtqN=D~CC{*Q%o7ed{p#)3b zA0|o;1SfT{_IN|^9^jMgae9J;4NW}dyq4u28y(#Lxb!(On^_zB!qmSEXBbS-DXM2w z$~+&cS5a?}dRXASJ31KAhwt(7x;^pd{M^%7F`*t(;9)Q!mrk<06ONN1ug3~Y;K7_U z6`_ivtubLIZkutTsx(*Cfe(sP`gj~VYiPJPD{v>jbyQP@b!zR&=}t~7cm6H)=*6F+ zE=dp^yq=nuL1=t^bA8<*Ipd;sqBOcMh3@#RHJ0%yWEL$kh1p)ocwkN-7ph;T9 zLp5P+(X1VGB#~Nx{2*4?MqjA$`&ZjE3Jb0j@!Hl7CZ<*)OIkOE<+zlfwu%sT+y!Yu zS}G`p;#9oQDRB}B!;}A*&cr;WZY_dUdqP;*IBAuLYCqYiV*qW)8rg8{3DVpUT=*S- zBU$z~N+_m%qY5Tgr7|U|Y4HV5V5F2xVJUoZdYMwOYPT`}$J%UTksGKugC6V!XGq<_ zsLpiVvg^!c4^4%n3J@5hnr(dac&tq67HxHW%TfpI#~M-S_I><-WzGv*{rk8!1bf0l z;q+Gh5VqihscVS9Ch!CmESLa3miPm}*Ofx3v`0KLIYC3e|Mwrwmh3pr3go_oB6Uub zlluIVD&Y4^^}jE)6$@$O4NIX-8mjV)6Ec{u^SskXUc~-e1I# z^#24D`QJQ+%1q%nNS(Ovls7gd$5a_GeqPlHaIe!!a$L7ktTGxb9b}AYRYx9%M#0JJ z%Rl+vcam^LMQc zu@6|lOJZQf(|(i%E9+veDWD5itjEVQT-Snzf*f1gNPEw9sP`La%u^t;Fa;Uq-UKt ztk-v+cKH!T=O;aEy~{`2C`8Qg>t8TrU&nF&@pXR(=pxut(n`5kIolA37?zL60RLV2 zzT3mvh8_8<2X}%ag=+mT_-Tcbmsp40q!%hr$;yM3ImZV|sK*R66uHPkuCI zueF0vZw;=IIsAu7+UUr7PcuEdEXSC;*OwBottEGud2&PRSvI>}qVaI%e1 zP}g<1!sL56zGDIIUA$8s*gw1z3t@6e*>fjcc(B6k-2j!{aR6h5`N*|C|II2+g@yVq zov3XW2Be_cuSjUK#IhU?Da70YP87pEQ$~?qe*(#2I5?Ao=^|aCcWhFp)2`V(G-qa& z_iV-z$jc6fd!+bq*BUAE%t@A6a&JK-hxq7QiMo-AM7v8#GU5sbjdxoQr?_kxka6^w4n!l-r<6|gAeM*`Ziitf7VKfR^Ks5EAD(>!Hy6q55M#zH z91+A9oAi2++x?2TB`)sO(g!A1En0QXC<_T1b`bM%KP`lk0HSYr~pjR79Q z2$I|3JX1;8PEPdi+4Zy35(P}t;^HKdT3mt@A#OQ?LAMg206)3rCjr(xi@@IqvrxpN zvPhZyaz4WEZ73d!d5>)S;?Fh5cZv~DWy`cVzcXj$i;&8KH>U?U4>fA_(gAl=M zT!`|II+*HE>L5Ajkvbes=~p!5KZdl<7`LsW4H;~??PqVLDw$vkA2FKJ9*JsBHajWk zaes-kLv4C(PB(8a1QyF)fANKoJ!k*5RzViEe6@DLJ)c;!=I?y2C zHr3od#miyf)B&JmRa3_QR(U*>;_A-=A;%!s>(mkeG|E6bHjz9ySR^Hx$8TO-iA$Vc zJpNMG*|Qy|ZbemqS0p-qExKa|WY?P&7b|PN6~K|a#S$OdFzX*yS6U-`OQ2DZMysKz2P)w&Z2mdqJJ8u#Y+Q$n+ z1eHfIm$EpOcy0Brm_^)&j6$0*{ew)J-+kiDB8p90ho9tFZtEGsin2~^%yaC_N;!K5 zA%SVb+#-hKI5KTRWy@F7xh;L?lB&hhT1?f!5gktj^ZXqW2VZ~+a^OoAp8HSK;6h$7 z+5%#~C4J^@GYV5R-6)>T7KOfCcM-0SjO+tEuFBr3X?6N=-cFtfhAIK(^arzST9&vW|Kq(Pp8A ztkCbj8NGj!zP>(2SX7LcWXujT#73-XApy~?!r6IL?o_yv2h*i7;+;bv zlatkqpWl{)!vFRPeyfeIB)K-x!JD-od6lDT=1NWM`6{7xzH|AMr15{Z+teu{hHe;E2~gH zRhDVv>eg(bq+mjiUXZ}L(ob7yer;yNiT5*+Q~&D!3LfkdgUDUtfO?0g<2qpRps%|B zW%4UF6M-weKsa@eqtiEJLekUcEOc3VxB8m^(2@T&d~{WXnc;%etv-~+a=t5hVm`aM zz4U@gm`J)3HvaSX6go(y#=*e|BPpD2)IjSN*^F$Z@t;${m62%}#$vT0*- zwq=|fvDyq9LE;A^c}X^-h<$$hA>dxj!LDR#CTa|L;M(ri-giv&cbNEHouLq5T-WkC zsshzCi8sLZPg8!K@eEbjyGEeYb+- z#;m{z&7BLLUC#qcZc6e$g4R8-1!_zBGBVWv+}x0D{khJp4}5XrpN}Vuu`TlBQ_F`# zn&#bff}7f^yApBbi#1TZp)%|)O%_DpZ47FHY>r>mfsX@wHlmTM_80?U*g{N3;vY+XbINf4uD`)l(0_w-NfBAavi^2gwa7ZX45)twRNo?FHFOYaJLONd=`z1dzo8qy zlvIH&je|bkM_^^YjKQwE!eA1+JArd-?O-XiqMf2r!C=dQfL9SaRwb2JR3l$uPQ=h%) zxilh7I!U(zb2;q6q#w`rNdgiy|H@P3&~Pyx3$5NrYM1*FW|8pq!(c07-M+vKcNz<+;CzZe2S_0!$1s!*CM|&nIcbTBC!BZ_;<_YO zD13?Af0q1oV?7^$s%9Be)C_8)e-g7*f)w_FR$n+f8C!Z-NMV|^yK%AL><3eW0LK|) z+oVn=EhT=*HbI)F#cDJMP!h*<%tKh3m$4hwhTa~Sc6WB@i?sp46i=fAFh;y0gt%;o ztM54n;3v3NM6|gr-bf}}ckD8zngXjS@n`$P5PahxQNn zVPbloxWlB|rQ6l|UC;n0dvsq)&Q0+e5Z;tfNhF?PIj47vlY>WXd4cX1U3#L-&v!x* z8zS%DVG7sFVrs*?6+PU%3hRUTNuWE;rR*5LP}_Z7hcWST`9(e>Er%SwkYpgnzsZ z7)qvLO5wo-wHa4YX3~k7@nPjHVIH4?c;7g>kHN%NYd#v$Hxt*D!FuCsf%8vrqH5pb z9bYwXBTrUWA$#5rBT!}FEVLm5ziY%8N7^wPa%I7{!JAe)vHw2bp|NxA1Cq|D2T zd4HVr%F)fi+X=Y{#N6pv$28_3btgYoE+h1URnC4qo_uj-`H99m2)kv&fsAX3SRP41 zwy58Y{*He6px4&0f2=V{&Qf(`d?J2-xUWr);kb13*%FmptYkLKFi-gb_pxePQn0noam2Q52oJMqCO%={18|#tmiP~&#{>dFpH^-&W&Gl9yn7MyoRfhxp&AYENRB)H+!e!o=uEsStb6qp0J zaXK(-8ju+}*v2L?Ya3c2U7PctnfV(<4p)V@ep1tQTJlaaO83sic+F%1Dm4rzZSWeu zC*VDl-e)ft0pbNECH%T_+7~l}nw*c9#7n(x^Ehm+y8OuhO8v3l$$f6~8)o9$?7Lsi z_y5WGAV5(6nem@gr7?g&fq>wDa=+yNRR9><*_Z%KY@Lk_oDF^wbCK$V?FJ(fkG6iD z0HOnkw$z3)DwxC{Zu8heXrzLad`KxB?Q$w5A}Wet17FYAdRl%zv@_9Nqu<;tTJ#AG z4N%j&>FEE1wRdb1Eo!m`%l0kXwr$(CZQHhO+qUgnwr$?hR8P!Aba%|B_n8kT;{1TU zGjp$8z;FzqNBApR?E1W@}jkH4j z9HRKuKc`QskPNa|lFuT<&r8Ej`Us@=C!zC-v7m66!%-%J^jld$RnSr$sMq2MS(QGa zF!&ECxq=7Y-w6|7pD{AQRAID0U0YC=893twN0B^9|d66sx z6b+qBp-Thw>TCu#OkI+SWUd*RLJrS6-0l;RRG}Kn!8IUdT1(LYXjqC&m16!+3a?(l z^YZvWDrl+lhUs`xm}>j8M#E70p^%6|2+`!6;z03>rHZAsjv%{P?8rZgOt2V4k^}O| zL|Dwf**WD#Gw14uRD=?cQ$&u}W?xI*s`_E{tirHtGVK&O`l*}s)g}5cCfz~jNVWc< z%W(M)zHCnvUqKlWUo9#&8Q-B-efxj9VZk`>h%eGB78_@!&s}g< zb%#p9yDIjUHx7Kx+Z#RPDk2^VR*@i4vS|jJhZ$M;9&zO2u2@m}Fskzg@pnG^6EY1bvOb`FSL+izv^XR{o;T2QQpd9VHaytXDsKJrr|?cpwD$k3Xu4u|H8ji zgf{kCT3)bA$s8g7M4Y_d9}b1@`@LT@;mG539iy(UfpbpwM!61v;q63Cl{ZDU;tWkL zA`Qjx%dK*wr1;RZv&IEcHH)$Yi#GkWHuF^2XNUl_!?A{VT~mDZ*YT4fxzKbpzu1+; zhOo_^AB|2_9*t|LN1Lg#)TpmJ)%bU_Zn;ZF*$tP4E6HdzURtI6Jv?s*Cd$QvcpG+g z?7cA9jdtBO=)%TGa?L#{%wv}pN6H!QkfFMu_dokgw}e)TEC>LA@o%4z`Tymb{kJBQ zqpF~^#fsp|+Gl9yzNZhDRVo*fxQLyGK`P_!-zIH3zwV_jl4?tw(U0)B+4XBGh$pZ4 z;C$Nhvbk;7r_-^vxf#gAuFxoajbLi(Vt4FvZJ>BF*cB9{_qvPo`LKy>nnx>bB^B)R zX5Ju3B?X+KUmu@<+XtR(JcBk;A zhrn~v)TBD>(Kxt-1@`JFXmeJJ9`bw2=S&LcKSx$9jD( zBNO)@d_#)hJUqRnY<_UY&vrmc+-nnoTsSy+on-vP!9di#yb`^7lTpcd2A!R)gIVs+_;;D z1I$z8Bt1uU;`j)ep#Nkm*r$eQFv<|Q%q!s`YTIZgT4b}*8(eBo-K_rx{j?cvLx!eI z0UmOIM06K8A4|p3QT}SBwF^amgg~;H za@YZI?yr&123KOCVBLh8vGhl%#~X{Bd%=0zP@==GFGYn+CQOco@fk1;G0QxR(hMyqj((rE$3;lrsS~E=^R27*<1#W~4wcU`x7^k$%na#jD$WZ^ffC@WfMN$SfJQ1BHK$$rq z?#XkahsqPOt{y)&R)46j!F31j?Xy43#_nxvf{MXi7G+O6={d--_r@a@2P$$xJHy^X zk(V_{yy#t;X4*{;<{wRJi3D6H(vr0!@|MQ7gqR1hY`Tq%t3P8|X(a4~7B`l6Gl8xE z9dX7=+%p4h`$`%8ewq1$)>9_4>RF*35c7m`jbw;wPhT$WN_c&^6ZDb#_J zR^0y_1NMgob8ChzJ3ZW1X5!d=i!Cmf?t3(G))zJpT^Ex^`3>&hD6bV(@NND~3X+>O zIs};aPz+{0E?aM>ANGj&2Y+8}8wdaZivLmJGBvO=ar#wB8vU05`M*`K8a1u|l1uvj z$|V7zm}L#5bbjTMBB9Q*Q7Apd=8-)s&BB}7P3x$O6>=Zq;vD)XbjK~1g6{9M}6m#Nm0kWXYFNfJ;>hKzsb#)-lMkj2oum$$~bag zE($a$t@bEz2Bj*XWE!1b58RQTG4ZR2#FHi-gWHljgRr~NDig5H0(XR*@!an=%jyI& zw$2GfZ^{fht^|_2Dl#z)u?UJO)6}9{`N~iKP&mORfWk$E2r?Kjx^n}dg~bHX?FRr1 zw)>bY7VoTF3}cm3o3X|P?CP-aH1 zzHFMjog(V(Kf>ft|LqLDYXjwE?Y}@meTzr0m8_{}?T+wD)dF=LSm3U?AI`e5Mr6|0 ztZEq&p`S5`P%$%{f&9D&9wqHDVz$|daCnnZq(N6;Nz^cNnz1g*2&T}hPw9UFU~xj- zs^dyI6|nG?a!I{-*eiDVRycm7OHW(mE+-_=bE(SnD=?&bk7il?S6PtBxr~=m9JJ{> zhhhLvgKjlT9ojJ(yzQg4JjzIYGCi@B6GgIA9k|IA?HXrSyQx_TNS6ERrJgo=QQE(P z@wUP4!ullLbaW2FRdhOYQF1gUO6jwx-0>yulszZ#~h zD=H_BYqZ$3R%#pi?o%-%u7OeW-a?0iP*5A9HQZRg}iZ~^+z zH}VY`0ae0!cV5seupE?nbyng{LZlo+3gXG%0-RUB`YbJimAwzg(r>%I&s{OTND%NE zj|ZkTAdP-7Jr=j$L{Eq9(0#9cO_T(BBC0|z*b4QCM3yy7?-^I$@A#Gv>@~78;KlzW zs(b=r0Mc@yj{eYt%8sL=z|2WRt=Rcwo`!3+H^pwc>SQ!|%hkeJ|J?D%?tTHz!BHQD za(et^dM28M?FGba{Jwj?y;0K!ET?sH5kuq2=Wi-X?b5Nn-l1N=Av6hzRws^r-hoEI zm2M~6nw3)kK|ww08PN>mgxSh9OZcOaQo@)Vw!IU{OjS%#l@9dhzwmtFP5A3mGvS@92@UxPYndYTaiSvs5(>YviDdTO4>UN{E6*-jt7n%Db|00^B{myvZ)MY)nOanQ=y~YvOM?5dkl$n**XOeRB)9CR4~;n6LwS6 zqDvQHHE9_LHGH+U0c2@p5;z=-*osHd1&1>)26#;{ItM1KcwFhM%4Ww&^LXtzHnxXv z{r;MbVPR^1B>AZO%j0^jDNL}AMLJqpGKaKi|FS*g60aDX64G+q*t|Cqc$((jC8zY$5jE-#6;3MU6liRw z1?lG$hA(tHgOh7l+@M-z4QP;LBU*+$hwM|!vvn61ta-5(Bc_C65P{Y1EC>0wo zc?e_9*iT+vncv1yS~&ny(i4eKzgQV4o0?WB*cLy}B_<>Onk@c~BB&pB8IXc3ClZD` zdyq#H=Wupd%)Q`rj*w2h>(7YX0`{sNm`5KU7-eElYym|oEa*`rT&~vMthl1$4+~nz zFXtuW6vWO3;iR?Y?oM6s-WFV;su$ObRat zdaM%RrfZ$xKRhm-EL7Ab{30FydaYVe+|WsTmg_ulKh&CKn~}MgXDXgolPV>vDjH4~ zMKQ?m35HYGCkxLh%Y*awMQ&5VncG-V)3Pa!e5T5cLyXcH;*U9+O9snG(na-l!;1a0 zN2Fz=4oQaCe#{+~cO34hC}pZZ?eF^rv%eyL3_X=XE#7C;4J+wZg6ZH$tZynHr759; z)i6%DQU`%#@s~24$+jRh6}r7gLZ2d|?Oc^T2gLXn36f}JmIzH7K#6(EPLc`5cwkO< zA|Om5Oz${ZVVK>&x*#(bEVXfMWPMUSNY@TfEN454oq!)}?!)zDljdFfT)!3TaWJxE zejga~$q!CIuTUk?T&$5u&qEn8FX~XJ)TR|=jYdlTTLTY{_Zih2;%;a612E_}cRF$> zHZH@w46U}6vgulc@M)zq4XXRGy?u>)^&3CasyRizHYWJ+K#ZecGu|X+icw9BVvMmE zWzq<1XiJ~DZ1%RM9C-E?9-o)T#|x&RWcBf4^H>N?)Fd6ZFzWRh*e!O{qOe;_xw;0g z@qlSw`$wfD7s)hU%=%X~L3bmGLA~zDnfVSz(cb_dpoovn_#N!OF1JxyIYr z*rosw(stZfn?I76c+F7ez&%Xl+Uaxwcw|EP5hDas3`JGwR6MQaLuYVB3FFPjBkRDX zEm>N1CFDq)!B1E4hPO_YQOfkM)}}kM{O2a8E$z9cqZCa84!b0=oN|<{|5M90^^AJc zGo3$Lo2NxWA_dbo9|{1 z_hl+p<`DwaXv;6T0Ji3()vSM-V$VJu4wq_JRUd-hM&ShvUa5T_U&nE>8Na*$KRGG4 z*ItWLGiG%#F({zt+PgEU=Q?46WJ&(mM!$F=Oukc$r~g zYwzOx-wIrbvW(RsJp#{IpJ9HOcl^fsjfsWESt2Py=O(V^OCvI+RFZl%4Tgj)rr^US zSE3P{jS_hmnt>M6t;LR)BO|&nz5kT9qcW;N^;Anj)U-g{>%KMfKTl8Ae-AbghnHMB z7_s(HNh=V>y<3`Tl!@e$ zFJk1)<&GfA&=vF=lG-Gkue_)6?L7vKg=rWXilnCtoHra4BLEM-=kBkBn_ z{_2&3bMj%2({=4OTL(}edZtOAP?ro;XzXRHcu09f$ib!5kHu?R?96s}Rf)$#=LKqd z0qt=#p_=;ksz!%i3tgz2QQkD42b_lW{%kd(5b^wA>r4&j}Z zifbAnG(*FqDVRx(XtHSYm}|cD1Devp_FfIg&WD1B0Ge!ea+X*&;v)!HK23VMaTkT) zV$jfwg|)(`B140*aqfBv1%=n)EKuq#E&6Mynp2=(4` zqT!hxxR1NlO|SRL8AN8Qp#Gq}iTm=*l@VU?&R>fse$D)h5v{Nh)ME=EWU7H)D_mWM zCCPjG?nwcVXBdE5^ExGYGjC`)i_mTUbCVydg_K3&0sfySF$#O>72y}Wg@pP)G=}#WElyLqqU++9f#I&kbRjt8rJ& zN+jQp+#Gg(3i|X?9ajfyzP?)?zwfIwbH6_D5BiBFkPy-INynN-4@>>{?x3NdAo!x8 zpx3-mdY-=I6iEb8`^xxVWh~_Bf4M^;^d51rv%x~KRFXW*ALL4c!a9?l2+fDzJzIM^ zI(Q(VVvna|DqT1rlRzJ3Bv48lBObGxd9bl0YQ}B+y4PGh7qXrUK2VDBGt7aAPQj=p zMC&-C(AZyp#3-pID`K#xj!Ynhysuyylo|tm(H}JOTixk?5#2ThaAZ~-LAZ2z9ynbl zezI3er(TLz4Tr{(C}ksfSGp~j&(TJQ3PS}%2*6cM7t13#q>|j-v=-4sq3#J{f+R5t z$&?O|K`xt())SMYyUU0M!{U^x^9#+s@p80we96kdO52}y8EecM5+-DG%&Mng;W-Ab zf`P7f#dBu1X>@I$tR}>*#*VWB5OXYH&N^%_90>7n=E%_D=Qb;-2vWoMi-x(ma?Yzn zY{MwvfTU)|w;`xqBJDGM`t#n8A4@)k)oP{qym>4`TRy}Of@AwXGSRdOWtu>Jd7DGn zuEB-c%JA!}q8RlR2<5qubhkN(Y3#|K*%9g^&Lf{u7#f z?rfN>y_YY+3xS*|2}!ppP=s+1F3rNya=F^mxpYcllj59S2w-}TZ-Qx9T##hqlyyDG zB#_{q!tCg!Y1wtNf8Fz^4iB1ZG*|`m2gG^IrJlj}Qj|S5J5{e6{RP8I$aAK|5z*D% zDMJ}_{S1sHho{YXt8$eiO}YVywJ!X6*k>B1>bk+T2>kYJDXflO?B(a_=lWdjSdaUI ziV|HaRSm)stf825S+#6|sk;YXMNKEy?0fy%^&*`)!O&@Xd zz+GY8?u#_^rPEn^qwjyMOrmB+m??kjf8Bpv|84ACoJ{`Py(>{x_`P=szP5fNWcTxd z8^uO)Mw!DPB7)X;02^I@^ftqX(bi=F3m!JzTr>OC*$CnZr(SaUx;}2YiowB!u=m=j z9T{Wo2cLszQmNt`dgF%HuO6T5U(TmM$k0}|*0SkGGDu`v$1%`EO)xS*cBhc;GlEFO zTxB>R+s&*O1kp@60*D6V9+TdWpSdfThua@|UBxUicN1y3H;GRvX)G!xzbz+cW!l~$ zO*yekH;buOWF+vLs9{Pj18)>(4V|-8x7aUaubT=h*FCcxS@e?b)wGCEQ>lJ&btjR5 z`5sK4YoRX~^KjL$SzJn(QK=V@K1JQsgLRm7tQUDJm1N2!;U;i%&GOPGNL%!jP7-7~ zoFo14<{&d;kP;S)^)URnMM9^j)}x{{lCb0RH0msbJy>6_z)h4s0TJJk&Z^_|8y<`a zeQ^G{YpcRsT_w!-(hu?1R>Pwb$6As`vtH;IH7VS%pzN5()(H_nqu{qS_*LN5<>g)R zFtDJ0&%!nYHh7kOEYXIa%-d*Zhk8UdR-I%9&Qls=5Ow6#T$%{9>y=OsLA+wX$0 zwMw_}`=Iq;Y1fGN8A(;V700*jZl*6+R6-{%1m;s25>`atuJx!|v7WPoM@I48SnqucEQHQ+2DWSb0eBIc35mk z-_~DHD}b|(1=Wc!OC6{95r2vV{&a;ep@tQfSLjS`JVq*~X>)O^jedoFguP1HnvU-~ zsy#?$@7+XMD;(Lg)6I3qAJ+BZhS!ZeR!*n1N@AyvG}6wQ%ECPA+|MMD?ecz~Of2=q z4iCVSl~y>B;6@E;qEym45&6zLGAeNXq5HLfW2CY)QSm8=ggM8})O24g;l+ZiN_PJ^ z*?V4?xU|-Vcyl<}8oY@ad+(r>G`pZ?dvqw7HAV@;#j?T!|Mov|r$+}bJuNk-BuVC_ zYQfY?zHqcAZT8~HWs~h(G{@abIjCm*qoLuTaWSa9XwIRRz7cUquOe;5gvO;o-1@uF zddGNSS4f#mV4j;AO%2<~P#fgb;QEj{Hw`mUsqiG8P4*(m875d_=c81m$)JcSW|sW; z7bmLPPAFR~O>lkH&`6&ka!;GBNr!n$PwWDS_f@^wmBd`1_@t2+tsTq*P-D-Sir7vIq5?WWias&R zttthqO7Z#m<8F?KuaQv5v%+!R--i%(125cC3E-zuwVCh6aHN&VuuvFZ)p}{x-mv)I zzefOYxQ$Y@nI-BTiTU^yP=o8UWg!J9pvYc>*8!E9(myzz`quQgR}j3dQPx7m>>%ck z6G;mSe*T7CWUQ%kOSBgFs2DZ;z7Mp=y|yYT-z~0#>IqX~EomUYxud;TLDoBnX}>(TupmxNeZJ7LrR}_Glquj19A)b`jqPe}5KWPf2WAK) zjBfu*DOi#&y3SrN`5ZeI!(`^Bi64=>cHblEtALO5;6C^qK6C+*yGNQ*gTGRM@8IZk z9vamrMOC2lSRpr~Y=9^+LT*Z{i~gG)C)uM0bG8=ySez9|843mZs_uAW;vau8b?x#B z>&o_HCw9QKwjLF*`>QdEz{UCxjMh+d7->E@ZP->v`Mjzu>}uOHm8Pg6tyYb4 zcA)UqmXP${uMn^jErPFQ&-AI8d&)dD@1M6q8d`qgolWidQEe>Q4}iYz!WlZR!tna7 zZ^v5MSDQGAodA&+(3=twAE{LamkN>YF0-#T3g1+v!o+QBM!RMRBD%T@{FAN>pboRJ zf`5gV<&%QJ3ApH=S$uR-vlAuT-~^A^C;&+$C>@RBVFCR1R;Cxwx1XGa=bh=g0f#t? z?;MO+F6R!|6*c{4D~CPXA`gXC$BeJ*5BS@i-j}M}XBr6Mr%VHLz0ZG}Uso@9i}n)k{2p3Z;=m=$#2VWd*Sj zZ;+5g2*DV$RAX{rd8Vr&15K9F%tHmPcp6N@E|ENSFEEJv;9{{|AvbU$SIC7s%?zp5 zfiNzliKha7Ww!yrazvJB0mHDCbF9{!NI1?yqXCax>1xfJ^Z^IaVc|^_M`uC;YdMXu z4c^;`-)z`uB|1hNv53FELI6qnM6mbz?rn+$P0lSEu5SAc;5QFE$MUT$yVBi?HjPQe z3pTO9>{bJ0K8?8D6r@YIFXJ2FI?@Gn2$d&@Gv37Bt%CPrcnD8KmP&2}Q;pCrJf%%5 zQKsCeboiV7jqrbfSYcdyq^7}Je$5K${yid1S3o^0j*jLj&Qbzk07QR%`P>KBRI1ii zw6r0-g`;MO*0qG67t zqJv$Xve3vHSvq9;qna-Uo&(1R*tZMkOT#9^p5q?vA15Q+HYeFOGt>7yhGg%?D#-+D z&~|t?{#_=2Jtj%#pUc`jW8N-St3%CA?l=}q5Oh7raCJA0hjwb%RgeO64EsC`8qmfk zA-5tA1O8s1&{ddBh5 zfn{BMpZsvK(93KZ?XA|JrMaY-$fYrEB>$ZSyA|HlYc$40uQe3_XFNfkV;0Scj=0U? zm%ySyt-v4DD}8-nn@b<%R9;T4?vzm8&i`GO&sp7?V#yG1wkcKadWvNWDmurb#<{Bw z`)ARtj9C|ls4lSuXEcAWQYQyREP(JAwjeb;YSV~e(Mxm_pqKwi26!LjFOc@hJ(9_9!#$=|IXzz1x!5AYfjtV z84XhrDB=cN0`ppa{FeqeMysLV~JgNYc)*5;tOydFo+D zb~_7>SR^Q9)api?Obw>D(9Vus$lz`=Rh)%K7Hvub;6<+;Op*>l>fTWXbrlYML(wwqyKEQOa_e9H^5I*1LBzFv6>aBY zOe=4c2+Dy^CLmIWM(}oyo=XO4(aF-&Y(NELDKXYb(cOI*O!ftA^)h59w!@E@BOswb zOQ9nrH$7QYbgKOG@zvO7W!>Ph`Qs^$AIz+eJp?B+r`5G8 zKyRAA$D{xQmP3M}jx>jP;|k&b^XbhL11I)IB5hzRGKVrdG&)gS2;7@Rl049(kzek<6jvxiGtiaGc>xnY6`vkGQXFhu4y?rUwS?4&Lmvv-9r%Ou@Xc*>`TqrB+#pDlxC*Sw1>P5j|V#u^4r?#D0D2X z_sF(xJn;uRgq|;R>o6qbg>~YO`4artQiaN8Iz|~zpvjutwo_yjtF^@8b*upDzIHie zCV*j)I}DP}vT1=O!e4B}1ZBDF6$pha5D?V%eTZlYt5O)z`3|LRY35?ooIH9Nl7pcb zELR00XRyFL18#8SXjepi`pnJpQ^$r{zaSH|d7z>Lasa+OQNc2Ag2^@xXeC1(T+8&I#3eKx{dbVo2NU`7GseHD3Z{uezoUc`-2DYsKdy@zYF z15>lcVpQ;m0A~mafm&~`94?=jm$H}!<1@Re+}O`uJ0u7Wn2gtuN(2ojrZDCD=6X-^ zj*?*pLG3*f8#{Zo&r`i0(L55`-Nh8veDYl?8DxlRW)~|f-n+EaZ$>kTW~&dO0#*>( zRp{Azn5f~Kj6u)Nwun+8z`(>-0kZWMW$y|}4orE#u2zS3KTkbV{}Kj_ zhmVb|(4BeU17J+(usTb?*LWJojlIBOSDZp$hmrpciX0TPrn#$KF`;c425!TlpGG24 z54}Dpw_~3C+tT~Pte<9+8@<|ojjP{+5*XHq9Cs~v0+r_pkm~<;=3I2m4eMG^1;wTN zOcwq?k4*gz_-5$A@;T6_T9CRVH!52kw?X)Ri>+X@sK zV16fKnQK4L6eVvEdyxm>c~?(~px zR=p7Ku<&TMel7{!I_7hJr+>h__a8K(|AiqmuL{+&f?ujp!}};aoC={f;_+w^kZtD* zcmI`O+`U7Ov%(j9#VUzH{m!T}R3!+qb_+kY?V2#_?cFD;W4w1;n(sl+Ml!52qrjTISNMAlrJ$mLNti98>VKXlu>qLhq%YiCICCp8{!>L6@( zAr^AdlJ7ax&X>1dIUClU!|Jx@#Bfi_Yg#iPmx=xPk;d`NE2ZOO1hsS8F+n;WUYyWn z^LkYvT<%J=H`e^F6W97-X1iW`1r)w?4m_C?xBErStD_Dp!#&rS>6+I^6wVlTOO$?I zsGa$~^D1Rp?nIV1+ETQXvmo|GVaIM(c$%^GZ#b7R1y=d~N#(_NFcLFv^R8zdf+KZ} zE}vp#h*$>~T0AYk|Cfg=_PTuBp8MVZV!8pn8Kyq}Vv_8?n54*mL>T#Rz{oGdO%96# z!B^IIM4X#BpLpuo8D32p5>62XrB<=x-%Yhy6Yt8)Lm5(9^(GRgZInrjCCc+{1j*KiXVC818ND> zii}iM6c}3Jc^m1!=Bs9V{kxX*YWsg8UMT{ji9gg-ro1*@l9+3)SW4|`S zu2s4`>);24_ly<%puvVP{A&xP72zT{GXk}?cMn*%(4SBA;t+YFW;m>p6hzwz1x+)l zr)f?Iq5{Pu8V!Gzg}nerTU!E$H-ju8iz(Tqg|Vp5dcyP{0}Su!b1*{+nD9|8ghau7 z2pp2U`vyN(me5GY>S*}Ec;^$TGffJhBE{g~R-sc3FwJ(Yoe?mO{8RSxMKFcLQpyKy zrl*;|7}CiB3qE^7UNth+IS#uT(B-lr5Az`wF&<^+At?gvWc@}FD@x6zrIOGRow6+*#$|HR?R zr=-5Y!nU|TP5LQESE1Vozj?}6P?^MmXKdsipg2h8+8-X+D+!n(q}CK}3X0j(9qo+u z5Ue|%+ZmFVO3V9Qlea}$`aV*+0v{OmMqqB!JNYc5BlB*0Np@fb`8TS@OxN&7nMnUI z<(l(qsKU0fSl(BlIQa2zhnmc;tIF+Jyuj3W5uG_~`>sSE;|3_;6)mH`Ad74tR^-zr zzF#7zINocHbmIe>hLb|4!Kq1EFI2=Dqp5Wj_obu_3zw24Jt5J}sc6cTAOR7JDmsHL{LIrDB)!>+I|9LUFWSG<4$3Q5(r6+D~Et#I+Ky-<1*YaV>FDqpC@ zhS@(&!#HM#5Mu99pEJt!({MVO!ZW7lcs#v-JpZNEs6Lb8KRwN1Vk0P7gor6dk%sRu zx*4Gk4NmP<7yX*YzV%^U$ngdIpBPs;QT6aRBmh7Y5deVfe^gigzes4;8owY{2jVyN z57Y}x_A1A3@MaXyj85RzglocyAzmT#7rK&^v7_>Z0?8E_^|Dd4r+uk z*;Qe@AS&g;mCbCKQpVU-8MBG=biE*^#+D=^(KfUWy_n|lBLS0Qqux&R939!I11UPU zwt5#cooLaKD3pl{A{i%EiR0{2y>np<$NdA~%)-FHICPGMLTTcJcda8wr-~!XqSAqG zbhNaIVajY($_05=ndhWZ{7CNv4fnx$JW0io$a4~FrF8}LRPCn)E0yzT>_PwDS(xQi z*P^5G@@D2c_!p60dc2a(iT-TNZm#9P%z-fGnhFJbg|j{iBtkNl(ibze`9vb<+-ZHG zqbXVPP|gH%EGLd{i3+Qh9Phvjrn<+;m5ZA*kYIeSZlSbpL$2 zJ&>`jCFE^_(x95QQH{Z+Wp*I9O&`A~oY}=iYSwAXa=lXOz&R75F;%FG3uQ(KmITTD zcDZBeCD(Un0(ihc4-gS74R+o-=n2r!&Yz44>qu6=X0lNn2Z+BWFYD`1?)IC{Cmi2AbYK+S|S<*@^Mf)KKuEon^p3LeBsd5_7r()JKtT6d_|;uYy@2DU`HMg<^sIe z9GBLn1h*ZjxLUu{j@aTvBA86?HxG#=AK@B7PXM*WsS91zI zN}W7l`y(IL>aD=H;i`;Qsgqm_C3oR&(~^ zn$9WLR)30In)q+gWw~=3E;#J1@gV~qpOytU-|f`Rrdw;6w|`t`Qc@qN!y6TBK?z&# zHECT(!uJ}N`aD46S*8}=U=p>6D`%kBY zJaO2I@vz;c&(11I^zQ@^07)QWmS;O%X01Ih00W9(3?_@W@NrUfnF9~qoodyH#+xMAWP<|j?kcj zu@We#es;TUZH)J4d*-z4pJuN{Oj2dSX!sD!1KFaZI|OmC!gMLQLW!7kxc_6Q;<}Gu zVuQ+(q7xsMY=(646;O71zMD#I&h!q;;kdb&B$%Bn+`;e#5KH2X zEd?@+X00i-ELJKs1+g-Cq>wzBDS0979hbb3R!qt@sqjm8;0hBO88GtC9>0SpA zy?(9vXpvwmOS=v`YNJxhCi&9c=l$)ENFU>Ausg`d*K0kxb=h>t>g}f8$J|a3r`lS| zu8KLo|6}EhrL#9}c_r(Vn`%oj!3n!9`4iN`z_42j21AKN2!$xShr>`3itndN zDO3SfamiUAef9M*VJ;^$d|&)H7c3G`WR@U@dQ%H+1`WgvjT9S!h4e}`aAo2_7M30& zfz@+lKb_*U#PL#kW5GXOrM!hB`@&|lr&>olSh;T&cZ1KDrS10D zj=j6F^{;U<4YrduvTb1#%Hxrh<|?8B7Prv}3!PwZAQht75><}pa_$_fe$6QB@ZNFa zGDFDCJv2pmj|0V4sANBV^3@Y%e@rKw8{BGZ=4MhkKOZR*VZD!ri6wabS@M zH5`h4EBqEdTa$bx#Acs`UuBl-5v*7Dna23F#R``88v9|8U>_hy4~snM4opY`BqfzkQ~!HMVUxMNxZG^A3(mQ(-bByVPX% zwvBPju$(tx_nJG%fy{+thbt)H1~4=c6)}9mw#lxNt~egY3dG;-lA?5|5!hKdoKB`W zcHd{=&B(~a?1AW@5*`#C*wg;DqE=}SvFG%&{puFZpR&sI{J26MZ|O{w%CKekU1pec zqm&0D(tJW}JgRvW>nG?S|+$Y=L&?PlqGySv3#F!rXjFC}@h zW)`V(A!#m&Q!X_I)T$xkWJ?swWciXgxHvO8N>&-Ipy0Z-BNFFoL3gJs153EmKq<{v zBV9zTu(OJ_3EFp+boQNkT5E?JfYQ~OaH7x3?5 z69D!=%V43@GXydppP*7@G8W-duuI;Qz$@%FeV}IZkFeb5*8jp+W6I@*dG!QmqoG8u za4flVwUW#KS>ZtWJJ7|iGG&!;4|DdQi-O)HC}Cb1ZP5vI;YyRN9xixxJ^Xfza~(4b znds;10hw|jL;Cafl_#(wdWNlM`K0X;E3g4D#jCGGhGcbwLCMgP@ zfIbZ9S+XWLiNMM^HnggJ$_U(QSP0@oxGt(X8!2E(imYLzcZG~Od_yMe-~oz?G6$D` zFd7lA4fy!obZ^}2WP3N(SFS#@a(9jwrRP!Ub{C~|3k)XHfm~JEO79RSK>PYv+K>U* zaxpF|?|zI{d;9Gf=n&v=j8g+YUp?cYE0`l~OMC4{D`BVUCPZXiG@mN^SwrqnDte=1 zmu8tt;qa?3Npf!D3)IXdLbR?6Q|AIx#a52x&7&(Ucs90AGNN&Er9P)=)_MC5{?0Ul zxX_?iIQ;RwIgHLJPSH}`9*qMdFfg z=AZvIq&Fv~#?3!teYWSuQrcjnUHp^;H~p|acF4Ie*J568NkXK#z;S1yBQ0ha%{U|> z#4p8!?vl6g)zP(&!&g60(Usgqe{&*MeMe>_DfFQvf?OHL(oxZvh@KU5dz8Y->P*ZN zhG>}K2_i)lg|TSUGF2v^{y>7Iy7iO-(S2_ zZR_SH-S%Q`w)hi5)mspCrA+St{ojBZ+aOdOj;O(5Og4aUZ+-sYpD}vDoazZk?3E?2 z{Tk~8K2PfSAMOoax8haQD4MRMl7(_q9<@U0qQDVE@A(Rykd5=7K#E! z%<;?gG}0p+r8ga9fp0;+ z7za@uEF6bAS|6DxD2EY+t^!CQD^@2nBj&4zbjS`+ISiS$V5~*<=Tso0AzV3zWEjOXce@ho_#F+l|?j=2@G);#431FTOv$!x6Ap_|BZ88$#gVC>Aaw4a>;hhEp} zn3$t09F4-t`DcPi#TMFDqt$CqRDneqs0+@Oh-e0xhstOdfx-~f9kY8AQ=Ox=>C9Fc zKv?NcVT_q(`KFL4`ZWag_fQ#H2x7rTu>-LD)7ynboNV1G)ZSQio`0~q%M&Z;J62)S zhx&(R@ryVl(A$W~6N`JxEgfRKu5VEV=+lv_$FcaJ*A^)5YsJiv5*OqkZ_S}x)p+TZ zwothMYhLlRK(2V(H%CSj?4=(A@Qg`Qfv){dbX=JUNil*_zNEP79cJ#q32SE)l3K0W zHg;3T1GDD`URfOM1-VD!H?&rP)zWcXqk6^i&-ez1h}x+)PWY(UiLQN=&U~c8+x}^E zVd2TIMCgILcfRIiY@z`_@Dw1-WPpQBF)Or64e@i}#%8;y{gBLWFx^d~RR~zoW`!&Y zvVA-zaRC9>JmrGDC9h{tu|$(9O|2&PI;pB`9g9&yNJl74-mnD_aoyKQiv;SrxG2_T zLvoZbL3fh0WiP$5XBkW&7vQ)rrNWZPbtqQvWJVg4LK5D)rzY-~cu zCx}`i6Q#c86s6ZQhEbK6D1c8fhLcQVg>-6ebCYrgL%gbS;&UAE_r?u(DnMIYPi&E#qopdd}+Pi+9c~|lUUl4!wd$M)7VdbjLSE2`bKtlHRJW7PK#D)*}I2DS5^EJR$f54FJS&&&7!qR{mP zM!SXlDwaT4e~JD7N2B8ZWB&3>pWep$4FDB=(D+9A0}_5ToSKb$v!Bf#bI93~-@{zK z1QyoMzHl^o5JISOv)E{`)c0j-$|s@Fn2j&sMc3Mqos*Gsi%}~Uhi5lnda48(>*dIuP2x{iCOLEbZI0}RBvBdZh>q5zKssAA zO>>Q^c!T+kaB6O4Wt^UiB9Q`#@a~ZrwID)?TI4~Xl!Dp;CT;dusC?Ipd?1wUgG3@d zX$bbUFTTGRnD%cD8+$QVtc0C<>P!-IJ}nh?Y;M<$D#g^1c*@<_Rk$0N0Yg}f4~OZ@ zK?C*JG<-TU9|sq)AYzu$Av+>tJjF;a-KAjl9Ht1d`!}-5!?!`FonYZ#o0M6iJ}EtwrtzBz00<3+qP}nwr$(CZQIqS?_2ld z{fAr;xnkxVqflB1`ZouWshFb>nLiOc@tnb3B$a{OXdE?>w<{1OCMYuU=o=? zl?<6OSu{lxf(fti8Eh}j+&cf>oWd+*i$KiMX)aJ1F&B)AGCiXqv?-b!&pOTkX~eyp zIvtXg7721eB-xaNZ@bq{oF~-kIq)0VylNA^CenBNHxMJ7nog+Eu4)4_cdT+};Lwnp{0Ep;X=Q)bs6 z{3c-mK4u?o8gqWB6YgBt`3$fo{-2?Ekqwivu#dhu@7Cpt)^4}BYr+TD9p>oQ+!b& z(}8mc0PaL8!Og;#`X~x089q%`domH_B2)yU^K37*t+dQ5>Fjd`$2epf#x(;DF{bAh z=dGoYxk_f+O=RcLP(Ii!aw(90$ zP{DqlhsOqH4%@Q^-+Z}EoP{xQRMoGlq#$}CI$Oyt^rttiu%wYoD<&=Ulhr)T*%Yl3jRmgYV*(s6w`#kUAduQh1498b#T>X*S&-NUgTcb zPvbwc8yD%F?)GR?C*cD$FOs#q2Bi;l2mj~ldoaxi`}@IlC@<Fskc3F zLwHW)>tx1wO2(`ERK^^i>l`p_Gt}T{+n=ReT=G!h_F5T=hO<=V?hg0LBryc;WVaSz zxS`)?;4s%L!|*U1Bn6pG5TdMYo^YP8%J{edT|=c9zlCv0bjFzB>#J=24fKD;S{0Yz z>7C9a$jw;qX>74%?WxxVI$B$VBsH979a`@gwt-5vIDsr1JACek7~~8iCMra-!fXRX zNI$_wAZAOb8BQ%CT~xJXW}5#fH;eO`UnNnwW1dZoS3;c>cQIA>Wu+X82<5_-+6yjn z@ZL;FExWEc4}mpgV7iY&H8wP63up&2OP{PUA5mo#t*>o_vO4KNZ*v2gW|2R`?c^wv z+@n1&7K%tIw3c{07H!p)b_xs%%Z!X_?QBbIUz$%!#aMb$me-YxN_^_)2~&R;3%+o! zh*`{}U1j%ra=GZfqMx*q(iu7uRNMj*PhZ#i-EIVSqN=Ts&0=eDU1fU!%_T?;(D!j& zqM2vHD5%hiFWgbl0OL!v8!i-D&?>5HoD>9xNIA=Zj}5)7MMtLaTnZ(nL0G5yPUvgs z(qxB7C7KYML?Y4mW@7YgDvf}j?0Jcwt;My*dPaM35d*Nj(t5V>SwhzIxY;Y=)gS

5i4MX5r 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 Y$xA^2=`yeb0Qk2HyvA66{O#BO4{955H~;_u literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 162b50448e..9e88f177c6 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "moment": "^2.20.1", "vfile-message": "^2.0.2", "isemail@3.2.0": "patch:isemail@npm:3.2.0#./patches/isemail-npm-3.2.0-browserified.patch", - "react-codemirror2@7.2.1": "patch:react-codemirror2@npm:7.2.1#./patches/react-codemirror2-npm-7.2.1-browserified.patch" + "react-codemirror2@7.2.1": "patch:react-codemirror2@npm:7.2.1#./patches/react-codemirror2-npm-7.2.1-browserified.patch", + "@ckeditor/ckeditor5-engine@^16.0.0": "patch:@ckeditor/ckeditor5-engine@npm:16.0.0#./patches/@ckeditor-ckeditor5-engine-npm-16.0.0-placeholder.patch" }, "scripts": { "lint": "tsc --noemit && stylelint 'packages/*/src/**/*.css' && yarn eslint 'packages/*/src/**/*.{js,jsx,ts,tsx}'", diff --git a/packages/neos-ui-ckeditor5-bindings/src/ckEditorApi.js b/packages/neos-ui-ckeditor5-bindings/src/ckEditorApi.js index 7579373ac1..9f8a78afe6 100644 --- a/packages/neos-ui-ckeditor5-bindings/src/ckEditorApi.js +++ b/packages/neos-ui-ckeditor5-bindings/src/ckEditorApi.js @@ -2,6 +2,7 @@ import debounce from 'lodash.debounce'; import DecoupledEditor from '@ckeditor/ckeditor5-editor-decoupled/src/decouplededitor'; import {actions} from '@neos-project/neos-ui-redux-store'; import {cleanupContentBeforeCommit} from './cleanupContentBeforeCommit' +// FIXME import from @ckeditor/ckeditor5-engine/theme/placeholder.css instead! (Needs build setup configuration) import './placeholder.vanilla-css'; let currentEditor = null; diff --git a/packages/neos-ui-ckeditor5-bindings/src/placeholder.vanilla-css b/packages/neos-ui-ckeditor5-bindings/src/placeholder.vanilla-css index 7249952164..ba96571daf 100644 --- a/packages/neos-ui-ckeditor5-bindings/src/placeholder.vanilla-css +++ b/packages/neos-ui-ckeditor5-bindings/src/placeholder.vanilla-css @@ -1,8 +1,17 @@ -.ck.ck-placeholder:before, .ck .ck-placeholder:before { - content: attr(data-placeholder); +.ck.ck-placeholder:after, .ck .ck-placeholder { + display: inline-flex; +} - /* See ckeditor/ckeditor5#469. */ - pointer-events: none; +.ck .ck-placeholder br[data-cke-filler="true"] { + display: none; +} +.ck.ck-placeholder:after, .ck .ck-placeholder:after { + content: attr(data-placeholder); + pointer-events: none; color: #999; } + +.ck.ck-read-only .ck-placeholder:after { + display: none; +} diff --git a/patches/@ckeditor-ckeditor5-engine-npm-16.0.0-placeholder.patch b/patches/@ckeditor-ckeditor5-engine-npm-16.0.0-placeholder.patch new file mode 100644 index 0000000000..ccf8c1751b --- /dev/null +++ b/patches/@ckeditor-ckeditor5-engine-npm-16.0.0-placeholder.patch @@ -0,0 +1,22 @@ +diff --git a/src/view/placeholder.js b/src/view/placeholder.js +index ec83640d4f7d12d8278c921a3c641917543ca859..09e96933b392f38d079ac3126ead49690e408228 100755 +--- a/src/view/placeholder.js ++++ b/src/view/placeholder.js +@@ -155,16 +155,7 @@ export function needsPlaceholder( element ) { + const isEmptyish = !Array.from( element.getChildren() ) + .some( element => !element.is( 'uiElement' ) ); + +- // If the element is empty and the document is blurred. +- if ( !doc.isFocused && isEmptyish ) { +- return true; +- } +- +- const viewSelection = doc.selection; +- const selectionAnchor = viewSelection.anchor; +- +- // If document is focused and the element is empty but the selection is not anchored inside it. +- if ( isEmptyish && selectionAnchor && selectionAnchor.parent !== element ) { ++ if ( isEmptyish ) { + return true; + } + diff --git a/yarn.lock b/yarn.lock index 178d9d6016..112a02cb14 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2037,7 +2037,7 @@ __metadata: languageName: node linkType: hard -"@ckeditor/ckeditor5-engine@npm:^16.0.0": +"@ckeditor/ckeditor5-engine@npm:16.0.0": version: 16.0.0 resolution: "@ckeditor/ckeditor5-engine@npm:16.0.0" dependencies: @@ -2047,6 +2047,16 @@ __metadata: languageName: node linkType: hard +"@ckeditor/ckeditor5-engine@patch:@ckeditor/ckeditor5-engine@npm:16.0.0#./patches/@ckeditor-ckeditor5-engine-npm-16.0.0-placeholder.patch::locator=root-workspace-0b6124%40workspace%3A.": + version: 16.0.0 + resolution: "@ckeditor/ckeditor5-engine@patch:@ckeditor/ckeditor5-engine@npm%3A16.0.0#./patches/@ckeditor-ckeditor5-engine-npm-16.0.0-placeholder.patch::version=16.0.0&hash=582e01&locator=root-workspace-0b6124%40workspace%3A." + dependencies: + "@ckeditor/ckeditor5-utils": ^16.0.0 + lodash-es: ^4.17.10 + checksum: 0ca241d6d28da9d7104c943d9ff2bf88591eb2e2726189029c3c43f8d59f726a10decc2aeb21db95a7e0242a4fc37fc480270869ca5a2f7d5db381107a385e38 + languageName: node + linkType: hard + "@ckeditor/ckeditor5-enter@npm:^16.0.0": version: 16.0.0 resolution: "@ckeditor/ckeditor5-enter@npm:16.0.0" From 55bb058619b03147998f1517c5cef9967c27c108 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Tue, 15 Oct 2024 09:31:43 +0200 Subject: [PATCH 17/19] TASK: Remove `workspace:assignrole` calls as this is part of `cr:import` --- Tests/IntegrationTests/e2e-docker.sh | 4 ---- Tests/IntegrationTests/e2e.sh | 4 ---- 2 files changed, 8 deletions(-) diff --git a/Tests/IntegrationTests/e2e-docker.sh b/Tests/IntegrationTests/e2e-docker.sh index 6fe682e282..2dcd78bcc0 100755 --- a/Tests/IntegrationTests/e2e-docker.sh +++ b/Tests/IntegrationTests/e2e-docker.sh @@ -58,16 +58,12 @@ dc exec -T php bash <<-'BASH' ./flow cr:setup --content-repository onedimension ./flow cr:import --content-repository onedimension --path ./DistributionPackages/Neos.Test.OneDimension/Resources/Private/Content - # TODO: Fix when part of importer: Add Neos workspace role for the live workspace - ./flow workspace:assignrole live Neos.Neos:LivePublisher collaborator --content-repository onedimension # TODO: Fix when part of importer: Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary ./flow site:create neos-test-onedimension Neos.Test.OneDimension Neos.TestNodeTypes:Document.HomePage ./flow domain:add neos-test-onedimension onedimension.localhost --port 8081 ./flow cr:setup --content-repository twodimensions ./flow cr:import --content-repository twodimensions --path ./DistributionPackages/Neos.Test.TwoDimensions/Resources/Private/Content - # TODO: Fix when part of importer: Add Neos workspace role for the live workspace - ./flow workspace:assignrole live Neos.Neos:LivePublisher collaborator --content-repository twodimensions # TODO: Fix when part of importer: Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary ./flow site:create neos-test-twodimensions Neos.Test.TwoDimensions Neos.TestNodeTypes:Document.HomePage ./flow domain:add neos-test-twodimensions twodimensions.localhost --port 8081 diff --git a/Tests/IntegrationTests/e2e.sh b/Tests/IntegrationTests/e2e.sh index 9446741e5d..15bba7c8bd 100755 --- a/Tests/IntegrationTests/e2e.sh +++ b/Tests/IntegrationTests/e2e.sh @@ -80,16 +80,12 @@ function run_tests() { ./flow cr:setup --content-repository onedimension ./flow cr:import --content-repository onedimension --path ./DistributionPackages/Neos.Test.OneDimension/Resources/Private/Content - # TODO: Fix when part of importer: Add Neos workspace role for the live workspace - ./flow workspace:assignrole live Neos.Neos:LivePublisher collaborator --content-repository onedimension # TODO: Fix when part of importer: Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary ./flow site:create neos-test-onedimension Neos.Test.OneDimension Neos.TestNodeTypes:Document.HomePage ./flow domain:add neos-test-onedimension onedimension.localhost --port 8081 ./flow cr:setup --content-repository twodimensions ./flow cr:import --content-repository twodimensions --path ./DistributionPackages/Neos.Test.TwoDimensions/Resources/Private/Content - # TODO: Fix when part of importer: Add Neos workspace role for the live workspace - ./flow workspace:assignrole live Neos.Neos:LivePublisher collaborator --content-repository twodimensions # TODO: Fix when part of importer: Connect to a Neos site, todo the nodeTypeName parameter is obsolete but necessary ./flow site:create neos-test-twodimensions Neos.Test.TwoDimensions Neos.TestNodeTypes:Document.HomePage ./flow domain:add neos-test-twodimensions twodimensions.localhost --port 8081 From 88fef54e975b1d26459f50a75362d5b5323a7575 Mon Sep 17 00:00:00 2001 From: Bastian Waidelich Date: Tue, 15 Oct 2024 11:19:31 +0200 Subject: [PATCH 18/19] TASK: Adjust to Add workspace content stream mapping to content graph projection Neos.Ui counter part for https://github.com/neos/neos-development-collection/pull/5096 --- .../Domain/Model/Feedback/Operations/UpdateWorkspaceInfo.php | 2 +- Classes/Fusion/Helper/NodeInfoHelper.php | 2 +- Classes/Infrastructure/Configuration/ConfigurationProvider.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Classes/Domain/Model/Feedback/Operations/UpdateWorkspaceInfo.php b/Classes/Domain/Model/Feedback/Operations/UpdateWorkspaceInfo.php index 7fd86f0961..d123ae7e15 100644 --- a/Classes/Domain/Model/Feedback/Operations/UpdateWorkspaceInfo.php +++ b/Classes/Domain/Model/Feedback/Operations/UpdateWorkspaceInfo.php @@ -99,7 +99,7 @@ public function isSimilarTo(FeedbackInterface $feedback) public function serializePayload(ControllerContext $controllerContext) { $contentRepository = $this->contentRepositoryRegistry->get($this->contentRepositoryId); - $workspace = $contentRepository->getWorkspaceFinder()->findOneByName($this->workspaceName); + $workspace = $contentRepository->findWorkspaceByName($this->workspaceName); if ($workspace === null) { return null; } diff --git a/Classes/Fusion/Helper/NodeInfoHelper.php b/Classes/Fusion/Helper/NodeInfoHelper.php index 225a968604..dc254bad4b 100644 --- a/Classes/Fusion/Helper/NodeInfoHelper.php +++ b/Classes/Fusion/Helper/NodeInfoHelper.php @@ -358,7 +358,7 @@ public function createRedirectToNode(Node $node, ActionRequest $actionRequest): { // we always want to redirect to the node in the base workspace. $contentRepository = $this->contentRepositoryRegistry->get($node->contentRepositoryId); - $workspace = $contentRepository->getWorkspaceFinder()->findOneByName($node->workspaceName); + $workspace = $contentRepository->findWorkspaceByName($node->workspaceName); $nodeAddress = NodeAddress::create( $node->contentRepositoryId, diff --git a/Classes/Infrastructure/Configuration/ConfigurationProvider.php b/Classes/Infrastructure/Configuration/ConfigurationProvider.php index f18d4e05f3..15e1752c2c 100644 --- a/Classes/Infrastructure/Configuration/ConfigurationProvider.php +++ b/Classes/Infrastructure/Configuration/ConfigurationProvider.php @@ -98,7 +98,7 @@ private function getAllowedTargetWorkspaces(ContentRepository $contentRepository return []; } $result = []; - foreach ($contentRepository->getWorkspaceFinder()->findAll() as $workspace) { + foreach ($contentRepository->findWorkspaces() as $workspace) { $workspaceMetadata = $this->workspaceService->getWorkspaceMetadata($contentRepository->id, $workspace->workspaceName); if (!in_array($workspaceMetadata->classification, [WorkspaceClassification::ROOT, WorkspaceClassification::SHARED], true)) { continue; From fe52b1622938d695f21d0efb1990646a05b36107 Mon Sep 17 00:00:00 2001 From: Marc Henry Schultz <85400359+mhsdesign@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:09:48 +0200 Subject: [PATCH 19/19] BUGFIX: Fix hidden state evaluation (#3867) * TASK: Fix hidden state evaluation The Neos 8.3 LinkingService contained this logic ``` $action = $node->getContext()->getWorkspace()->isPublicWorkspace() && !$node->isHidden() ? 'show' : 'preview'; ``` ensuring that disabled nodes can still be previewed. In Neos 9 a no route matched error will be thrown. To restore the old behaviour we evaluate the hidden state * TASK: Harden `redirectToAction` remove logic of falling back to live workspace, but use the original workspace then instead. * update comment Co-authored-by: Bastian Waidelich --------- Co-authored-by: Bastian Waidelich --- Classes/Controller/BackendController.php | 25 ++++++++++++++++++++++-- Classes/Fusion/Helper/NodeInfoHelper.php | 12 +----------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/Classes/Controller/BackendController.php b/Classes/Controller/BackendController.php index 0be2b353f2..c785ddc95b 100644 --- a/Classes/Controller/BackendController.php +++ b/Classes/Controller/BackendController.php @@ -12,6 +12,7 @@ * source code. */ +use Neos\ContentRepository\Core\Feature\SubtreeTagging\Dto\SubtreeTag; use Neos\ContentRepository\Core\Projection\ContentGraph\VisibilityConstraints; use Neos\ContentRepository\Core\SharedModel\Exception\WorkspaceDoesNotExist; use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; @@ -225,9 +226,29 @@ public function redirectToAction(string $node): void $nodeAddress = NodeAddress::fromJsonString($node); + $contentRepository = $this->contentRepositoryRegistry->get($nodeAddress->contentRepositoryId); + + $nodeInstance = $contentRepository->getContentGraph($nodeAddress->workspaceName)->getSubgraph( + $nodeAddress->dimensionSpacePoint, + VisibilityConstraints::withoutRestrictions() + )->findNodeById($nodeAddress->aggregateId); + + $workspace = $contentRepository->findWorkspaceByName($nodeAddress->workspaceName); + + // we always want to redirect to the node in the base workspace unless we are on a root workspace in which case we stay on that (currently that will not happen) + $nodeAddressInBaseWorkspace = NodeAddress::create( + $nodeAddress->contentRepositoryId, + $workspace->baseWorkspaceName ?? $nodeAddress->workspaceName, + $nodeAddress->dimensionSpacePoint, + $nodeAddress->aggregateId + ); + + $nodeUriBuilder = $this->nodeUriBuilderFactory->forActionRequest($this->request); + $this->redirectToUri( - $this->nodeUriBuilderFactory->forActionRequest($this->request) - ->uriFor($nodeAddress) + !$nodeInstance || $nodeInstance->tags->contain(SubtreeTag::disabled()) + ? $nodeUriBuilder->previewUriFor($nodeAddressInBaseWorkspace) + : $nodeUriBuilder->uriFor($nodeAddressInBaseWorkspace) ); } } diff --git a/Classes/Fusion/Helper/NodeInfoHelper.php b/Classes/Fusion/Helper/NodeInfoHelper.php index d4300d9f71..67f2d751ef 100644 --- a/Classes/Fusion/Helper/NodeInfoHelper.php +++ b/Classes/Fusion/Helper/NodeInfoHelper.php @@ -17,7 +17,6 @@ use Neos\ContentRepository\Core\Projection\ContentGraph\Node; use Neos\ContentRepository\Core\SharedModel\Node\NodeAddress; use Neos\ContentRepository\Core\SharedModel\Node\NodeAggregateClassification; -use Neos\ContentRepository\Core\SharedModel\Workspace\WorkspaceName; use Neos\ContentRepositoryRegistry\ContentRepositoryRegistry; use Neos\Eel\ProtectedContextAwareInterface; use Neos\Flow\Annotations as Flow; @@ -351,16 +350,7 @@ public function previewUri(Node $node, ActionRequest $actionRequest): string public function createRedirectToNode(Node $node, ActionRequest $actionRequest): string { - // we always want to redirect to the node in the base workspace. - $contentRepository = $this->contentRepositoryRegistry->get($node->contentRepositoryId); - $workspace = $contentRepository->findWorkspaceByName($node->workspaceName); - - $nodeAddress = NodeAddress::create( - $node->contentRepositoryId, - $workspace->baseWorkspaceName ?? WorkspaceName::forLive(), - $node->dimensionSpacePoint, - $node->aggregateId - ); + $nodeAddress = NodeAddress::fromNode($node); $uriBuilder = new UriBuilder(); $uriBuilder->setRequest($actionRequest);