For dynamic view rendering, the strongest matches are angular/universal (Angular Universal is a dedicated server-side rendering framework for), redfin/react-server (This framework is specifically designed for universal web applications) and zeit/next.js (Next). airbnb/hypernova and alibaba/rax round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best dynamic view engines for your project. Compare top-rated open-source libraries by activity and features to find the best fit.
Angular Universal is a server-side rendering framework and static site generator for Angular applications. It provides the core engines and tools necessary to generate HTML on a server or during the build process to improve initial load performance and search engine optimization. The project enables both dynamic server-side rendering for on-demand HTML generation and build-time prerendering to create static files for predefined routes. It features a hydration engine that transfers server-side state and cached HTTP responses to the client, preventing the browser from duplicating network reques
Angular Universal is a dedicated server-side rendering framework for Angular that provides the required state hydration, dynamic routing, and middleware capabilities to generate HTML on the server.
react-server is a server-side rendering framework for building universal web applications. It serves as a hydration engine and HTML renderer that executes component logic on both the server and the client to synchronize application state. The project focuses on streaming content delivery, allowing page content to be sent to the browser in fragments as they become available. This approach is combined with server-side HTML generation to improve initial load speeds and search engine indexing. The framework also includes capabilities for automated asset bundling and universal component execution
This framework is specifically designed for universal web applications, providing server-side rendering, state hydration, and streaming content delivery to synchronize logic between the server and the client.
Next.js is a full stack web framework designed for building applications with React. It functions as a React web framework that integrates a server-side rendering engine, a static site generator, and a dedicated application router to manage page-based navigation and dynamic URL segments. The framework enables the development of both frontend user interfaces and backend server logic within a single codebase. It provides a unified environment for full stack web development, allowing frontend and backend components to be built and managed together. The system focuses on frontend performance opt
Next.js is a comprehensive full-stack framework that natively supports server-side rendering, state hydration, and dynamic routing, making it a flagship solution for building isomorphic web applications.
Hypernova is a distributed rendering engine and server-side rendering service that transforms JavaScript components into HTML on a remote server. It functions as a web page hydration framework, allowing interactive behavior to be attached to static server-generated markup by deserializing application state in the browser. The system utilizes an isolated JavaScript runtime that executes components within sandboxed virtual machines to prevent global state leakage and interference between concurrent requests. It employs a distributed architecture to execute rendering tasks across multiple worker
Hypernova is a distributed server-side rendering service that generates HTML from JavaScript components and supports state hydration, fitting the core requirements for a rendering framework despite its specialized architecture for remote execution.
Rax is a React universal application framework and isomorphic JavaScript environment designed to render a single codebase across web, mobile, and mini-program platforms. It functions as a cross-platform component renderer that translates React components into platform-specific elements using a standardized driver specification. The framework utilizes a universal UI driver specification to decouple component logic from the underlying UI layer, allowing for standardized DOM manipulation and event handling across different execution environments. This architecture enables the integration of nati
Rax is a universal React-based framework that supports isomorphic rendering and client-side hydration, making it a valid tool for generating dynamic views across multiple platforms.
TanStack Router is a type-safe routing library for web applications that provides full type safety for paths, search parameters, and data loaders across the entire application stack. It functions as a comprehensive framework for server-side rendering, enabling the generation of complete HTML pages to improve initial load performance and search engine optimization. By integrating declarative data fetching, the library manages asynchronous information at the route level, supporting preloading, caching, and parallel request execution to ensure data is ready before components render. The project
TanStack Router is a comprehensive framework that provides server-side rendering, state hydration, and robust middleware support, making it a direct match for building dynamic, type-safe web applications.
Astro is a content-driven web framework designed for building multi-page applications that prioritize performance by shipping minimal JavaScript to the browser. It functions as a static site generator and server-side rendering engine, transforming source files into optimized HTML documents. By utilizing an island architecture, the framework isolates interactive components within static pages, ensuring that only necessary code is hydrated on the client side. The framework provides a unified build pipeline that supports component-agnostic rendering, allowing developers to integrate components f
Astro is a comprehensive web framework that natively supports server-side rendering, dynamic routing, middleware, and partial state hydration, making it a robust choice for generating dynamic HTML views.
Bottle is a lightweight Python web micro-framework and template engine. It functions as a WSGI web framework that routes HTTP requests to Python functions to generate dynamic content. The framework is distributed as a single Python file with no external dependencies. This minimalist distribution model allows for rapid application prototyping and the creation of web services with a small footprint. The project provides capabilities for dynamic request routing, REST API development, and dynamic HTML rendering. It includes a built-in HTTP development server for web application hosting and a plu
Bottle is a lightweight web framework that provides built-in template rendering and request routing, making it a suitable tool for server-side generation of dynamic HTML views.
Crow is a minimalist C++ micro web framework designed for building fast web servers and REST APIs. It provides a lightweight toolkit for web development in C++, offering core routing and request handling capabilities. The framework includes a built-in JSON parser for converting strings into structured data and an HTML template engine for generating dynamic web pages on the server. It also functions as a WebSocket server library to enable bidirectional, real-time communication between servers and web clients. Additional capabilities include a middleware-based request pipeline for executing sh
Crow is a C++ micro-framework that provides server-side HTML templating and routing, making it a suitable tool for generating dynamic server-rendered views despite its minimalist scope.
San is an isomorphic JavaScript framework and single-page application toolkit used for building user interfaces with reusable components. It functions as a reactive UI library that synchronizes application state with the interface through data binding and declarative templates. The framework is distinguished by its support for both server-side HTML generation and client-side hydration to improve initial load performance and search engine optimization. It employs a specialized template-to-array compilation process to compress template structures and reduce network costs. The project provides
San is an isomorphic JavaScript framework that provides server-side rendering and client-side hydration, making it a capable tool for generating dynamic HTML views based on application state.
This library is an integration bridge for embedding React components within Ruby on Rails views and controllers. It provides a hybrid frontend architecture that allows developers to mix traditional server-rendered templates with isolated interactive components. The project differentiates itself through a comprehensive server-side rendering wrapper that generates HTML on the server to improve load speeds and search engine visibility. It includes a client-side hydration manager that automatically mounts and unmounts components by scanning the document for markers and synchronizing with navigati
This library provides server-side rendering and state hydration for React components within a Ruby on Rails environment, serving as a specialized framework for integrating dynamic views into a server-rendered application.
This project is a starter template and boilerplate for building isomorphic web applications using React, Redux, and Express. It functions as a server-side rendering framework that generates HTML on the server and rehydrates it on the client to improve search engine optimization and initial page load speeds. The project is distinguished by its focus on developer experience, featuring a configuration for hot module replacement. This allows for the real-time updating of the user interface and application state during development without requiring a full browser refresh. The framework provides c
This repository provides a comprehensive boilerplate for building isomorphic React applications, offering the requested server-side rendering, state hydration, and routing capabilities within an Express-based architecture.
This repository is a collection of reference implementations and project scaffolds for the Koa web framework. It provides a set of boilerplates and examples for building Node.js web applications, including predefined project structures with database integrations and containerization. The project demonstrates the implementation of REST APIs and the use of HTTP middleware patterns for composing request handlers. It includes practical guides for designing structured endpoints and resource management patterns. The provided examples cover a range of capabilities including server-side rendering, r
This repository provides a collection of reference implementations and scaffolds for the Koa framework that demonstrate how to integrate server-side rendering, template engines, and middleware-based routing into a Node.js application.
SvelteKit is a framework for full-stack web development that combines routing and server-side rendering to create websites with both client-side interactivity and server-side logic. It provides the infrastructure to build a variety of application types, including single page applications and static sites. The project utilizes an adapter-based deployment system to support multi-platform hosting. This allows a single codebase to be packaged for different environments, such as standalone Node servers, serverless edge deployments on Cloudflare, or hosted platforms like Vercel and Netlify. The fr
SvelteKit is a comprehensive full-stack framework that natively handles server-side rendering, state hydration, and dynamic routing, making it a flagship tool for building isomorphic web applications.
Sapper is a universal web application framework and server-side rendering framework for Svelte. It enables the development of applications that render views on the server for fast initial loads and hydrate them on the client for subsequent interactivity. The project features a file-based routing engine that maps URL paths to components based on the file system structure. It also functions as a static site generator, exporting production-ready HTML, CSS, and JavaScript files for hosting in environments without a live server. The framework covers full-stack development capabilities, including
Sapper is a dedicated server-side rendering framework for Svelte that provides built-in state hydration, file-system routing, and middleware support for building dynamic, universal web applications.
Inferno is a virtual DOM UI library and high-performance DOM renderer used for building component-based user interfaces. It functions as a server-side rendering engine and a client-side framework that synchronizes application state with the visual interface through a declarative structure. The project distinguishes itself as a React-compatible UI framework, providing a compatibility layer that allows components designed for other reactive environments to run without modification. Its capability surface covers virtual DOM management, including node diffing and reconciliation, and a full serve
Inferno is a high-performance UI library that provides the necessary server-side rendering, state hydration, and component-based architecture to build dynamic web applications, though it functions primarily as a view-layer framework rather than a full-stack routing and middleware solution.
Derby is an isomorphic MVC framework and real-time data synchronization engine designed for building collaborative applications. It functions as a bi-directional data binding library and template engine that shares a single codebase between Node.js and the browser to synchronize state across clients and servers. The framework distinguishes itself through the use of operational transformation to resolve data conflicts automatically, enabling real-time shared editing and multi-user collaboration. It employs a differential state mutation model to minimize updates by performing deep equality chec
Derby is an isomorphic MVC framework that provides server-side rendering, template engines, and state hydration, making it a comprehensive solution for building dynamic, real-time web applications.
React on Rails is an integration framework that embeds React components into Ruby on Rails views. It functions as a server-side rendering engine and a full-stack component orchestrator, allowing backend data to be passed directly into frontend components without the need for separate API calls. The project synchronizes client-server routing to maintain consistent navigation states across the application. It includes a Webpack asset pipeline to manage JavaScript bundles and implement code splitting for optimized delivery. The framework covers hybrid view rendering and frontend asset optimizat
This framework enables server-side rendering and state hydration by integrating React components directly into Ruby on Rails views, providing a robust solution for isomorphic rendering within a Rails environment.
Nuxt is a universal web framework designed for building full-stack applications that seamlessly transition between server-side rendering and client-side interactivity. It provides a comprehensive development environment that automates routing, dependency injection, and type generation, allowing developers to focus on application logic rather than manual configuration. By executing code in a platform-agnostic server engine, it supports deployment across diverse environments, including edge networks, serverless functions, and traditional Node.js runtimes. The framework distinguishes itself thro
Nuxt is a comprehensive full-stack framework that natively supports server-side rendering, state hydration, and dynamic routing, making it a flagship solution for building isomorphic web applications.
Yew is a framework for building front-end web applications using Rust and WebAssembly. It provides a component-based architecture that allows developers to create modular, reusable user interface elements that manage their own state and logic. By compiling code into binary modules, the framework enables high-performance execution within modern browser environments. The framework distinguishes itself through a macro-based markup language that transforms declarative, HTML-like syntax into strongly-typed component structures during compilation. It features a robust server-side rendering engine t
Yew is a component-based framework that provides robust server-side rendering and client-side hydration capabilities, making it a suitable choice for building dynamic, state-driven web applications in Rust.
Dioxus is a cross-platform development framework designed for building native desktop, mobile, and web applications from a single codebase. It utilizes a declarative component model and macro-powered syntax to define reusable interface elements, which are then rendered as native widgets or web elements. At its core, the framework employs a signal-based reactivity system that tracks state dependencies to trigger granular updates, ensuring efficient interface performance without re-rendering the entire application tree. The framework distinguishes itself through a unified full-stack runtime tha
Dioxus is a full-stack Rust framework that supports server-side rendering and state hydration for web applications, providing the core capabilities needed to generate dynamic HTML views from a unified codebase.
Ripple is a full-stack TypeScript web framework and reactive UI library used for building interfaces with server-side rendering. It organizes user interfaces into a hierarchy of reusable, scoped components with built-in state management and client-side hydration. The framework is distinguished by its fine-grained reactivity, which updates specific DOM elements without requiring full component re-renders. It integrates server-side logic and client-side components within a single TypeScript codebase, enabling a unified full-stack development workflow. The system covers a broad range of capabil
Ripple is a full-stack TypeScript framework that provides server-side rendering, state hydration, and dynamic routing, making it a suitable tool for building dynamic, isomorphic web applications.
Iris is a high-performance web framework and API toolkit for the Go programming language. It provides the infrastructure necessary to build HTTP/2 web applications, REST APIs, and MVC-based websites. The project distinguishes itself through a flexible architectural model that supports multiple isolated application instances within a single process and allows for binary-embedded asset loading to eliminate external filesystem dependencies. It features dynamic router hot-reloading and a pluggable view engine for rendering dynamic HTML content. The framework covers a broad range of capabilities,
Iris is a high-performance web framework that provides a pluggable view engine and the necessary infrastructure for server-side rendering and dynamic HTML generation, fitting the requirements for a server-side rendering framework.
Remix is a full-stack web framework designed to manage data loading, mutations, and routing through standard web platform APIs. It functions as a server-side rendering framework that unifies server-side data processing and client-side interactivity within a single development model, ensuring applications remain consistent across diverse environments. The framework distinguishes itself by utilizing native web platform APIs for all request and response handling, including a declarative data mutation layer that synchronizes server-side database updates with client-side UI transitions via standar
Remix is a full-stack framework that natively handles server-side rendering, state hydration, and dynamic routing, making it a comprehensive solution for building dynamic web applications.
Next.js is a web development framework that provides a file-system-based routing system and a suite of server-side utilities for managing the request-response cycle. It includes built-in support for data fetching, caching, and revalidation, allowing developers to control how content is rendered and served. The framework offers a centralized configuration system for build-time settings, environment variables, and deployment adapters, alongside a command-line interface for bootstrapping new projects. The framework covers a wide range of application requirements, including metadata management fo
Next.js is a comprehensive framework that natively supports server-side rendering, state hydration, and dynamic routing, making it a flagship solution for building isomorphic web applications.
Qwik is a resumable JavaScript web framework and component-based UI library designed to build high-performance web applications. It functions as a frontend web framework that optimizes page load speed and runtime performance by delaying JavaScript execution until a user interacts with a specific component. The framework eliminates the traditional hydration phase by restoring application state from the server. It uses serialization to embed state and event listeners directly into the HTML, allowing the application to resume interactivity without re-executing JavaScript to rebuild the component
Qwik is a server-side rendering framework that achieves state hydration through its unique resumability architecture, providing dynamic routing, middleware support, and efficient template rendering for high-performance web applications.
Marko is a component-based web framework and HTML-based template engine used to build reactive user interfaces. It functions as a server-side rendering framework that compiles declarative templates into optimized JavaScript for efficient browser execution. The framework utilizes virtual DOM-less rendering to map template expressions directly to DOM nodes. It employs ahead-of-time template compilation and server-side HTML streaming to send rendered fragments to the client in chunks. The system manages user interfaces through a component-based view hierarchy with reactive data binding and fine
Marko is a comprehensive server-side rendering framework that supports isomorphic components, template compilation, and efficient HTML streaming, making it a direct match for your requirements.
React Router is a navigation and data-loading framework that maps URL patterns to nested component hierarchies. It functions as a full-stack router, coordinating server-side resource fetching with client-side hydration to synchronize application state across different environments. By providing a declarative interface for routing, it manages navigation and state transitions while ensuring consistent page structures through root layout management. The framework distinguishes itself through its focus on type safety and incremental adoption. It automatically generates static type definitions for
React Router provides the essential routing, data loading, and hydration primitives required for server-side rendering, functioning as the core navigation and state-synchronization engine for modern React-based SSR frameworks.
Este is an isomorphic web framework designed for rendering applications on both the server and client with shared state and routing. It functions as a remote session management dashboard, providing a centralized interface to control remote agent sessions through command delivery and prompt approval. The framework includes a role-based access control system that protects interface components by wrapping sensitive elements in an authorization layer. It also features a remote session management system that monitors agent urgency and prioritizes sessions requiring immediate user input. Additiona
Este is an isomorphic framework that supports server-side rendering and state hydration, providing the core capabilities required for building dynamic, shared-state web applications.
Gatsby is a React static site generator and hybrid rendering framework used to build websites by pre-rendering components into static HTML files for delivery via content delivery networks. It functions as a hybrid rendering platform that supports a combination of static generation, server-side rendering, and deferred page loading. The framework operates as a GraphQL data aggregator, pulling content from various APIs, headless CMS integrations, and files into a single unified schema for frontend queries. It also serves as a frontend performance optimizer, automating code splitting, resource pr
Gatsby is a hybrid rendering framework that supports server-side rendering and state hydration alongside its static generation capabilities, making it a valid tool for building dynamic HTML views.
Revel is a full-stack web framework and toolkit for building applications with the Go language. It implements a model-view-controller architecture to separate business logic from user interface rendering, providing a comprehensive system for routing, parameter binding, and session management. The project distinguishes itself with a high-productivity development environment featuring automatic code compilation and hot-reloading, which refreshes the application state and templates upon file changes without requiring manual restarts. It also employs reflection-based parameter binding to automati
Revel is a full-stack MVC framework for Go that provides server-side rendering, template engines, and routing, making it a capable tool for generating dynamic HTML views on the server.
Tornado is a Python web framework and asynchronous networking library used to build scalable web applications and high-performance servers. It provides a non-blocking HTTP server capable of handling thousands of simultaneous connections. The project functions as a WebSocket server framework, enabling real-time bidirectional communication and persistent connections between clients and servers. It supports the implementation of custom networking protocols and high-performance networking services beyond standard HTTP. Its capabilities cover asynchronous web application development, concurrent A
Tornado is a Python web framework that includes built-in support for server-side HTML template rendering and dynamic routing, making it a capable tool for generating dynamic views on the server.
Spark is a lightweight Java web framework and embedded server designed for building web applications with minimal boilerplate. It functions as an HTTP routing engine that maps URL paths and methods to handler functions, providing a specialized domain specific language for web development in Kotlin. The framework enables the implementation of REST APIs and web services through the definition of HTTP routes. It supports the extraction of dynamic path parameters and the transformation of response data into formats such as JSON. Additional capabilities include the ability to serve static files a
Spark is a lightweight Java web framework that provides the necessary routing, middleware, and template rendering capabilities to generate dynamic HTML views on the server.
Hono is a lightweight web framework built on Web Standard APIs that executes across JavaScript runtimes including Cloudflare Workers, Deno, Bun, and Node.js.
Hono is a high-performance web framework that supports server-side rendering and JSX-based templating, providing the necessary routing and middleware capabilities to build dynamic, state-aware applications across various runtimes.
Solid is a declarative JavaScript framework for building user interfaces through fine-grained reactivity. By utilizing a compile-time template transformation process, it converts JSX into direct DOM manipulation instructions, eliminating the need for a virtual tree. This architecture allows the framework to track dependencies at the individual element level, ensuring that state changes trigger surgical updates to the interface. The framework distinguishes itself through its isomorphic rendering pipeline, which shares reactive logic across server and client environments to support both initial
Solid is a declarative UI framework that provides a robust isomorphic rendering pipeline, enabling server-side rendering and state hydration to generate dynamic HTML views.
Riot is a component-based library for building user interfaces through modular, single-file components. It functions as a framework for creating reusable elements that combine markup, logic, and scoped styles, which are then compiled into standard JavaScript functions for browser execution. The library distinguishes itself by utilizing direct rendering, which updates the document object model by tracking state changes without the overhead of a virtual representation. It supports server-side rendering and hydration to improve initial page load performance and search engine indexing. Developers
Riot is a component-based framework that supports server-side rendering and state hydration, providing the necessary tools to generate dynamic HTML views for your application.
This project is an implementation of React Server Components, providing a full-stack component architecture that blends server-side rendering with client-side interactivity. It enables the development of web applications where server-only components for data fetching and interactive client components coexist within a single component tree. The system focuses on server-client data orchestration, allowing for the execution of server functions and database mutations across the network boundary. It distinguishes itself through a hybrid component architecture that shifts component execution to the
This repository provides a reference implementation for React Server Components, which serves as a modern framework for server-side rendering and state hydration, though it is structured as a demonstration project rather than a production-ready framework.
FastHTML is a full-stack Python web framework designed for building interactive web applications using pure Python. It functions as an HTMX integration framework and a Python HTML domain-specific language, allowing developers to generate HTML structures using native objects and functions instead of external templating files. The framework is distinguished by its native support for real-time bidirectional communication via WebSockets and Server-Sent Events, enabling server-side updates to be pushed to the browser without full page reloads. It further integrates identity management through OAut
FastHTML is a full-stack Python framework that performs server-side rendering by generating HTML directly from Python objects and supports state hydration and dynamic routing through its tight integration with HTMX.
Vapor is a comprehensive server-side web framework designed for building scalable, high-performance applications and APIs in Swift. It provides a non-blocking, event-loop-based runtime that manages concurrent task processing, background job queues, and asynchronous request handling. The framework is built around a dependency injection container that manages the lifecycle and resolution of services, configurations, and database connections throughout the request pipeline. The framework distinguishes itself through a protocol-oriented design that emphasizes type safety across all layers of the
Vapor is a full-featured server-side web framework for Swift that includes a built-in template engine and supports the necessary middleware and routing for generating dynamic HTML views.
Filament is a full-stack framework for building administrative panels and management interfaces within the Laravel ecosystem. It provides a declarative, component-based architecture that allows developers to construct complex, data-driven applications using server-side configuration objects rather than manual HTML. By inspecting database model structures and relationships, the framework automates the generation of CRUD interfaces, forms, and data tables, significantly reducing boilerplate code. The project distinguishes itself through a highly modular and extensible design that supports custo
Filament is a server-side rendering framework built on the TALL stack that uses Livewire to handle state hydration and dynamic HTML generation for administrative interfaces, fitting the core requirements for a server-side rendering framework.
Livewire is a full-stack framework for PHP that enables the development of reactive, dynamic user interfaces using server-side classes and templates. By bridging the gap between server-side logic and client-side DOM updates, it allows developers to build interactive web applications without writing custom JavaScript. The framework operates as a component-based library, where modular units encapsulate interface logic, state, and event handling directly on the server. The framework distinguishes itself through a reactive architecture that automatically synchronizes state between the browser and
Livewire is a server-side rendering framework that manages state and dynamic UI updates through PHP components, effectively handling the core requirements of server-side rendering and state synchronization without needing custom JavaScript.
Ember.js is a structured JavaScript web framework designed for building scalable web applications. It utilizes a Model-View-Controller architectural pattern and incorporates a component-based UI library, a dependency injection framework, and a client-side routing engine. The framework distinguishes itself through a centralized registry for passing shared services across components and routes, alongside a routing system that maps URLs directly to templates and data models to manage navigation. Its broader capabilities include reactive state synchronization and computation memoization for UI p
Ember.js is a comprehensive web framework that supports server-side rendering through its FastBoot ecosystem, providing the necessary routing, state management, and templating capabilities to generate dynamic HTML views.
Angular is a platform for building web applications using a component-based architecture. It provides a comprehensive suite of tools for managing encapsulated UI units, including hierarchical dependency injection, a declarative template system, and fine-grained reactivity through signals. The framework supports complex application requirements such as client-side routing, form management, and internationalization. The project includes a command-line interface for scaffolding and build automation, alongside a testing ecosystem for unit and integration verification. It offers multiple rendering
Angular is a comprehensive web framework that natively supports server-side rendering and state hydration through its Angular Universal/SSR capabilities, making it a robust choice for generating dynamic HTML views.
React Engine is a framework for server-side rendering and isomorphic web development that integrates React component trees directly into Express web server pipelines. It enables the generation of static HTML from component structures to support initial page loads and search engine visibility, while providing the necessary utilities to hydrate that markup with interactive state and event listeners on the client. The framework distinguishes itself through a middleware-based approach that maps URL paths to component hierarchies using a centralized routing configuration. It includes built-in data
This is a server-side rendering framework designed for Express applications that enables isomorphic React rendering, state hydration, and integration with routing middleware.
| Repository | Stars | Sprache | Lizenz | Letzter Push |
|---|---|---|---|---|
| angular/universal | 4K | TypeScript | MIT | |
| redfin/react-server | 3.9K | JavaScript | Apache-2.0 | |
| zeit/next.js | 140.1K | JavaScript | MIT | |
| airbnb/hypernova | 5.8K | JavaScript | MIT | |
| alibaba/rax | 8K | JavaScript | NOASSERTION | |
| tanstack/router | 14.7K | TypeScript | MIT | |
| withastro/astro | 60.4K | TypeScript | NOASSERTION | |
| bottlepy/bottle | 8.8K | Python | MIT | |
| ipkn/crow | 7.6K | C++ | BSD-3-Clause | |
| baidu/san | 4.7K | JavaScript | MIT |