81cdb36aefbe22abfb16f3482cb529458a88e9c0
[yaffs-website] / web / core / core.services.yml
1 parameters:
2   session.storage.options:
3     gc_probability: 1
4     gc_divisor: 100
5     gc_maxlifetime: 200000
6     cookie_lifetime: 2000000
7   twig.config:
8     debug: false
9     auto_reload: null
10     cache: true
11   renderer.config:
12     required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions']
13     auto_placeholder_conditions:
14       max-age: 0
15       contexts: ['session', 'user']
16       tags: []
17   factory.keyvalue:
18     default: keyvalue.database
19   http.response.debug_cacheability_headers: false
20   factory.keyvalue.expirable:
21     default: keyvalue.expirable.database
22   filter_protocols:
23     - http
24     - https
25     - ftp
26     - news
27     - nntp
28     - tel
29     - telnet
30     - mailto
31     - irc
32     - ssh
33     - sftp
34     - webcal
35     - rtsp
36   cors.config:
37     enabled: false
38     allowedHeaders: []
39     allowedMethods: []
40     allowedOrigins: ['*']
41     exposedHeaders: false
42     maxAge: false
43     supportsCredentials: false
44 services:
45   # Simple cache contexts, directly derived from the request context.
46   cache_context.ip:
47     class: Drupal\Core\Cache\Context\IpCacheContext
48     arguments: ['@request_stack']
49     tags:
50       - { name: cache.context }
51   cache_context.headers:
52     class: Drupal\Core\Cache\Context\HeadersCacheContext
53     arguments: ['@request_stack']
54     tags:
55       - { name: cache.context }
56   cache_context.cookies:
57     class: Drupal\Core\Cache\Context\CookiesCacheContext
58     arguments: ['@request_stack']
59     tags:
60       - { name: cache.context }
61   cache_context.session:
62     class: Drupal\Core\Cache\Context\SessionCacheContext
63     arguments: ['@request_stack']
64     tags:
65       - { name: cache.context}
66   cache_context.session.exists:
67     class: Drupal\Core\Cache\Context\SessionExistsCacheContext
68     arguments: ['@session_configuration', '@request_stack']
69     tags:
70       - { name: cache.context}
71   cache_context.request_format:
72     class: Drupal\Core\Cache\Context\RequestFormatCacheContext
73     arguments: ['@request_stack']
74     tags:
75       - { name: cache.context }
76   cache_context.url:
77     class: Drupal\Core\Cache\Context\UrlCacheContext
78     arguments: ['@request_stack']
79     tags:
80       - { name: cache.context }
81   cache_context.url.site:
82     class: Drupal\Core\Cache\Context\SiteCacheContext
83     arguments: ['@request_stack']
84     tags:
85       - { name: cache.context }
86   cache_context.url.path:
87     class: Drupal\Core\Cache\Context\PathCacheContext
88     arguments: ['@request_stack']
89     tags:
90       - { name: cache.context }
91   cache_context.url.path.parent:
92     class: Drupal\Core\Cache\Context\PathParentCacheContext
93     arguments: ['@request_stack']
94     tags:
95       - { name: cache.context }
96   cache_context.url.path.is_front:
97     class: Drupal\Core\Cache\Context\IsFrontPathCacheContext
98     arguments: ['@path.matcher']
99     tags:
100       - { name: cache.context }
101   cache_context.url.query_args:
102     class: Drupal\Core\Cache\Context\QueryArgsCacheContext
103     arguments: ['@request_stack']
104     tags:
105       - { name: cache.context }
106   cache_context.url.query_args.pagers:
107     class: Drupal\Core\Cache\Context\PagersCacheContext
108     arguments: ['@request_stack']
109     tags:
110       - { name: cache.context }
111
112   # Complex cache contexts, that depend on the routing system.
113   cache_context.route:
114     class: Drupal\Core\Cache\Context\RouteCacheContext
115     arguments: ['@current_route_match']
116     tags:
117       - { name: cache.context }
118   cache_context.route.name:
119     class: Drupal\Core\Cache\Context\RouteNameCacheContext
120     arguments: ['@current_route_match']
121     tags:
122       - { name: cache.context }
123   cache_context.route.menu_active_trails:
124     class: Drupal\Core\Cache\Context\MenuActiveTrailsCacheContext
125     calls:
126       - [setContainer, ['@service_container']]
127     tags:
128       - { name: cache.context }
129
130   # Complex cache contexts, that may be calculated from a combination of
131   # multiple aspects of the request context plus additional logic. Hence they
132   # are their own roots.
133   cache_context.user:
134     class: Drupal\Core\Cache\Context\UserCacheContext
135     arguments: ['@current_user']
136     tags:
137       - { name: cache.context}
138   cache_context.user.permissions:
139     class: Drupal\Core\Cache\Context\AccountPermissionsCacheContext
140     arguments: ['@current_user', '@user_permissions_hash_generator']
141     tags:
142       - { name: cache.context}
143   cache_context.user.roles:
144     class: Drupal\Core\Cache\Context\UserRolesCacheContext
145     arguments: ['@current_user']
146     tags:
147       - { name: cache.context}
148   cache_context.user.is_super_user:
149     class: Drupal\Core\Cache\Context\IsSuperUserCacheContext
150     arguments: ['@current_user']
151     tags:
152       - { name: cache.context}
153   cache_context.languages:
154     class: Drupal\Core\Cache\Context\LanguagesCacheContext
155     arguments: ['@language_manager']
156     tags:
157       - { name: cache.context}
158   cache_context.theme:
159     class: Drupal\Core\Cache\Context\ThemeCacheContext
160     arguments: ['@theme.manager']
161     tags:
162       - { name: cache.context}
163   cache_context.timezone:
164     class: Drupal\Core\Cache\Context\TimeZoneCacheContext
165     tags:
166       - { name: cache.context}
167
168   cache_factory:
169     class: Drupal\Core\Cache\CacheFactory
170     arguments: ['@settings', '%cache_default_bin_backends%']
171     calls:
172       - [setContainer, ['@service_container']]
173   cache_contexts_manager:
174     class: Drupal\Core\Cache\Context\CacheContextsManager
175     arguments: ['@service_container', '%cache_contexts%' ]
176   cache_tags.invalidator:
177     parent: container.trait
178     class: Drupal\Core\Cache\CacheTagsInvalidator
179     calls:
180       - [setContainer, ['@service_container']]
181     tags:
182       - { name: service_collector, call: addInvalidator, tag: cache_tags_invalidator }
183   cache_tags.invalidator.checksum:
184     class: Drupal\Core\Cache\DatabaseCacheTagsChecksum
185     arguments: ['@database']
186     tags:
187       - { name: cache_tags_invalidator}
188   cache.backend.chainedfast:
189     class: Drupal\Core\Cache\ChainedFastBackendFactory
190     arguments: ['@settings']
191     calls:
192       - [setContainer, ['@service_container']]
193   cache.backend.database:
194     class: Drupal\Core\Cache\DatabaseBackendFactory
195     arguments: ['@database', '@cache_tags.invalidator.checksum', '@settings']
196   cache.backend.apcu:
197     class: Drupal\Core\Cache\ApcuBackendFactory
198     arguments: ['@app.root', '@site.path', '@cache_tags.invalidator.checksum']
199   cache.backend.php:
200     class: Drupal\Core\Cache\PhpBackendFactory
201     arguments: ['@cache_tags.invalidator.checksum']
202   cache.backend.memory:
203     class: Drupal\Core\Cache\MemoryBackendFactory
204   # A special cache bin that does not persist beyond the length of the request.
205   cache.static:
206     class: Drupal\Core\Cache\CacheBackendInterface
207     tags:
208       - { name: cache.bin, default_backend: cache.backend.memory }
209     factory: cache_factory:get
210     arguments: [static]
211   cache.bootstrap:
212     class: Drupal\Core\Cache\CacheBackendInterface
213     tags:
214       - { name: cache.bin, default_backend: cache.backend.chainedfast }
215     factory: cache_factory:get
216     arguments: [bootstrap]
217   cache.config:
218     class: Drupal\Core\Cache\CacheBackendInterface
219     tags:
220       - { name: cache.bin, default_backend: cache.backend.chainedfast }
221     factory: cache_factory:get
222     arguments: [config]
223   cache.default:
224     class: Drupal\Core\Cache\CacheBackendInterface
225     tags:
226       - { name: cache.bin }
227     factory: cache_factory:get
228     arguments: [default]
229   cache.entity:
230     class: Drupal\Core\Cache\CacheBackendInterface
231     tags:
232       - { name: cache.bin }
233     factory: cache_factory:get
234     arguments: [entity]
235   cache.menu:
236     class: Drupal\Core\Cache\CacheBackendInterface
237     tags:
238       - { name: cache.bin }
239     factory: cache_factory:get
240     arguments: [menu]
241   cache.render:
242     class: Drupal\Core\Cache\CacheBackendInterface
243     tags:
244       - { name: cache.bin }
245     factory: cache_factory:get
246     arguments: [render]
247   cache.data:
248     class: Drupal\Core\Cache\CacheBackendInterface
249     tags:
250       - { name: cache.bin }
251     factory: cache_factory:get
252     arguments: [data]
253   cache.discovery:
254     class: Drupal\Core\Cache\CacheBackendInterface
255     tags:
256       - { name: cache.bin, default_backend: cache.backend.chainedfast }
257     factory: cache_factory:get
258     arguments: [discovery]
259   cache_router_rebuild_subscriber:
260     class: Drupal\Core\EventSubscriber\CacheRouterRebuildSubscriber
261     tags:
262       - { name: event_subscriber }
263   page_cache_request_policy:
264     class: Drupal\Core\PageCache\DefaultRequestPolicy
265     arguments: ['@session_configuration']
266     tags:
267       - { name: service_collector, tag: page_cache_request_policy, call: addPolicy}
268   page_cache_response_policy:
269     class: Drupal\Core\PageCache\ChainResponsePolicy
270     tags:
271       - { name: service_collector, tag: page_cache_response_policy, call: addPolicy}
272     lazy: true
273   page_cache_kill_switch:
274     class: Drupal\Core\PageCache\ResponsePolicy\KillSwitch
275     tags:
276       - { name: page_cache_response_policy }
277       - { name: dynamic_page_cache_response_policy }
278   page_cache_no_cache_routes:
279     class: Drupal\Core\PageCache\ResponsePolicy\DenyNoCacheRoutes
280     arguments: ['@current_route_match']
281     public: false
282     tags:
283       - { name: page_cache_response_policy }
284       - { name: dynamic_page_cache_response_policy }
285   page_cache_no_server_error:
286     class: Drupal\Core\PageCache\ResponsePolicy\NoServerError
287     public: false
288     tags:
289       - { name: page_cache_response_policy }
290       - { name: dynamic_page_cache_response_policy }
291   config.manager:
292     class: Drupal\Core\Config\ConfigManager
293     arguments: ['@entity.manager', '@config.factory', '@config.typed', '@string_translation', '@config.storage', '@event_dispatcher']
294   config.factory:
295     class: Drupal\Core\Config\ConfigFactory
296     tags:
297       - { name: event_subscriber }
298       - { name: service_collector, tag: 'config.factory.override', call: addOverride }
299     arguments: ['@config.storage', '@event_dispatcher', '@config.typed']
300   config.importer_subscriber:
301     class: Drupal\Core\Config\Importer\FinalMissingContentSubscriber
302     tags:
303       - { name: event_subscriber }
304   config.installer:
305     class: Drupal\Core\Config\ConfigInstaller
306     arguments: ['@config.factory', '@config.storage', '@config.typed', '@config.manager', '@event_dispatcher', '%install_profile%']
307     lazy: true
308   config.storage:
309     class: Drupal\Core\Config\CachedStorage
310     arguments: ['@config.storage.active', '@cache.config']
311   config.storage.active:
312     class: Drupal\Core\Config\DatabaseStorage
313     arguments: ['@database', 'config']
314     public: false
315     tags:
316       - { name: backend_overridable }
317   # @deprecated in Drupal 8.0.x and will be removed before 9.0.0. Use
318   #   config.storage.sync instead.
319   # @see https://www.drupal.org/node/2574957
320   config.storage.staging:
321     class: Drupal\Core\Config\FileStorage
322     factory: Drupal\Core\Config\FileStorageFactory::getSync
323   config.storage.sync:
324     alias: config.storage.staging
325   config.storage.snapshot:
326     class: Drupal\Core\Config\DatabaseStorage
327     arguments: ['@database', config_snapshot]
328     tags:
329       - { name: backend_overridable }
330   config.storage.schema:
331     class: Drupal\Core\Config\ExtensionInstallStorage
332     arguments: ['@config.storage', 'config/schema', '', true, '%install_profile%']
333   config.typed:
334     class: Drupal\Core\Config\TypedConfigManager
335     arguments: ['@config.storage', '@config.storage.schema', '@cache.discovery', '@module_handler', '@class_resolver']
336     tags:
337       - { name: plugin_manager_cache_clear }
338     calls:
339       - [setValidationConstraintManager, ['@validation.constraint']]
340   context.handler:
341     class: Drupal\Core\Plugin\Context\ContextHandler
342     arguments: ['@typed_data_manager']
343   context.repository:
344     class: Drupal\Core\Plugin\Context\LazyContextRepository
345     arguments: ['@service_container']
346   cron:
347     class: Drupal\Core\Cron
348     arguments: ['@module_handler', '@lock', '@queue', '@state', '@account_switcher', '@logger.channel.cron', '@plugin.manager.queue_worker']
349     lazy: true
350   diff.formatter:
351     class: Drupal\Core\Diff\DiffFormatter
352     arguments: ['@config.factory']
353   database:
354     class: Drupal\Core\Database\Connection
355     factory: Drupal\Core\Database\Database::getConnection
356     arguments: [default]
357   datetime.time:
358     class: Drupal\Component\Datetime\Time
359     arguments: ['@request_stack']
360   file_system:
361     class: Drupal\Core\File\FileSystem
362     arguments: ['@stream_wrapper_manager', '@settings', '@logger.channel.file']
363   form_builder:
364     class: Drupal\Core\Form\FormBuilder
365     arguments: ['@form_validator', '@form_submitter', '@form_cache', '@module_handler', '@event_dispatcher', '@request_stack', '@class_resolver', '@element_info', '@theme.manager', '@?csrf_token']
366   form_validator:
367     class: Drupal\Core\Form\FormValidator
368     arguments: ['@request_stack', '@string_translation', '@csrf_token', '@logger.channel.form', '@form_error_handler']
369   form_submitter:
370     class: Drupal\Core\Form\FormSubmitter
371     arguments: ['@request_stack', '@url_generator']
372   form_error_handler:
373     class: Drupal\Core\Form\FormErrorHandler
374   form_cache:
375     class: Drupal\Core\Form\FormCache
376     arguments: ['@app.root', '@keyvalue.expirable', '@module_handler', '@current_user', '@csrf_token', '@logger.channel.form', '@request_stack', '@page_cache_request_policy']
377     public: false  # Private to form_builder
378   keyvalue:
379     class: Drupal\Core\KeyValueStore\KeyValueFactory
380     arguments: ['@service_container', '%factory.keyvalue%']
381   keyvalue.database:
382     class: Drupal\Core\KeyValueStore\KeyValueDatabaseFactory
383     arguments: ['@serialization.phpserialize', '@database']
384   keyvalue.expirable:
385     class: Drupal\Core\KeyValueStore\KeyValueExpirableFactory
386     arguments: ['@service_container', '%factory.keyvalue.expirable%']
387   keyvalue.expirable.database:
388     class: Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory
389     arguments: ['@serialization.phpserialize', '@database']
390   logger.factory:
391     class: Drupal\Core\Logger\LoggerChannelFactory
392     parent: container.trait
393     tags:
394       - { name: service_collector, tag: logger, call: addLogger }
395   logger.channel_base:
396     abstract: true
397     class: Drupal\Core\Logger\LoggerChannel
398     factory: logger.factory:get
399   logger.channel.default:
400     parent: logger.channel_base
401     arguments: ['system']
402   logger.channel.php:
403     parent: logger.channel_base
404     arguments: ['php']
405   logger.channel.image:
406     parent: logger.channel_base
407     arguments: ['image']
408   logger.channel.cron:
409     parent: logger.channel_base
410     arguments: ['cron']
411   logger.channel.file:
412     class: Drupal\Core\Logger\LoggerChannel
413     factory: logger.factory:get
414     arguments: ['file']
415   logger.channel.form:
416     parent: logger.channel_base
417     arguments: ['form']
418   logger.log_message_parser:
419     class: Drupal\Core\Logger\LogMessageParser
420
421   serialization.json:
422     class: Drupal\Component\Serialization\Json
423   serialization.phpserialize:
424     class: Drupal\Component\Serialization\PhpSerialize
425   serialization.yaml:
426     class: Drupal\Component\Serialization\Yaml
427
428   settings:
429     class: Drupal\Core\Site\Settings
430     factory: Drupal\Core\Site\Settings::getInstance
431   state:
432     class: Drupal\Core\State\State
433     arguments: ['@keyvalue', '@cache.bootstrap', '@lock']
434     tags:
435       - { name: needs_destruction }
436   queue:
437     class: Drupal\Core\Queue\QueueFactory
438     arguments: ['@settings']
439     calls:
440       - [setContainer, ['@service_container']]
441   queue.database:
442     class: Drupal\Core\Queue\QueueDatabaseFactory
443     arguments: ['@database']
444   path.alias_whitelist:
445     class: Drupal\Core\Path\AliasWhitelist
446     tags:
447       - { name: needs_destruction }
448     arguments: [path_alias_whitelist, '@cache.bootstrap', '@lock', '@state', '@path.alias_storage']
449   path.alias_manager:
450     class: Drupal\Core\Path\AliasManager
451     arguments: ['@path.alias_storage', '@path.alias_whitelist', '@language_manager', '@cache.data']
452   path.current:
453     class: Drupal\Core\Path\CurrentPathStack
454     arguments: ['@request_stack']
455   http_handler_stack:
456     class: GuzzleHttp\HandlerStack
457     public: false
458     factory: GuzzleHttp\HandlerStack::create
459     configurator: ['@http_handler_stack_configurator', configure]
460   http_handler_stack_configurator:
461     class: Drupal\Core\Http\HandlerStackConfigurator
462     public: false
463     arguments: ['@service_container']
464   http_client:
465     class: GuzzleHttp\Client
466     factory: http_client_factory:fromOptions
467   http_client_factory:
468     class: Drupal\Core\Http\ClientFactory
469     arguments: ['@http_handler_stack']
470   plugin.manager.link_relation_type:
471     class: \Drupal\Core\Http\LinkRelationTypeManager
472     arguments: ['@app.root', '@module_handler', '@cache.discovery']
473   theme.negotiator:
474     class: Drupal\Core\Theme\ThemeNegotiator
475     arguments: ['@access_check.theme', '@class_resolver']
476     tags:
477       - { name: service_id_collector, tag: theme_negotiator }
478   theme.negotiator.default:
479     class: Drupal\Core\Theme\DefaultNegotiator
480     arguments: ['@config.factory']
481     tags:
482       - { name: theme_negotiator, priority: -100 }
483   theme.negotiator.ajax_base_page:
484     class: Drupal\Core\Theme\AjaxBasePageNegotiator
485     arguments: ['@csrf_token', '@config.factory', '@request_stack']
486     tags:
487       - { name: theme_negotiator, priority: 1000 }
488   container.namespaces:
489     class: ArrayObject
490     arguments: [ '%container.namespaces%' ]
491   container.trait:
492     abstract: true
493     calls:
494       - [setContainer, ['@service_container']]
495   default_plugin_manager:
496     abstract: true
497     arguments: ['@container.namespaces', '@cache.discovery', '@module_handler']
498   module_handler:
499     class: Drupal\Core\Extension\ModuleHandler
500     arguments: ['@app.root', '%container.modules%', '@cache.bootstrap']
501   module_installer:
502     class: Drupal\Core\Extension\ModuleInstaller
503     tags:
504       - { name: service_collector, tag: 'module_install.uninstall_validator', call: addUninstallValidator }
505     arguments: ['@app.root', '@module_handler', '@kernel', '@router.builder']
506     lazy: true
507   content_uninstall_validator:
508     class: Drupal\Core\Entity\ContentUninstallValidator
509     tags:
510       - { name: module_install.uninstall_validator }
511     arguments: ['@entity.manager', '@string_translation']
512     lazy: true
513   field_uninstall_validator:
514     class: Drupal\Core\Field\FieldModuleUninstallValidator
515     tags:
516       - { name: module_install.uninstall_validator }
517     arguments: ['@entity.manager', '@string_translation']
518     lazy: true
519   required_module_uninstall_validator:
520     class: Drupal\Core\Extension\RequiredModuleUninstallValidator
521     tags:
522       - { name: module_install.uninstall_validator }
523     arguments: ['@string_translation']
524     lazy: true
525   theme_handler:
526     class: Drupal\Core\Extension\ThemeHandler
527     arguments: ['@app.root', '@config.factory', '@module_handler', '@state', '@info_parser']
528   theme_installer:
529     class: Drupal\Core\Extension\ThemeInstaller
530     arguments: ['@theme_handler', '@config.factory', '@config.installer', '@module_handler', '@config.manager', '@asset.css.collection_optimizer', '@router.builder', '@logger.channel.default', '@state']
531   # @deprecated in Drupal 8.0.x and will be removed before 9.0.0. Use the other
532   #   entity* services instead.
533   entity.manager:
534     # We cannot set the deprecated property here because many test cases still
535     # rely on this service and they would fail with deprecation warnings.
536     class: Drupal\Core\Entity\EntityManager
537     parent: container.trait
538     # @todo Remove this tag in https://www.drupal.org/node/2549143.
539     tags:
540       - { name: plugin_manager_cache_clear }
541   entity_type.manager:
542     class: Drupal\Core\Entity\EntityTypeManager
543     arguments: ['@container.namespaces', '@module_handler', '@cache.discovery', '@string_translation', '@class_resolver']
544     parent: container.trait
545     tags:
546       - { name: plugin_manager_cache_clear }
547   entity_type.repository:
548     class: Drupal\Core\Entity\EntityTypeRepository
549     arguments: ['@entity_type.manager']
550   entity_type.bundle.info:
551     class: Drupal\Core\Entity\EntityTypeBundleInfo
552     arguments: ['@entity_type.manager', '@language_manager', '@module_handler', '@typed_data_manager', '@cache.discovery']
553   entity.repository:
554     class: Drupal\Core\Entity\EntityRepository
555     arguments: ['@entity_type.manager', '@language_manager']
556   entity_display.repository:
557     class: Drupal\Core\Entity\EntityDisplayRepository
558     arguments: ['@entity_type.manager', '@module_handler', '@cache.discovery', '@language_manager']
559   entity_field.manager:
560     class: Drupal\Core\Entity\EntityFieldManager
561     arguments: ['@entity_type.manager', '@entity_type.bundle.info', '@entity_display.repository', '@typed_data_manager', '@language_manager', '@keyvalue', '@module_handler', '@cache.discovery']
562   entity_type.listener:
563     class: Drupal\Core\Entity\EntityTypeListener
564     arguments: ['@entity_type.manager', '@entity_field.manager', '@event_dispatcher', '@entity.last_installed_schema.repository']
565   entity_bundle.listener:
566     class: Drupal\Core\Entity\EntityBundleListener
567     arguments: ['@entity_type.manager', '@entity_type.bundle.info', '@entity_field.manager', '@module_handler']
568   entity_route_subscriber:
569     class: Drupal\Core\EventSubscriber\EntityRouteProviderSubscriber
570     arguments: ['@entity.manager']
571     tags:
572       - { name: event_subscriber }
573   entity.definition_update_manager:
574     class: Drupal\Core\Entity\EntityDefinitionUpdateManager
575     arguments: ['@entity.manager']
576   entity.last_installed_schema.repository:
577     class: Drupal\Core\Entity\EntityLastInstalledSchemaRepository
578     arguments: ['@keyvalue']
579   field_storage_definition.listener:
580     class: Drupal\Core\Field\FieldStorageDefinitionListener
581     arguments: ['@entity_type.manager', '@event_dispatcher', '@entity.last_installed_schema.repository', '@entity_field.manager']
582   field_definition.listener:
583     class: Drupal\Core\Field\FieldDefinitionListener
584     arguments: ['@entity_type.manager', '@entity_field.manager', '@keyvalue', '@cache.discovery']
585   entity.form_builder:
586     class: Drupal\Core\Entity\EntityFormBuilder
587     arguments: ['@entity.manager', '@form_builder']
588   entity.bundle_config_import_validator:
589     class: Drupal\Core\Entity\Event\BundleConfigImportValidate
590     arguments: ['@config.manager', '@entity.manager']
591     tags:
592       - { name: event_subscriber }
593   entity.autocomplete_matcher:
594     class: Drupal\Core\Entity\EntityAutocompleteMatcher
595     arguments: ['@plugin.manager.entity_reference_selection']
596   plugin_form.factory:
597     class: Drupal\Core\Plugin\PluginFormFactory
598     arguments: ['@class_resolver']
599   plugin.manager.entity_reference_selection:
600     class: Drupal\Core\Entity\EntityReferenceSelection\SelectionPluginManager
601     parent: default_plugin_manager
602   plugin.manager.block:
603     class: Drupal\Core\Block\BlockManager
604     parent: default_plugin_manager
605   plugin.manager.field.field_type:
606     class: Drupal\Core\Field\FieldTypePluginManager
607     arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@typed_data_manager']
608   plugin.manager.field.widget:
609     class: Drupal\Core\Field\WidgetPluginManager
610     arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@plugin.manager.field.field_type']
611   plugin.manager.field.formatter:
612     class: Drupal\Core\Field\FormatterPluginManager
613     arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@plugin.manager.field.field_type']
614   plugin.manager.archiver:
615     class: Drupal\Core\Archiver\ArchiverManager
616     parent: default_plugin_manager
617   plugin.manager.action:
618     class: Drupal\Core\Action\ActionManager
619     arguments: ['@container.namespaces', '@cache.discovery', '@module_handler']
620   plugin.manager.menu.link:
621     class: Drupal\Core\Menu\MenuLinkManager
622     arguments: ['@menu.tree_storage', '@menu_link.static.overrides', '@module_handler']
623   menu.link_tree:
624     class: Drupal\Core\Menu\MenuLinkTree
625     arguments: ['@menu.tree_storage', '@plugin.manager.menu.link', '@router.route_provider', '@menu.active_trail', '@controller_resolver']
626   menu.default_tree_manipulators:
627     class: Drupal\Core\Menu\DefaultMenuLinkTreeManipulators
628     arguments: ['@access_manager', '@current_user', '@entity_type.manager']
629   menu.active_trail:
630     class: Drupal\Core\Menu\MenuActiveTrail
631     arguments: ['@plugin.manager.menu.link', '@current_route_match', '@cache.menu', '@lock']
632     tags:
633       - { name: needs_destruction }
634   menu.parent_form_selector:
635     class: Drupal\Core\Menu\MenuParentFormSelector
636     arguments: ['@menu.link_tree', '@entity.manager', '@string_translation']
637   plugin.manager.menu.local_action:
638     class: Drupal\Core\Menu\LocalActionManager
639     arguments: ['@controller_resolver', '@request_stack', '@current_route_match', '@router.route_provider', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user']
640   plugin.manager.menu.local_task:
641     class: Drupal\Core\Menu\LocalTaskManager
642     arguments: ['@controller_resolver', '@request_stack', '@current_route_match', '@router.route_provider', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user']
643   plugin.manager.menu.contextual_link:
644     class: Drupal\Core\Menu\ContextualLinkManager
645     arguments: ['@controller_resolver', '@module_handler', '@cache.discovery', '@language_manager', '@access_manager', '@current_user', '@request_stack']
646   plugin.manager.display_variant:
647     class: Drupal\Core\Display\VariantManager
648     parent: default_plugin_manager
649   plugin.manager.queue_worker:
650     class: Drupal\Core\Queue\QueueWorkerManager
651     parent: default_plugin_manager
652   plugin.cache_clearer:
653     class: Drupal\Core\Plugin\CachedDiscoveryClearer
654     lazy: true
655   paramconverter.menu_link:
656     class: Drupal\Core\ParamConverter\MenuLinkPluginConverter
657     tags:
658       - { name: paramconverter }
659     arguments: ['@plugin.manager.menu.link']
660     lazy: true
661   menu.tree_storage:
662     class: Drupal\Core\Menu\MenuTreeStorage
663     arguments: ['@database', '@cache.menu', '@cache_tags.invalidator', 'menu_tree']
664     public: false  # Private to plugin.manager.menu.link and menu.link_tree
665     tags:
666       - { name: backend_overridable }
667   menu_link.static.overrides:
668     class: Drupal\Core\Menu\StaticMenuLinkOverrides
669     arguments: ['@config.factory']
670   request_stack:
671     class: Symfony\Component\HttpFoundation\RequestStack
672     tags:
673       - { name: persist }
674   current_route_match:
675      class: Drupal\Core\Routing\CurrentRouteMatch
676      arguments: ['@request_stack']
677   event_dispatcher:
678     class: Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher
679     arguments: ['@service_container']
680   app.root:
681     class: SplString
682     factory: app.root.factory:get
683     tags:
684       - { name: parameter_service }
685   app.root.factory:
686     class: Drupal\Core\AppRootFactory
687     arguments: ['@kernel']
688     public: false
689   site.path:
690     class: SplString
691     factory: site.path.factory:get
692     tags:
693       - { name: parameter_service }
694   site.path.factory:
695     class: Drupal\Core\SitePathFactory
696     arguments: ['@kernel']
697     public: false
698   controller_resolver:
699     class: Drupal\Core\Controller\ControllerResolver
700     arguments: ['@psr7.http_message_factory', '@class_resolver']
701   class_resolver:
702     class: Drupal\Core\DependencyInjection\ClassResolver
703     calls:
704       - [setContainer, ['@service_container']]
705   title_resolver:
706     class: Drupal\Core\Controller\TitleResolver
707     arguments: ['@controller_resolver', '@string_translation']
708   http_kernel:
709     class: Stack\StackedHttpKernel
710   http_kernel.basic:
711     class: Symfony\Component\HttpKernel\HttpKernel
712     arguments: ['@event_dispatcher', '@controller_resolver', '@request_stack']
713   http_middleware.negotiation:
714     class: Drupal\Core\StackMiddleware\NegotiationMiddleware
715     tags:
716       - { name: http_middleware, priority: 400 }
717   http_middleware.reverse_proxy:
718     class: Drupal\Core\StackMiddleware\ReverseProxyMiddleware
719     arguments: ['@settings']
720     tags:
721       - { name: http_middleware, priority: 300 }
722   http_middleware.kernel_pre_handle:
723     class: Drupal\Core\StackMiddleware\KernelPreHandle
724     arguments: ['@kernel']
725     tags:
726       - { name: http_middleware, priority: 100 }
727   http_middleware.session:
728     class: Drupal\Core\StackMiddleware\Session
729     tags:
730       - { name: http_middleware, priority: 50 }
731     calls:
732       - [setContainer, ['@service_container']]
733   http_middleware.cors:
734      class: Asm89\Stack\Cors
735      arguments: ['%cors.config%']
736      tags:
737        - { name: http_middleware, priority: 250 }
738   psr7.http_foundation_factory:
739     class: Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory
740   psr7.http_message_factory:
741     class: Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory
742   language_manager:
743     class: Drupal\Core\Language\LanguageManager
744     arguments: ['@language.default']
745   language.current_language_context:
746     class: Drupal\Core\Language\ContextProvider\CurrentLanguageContext
747     arguments: ['@language_manager']
748     tags:
749       - { name: 'context_provider' }
750   language.default:
751     class: Drupal\Core\Language\LanguageDefault
752     arguments: ['%language.default_values%']
753   string_translator.custom_strings:
754     class: Drupal\Core\StringTranslation\Translator\CustomStrings
755     arguments: ['@settings']
756     tags:
757       - { name: string_translator, priority: 30 }
758   string_translation:
759     class: Drupal\Core\StringTranslation\TranslationManager
760     arguments: ['@language.default']
761     tags:
762       - { name: service_collector, tag: string_translator, call: addTranslator }
763   database.replica:
764     class: Drupal\Core\Database\Connection
765     factory: Drupal\Core\Database\Database::getConnection
766     arguments: [replica]
767   typed_data_manager:
768     class: Drupal\Core\TypedData\TypedDataManager
769     arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@class_resolver']
770     calls:
771       - [setValidationConstraintManager, ['@validation.constraint']]
772     tags:
773       - { name: plugin_manager_cache_clear }
774   validation.constraint:
775     class: Drupal\Core\Validation\ConstraintManager
776     parent: default_plugin_manager
777     tags:
778       - { name: plugin_manager_cache_clear }
779   lock:
780     class: Drupal\Core\Lock\DatabaseLockBackend
781     arguments: ['@database']
782     tags:
783       - { name: backend_overridable }
784     lazy: true
785   lock.persistent:
786     class: Drupal\Core\Lock\PersistentDatabaseLockBackend
787     arguments: ['@database']
788     tags:
789       - { name: backend_overridable }
790     lazy: true
791   router.request_context:
792     class: Drupal\Core\Routing\RequestContext
793     tags:
794       - { name: persist }
795     calls:
796       - [fromRequestStack, ['@request_stack']]
797   router.admin_context:
798     class: Drupal\Core\Routing\AdminContext
799     arguments: ['@current_route_match']
800   router.route_provider:
801     class: Drupal\Core\Routing\RouteProvider
802     arguments: ['@database', '@state', '@path.current', '@cache.data', '@path_processor_manager', '@cache_tags.invalidator']
803     tags:
804       - { name: event_subscriber }
805       - { name: backend_overridable }
806   router.route_provider.lazy_builder:
807     class: Drupal\Core\Routing\RouteProviderLazyBuilder
808     arguments: ['@router.route_provider', '@router.builder']
809     tags:
810       - { name: event_subscriber }
811   router.route_preloader:
812     class: Drupal\Core\Routing\RoutePreloader
813     arguments: ['@router.route_provider', '@state', '@cache.bootstrap']
814     tags:
815       - { name: 'event_subscriber' }
816   router.matcher.final_matcher:
817     class: Drupal\Core\Routing\UrlMatcher
818     arguments: ['@path.current']
819     deprecated: The "%service_id%" service is deprecated. You should use the 'router.no_access_checks' service instead.
820   router.matcher:
821     class: Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher
822     arguments: ['@router.route_provider']
823     calls:
824       - [setFinalMatcher, ['@router.matcher.final_matcher']]
825     tags:
826       - { name: service_collector, tag: non_lazy_route_filter, call: addRouteFilter }
827     deprecated: The "%service_id%" service is deprecated. You should use the 'router.no_access_checks' service instead.
828   route_filter.lazy_collector:
829     class: Drupal\Core\Routing\LazyRouteFilter
830     tags:
831       - { name: non_lazy_route_filter }
832     parent: container.trait
833   route_filter_subscriber:
834     class: Drupal\Core\EventSubscriber\RouteFilterSubscriber
835     arguments: ['@route_filter.lazy_collector']
836     tags:
837       - { name: event_subscriber }
838   url_generator.non_bubbling:
839     class: Drupal\Core\Routing\UrlGenerator
840     arguments: ['@router.route_provider', '@path_processor_manager', '@route_processor_manager', '@request_stack', '%filter_protocols%']
841     public: false
842     calls:
843       - [setContext, ['@?router.request_context']]
844   url_generator:
845     class: Drupal\Core\Render\MetadataBubblingUrlGenerator
846     arguments: ['@url_generator.non_bubbling', '@renderer']
847     calls:
848       - [setContext, ['@?router.request_context']]
849   redirect.destination:
850     class: Drupal\Core\Routing\RedirectDestination
851     arguments: ['@request_stack', '@url_generator']
852   unrouted_url_assembler:
853     class: Drupal\Core\Utility\UnroutedUrlAssembler
854     arguments: ['@request_stack', '@path_processor_manager', '%filter_protocols%']
855   link_generator:
856     class: Drupal\Core\Utility\LinkGenerator
857     arguments: ['@url_generator', '@module_handler', '@renderer']
858   router:
859     class: Drupal\Core\Routing\AccessAwareRouter
860     arguments: ['@router.no_access_checks', '@access_manager', '@current_user']
861   router.dynamic:
862     class: Symfony\Cmf\Component\Routing\DynamicRouter
863     arguments: ['@router.request_context', '@router.matcher', '@url_generator']
864     tags:
865       - { name: service_collector, tag: non_lazy_route_enhancer, call: addRouteEnhancer }
866     deprecated: The "%service_id%" service is deprecated. You should use the 'router.no_access_checks' service instead.
867   router.no_access_checks:
868     class: \Drupal\Core\Routing\Router
869     arguments: ['@router.route_provider', '@path.current', '@url_generator']
870     tags:
871       - { name: service_collector, tag: non_lazy_route_enhancer, call: addRouteEnhancer }
872       - { name: service_collector, tag: non_lazy_route_filter, call: addRouteFilter }
873     calls:
874       - [setContext, ['@router.request_context']]
875   router.path_roots_subscriber:
876     class: Drupal\Core\EventSubscriber\PathRootsSubscriber
877     arguments: ['@state']
878     tags:
879       - { name: event_subscriber }
880   entity.query:
881     class: Drupal\Core\Entity\Query\QueryFactory
882     arguments: ['@entity.manager']
883     calls:
884       - [setContainer, ['@service_container']]
885   entity.query.config:
886     class: Drupal\Core\Config\Entity\Query\QueryFactory
887     arguments: ['@config.factory', '@keyvalue', '@config.manager']
888     tags:
889       - { name: event_subscriber }
890   entity.query.sql:
891     class: Drupal\Core\Entity\Query\Sql\QueryFactory
892     arguments: ['@database']
893     tags:
894       - { name: backend_overridable }
895   pgsql.entity.query.sql:
896     class: Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory
897     arguments: ['@database']
898   entity.query.null:
899     class: Drupal\Core\Entity\Query\Null\QueryFactory
900   entity.query.keyvalue:
901     class: Drupal\Core\Entity\KeyValueStore\Query\QueryFactory
902     arguments: ['@keyvalue']
903   router.dumper:
904     class: Drupal\Core\Routing\MatcherDumper
905     arguments: ['@database', '@state']
906     tags:
907       - { name: backend_overridable }
908     lazy: true
909   router.builder:
910     class: Drupal\Core\Routing\RouteBuilder
911     arguments: ['@router.dumper', '@lock', '@event_dispatcher', '@module_handler', '@controller_resolver', '@access_manager.check_provider']
912     lazy: true
913     tags:
914       - { name: needs_destruction }
915   menu.rebuild_subscriber:
916     class: Drupal\Core\EventSubscriber\MenuRouterRebuildSubscriber
917     arguments: ['@lock', '@plugin.manager.menu.link']
918     tags:
919       - { name: event_subscriber }
920   path.alias_storage:
921     class: Drupal\Core\Path\AliasStorage
922     arguments: ['@database', '@module_handler']
923     tags:
924       - { name: backend_overridable }
925   path.matcher:
926     class: Drupal\Core\Path\PathMatcher
927     arguments: ['@config.factory', '@current_route_match']
928   path.validator:
929     class: Drupal\Core\Path\PathValidator
930     arguments: ['@router', '@router.no_access_checks', '@current_user', '@path_processor_manager']
931
932 # The argument to the hashing service defined in services.yml, to the
933 # constructor of PhpassHashedPassword is the log2 number of iterations for
934 # password stretching.
935 # @todo increase by 1 every Drupal version in order to counteract increases in
936 # the speed and power of computers available to crack the hashes. The current
937 # password hashing method was introduced in Drupal 7 with a log2 count of 15.
938   password:
939     class: Drupal\Core\Password\PhpassHashedPassword
940     arguments: [16]
941   request_format_route_filter:
942     class: Drupal\Core\Routing\RequestFormatRouteFilter
943     tags:
944       - { name: route_filter }
945   method_filter:
946     class: Drupal\Core\Routing\MethodFilter
947     tags:
948       - { name: route_filter, priority: 1 }
949   content_type_header_matcher:
950     class: Drupal\Core\Routing\ContentTypeHeaderMatcher
951     tags:
952       - { name: route_filter }
953   paramconverter_manager:
954     class: Drupal\Core\ParamConverter\ParamConverterManager
955     tags:
956       - { name: service_collector, tag: paramconverter, call: addConverter }
957   paramconverter_subscriber:
958     class: Drupal\Core\EventSubscriber\ParamConverterSubscriber
959     tags:
960       - { name: event_subscriber }
961     arguments: ['@paramconverter_manager']
962   paramconverter.entity:
963     class: Drupal\Core\ParamConverter\EntityConverter
964     tags:
965       - { name: paramconverter }
966     arguments: ['@entity.manager']
967   paramconverter.entity_revision:
968     class: Drupal\Core\ParamConverter\EntityRevisionParamConverter
969     tags:
970       - { name: paramconverter }
971     arguments: ['@entity_type.manager', '@entity.repository']
972   paramconverter.configentity_admin:
973     class: Drupal\Core\ParamConverter\AdminPathConfigEntityConverter
974     tags:
975       # Use a higher priority than EntityConverter, see the class for details.
976       - { name: paramconverter, priority: 5 }
977     arguments: ['@entity.manager', '@config.factory', '@router.admin_context']
978     lazy: true
979   route_subscriber.module:
980     class: Drupal\Core\EventSubscriber\ModuleRouteSubscriber
981     tags:
982       - { name: event_subscriber }
983     arguments: ['@module_handler']
984   resolver_manager.entity:
985     class: Drupal\Core\Entity\EntityResolverManager
986     arguments: ['@entity.manager', '@class_resolver']
987   route_subscriber.entity:
988     class: Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber
989     tags:
990       - { name: event_subscriber }
991     arguments: ['@resolver_manager.entity']
992   ajax_response.subscriber:
993     class: Drupal\Core\EventSubscriber\AjaxResponseSubscriber
994     arguments: ['@ajax_response.attachments_processor']
995     tags:
996       - { name: event_subscriber }
997   form_ajax_subscriber:
998     class: Drupal\Core\Form\EventSubscriber\FormAjaxSubscriber
999     arguments: ['@form_ajax_response_builder', '@string_translation']
1000     tags:
1001       - { name: event_subscriber }
1002   route_enhancer.lazy_collector:
1003     class: Drupal\Core\Routing\LazyRouteEnhancer
1004     tags:
1005       - { name: non_lazy_route_enhancer, priority: 5000 }
1006     parent: container.trait
1007   route_enhancer_subscriber:
1008     class: Drupal\Core\EventSubscriber\RouteEnhancerSubscriber
1009     arguments: ['@route_enhancer.lazy_collector']
1010     tags:
1011       - { name: event_subscriber }
1012   route_enhancer.param_conversion:
1013     class: Drupal\Core\Routing\Enhancer\ParamConversionEnhancer
1014     arguments: ['@paramconverter_manager']
1015     tags:
1016       - { name: route_enhancer }
1017       - { name: event_subscriber }
1018   route_enhancer.form:
1019     class: Drupal\Core\Routing\Enhancer\FormRouteEnhancer
1020     tags:
1021       - { name: route_enhancer }
1022   route_enhancer.entity:
1023     class: Drupal\Core\Entity\Enhancer\EntityRouteEnhancer
1024     tags:
1025       - { name: route_enhancer, priority: 20 }
1026   route_enhancer.entity_revision:
1027     class: Drupal\Core\Routing\Enhancer\EntityRevisionRouteEnhancer
1028     tags:
1029       - { name: route_enhancer }
1030   route_special_attributes_subscriber:
1031     class: Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber
1032     tags:
1033       - { name: event_subscriber }
1034   route_http_method_subscriber:
1035     class: Drupal\Core\EventSubscriber\RouteMethodSubscriber
1036     tags:
1037       - { name: event_subscriber }
1038   psr_response_view_subscriber:
1039     class: Drupal\Core\EventSubscriber\PsrResponseSubscriber
1040     arguments: ['@psr7.http_foundation_factory']
1041     tags:
1042       - { name: event_subscriber }
1043
1044   # Main content view subscriber plus the renderers it uses.
1045   main_content_view_subscriber:
1046     class: Drupal\Core\EventSubscriber\MainContentViewSubscriber
1047     arguments: ['@class_resolver', '@current_route_match', '%main_content_renderers%']
1048     tags:
1049       - { name: event_subscriber }
1050   renderer_non_html:
1051     class: Drupal\Core\EventSubscriber\RenderArrayNonHtmlSubscriber
1052     tags:
1053       - { name: event_subscriber }
1054   main_content_renderer.html:
1055     class: Drupal\Core\Render\MainContent\HtmlRenderer
1056     arguments: ['@title_resolver', '@plugin.manager.display_variant', '@event_dispatcher', '@module_handler', '@renderer', '@render_cache', '%renderer.config%']
1057     tags:
1058       - { name: render.main_content_renderer, format: html }
1059   main_content_renderer.ajax:
1060     class: Drupal\Core\Render\MainContent\AjaxRenderer
1061     arguments: ['@element_info']
1062     tags:
1063       - { name: render.main_content_renderer, format: drupal_ajax }
1064       - { name: render.main_content_renderer, format: iframeupload }
1065   main_content_renderer.dialog:
1066     class: Drupal\Core\Render\MainContent\DialogRenderer
1067     arguments: ['@title_resolver']
1068     tags:
1069       - { name: render.main_content_renderer, format: drupal_dialog }
1070   main_content_renderer.modal:
1071     class: Drupal\Core\Render\MainContent\ModalRenderer
1072     arguments: ['@title_resolver']
1073     tags:
1074       - { name: render.main_content_renderer, format: drupal_modal }
1075   controller.form:
1076     class: Drupal\Core\Controller\HtmlFormController
1077     arguments: ['@controller_resolver', '@form_builder', '@class_resolver']
1078   controller.entity_form:
1079     class: Drupal\Core\Entity\HtmlEntityFormController
1080     arguments: ['@controller_resolver', '@form_builder', '@entity.manager']
1081   form_ajax_response_builder:
1082     class: Drupal\Core\Form\FormAjaxResponseBuilder
1083     arguments: ['@main_content_renderer.ajax', '@current_route_match']
1084   router_listener:
1085     class: Symfony\Component\HttpKernel\EventListener\RouterListener
1086     tags:
1087       - { name: event_subscriber }
1088     arguments: ['@router', '@request_stack', '@router.request_context', NULL]
1089   options_request_listener:
1090     class: Drupal\Core\EventSubscriber\OptionsRequestSubscriber
1091     arguments: ['@router.route_provider']
1092     tags:
1093       - { name: event_subscriber }
1094   bare_html_page_renderer:
1095     class: Drupal\Core\Render\BareHtmlPageRenderer
1096     arguments: ['@renderer', '@html_response.attachments_processor']
1097     lazy: true
1098   private_key:
1099     class: Drupal\Core\PrivateKey
1100     arguments: ['@state']
1101   csrf_token:
1102     class: Drupal\Core\Access\CsrfTokenGenerator
1103     arguments: ['@private_key', '@session_manager.metadata_bag']
1104   access_arguments_resolver_factory:
1105     class: Drupal\Core\Access\AccessArgumentsResolverFactory
1106   access_manager:
1107     class: Drupal\Core\Access\AccessManager
1108     arguments: ['@router.route_provider', '@paramconverter_manager', '@access_arguments_resolver_factory', '@current_user', '@access_manager.check_provider']
1109   access_manager.check_provider:
1110     class: Drupal\Core\Access\CheckProvider
1111     calls:
1112       - [setContainer, ['@service_container']]
1113     public: false
1114   access_check.default:
1115     class: Drupal\Core\Access\DefaultAccessCheck
1116     tags:
1117       - { name: access_check, applies_to: _access }
1118   access_check.entity:
1119     class: Drupal\Core\Entity\EntityAccessCheck
1120     tags:
1121       - { name: access_check, applies_to: _entity_access }
1122   access_check.entity_create:
1123     class: Drupal\Core\Entity\EntityCreateAccessCheck
1124     arguments: ['@entity.manager']
1125     tags:
1126       - { name: access_check, applies_to: _entity_create_access }
1127   access_check.entity_create_any:
1128     class: Drupal\Core\Entity\EntityCreateAnyAccessCheck
1129     arguments: ['@entity_type.manager', '@entity_type.bundle.info']
1130     tags:
1131       - { name: access_check, applies_to: _entity_create_any_access }
1132   access_check.theme:
1133     class: Drupal\Core\Theme\ThemeAccessCheck
1134     arguments: ['@theme_handler']
1135     tags:
1136       - { name: access_check, applies_to: _access_theme }
1137   access_check.custom:
1138     class: Drupal\Core\Access\CustomAccessCheck
1139     arguments: ['@controller_resolver', '@access_arguments_resolver_factory']
1140     tags:
1141       - { name: access_check, applies_to: _custom_access }
1142   access_check.csrf:
1143     class: Drupal\Core\Access\CsrfAccessCheck
1144     tags:
1145       - { name: access_check, applies_to: _csrf_token, needs_incoming_request: TRUE }
1146     arguments: ['@csrf_token']
1147   access_check.header.csrf:
1148     class: Drupal\Core\Access\CsrfRequestHeaderAccessCheck
1149     arguments: ['@session_configuration', '@csrf_token']
1150     tags:
1151       - { name: access_check, needs_incoming_request: TRUE }
1152   maintenance_mode:
1153     class: Drupal\Core\Site\MaintenanceMode
1154     arguments: ['@state', '@current_user']
1155   maintenance_mode_subscriber:
1156     class: Drupal\Core\EventSubscriber\MaintenanceModeSubscriber
1157     arguments: ['@maintenance_mode', '@config.factory', '@string_translation', '@url_generator', '@current_user', '@bare_html_page_renderer']
1158     tags:
1159       - { name: event_subscriber }
1160   path_subscriber:
1161     class: Drupal\Core\EventSubscriber\PathSubscriber
1162     tags:
1163       - { name: event_subscriber }
1164     arguments: ['@path.alias_manager', '@path.current']
1165   route_access_response_subscriber:
1166     class: Drupal\Core\EventSubscriber\RouteAccessResponseSubscriber
1167     tags:
1168       - { name: event_subscriber }
1169   client_error_response_subscriber:
1170     class: Drupal\Core\EventSubscriber\ClientErrorResponseSubscriber
1171     tags:
1172       - { name: event_subscriber }
1173   anonymous_user_response_subscriber:
1174     class: Drupal\Core\EventSubscriber\AnonymousUserResponseSubscriber
1175     tags:
1176       - { name: event_subscriber }
1177     arguments: ['@current_user']
1178   ajax_response.attachments_processor:
1179     class: Drupal\Core\Ajax\AjaxResponseAttachmentsProcessor
1180     tags:
1181     arguments: ['@asset.resolver', '@config.factory', '@asset.css.collection_renderer', '@asset.js.collection_renderer', '@request_stack', '@renderer', '@module_handler']
1182   html_response.attachments_processor:
1183     class: Drupal\Core\Render\HtmlResponseAttachmentsProcessor
1184     tags:
1185     arguments: ['@asset.resolver', '@config.factory', '@asset.css.collection_renderer', '@asset.js.collection_renderer', '@request_stack', '@renderer', '@module_handler']
1186   html_response.subscriber:
1187     class: Drupal\Core\EventSubscriber\HtmlResponseSubscriber
1188     tags:
1189       - { name: event_subscriber }
1190     arguments: ['@html_response.attachments_processor']
1191   finish_response_subscriber:
1192     class: Drupal\Core\EventSubscriber\FinishResponseSubscriber
1193     tags:
1194       - { name: event_subscriber }
1195     arguments: ['@language_manager', '@config.factory', '@page_cache_request_policy', '@page_cache_response_policy', '@cache_contexts_manager', '%http.response.debug_cacheability_headers%']
1196   response_generator_subscriber:
1197     class: Drupal\Core\EventSubscriber\ResponseGeneratorSubscriber
1198     tags:
1199       - { name: event_subscriber }
1200   redirect_response_subscriber:
1201     class: Drupal\Core\EventSubscriber\RedirectResponseSubscriber
1202     arguments: ['@unrouted_url_assembler', '@router.request_context']
1203     tags:
1204       - { name: event_subscriber }
1205   redirect_leading_slashes_subscriber:
1206     class: Drupal\Core\EventSubscriber\RedirectLeadingSlashesSubscriber
1207     tags:
1208       - { name: event_subscriber }
1209   request_close_subscriber:
1210     class: Drupal\Core\EventSubscriber\RequestCloseSubscriber
1211     tags:
1212       - { name: event_subscriber }
1213     arguments: ['@module_handler']
1214   config_import_subscriber:
1215     class: Drupal\Core\EventSubscriber\ConfigImportSubscriber
1216     tags:
1217       - { name: event_subscriber }
1218     arguments: ['@theme_handler']
1219   config_snapshot_subscriber:
1220     class: Drupal\Core\EventSubscriber\ConfigSnapshotSubscriber
1221     tags:
1222       - { name: event_subscriber }
1223     arguments: ['@config.manager', '@config.storage', '@config.storage.snapshot']
1224   exception.needs_installer:
1225     class: Drupal\Core\EventSubscriber\ExceptionDetectNeedsInstallSubscriber
1226     arguments: ['@database']
1227     tags:
1228       - { name: event_subscriber }
1229   exception.default_json:
1230     class: Drupal\Core\EventSubscriber\ExceptionJsonSubscriber
1231     tags:
1232       - { name: event_subscriber }
1233   exception.default_html:
1234     class: Drupal\Core\EventSubscriber\DefaultExceptionHtmlSubscriber
1235     tags:
1236       - { name: event_subscriber }
1237     arguments: ['@http_kernel', '@logger.channel.php', '@redirect.destination', '@router.no_access_checks']
1238   exception.final:
1239     class: Drupal\Core\EventSubscriber\FinalExceptionSubscriber
1240     tags:
1241       - { name: event_subscriber }
1242     arguments: ['@config.factory']
1243   exception.logger:
1244     class: Drupal\Core\EventSubscriber\ExceptionLoggingSubscriber
1245     tags:
1246       - { name: event_subscriber }
1247     arguments: ['@logger.factory']
1248   exception.custom_page_html:
1249     class: Drupal\Core\EventSubscriber\CustomPageExceptionHtmlSubscriber
1250     tags:
1251       - { name: event_subscriber }
1252     arguments: ['@config.factory', '@http_kernel', '@logger.channel.php', '@redirect.destination', '@router.no_access_checks', '@access_manager']
1253   exception.fast_404_html:
1254     class: Drupal\Core\EventSubscriber\Fast404ExceptionHtmlSubscriber
1255     tags:
1256       - { name: event_subscriber }
1257     arguments: ['@config.factory', '@http_kernel']
1258   exception.test_site:
1259     class: Drupal\Core\EventSubscriber\ExceptionTestSiteSubscriber
1260     tags:
1261       - { name: event_subscriber }
1262   exception.enforced_form_response:
1263     class: Drupal\Core\EventSubscriber\EnforcedFormResponseSubscriber
1264     tags:
1265       - { name: event_subscriber }
1266   route_processor_manager:
1267     class: Drupal\Core\RouteProcessor\RouteProcessorManager
1268     tags:
1269       - { name: service_collector, tag: route_processor_outbound, call: addOutbound }
1270   path_processor_manager:
1271     class: Drupal\Core\PathProcessor\PathProcessorManager
1272     tags:
1273       - { name: service_collector, tag: path_processor_inbound, call: addInbound }
1274       - { name: service_collector, tag: path_processor_outbound, call: addOutbound }
1275   path_processor_decode:
1276     class: Drupal\Core\PathProcessor\PathProcessorDecode
1277     tags:
1278       - { name: path_processor_inbound, priority: 1000 }
1279   path_processor_front:
1280     class: Drupal\Core\PathProcessor\PathProcessorFront
1281     tags:
1282       - { name: path_processor_inbound, priority: 200 }
1283       - { name: path_processor_outbound, priority: 200 }
1284     arguments: ['@config.factory']
1285   route_processor_current:
1286     class: Drupal\Core\RouteProcessor\RouteProcessorCurrent
1287     arguments: ['@current_route_match']
1288     tags:
1289       - { name: route_processor_outbound, priority: 200 }
1290   path_processor_alias:
1291     class: Drupal\Core\PathProcessor\PathProcessorAlias
1292     tags:
1293       - { name: path_processor_inbound, priority: 100 }
1294       - { name: path_processor_outbound, priority: 300 }
1295     arguments: ['@path.alias_manager']
1296   route_processor_csrf:
1297     class: Drupal\Core\Access\RouteProcessorCsrf
1298     tags:
1299       - { name: route_processor_outbound }
1300     arguments: ['@csrf_token']
1301   transliteration:
1302     class: Drupal\Core\Transliteration\PhpTransliteration
1303     arguments: [null, '@module_handler']
1304   flood:
1305     class: Drupal\Core\Flood\DatabaseBackend
1306     arguments: ['@database', '@request_stack']
1307     tags:
1308       - { name: backend_overridable }
1309   plugin.manager.mail:
1310     class: Drupal\Core\Mail\MailManager
1311     arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@config.factory', '@logger.factory', '@string_translation', '@renderer']
1312   plugin.manager.condition:
1313     class: Drupal\Core\Condition\ConditionManager
1314     parent: default_plugin_manager
1315   plugin.manager.element_info:
1316     class: Drupal\Core\Render\ElementInfoManager
1317     arguments: ['@container.namespaces', '@cache.discovery', '@cache_tags.invalidator', '@module_handler', '@theme.manager']
1318   stream_wrapper_manager:
1319     class: Drupal\Core\StreamWrapper\StreamWrapperManager
1320     calls:
1321       - [setContainer, ['@service_container']]
1322   stream_wrapper.public:
1323     class: Drupal\Core\StreamWrapper\PublicStream
1324     tags:
1325       - { name: stream_wrapper, scheme: public }
1326   stream_wrapper.temporary:
1327     class: Drupal\Core\StreamWrapper\TemporaryStream
1328     tags:
1329       - { name: stream_wrapper, scheme: temporary }
1330   kernel_destruct_subscriber:
1331     class: Drupal\Core\EventSubscriber\KernelDestructionSubscriber
1332     tags:
1333       - { name: event_subscriber }
1334     calls:
1335       - [setContainer, ['@service_container']]
1336   image.toolkit.manager:
1337     class: Drupal\Core\ImageToolkit\ImageToolkitManager
1338     arguments: ['@config.factory']
1339     parent: default_plugin_manager
1340     tags:
1341       - { name: plugin_manager_cache_clear }
1342   image.toolkit.operation.manager:
1343     class: Drupal\Core\ImageToolkit\ImageToolkitOperationManager
1344     arguments: ['@logger.channel.image', '@image.toolkit.manager']
1345     parent: default_plugin_manager
1346     tags:
1347       - { name: plugin_manager_cache_clear }
1348   image.factory:
1349     class: Drupal\Core\Image\ImageFactory
1350     arguments: ['@image.toolkit.manager']
1351   breadcrumb:
1352     class: Drupal\Core\Breadcrumb\BreadcrumbManager
1353     arguments: ['@module_handler']
1354     tags:
1355       - { name: service_collector, tag: breadcrumb_builder, call: addBuilder }
1356   token:
1357     class: Drupal\Core\Utility\Token
1358     arguments: ['@module_handler', '@cache.default', '@language_manager', '@cache_tags.invalidator', '@renderer']
1359   batch.storage:
1360     class: Drupal\Core\Batch\BatchStorage
1361     arguments: ['@database', '@session', '@csrf_token']
1362     tags:
1363       - { name: backend_overridable }
1364     lazy: true
1365   replica_database_ignore__subscriber:
1366     class: Drupal\Core\EventSubscriber\ReplicaDatabaseIgnoreSubscriber
1367     tags:
1368       - {name: event_subscriber}
1369   country_manager:
1370     class: Drupal\Core\Locale\CountryManager
1371     arguments: ['@module_handler']
1372   date.formatter:
1373     class: Drupal\Core\Datetime\DateFormatter
1374     arguments: ['@entity.manager', '@language_manager', '@string_translation', '@config.factory', '@request_stack']
1375   feed.bridge.reader:
1376     class: Drupal\Component\Bridge\ZfExtensionManagerSfContainer
1377     calls:
1378       - [setContainer, ['@service_container']]
1379     arguments: ['feed.reader.']
1380   feed.bridge.writer:
1381     class: Drupal\Component\Bridge\ZfExtensionManagerSfContainer
1382     calls:
1383       - [setContainer, ['@service_container']]
1384     arguments: ['feed.writer.']
1385 # Zend Feed reader plugins. Plugin instances should not be shared.
1386   feed.reader.dublincoreentry:
1387     class: Zend\Feed\Reader\Extension\DublinCore\Entry
1388     shared: false
1389   feed.reader.dublincorefeed:
1390     class: Zend\Feed\Reader\Extension\DublinCore\Feed
1391     shared: false
1392   feed.reader.contententry:
1393     class: Zend\Feed\Reader\Extension\Content\Entry
1394     shared: false
1395   feed.reader.atomentry:
1396     class: Zend\Feed\Reader\Extension\Atom\Entry
1397     shared: false
1398   feed.reader.atomfeed:
1399     class: Zend\Feed\Reader\Extension\Atom\Feed
1400     shared: false
1401   feed.reader.slashentry:
1402     class: Zend\Feed\Reader\Extension\Slash\Entry
1403     shared: false
1404   feed.reader.wellformedwebentry:
1405     class: Zend\Feed\Reader\Extension\WellFormedWeb\Entry
1406     shared: false
1407   feed.reader.threadentry:
1408     class: Zend\Feed\Reader\Extension\Thread\Entry
1409     shared: false
1410   feed.reader.podcastentry:
1411     class: Zend\Feed\Reader\Extension\Podcast\Entry
1412     shared: false
1413   feed.reader.podcastfeed:
1414     class: Zend\Feed\Reader\Extension\Podcast\Feed
1415     shared: false
1416 # Zend Feed writer plugins. Plugins should be set as prototype scope.
1417   feed.writer.atomrendererfeed:
1418     class: Zend\Feed\Writer\Extension\Atom\Renderer\Feed
1419     shared: false
1420   feed.writer.contentrendererentry:
1421     class: Zend\Feed\Writer\Extension\Content\Renderer\Entry
1422     shared: false
1423   feed.writer.dublincorerendererentry:
1424     class: Zend\Feed\Writer\Extension\DublinCore\Renderer\Entry
1425     shared: false
1426   feed.writer.dublincorerendererfeed:
1427     class: Zend\Feed\Writer\Extension\DublinCore\Renderer\Feed
1428     shared: false
1429   feed.writer.itunesentry:
1430     class: Zend\Feed\Writer\Extension\ITunes\Entry
1431     shared: false
1432   feed.writer.itunesfeed:
1433     class: Zend\Feed\Writer\Extension\ITunes\Feed
1434     shared: false
1435   feed.writer.itunesrendererentry:
1436     class: Zend\Feed\Writer\Extension\ITunes\Renderer\Entry
1437     shared: false
1438   feed.writer.itunesrendererfeed:
1439     class: Zend\Feed\Writer\Extension\ITunes\Renderer\Feed
1440     shared: false
1441   feed.writer.slashrendererentry:
1442     class: Zend\Feed\Writer\Extension\Slash\Renderer\Entry
1443     shared: false
1444   feed.writer.threadingrendererentry:
1445     class: Zend\Feed\Writer\Extension\Threading\Renderer\Entry
1446     shared: false
1447   feed.writer.wellformedwebrendererentry:
1448     class: Zend\Feed\Writer\Extension\WellFormedWeb\Renderer\Entry
1449     shared: false
1450   theme.manager:
1451     class: Drupal\Core\Theme\ThemeManager
1452     arguments: ['@app.root', '@theme.negotiator', '@theme.initialization', '@module_handler']
1453     calls:
1454       - [setThemeRegistry, ['@theme.registry']]
1455   theme.initialization:
1456     class: Drupal\Core\Theme\ThemeInitialization
1457     arguments: ['@app.root', '@theme_handler', '@cache.bootstrap', '@module_handler']
1458   theme.registry:
1459     class: Drupal\Core\Theme\Registry
1460     arguments: ['@app.root', '@cache.default', '@lock', '@module_handler', '@theme_handler', '@theme.initialization', null, '@cache.bootstrap']
1461     tags:
1462       - { name: needs_destruction }
1463     calls:
1464       - [setThemeManager, ['@theme.manager']]
1465   authentication:
1466     class: Drupal\Core\Authentication\AuthenticationManager
1467     arguments: ['@authentication_collector']
1468   authentication_collector:
1469     class: Drupal\Core\Authentication\AuthenticationCollector
1470     tags:
1471       - { name: service_collector, tag: authentication_provider, call: addProvider }
1472   authentication_subscriber:
1473     class: Drupal\Core\EventSubscriber\AuthenticationSubscriber
1474     arguments: ['@authentication', '@current_user']
1475     tags:
1476       - { name: event_subscriber }
1477   account_switcher:
1478     class: Drupal\Core\Session\AccountSwitcher
1479     arguments: ['@current_user', '@session_handler.write_safe']
1480   user_permissions_hash_generator:
1481     class: Drupal\Core\Session\PermissionsHashGenerator
1482     arguments: ['@private_key', '@cache.bootstrap', '@cache.static']
1483   current_user:
1484     class: Drupal\Core\Session\AccountProxy
1485   session_configuration:
1486     class: Drupal\Core\Session\SessionConfiguration
1487     arguments: ['%session.storage.options%']
1488   session:
1489     class: Symfony\Component\HttpFoundation\Session\Session
1490     arguments: ['@session_manager', '@session.attribute_bag', '@session.flash_bag']
1491   session.flash_bag:
1492     class: Symfony\Component\HttpFoundation\Session\Flash\FlashBag
1493     public: false
1494   session.attribute_bag:
1495     class: Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag
1496     public: false
1497   session_handler:
1498     alias: session_handler.storage
1499   session_handler.storage:
1500     class: Drupal\Core\Session\SessionHandler
1501     arguments: ['@request_stack', '@database']
1502     tags:
1503       - { name: backend_overridable }
1504   session_handler.write_check:
1505     class: Symfony\Component\HttpFoundation\Session\Storage\Handler\WriteCheckSessionHandler
1506     tags:
1507       - { name: session_handler_proxy, priority: 100 }
1508   session_handler.write_safe:
1509     class: Drupal\Core\Session\WriteSafeSessionHandler
1510     tags:
1511       - { name: session_handler_proxy, priority: 150 }
1512   session_manager:
1513     class: Drupal\Core\Session\SessionManager
1514     arguments: ['@request_stack', '@database', '@session_manager.metadata_bag', '@session_configuration', '@session_handler']
1515     tags:
1516       - { name: backend_overridable }
1517     calls:
1518       - [setWriteSafeHandler, ['@session_handler.write_safe']]
1519   session_manager.metadata_bag:
1520     class: Drupal\Core\Session\MetadataBag
1521     arguments: ['@settings']
1522   asset.css.collection_renderer:
1523     class: Drupal\Core\Asset\CssCollectionRenderer
1524     arguments: [ '@state' ]
1525   asset.css.collection_optimizer:
1526     class: Drupal\Core\Asset\CssCollectionOptimizer
1527     arguments: [ '@asset.css.collection_grouper', '@asset.css.optimizer', '@asset.css.dumper', '@state' ]
1528   asset.css.optimizer:
1529     class: Drupal\Core\Asset\CssOptimizer
1530   asset.css.collection_grouper:
1531     class: Drupal\Core\Asset\CssCollectionGrouper
1532   asset.css.dumper:
1533     class: Drupal\Core\Asset\AssetDumper
1534   asset.js.collection_renderer:
1535     class: Drupal\Core\Asset\JsCollectionRenderer
1536     arguments: [ '@state' ]
1537   asset.js.collection_optimizer:
1538     class: Drupal\Core\Asset\JsCollectionOptimizer
1539     arguments: [ '@asset.js.collection_grouper', '@asset.js.optimizer', '@asset.js.dumper', '@state' ]
1540   asset.js.optimizer:
1541     class: Drupal\Core\Asset\JsOptimizer
1542   asset.js.collection_grouper:
1543     class: Drupal\Core\Asset\JsCollectionGrouper
1544   asset.js.dumper:
1545     class: Drupal\Core\Asset\AssetDumper
1546   library.discovery:
1547     class: Drupal\Core\Asset\LibraryDiscovery
1548     arguments: ['@library.discovery.collector']
1549   library.discovery.collector:
1550     class: Drupal\Core\Asset\LibraryDiscoveryCollector
1551     arguments: ['@cache.discovery', '@lock', '@library.discovery.parser', '@theme.manager']
1552     tags:
1553       - { name: needs_destruction }
1554   library.discovery.parser:
1555     class: Drupal\Core\Asset\LibraryDiscoveryParser
1556     arguments: ['@app.root', '@module_handler', '@theme.manager']
1557   library.dependency_resolver:
1558     class: Drupal\Core\Asset\LibraryDependencyResolver
1559     arguments: ['@library.discovery']
1560   asset.resolver:
1561     class: Drupal\Core\Asset\AssetResolver
1562     arguments: ['@library.discovery', '@library.dependency_resolver', '@module_handler', '@theme.manager', '@language_manager', '@cache.data']
1563   info_parser:
1564     class: Drupal\Core\Extension\InfoParser
1565   twig:
1566     class: Drupal\Core\Template\TwigEnvironment
1567     arguments: ['@app.root', '@cache.default', '%twig_extension_hash%', '@state', '@twig.loader', '%twig.config%']
1568     tags:
1569       - { name: service_collector, tag: 'twig.extension', call: addExtension }
1570   twig.extension:
1571     class: Drupal\Core\Template\TwigExtension
1572     arguments: ['@renderer', '@url_generator', '@theme.manager', '@date.formatter']
1573     tags:
1574       - { name: twig.extension, priority: 100 }
1575   # @todo Figure out what to do about debugging functions.
1576   # @see https://www.drupal.org/node/1804998
1577   twig.extension.debug:
1578     class: Twig_Extension_Debug
1579     tags:
1580       - { name: twig.extension }
1581   twig.loader:
1582     class: Twig_Loader_Chain
1583     public: false
1584     tags:
1585       - { name: service_collector, tag: twig.loader, call: addLoader, required: TRUE }
1586   twig.loader.filesystem:
1587     class: Drupal\Core\Template\Loader\FilesystemLoader
1588     arguments: ['@app.root', '@module_handler', '@theme_handler']
1589     tags:
1590       - { name: twig.loader, priority: 100 }
1591   twig.loader.theme_registry:
1592     class: Drupal\Core\Template\Loader\ThemeRegistryLoader
1593     arguments: ['@theme.registry']
1594     tags:
1595       - { name: twig.loader, priority: 0 }
1596   twig.loader.string:
1597     class: Drupal\Core\Template\Loader\StringLoader
1598     tags:
1599       - { name: twig.loader, priority: -100 }
1600   element_info:
1601     alias: plugin.manager.element_info
1602   file.mime_type.guesser:
1603     class: Drupal\Core\File\MimeType\MimeTypeGuesser
1604     arguments: ['@stream_wrapper_manager']
1605     tags:
1606       - { name: service_collector, tag: mime_type_guesser, call: addGuesser }
1607     lazy: true
1608   file.mime_type.guesser.extension:
1609     class: Drupal\Core\File\MimeType\ExtensionMimeTypeGuesser
1610     arguments: ['@module_handler']
1611     tags:
1612       - { name: mime_type_guesser }
1613     lazy: true
1614   # Currently needs to be public as it is called by
1615   # \Drupal\Core\Render\Element\StatusMessages.
1616   # @todo Consider making this service private again after
1617   #   https://www.drupal.org/node/2367555 lands.
1618   render_placeholder_generator:
1619     class: Drupal\Core\Render\PlaceholderGenerator
1620     arguments: ['%renderer.config%']
1621   render_cache:
1622     class: Drupal\Core\Render\PlaceholderingRenderCache
1623     arguments: ['@request_stack', '@cache_factory', '@cache_contexts_manager', '@render_placeholder_generator']
1624   renderer:
1625     class: Drupal\Core\Render\Renderer
1626     arguments: ['@controller_resolver', '@theme.manager', '@plugin.manager.element_info', '@render_placeholder_generator', '@render_cache', '@request_stack', '%renderer.config%']
1627   early_rendering_controller_wrapper_subscriber:
1628     class: Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber
1629     arguments: ['@controller_resolver', '@renderer']
1630     tags:
1631       - { name: event_subscriber }
1632   # Placeholder strategies for rendering placeholders.
1633   html_response.placeholder_strategy_subscriber:
1634     class: Drupal\Core\EventSubscriber\HtmlResponsePlaceholderStrategySubscriber
1635     tags:
1636       - { name: event_subscriber }
1637     arguments: ['@placeholder_strategy']
1638   placeholder_strategy:
1639     class: Drupal\Core\Render\Placeholder\ChainedPlaceholderStrategy
1640     tags:
1641       - { name: service_collector, tag: placeholder_strategy, call: addPlaceholderStrategy }
1642   placeholder_strategy.single_flush:
1643     class: Drupal\Core\Render\Placeholder\SingleFlushStrategy
1644     tags:
1645       - { name: placeholder_strategy, priority: -1000 }
1646   email.validator:
1647     class: Egulias\EmailValidator\EmailValidator
1648   update.post_update_registry:
1649     class: Drupal\Core\Update\UpdateRegistry
1650     factory: ['@update.post_update_registry_factory', create]
1651   update.post_update_registry_factory:
1652     class: Drupal\Core\Update\UpdateRegistryFactory
1653     parent: container.trait
1654   uuid:
1655     class: Drupal\Component\Uuid\Php
1656   response_filter.active_link:
1657     class: Drupal\Core\EventSubscriber\ActiveLinkResponseFilter
1658     arguments: ['@current_user', '@path.current', '@path.matcher', '@language_manager']
1659     tags:
1660       - { name: event_subscriber }
1661   response_filter.rss.relative_url:
1662     class: Drupal\Core\EventSubscriber\RssResponseRelativeUrlFilter
1663     tags:
1664       - { name: event_subscriber }