From 2b160c0877bb55de80f91e6551a27329ba5ec41a Mon Sep 17 00:00:00 2001 From: Teppo Kurki Date: Tue, 26 Sep 2023 21:56:22 +0300 Subject: [PATCH 01/44] Create MDBOOK and migrate SRC --- .gitignore | 2 + README.md | 14 +- docs/.gitignore | 2 + docs/book.toml | 13 + docs/docker-compose.yml | 17 + docs/src/SUMMARY.md | 35 ++ docs/src/breaking_changes.md | 52 ++ .../develop/contributing.md} | 0 docs/src/develop/developer_notes.md | 35 ++ docs/src/develop/plugins/deltas.md | 164 ++++++ docs/src/develop/plugins/publishing.md | 69 +++ .../plugins/resource_provider_plugins.md | 92 ++-- docs/src/develop/plugins/server_plugin.md | 330 ++++++++++++ .../src/develop/plugins/server_plugin_api.md | 470 ++---------------- .../src/develop/rest-api/course_api.md | 0 docs/src/develop/rest-api/open_api.md | 13 + .../src/develop/rest-api/resources_api.md | 6 +- WEBAPPS.md => docs/src/develop/webapps.md | 4 +- {img => docs/src/img}/calibration.png | Bin docs/src/img/resource_provider.dia | Bin 0 -> 2378 bytes docs/src/img/resource_provider.svg | 106 ++++ docs/src/img/server_only.dia | Bin 0 -> 4572 bytes docs/src/img/server_only.png | Bin 0 -> 54845 bytes {img => docs/src/img}/vesselpositions.png | Bin docs/src/index.md | 24 + docs/src/installation/command_line.md | 48 ++ docs/src/installation/install.md | 61 +++ .../installation/raspberry_pi_installation.md | 137 +++++ docs/src/installation/updating.md | 55 ++ SECURITY.md => docs/src/security.md | 0 docs/src/setup/branding.md | 7 + docs/src/setup/configuration.md | 93 ++++ docs/src/support/help.md | 19 + docs/src/support/sponsor.md | 8 + docs/src/whats_new.md | 74 +++ raspberry_pi_installation.md | 308 ------------ 36 files changed, 1457 insertions(+), 801 deletions(-) create mode 100644 docs/.gitignore create mode 100644 docs/book.toml create mode 100644 docs/docker-compose.yml create mode 100644 docs/src/SUMMARY.md create mode 100644 docs/src/breaking_changes.md rename docs/{CONTRIBUTING.md => src/develop/contributing.md} (100%) create mode 100644 docs/src/develop/developer_notes.md create mode 100644 docs/src/develop/plugins/deltas.md create mode 100644 docs/src/develop/plugins/publishing.md rename RESOURCE_PROVIDER_PLUGINS.md => docs/src/develop/plugins/resource_provider_plugins.md (71%) create mode 100644 docs/src/develop/plugins/server_plugin.md rename SERVERPLUGINS.md => docs/src/develop/plugins/server_plugin_api.md (51%) rename WORKING_WITH_COURSE_API.md => docs/src/develop/rest-api/course_api.md (100%) create mode 100644 docs/src/develop/rest-api/open_api.md rename WORKING_WITH_RESOURCES_API.md => docs/src/develop/rest-api/resources_api.md (93%) rename WEBAPPS.md => docs/src/develop/webapps.md (96%) rename {img => docs/src/img}/calibration.png (100%) create mode 100644 docs/src/img/resource_provider.dia create mode 100644 docs/src/img/resource_provider.svg create mode 100644 docs/src/img/server_only.dia create mode 100644 docs/src/img/server_only.png rename {img => docs/src/img}/vesselpositions.png (100%) create mode 100644 docs/src/index.md create mode 100644 docs/src/installation/command_line.md create mode 100644 docs/src/installation/install.md create mode 100644 docs/src/installation/raspberry_pi_installation.md create mode 100644 docs/src/installation/updating.md rename SECURITY.md => docs/src/security.md (100%) create mode 100644 docs/src/setup/branding.md create mode 100644 docs/src/setup/configuration.md create mode 100644 docs/src/support/help.md create mode 100644 docs/src/support/sponsor.md create mode 100644 docs/src/whats_new.md delete mode 100644 raspberry_pi_installation.md diff --git a/.gitignore b/.gitignore index f09b964cd..93cf83120 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,8 @@ settings/ssl-cert.pem *.tgz work/ +docs/server-guide/ + test/plugin-test-config/.npmrc test/plugin-test-config/plugin-config-data/ test/plugin-test-config/ssl-cert.pem diff --git a/README.md b/README.md index 397d0170c..c8ae1fb42 100644 --- a/README.md +++ b/README.md @@ -241,13 +241,13 @@ To enable debugging without going through the Admin UI, see the file `~/.signalk The documents provide more details about developing Webapps or Plugings for Signal K Server, as well as working on the server itself: -* [Contributing to this repo](docs/CONTRIBUTING.md) -* [Server Plugins](SERVERPLUGINS.md) -* [Webapps](WEBAPPS.md) -* [Working with the Course API](WORKING_WITH_COURSE_API.md) -* [Working with the Resources API](WORKING_WITH_RESOURCES_API.md) -* [Resource Provider Plugins](RESOURCE_PROVIDER_PLUGINS.md) -* [Security](SECURITY.md) +* [Contributing to this repo](docs/src/develop/contributing.md) +* [Server Plugins](docs/src/develop/plugins/server_plugin.md) +* [Webapps](docs/src/develop/webapps.md) +* [Working with the Course API](docs/src/develop/rest-api/course_api.md) +* [Working with the Resources API](docs/src/develop/rest-api/course_api.md) +* [Resource Provider Plugins](docs/src/develop/plugins/resource_provider_plugins.md) +* [Security](docs/src/security.md) ### Install from git diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000..139597f9c --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,2 @@ + + diff --git a/docs/book.toml b/docs/book.toml new file mode 100644 index 000000000..36225c337 --- /dev/null +++ b/docs/book.toml @@ -0,0 +1,13 @@ +[book] +title="Signal K Server Documentation" +description = "A Guide for users and developers." +authors = [] +language = "en" +multilingual = false +src = "src" + +[build] +build-dir = "server-guide" +create-missing = false + + diff --git a/docs/docker-compose.yml b/docs/docker-compose.yml new file mode 100644 index 000000000..30fe7ef33 --- /dev/null +++ b/docs/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3' + +services: + mdbook: + container_name: mdbook + image: peaceiris/mdbook:v0.4.13 + stdin_open: true + tty: true + ports: + - 3000:3000 + - 3001:3001 + volumes: + - ${PWD}:/book + command: + - serve + - --hostname + - '0.0.0.0' diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md new file mode 100644 index 000000000..763904eab --- /dev/null +++ b/docs/src/SUMMARY.md @@ -0,0 +1,35 @@ +# Signal K Server + +[Introduction](index.md) + * [What's New in V2](whats_new.md) + * [Deprecations & Changes](breaking_changes.md) + +# Getting Started +* [Installation](installation/install.md) + * [Installing on Raspberry Pi](installation/raspberry_pi_installation.md) + * [Updating your installation](installation/updating.md) + * [Command line & Environment](installation/command_line.md) +* [Security](security.md) +# Setup + * [Configuration](setup/configuration.md) + * [Branding](setup/branding.md) +# Develop +* [Notes for Developers](develop/developer_notes.md) +* [WebApps](develop/webapps.md) +* [Plugins](develop/plugins/server_plugin.md) + * [Processing Data](develop/plugins/deltas.md) + * [Server API](develop/plugins/server_plugin_api.md) + * [Resource Providers](develop/plugins/resource_provider_plugins.md) + * [Publishing to the AppStore](develop/plugins/publishing.md) +* [REST APIs](./develop/rest-api/open_api.md) + * [Course API](develop/rest-api/course_api.md) + * [Resources API](develop/rest-api/resources_api.md) + * [Notifications API]() + * [Autopilot API]() +* [Contribute](./develop/contributing.md) +# Support +* [Help & Support](support/help.md) +* [Sponsor](support/sponsor.md) + + + diff --git a/docs/src/breaking_changes.md b/docs/src/breaking_changes.md new file mode 100644 index 000000000..3e2fddd64 --- /dev/null +++ b/docs/src/breaking_changes.md @@ -0,0 +1,52 @@ + +# Changes + +The following changes have been implemented with the introduction of **Resources API** and apply to applications using the `./signalk/v2/resources` endpoint. + +_Note: These changes DO NOT impact applications using the `./signalk/v1/resources` endpoint._ + +### 1. Resource ID prefix assignment + +The version 1 specification defined resource Ids with the following format `urn:mrn:signalk:uuid:`. + +_e.g. `urn:mrn:signalk:uuid:18592f80-3425-43c2-937b-0be64b6be68c`_ + +The Resource API has dropped the use the prefix and ids are now just a uuidv4 value. + +_e.g. `18592f80-3425-43c2-937b-0be64b6be68c`_ + +This format is used for both accessing a resource _e.g. `/signalk/v1/api/resources/waypoints/18592f80-3425-43c2-937b-0be64b6be68c`_ as well as the value within an `href` attribute. + +_Example:_ +``` +{ + "name": "...", + "descripton": "...", + "href": "/resources/waypoints/18592f80-3425-43c2-937b-0be64b6be68c", + ... +} +``` + +### 2. Resource Attributes + +The Resources API has updated the definition of the following resources: +- `routes`: removed the `start`, `end` properties. +- `waypoints`: removed `position` attribute, added `name`, `description` and `type` attributes. +- `regions`: removed `geohash` attribute, added `name` and `description` properties. +- `notes`: removed `geohash` and `region` attributes, added `href` and `properties` attributes. +- `charts`: There has been a significant changes to include support for WMS, WMTS and TileJSON sources. + +Please see the [Resources OpenAPI definition](https://github.com/SignalK/signalk-server/blob/master/src/api/resources/openApi.json) for details. + + +--- + +# Deprecations: + +### 1. courseGreatCircle, courseRhumbline paths + +With the introduction of the Course API the following paths should now be considered deprecated: +- `/signalk/v1/api/vessels/self/navigation/courseGreatCircle` +- `/signalk/v1/api/vessels/self/navigation/courseRhumbline` + +_Note: The Course API does currently maintain values in these paths for the purposes of backward compatibility, but applications and plugins referencing these paths should plan to move to using the equivalent paths under `/signalk/v2/api/vessels/self/navigation/course`. diff --git a/docs/CONTRIBUTING.md b/docs/src/develop/contributing.md similarity index 100% rename from docs/CONTRIBUTING.md rename to docs/src/develop/contributing.md diff --git a/docs/src/develop/developer_notes.md b/docs/src/develop/developer_notes.md new file mode 100644 index 000000000..4c936e45c --- /dev/null +++ b/docs/src/develop/developer_notes.md @@ -0,0 +1,35 @@ +# Notes for Developers + +Signal K server has an extensible architecture that enables developers to add functionality to support new protocols, devices, information sources, etc. + +The information in this section aims to provide guidance, not only on how to develop plugins and applications to extend capability, but also how to do so in alignment with the Signal K server architecture. +By understanding the underlying architecture, the plugins and apps you create will ensure that the additional functionality and data will be discoverable and work in harmony with other solutions. + +## Looking Ahead + +Signal K server v2 marks the start of an evolution from the Signal K v1 approach of defining the paths, their hierarchy and the full data model schema, towards an approach centered around REST APIs (HTTP endpoints defined as OpenApi specifications). + +These APIs enact operations (i.e. activate a route, advance to next point, etc) rather just expose a generic data model with some well known paths. +They are available under the path `/signalk/v2/api` so they can coexist with v1 APIs. There is a connection with the Signal K full data model but, unlike the v1 APIs it is not 1:1, it is abstracted behind the interface. + +The reason for adopting this approach is to address the fact that many paths within a Signal K hierarchy are related, a change in the value of one path will require that the value of other paths be updated to ensure that the data model is consistent. +At present this relies on the plugin / application knowing which paths in the hierarchy are related. Additionally there may be other plugins / applications also updating some of the same paths which can cause the data model to become invalid, which then erodes trust in the data which impacts its use in navigation. + +The use of APIs to perform operations addresses these issues providing the following benefits: +1. A standardised interface for all applications / plugins to perform an operation +1. Provides clear ownership of the paths in the Signal K data model +1. Ensures values are being maintained in all of the related paths. +1. Increases trust in the data for use in all scenarios. + +### Stream Interface + +Currently, when v2 REST APIs emit deltas that contain v2 paths and structure, they do not end up in the full model. This means that these paths and values are only available via API GET requests. + +## Deprecations and Breaking Changes + +With the move towards REST APIs and the desire to improve the data model (and also fix some mistakes) it's inevitable that there will be deprecations and breaking changes. + +For example, when addressing duplicate Great Circle and Rhumbline course paths, the resultant changes will likley break compatibility with v1. + +For details about paths that are candidates for deprecation see [REST APIs](./rest-api/open_api.md). + diff --git a/docs/src/develop/plugins/deltas.md b/docs/src/develop/plugins/deltas.md new file mode 100644 index 000000000..5b4a67730 --- /dev/null +++ b/docs/src/develop/plugins/deltas.md @@ -0,0 +1,164 @@ +# Processing data from the server + +A plugin will generally want to: +1. Subscribe to data published by the server _(i.e. received from a NMEA 2000 bus, etc)_ +1. Emit data. + +In both cases the plugin will use *deltas* which the server uses to signal changes in the Signal K full data model. Delta messages contain the new value associated with a path (not the amount of change from the previous value.)_ + +_See the [Signal K Delta Specification](http://signalk.org/specification/1.7.0/doc/data_model.html#delta-format) for details._ + +Using the server API, plugins can either: +1. Get the current value of a path in the full model or +1. Subscribe to a path and access a stream of _deltas_ that updates every time the value is updated. + +By specifying a context _e.g. 'vessels.self'_ you can limit the number of delta messages received to those of host vesseel. +To receive all deltas you can specify `*` as the context. + +You can also limit the deltas received by the path you supply. +If you supply a specific path _e.g. navigation.position_, only updates in the value will be received. +Since paths are hierarchical, paths can contain wildcards _e.g._navigation.*_ which will deliver deltas containing updates to all paths under `navigation`. + +The data received is formatted as per the following example: +```javascript + { + path: 'navigation.position', + value: { longitude: 24.7366117, latitude: 59.72493 }, + context: 'vessel.self', + source: { + label: 'n2k-sample-data', + type: 'NMEA2000', + pgn: 129039, + src: '43' + }, + $source: 'n2k-sample-data.43', + timestamp: '2014-08-15T19:00:02.392Z' + } +``` + + +## Reading the current path value + +The server API provides the following methods for retrieving values from the full data model. +- `getSelfPath(path)` returns the value of the supplied `path` in the `vessels.self` context. +```javascript +const value = app.getSelfPath('uuid'); +app.debug(value); // Should output something like urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60 +``` + +- `getPath(path)` returns the value of the path (including the context) starting from the _root_ of the full data model. +```javascript +const baseStations = app.getPath('shore.basestations'); +``` + +## Subscribing to Deltas + +A can subscribe to a stream of updates (deltas) by creating the subscription. + +Subcriptions are generally manged in the plugin `start()` and `stop()` methods to ensure the subscribtions are _unsubscribed_ prior to the plugin stopping to ensure all resources are freed. + +The following example illustrates the pattern using the `subscriptionmanager` API method. + +```javascript +let unsubscribes = []; + +plugin.start = (options, restartPlugin) => { + app.debug('Plugin started'); + let localSubscription = { + context: '*', // Get data for all contexts + subscribe: [{ + path: '*', // Get all paths + period: 5000 // Every 5000ms + }] + }; + + app.subscriptionmanager.subscribe( + localSubscription, + unsubscribes, + subscriptionError => { + app.error('Error:' + subscriptionError); + }, + delta => { + delta.updates.forEach(u => { + app.debug(u); + }); + } + ); +}; + +plugin.stop = () => { + unsubscribes.forEach(f => f()); + unsubscribes = []; +}; +``` + +In the `start()` method create a subscription definition `localSubscription` which is then passed to `app.subscriptionmanager.subscribe()` as the first argument, we also pass the `unsubscribes` array in the second argument. + +The third argument is a function that will be called when there's an error. + +The final argument is a function that will be called every time an update is received. + +In the `stop()` method each subcription in the `unsubscribes` array is _unsubscribed_ and the resources released. + +## Sending Deltas + +A SignalK plugin can not only read deltas, but can also send them. This is done using the `handleMessage()` API method and supplying: + +1. The plugin id +2. A formatted delta update message +3. The Signal K version ['v1' or 'v2'] _(if omitted the default is 'v1')_. See [REST APIs](../openapi/index.md) for details. + +_Example:_ +```javascript +app.handleMessage( + plugin.id, + { + updates: [{ + values: [{ + path: 'environment.outside.temperature', + value: -253 + }] + }] + }, + 'v1' + ); +``` + + +## Sending NMEA 2000 data from a plugin + +A SignalK plugin can not only emit deltas, but can also send data such as NMEA 2000 data. + +This is done using the `emit()` API and specifying the provider as well as the formatted data to send. + +_Example: Send NMEA using Actisense serial format:_ +``` javascript + app.emit( + 'nmea2000out', + '2017-04-15T14:57:58.468Z,0,262384,0,0,14,01,0e,00,88,b6,02,00,00,00,00,00,a2,08,00'); +``` + +_Example: Send NMEA using Canboat JSON format:_ +```javascript + app.emit('nmea2000JsonOut', { + pgn: 130306, + 'Wind Speed': speed, + 'Wind Angle': angle < 0 ? angle + Math.PI*2 : angle, + 'Reference': "Apparent" + }); +``` + +### Sending a message on NMEA2000 startup + +If you need to send an NMEA2000 message out at startup, _e.g get current state from a device_ you will need to wait until the provider is ready before sending your message. + +_Example: Send NMEA after the provider is ready:_ +```javascript + app.on('nmea2000OutAvailable', () => { + app.emit( + 'nmea2000out', + '2017-04-15T14:57:58.468Z,2,6,126720,%s,%s,4,a3,99,01,00'); + }); +``` + + diff --git a/docs/src/develop/plugins/publishing.md b/docs/src/develop/plugins/publishing.md new file mode 100644 index 000000000..dc83ce894 --- /dev/null +++ b/docs/src/develop/plugins/publishing.md @@ -0,0 +1,69 @@ +# Publishing to The AppStore + + +Plugins and WebApps are available in the AppStore when they have been published to [npm repository](https://www.npmjs.com/) with the one or more of the following keywords in the `package.json` file: +- `signalk-node-server-plugin` +- `signalk-webapp` + +Additionally you can have your plugin appear within one or more AppStore categories by also adding the following keyword(s): +- `signalk-category-chart-plotters` +- `signalk-category-nmea-2000` +- `signalk-category-nmea-0183` +- `signalk-category-instruments` +- `signalk-category-hardware` +- `signalk-category-ais` +- `signalk-category-notifications` +- `signalk-category-digital-switching` +- `signalk-category-utility` +- `signalk-category-cloud` +- `signalk-category-weather` +- `signalk-category-deprecated` +- `signalk-category-hidden` (won't show on the App Store) + +To have your plugin start automatically after being installed, without requiring any configuration via the **Plugin Config** screen add the following key to the `package.json` file: + +```JSON +"signalk-plugin-enabled-by-default": true +``` + +To control the way your WebApp is displayed in the Admin UI add a `signalk` key with the following attributes: +```JSON + "signalk": { + "appIcon": "./img/icon-72x72.png", // path to an image file to use as an icon. + "displayName": "My SK App" // name to display in place of the package name. + } +``` + + +_Example: package.json_ +```JSON +{ + "name": "my-signalk-plugin-app", + "version": "1.0.0", + "description": "My great signalk plugin-app", + "keywords": [ + "signalk-node-server-plugin", + "signalk-webapp", + "signalk-category-ais" + ], + "signalk-plugin-enabled-by-default": true, + "signalk": { + "appIcon": "./assets/icons/icon-72x72.png", + "displayName": "My Great WebApp" + }, + "main": "plugin/index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC" +} +``` + +#### Publishing your Plugin + +Once you have developed and tested your Plugin / WebApp you can publish it to make it visible in the AppStore. +To do this, in a terminal session from within the folder containing `package.json`: +```bash +npm publish +``` diff --git a/RESOURCE_PROVIDER_PLUGINS.md b/docs/src/develop/plugins/resource_provider_plugins.md similarity index 71% rename from RESOURCE_PROVIDER_PLUGINS.md rename to docs/src/develop/plugins/resource_provider_plugins.md index 43a31a104..b04131fa1 100644 --- a/RESOURCE_PROVIDER_PLUGINS.md +++ b/docs/src/develop/plugins/resource_provider_plugins.md @@ -1,62 +1,47 @@ # Resource Provider plugins -_This document should be read in conjunction with [SERVERPLUGINS.md](./SERVERPLUGINS.md) as it contains additional information regarding the development of plugins that facilitate the storage and retrieval of resource data._ - -To see an example of a resource provider plugin see [resources-provider-plugin](https://github.com/SignalK/signalk-server/tree/master/packages/resources-provider-plugin) - ---- ## Overview -The SignalK specification defines the path `/signalk/v2/api/resources` for accessing resources to aid in navigation and operation of the vessel. +The SignalK server _Resource API_ provides a common set operations for clients to interact with routes, waypoints, charts, etc but it does NOT provide the ability to persist or retrieve resources to / from storage. -It also defines the schema for the following __Common__ resource types: -- routes -- waypoints -- notes -- regions -- charts +This functionality needs to be provided by one or more server plugins that interface with the _Resource API_ to facilitate the storage and retrieval of resource data. -each with its own path under the root `resources` path _(e.g. `/signalk/v2/api/resources/routes`)_. +These plugins are called __Provider Plugins__. -It should also be noted that the `/signalk/v2/api/resources` path can also host other types of resource data which can be grouped within a __Custom__ path name _(e.g. `/signalk/v2/api/resources/fishingZones`)_. +_Resource API architecture:_ + -The SignalK server does not natively provide the ability to store or retrieve resource data for either __Common__ and __Custom__ resource types. -This functionality needs to be provided by one or more server plugins that handle the data for specific resource types. -These plugins are called __Resource Providers__. +This de-coupling of request handling and data storage provides the flexibility to persist resource data in a variety of different storage types as well as Internet based services. -The de-coupling of request handling and data storage provides flexibility to persist resource data in different types of storage to meet the needs of your SignalK implementation. -Requests for both __Common__ and __Custom__ resource types are handled by the SignalK server, the only difference being that the resource data contained in `POST` and `PUT` requests for __Common__ resource types is validated against the OpenApi schema. +_To see an example of a provider plugin see [resources-provider-plugin](https://github.com/SignalK/signalk-server/tree/master/packages/resources-provider-plugin)_ -_Note: A plugin can act as a provider for both __Common__ and __Custom__ resource types._ ---- -## Server Operation: +### Resources API: -The Signal K server handles all requests to `/signalk/v2/api/resources` (and sub-paths), before passing on the request to the registered resource provider plugin. +The _Resources API_ handles all client requests received via the `/signalk/v2/api/resources` path, before passing on the request to registered provider plugin(s). -The following operations are performed by the server when a request is received: -- Checks for a registered provider for the resource type -- Checks that the required ResourceProvider methods are defined -- Performs access control check -- For __Common__ resource types, checks the validity of the `resource id` and submitted `resource data`. +The _Resources API_ performs the following operations when a request is received: +1. Checks for registered provider(s) for the resource type _(i.e. route, waypoint, etc.)_ +1. Checks that the required ResourceProvider methods are defined for the requested operation _(i.e. POST, PUT, GET, DELETE)_ +1. Performs an access control check +1. `POST` and `PUT` requests for __Standard__ _(Signal K defined)_ resource types are checked for validity of the submitted: + - `resource id` + - `resource data` against the OpenAPI definition. -Only after successful completion of all these operations is the request passed on to the registered resource provider plugin. +Only after successful completion of all these operations is the request passed on to the registered provider plugin(s). --- -## Resource Provider plugin: -For a plugin to be considered a Resource Provider it needs to register with the SignalK server the following: -- Each resource type provided for by the plugin -- The methods used to action requests. It is these methods that perform the writing, retrieval and deletion of resources from storage. +## Provider plugins: +A resource provider plugin is a Signal K server plugin that implements the **Resource Provider Interface** which: +- Tells server the resource type(s) provided for by the plugin _(i.e. route, waypoint, etc.)_ +- Registers the methods used to action requests passed from the server and perform the writing, retrieval and deletion of resources from storage. -### Resource Provider Interface - ---- -The `ResourceProvider` interface is the means by which the plugin informs the SignalK server each of the resource type(s) it services and the endpoints to which requests should be passed. +Note: multiple providers can be registered for a resource type _(e.g. 2 x chart providers)_ The `ResourceProvider` interface is defined as follows in _`@signalk/server-api`_: @@ -68,7 +53,7 @@ interface ResourceProvider { ``` where: -- `type`: The resource type provided for by the plugin. These can be either __Common__ or __Custom__ resource types _(e.g. `'routes'`, `'fishingZones'`)_ +- `type`: The resource type provided for by the plugin. These can be either __Standard__ _(Signal K defined)_ or __Custom__ _(user defined)_ resource types _(e.g. `'routes'`, `'fishingZones'`)_ - `methods`: An object implementing the `ResourceProviderMethods` interface defining the functions to which resource requests are passed by the SignalK server. _Note: The plugin __MUST__ implement each method, even if that operation is NOT supported by the plugin!_ @@ -87,14 +72,12 @@ interface ResourceProviderMethods { ``` -### Methods and Resource Provider Implementation: +_**Note: The Resource Provider is responsible for implementing the methods and returning data in the required format!**_ ---- -**The Resource Provider is responsible for implementing the methods and returning data in the required format!** ---- +### Provider Methods: -__`listResources(query)`__: This method is called when a request is made for resource entries that match a specific criteria. +**`listResources(query)`**: This method is called when a request is made for resource entries that match a specific criteria. _Note: It is the responsibility of the resource provider plugin to filter the resources returned as per the supplied query parameters._ @@ -153,7 +136,8 @@ _Returns:_ ``` --- -__`getResource(id, property?)`__: This method is called when a request is made for a specific resource entry with the supplied `id`. If `property` is supplied then the value of the resource property is returned. If there is no resource associated with the id the call should return Promise.reject. + +**`getResource(id, property?)`**: This method is called when a request is made for a specific resource entry with the supplied `id`. If `property` is supplied then the value of the resource property is returned. If there is no resource associated with the id the call should return Promise.reject. - `id`: String containing the target resource entry id. _(e.g. '07894aba-f151-4099-aa4f-5e5773734b99')_ - `property` (optional): Name of resource property for which to return the value (in dot notation). _e.g. feature.geometry.coordinates_ @@ -212,7 +196,8 @@ _Returns:_ ``` --- -__`setResource(id, value)`__: This method is called when a request is made to save / update a resource entry with the supplied id. The supplied data is a complete resource record. + +**`setResource(id, value)`**: This method is called when a request is made to save / update a resource entry with the supplied id. The supplied data is a complete resource record. - `id:` String containing the id of the resource entry created / updated. _e.g. '07894aba-f151-4099-aa4f-5e5773734b99'_ @@ -269,7 +254,8 @@ setResource( ``` --- -__`deleteResource(id)`__: This method is called when a request is made to remove the specific resource entry with the supplied resource id. + +**`deleteResource(id)`**: This method is called when a request is made to remove the specific resource entry with the supplied resource id. - `id:` String containing the target resource entry id. _e.g. '07894aba-f151-4099-aa4f-5e5773734b99'_ @@ -287,9 +273,10 @@ deleteResource( ); ``` -### Registering a Resource Provider: --- +### Registering as a Resource Provider: + To register a plugin as a provider for one or more resource types with the SignalK server, it must call the server's `registerResourceProvider` function for each resource type being serviced during plugin startup. The function has the following signature: @@ -302,7 +289,7 @@ where: _Note: More than one plugin can be registered as a provider for a resource type._ -_Example:_ +_Example: Plugin registering as a routes & waypoints provider._ ```javascript import { ResourceProvider } from '@signalk/server-api' @@ -374,14 +361,11 @@ module.exports = function (app) { ### Methods -A Resource Provider plugin must implement methods to service the requests passed from the server. - -All methods must be implemented even if the plugin does not provide for a specific request. - -Each method should return a __Promise__ on success and `throw` on error or if a request is not serviced. - +A Resource Provider plugin must implement ALL methods to service the requests passed from the server. +Each method should return a __Promise__ on success and `throw` on error, if a request is not serviced or is not implemented. +_Example:_ ```javascript // SignalK server plugin module.exports = function (app) { diff --git a/docs/src/develop/plugins/server_plugin.md b/docs/src/develop/plugins/server_plugin.md new file mode 100644 index 000000000..ada93b592 --- /dev/null +++ b/docs/src/develop/plugins/server_plugin.md @@ -0,0 +1,330 @@ +# Server plugins + + +## Overview + +Signal K Node server plugins are components that extend functionality of the server. +They are installed via the AppStore and configured via the Admin UI. + +Signal K server exposes an interface for plugins to use in order to interact with the full data model, emit delta messages and process requests. + +Plugins can also provide a webapp by placing the relavent files in a folder named `/public/` which the server will mount under `http://{skserver}:3000/{pluginId}`. + +**Note: With the move towards Signal K server providing APIs to perform operations, it is important that you consider how the proposed functionality provided by your plugin aligns with the Signal K architecture before starting development.** + +For example, if the plugin you are looking to develop is providing access to information such as `route,` `waypoint`, `POI`, or `charts` you should be creating a _[Resources Provider Plugin](./resource_provider_plugins.md)_ for the _[Resources API](../openapi/resources_api.md)_. + +Or if you are looking to perform course calculations or integrate with an auotpilot, you will want to review the _[Course API](../openapi/course_api.md)_ documentation prior to commencing your project. + +--- + +## Getting Started with Plugin Development + +### Prerequisites + +To get started developing your plugin you will need the following: +- Signal K server instance on your device _(clone of GIT repository or docker instance)_ +- NodeJs version 18 or later and NPM installed +- SignalK server configuration folder. _(Created when Signal K server is started. default location is `$HOME/.signalk`)_. + +--- + +### Setting up your project + +1. Create a folder for your plugin code and create the necessary file structure: +```bash +mkdir my-pluin +cd my-plugin +npm init # create package.json file +``` + +2. Create the folders to hold your plugin code and webapp UI. +```bash +/my-plugin + /plugin # plugin (javascript code / built typesrcipt code) + index.js + .. + /public # web app UI + index.html + .. + /src # typescript source code (not required if using javascript) + index.ts + ... + package.json +``` + +3. Update the `package.json` to reflect your project structure and add keywords to identify the package for the Signal K AppStore. + +```JSON +{ + "name": "my-plugin", + "version": "1.0.0", + "description": "My signalk plugin", + "keywords": [ + "signalk-node-server-plugin", + "signalk-category-ais" + ], + "signalk-plugin-enabled-by-default": false, + "signalk": { + "appIcon": "./assets/icons/icon-72x72.png", + "displayName": "My Great WebApp" + }, + "main": "plugin/index.js", + ... +} +``` + +4. _Optional:_ Install any dependencies or third party packages. +```bash +npm i +``` + + +### Link your project to Signal K server. + +Once you have developed your plugin code and are ready to debug, the most convenient way is to use `npm link` to link your plugin code to your instance of Signal K server. + +To do this, from within a terminal window: +```bash +# Ensure you are in the folder containing your built plugin code +cd my_plugin_src + +# Create a link (may require the use of sudo) +npm link + +# Change to the Signal K server configuration directory +cd ~/.signalk + +# Link your plugin using the name in the package.json file +#(may require the use of sudo) +npm link my-signalk-plugin-app +``` + +When you start Signal K server the plugin will now appear in the **Plugin Config** screen where it can be configured and enabled. + + +### Debugging + +The simplest way to debug your plugin is to turn on **Enable Debug log** for your plugin in the **Plugin Config** screen. + +Alternatively, you can debug your plugin by starting the Signal K server with the `DEBUG` environment variable: +```bash +$ DEBUG=my-signalk-plugin signalk-server + +# sample output +my-signalk-plugin Plugin stopped +0ms +my-signalk-plugin Plugin started +2ms +``` + +You can also view debug information about the plugin loading process: +```bash +$ DEBUG=signalk:interfaces:plugins signalk-server + +# sample output +signalk:interfaces:plugins Registering plugin my-signalk-plugin +0ms +signalk:interfaces:plugins Could not find options for plugin my-signalk-plugin, returning empty options: +2ms +``` + +#### Sample Data + +For development purposes, it's often nice to have some mocked data. SignalK comes with a synthesized NMEA2000 data set that can be used as sample data. + +You can enable this by adding `--sample-n2k-data` to the command line: +```bash +$ DEBUG=my-signalk-plugin signalk-server --sample-n2k-data +``` +--- + +## Start Coding + +Signal K server plugins are NodeJs `javascript` or `typescript` projects that return an object that implements the `Plugin` interface. + +They are installed into the `node_modules` folder that resides inside the SignalK server's configuration directory _(`$HOME/.signalk` by default)_. + +A Signal K plugin is passed a reference to the Signal K server plugin interface which it can use to interact with the server. + +Folowing are code snippets that can be used as a template for plugin development ensuring the returned Plugin object contains the required functions. + +### Javascript + +Create `index.js` with the following content: + +```javascript +module.exports = (app) => { + + const plugin = { + id: 'my-signalk-plugin', + name: 'My Great Plugin', + start: (settings, restartPlugin) => { + // start up code goes here. + }, + stop: () => { + // shutdown code goes here. + }, + schema: () => { + properties: { + // plugin configuration goes here + } + } + }; + + return plugin; +}; +``` + +### Typescript + +Create `index.js` with the following content: + +```typescript +import { Plugin, PluginServerApp } from '@signalk/server-api'; + +module.exports = (app: PluginServerApp): Plugin => { + + const plugin: Plugin = { + id: 'my-signalk-plugin', + name: 'My Great Plugin', + start: (settings, restartPlugin) => { + // start up code goes here. + }, + stop: () => { + // shutdown code goes here. + }, + schema: () => { + properties: { + // plugin configuration goes here + } + } + }; + + return plugin; +} +``` + +A plugin must return an object containing the following functions: + +- `start(settings, restartPlugin)`: This function is called when the plugin is enabled or when the server starts (and the plugin is enabled). The `settings` parameter contains the configuration data entered via the **Plugin Config** screen. `restartPlugin` is a function that can be called by the plugin to restart itself. + +- `stop()`: This function is called when the plugin is disabled or after configuration changes. Use this function to "clean up" the resources consumed by the plugin i.e. unsubscribe from streams, stop timers / loops and close devices. + +- `schema()`: A function that returns an object defining the schema of the plugin's configuration data. It is used by the server to generate the user interface in the **Plugin Config** screen. + +_Note: When a plugin's configuration is changed the server will first call `stop()` to stop the plugin and then `start()` with the new configuration data._ + +A plugin can also contain the following optional functions: + +- `uiSchema()`: A function that returns an object defining the attributes of the UI components displayed in the **Plugin Config** screen. + +- `getOpenApi()`: Function to return the OpenAPI definition. This should be implemented when your plugin provides HTTP endpoints for clients to call. Doing so makes the OPenAPI definition available in the server Admin UI under `Documentation -> OpenAPI`. + +_Example:_ +```javascript +const openapi = require('./openApi.json'); +... + +plugin.getOpenApi = () => openapi; + +``` + +--- + +## Plugin configuration / Schema + +A plugin's `schema` function must return a [JSON Schema](http://json-schema.org/) object decribing the structure of the configuration data. This is used by the server to render the plugin's configuration screen in the Admin UI. + +The configuration data is stored by the server under the following path `$SIGNALK_NODE_CONFIG_DIR/plugin-config-data/.json`. _(Default value of SIGNALK_NODE_CONFIG_DIR is $HOME/.signalk.)_ + +_Example:_ +```javascript + plugin.schema = { + type: 'object', + required: ['some_string', 'some_other_number'], + properties: { + some_string: { + type: 'string', + title: 'Some string that the plugin needs' + }, + some_number: { + type: 'number', + title: 'Some number that the plugin needs', + default: 60 + }, + some_other_number: { + type: 'number', + title: 'Some other number that the plugin needs', + default: 5 + } + } + }; +``` +JSON Schema approach works reasonably well for simple to medium complex configuration data. + +It should ne noted that some JSON schema constructs are not supported. Refer ([details](https://github.com/peterkelly/react-jsonschema-form-bs4/blob/v1.7.1-bs4/docs/index.md#json-schema-supporting-status)) for details. + +The server supports also [custom plugin configuration components](https://github.com/SignalK/signalk-server/blob/master/WEBAPPS.md), bypassing the automatic configuration format generation. + +The plugin is passed the configuration settings as the first parameter of the `start` function. +```javascript +plugin.start = (settings, restartPlugin) => { + // settings contains the plugin configuration + ... +} +``` + +### UI Schema +The plugin can define `uiSchema` by returning a [uiSchema object](https://github.com/mozilla-services/react-jsonschema-form#the-uischema-object) which is used to control how the user interface is rendered in the Admin UI. + +_Example: Make all data in an object called 'myObject' collapsible: +```javascript +uiSchema['myObject'] = { + 'ui:field': 'collapsible', + collapse: { + field: 'ObjectField', + wrapClassName: 'panel-group' + } +} +``` + +For more information, see [react-jsonschema-form-extras](https://github.com/RxNT/react-jsonschema-form-extras#collapsible-fields-collapsible) + + +### Making a plugin enabled by default +If your plugin does not require any initial configuration, you can enable it to start when the Signal K server is restarted after the plugin is installed. + +To do this add the following to the `package.json`: + +```json + "signalk-plugin-enabled-by-default": true +``` + +--- + +## Logging + +To record deltas sent by the plugin in the server's data log, enable the **Log plugin output** in the plugin configuration screen. + +--- + +## Removing a plugin + +Plugins can be removed via the AppStore. + +You can also remove a plugin manually by: +1. Deleting it's folder under `~/.signalk/node_modules` +1. Deleting it's entry from `~/.signalk/package.json` +1. Run `npm prune` from the `~/.signalk/` directory. + +Alternatively you can: +1. Remove the folder `~/.signalk/node_modules` +1. Run `npm install` from the `~/.signalk/` directory. + + +Finally you can remove the plugin setting file in `~/.signalk/plugin-config-data/`. + +--- + +## Examples + +Following are links to some published SignalK plugins that serve as an example of working plugins: +- [set-system-time](https://github.com/SignalK/set-system-time/blob/master/index.js) +- [Ais Reporter](https://github.com/SignalK/aisreporter/issues) diff --git a/SERVERPLUGINS.md b/docs/src/develop/plugins/server_plugin_api.md similarity index 51% rename from SERVERPLUGINS.md rename to docs/src/develop/plugins/server_plugin_api.md index 3c419003d..fa9e0e7bb 100644 --- a/SERVERPLUGINS.md +++ b/docs/src/develop/plugins/server_plugin_api.md @@ -1,431 +1,4 @@ -# Server plugins -![image](https://user-images.githubusercontent.com/1049678/35973231-5d89ad56-0cdd-11e8-9d89-42313b468520.png) -![image](https://user-images.githubusercontent.com/1049678/35973284-7e1c319c-0cdd-11e8-918f-53bad7a3b706.png) - -## Overview - -Signal K Node server plugins are components that run within the server and add some functionality to the server. You can configure them via the admin UI. - -Plugins -- are installed, activated/disabled and configured from the server admin UI -- start in disabled state - you need to enable them after install -- can be webapps as well: a webapp's `/public/` directory is mounted under server's root under module id http://yourserver/moduleid -- are npm modules that become available to the server when they are published in the [npm repository](https://www.npmjs.com/) with the `signalk-node-server-plugin` keyword - - -The plugin module must export a single `function(app)` that must return an object with the following: -- function `start(configuration, restartPlugin)`: This function will be called when the plugin is activated or when the server starts and the plugin is activated. Here you'll setup your plugin, subscribe to streams, connect to devices or start async loops to fetch data. -- function `stop()`: This function is called when the plugin is deactivated. Here you typically unsubscribe from streams, stop loops that fetch data or close devices. -- property or function `schema`: The object returned from this property or function defines the configuration of the plugin and is used to generate the configuration user interface for the plugin. The value can be an object or `Promise`. -- (optional) property or function `uiSchema`: The returned structure defines additional UI components or effects. The value can be an object or `Promise`. - -Whan a plugin's configuration is changed the server will first call `stop` to stop the plugin and then `start` with the new configuration data. - -## Getting Started with Plugin Development - -To get started with SignalK plugin development, you can follow this guide. - -_Note: For plugins acting as a provider for one or more of the SignalK resource types listed in the specification (`routes`, `waypoints`, `notes`, `regions` or `charts`) please refer to __[RESOURCE_PROVIDER_PLUGINS.md](./RESOURCE_PROVIDER_PLUGINS.md)__ for additional details._ - -### Project setup - -First, create a new directory and initialize a new module: - -``` -$ mkdir my-signalk-plugin -$ cd my-signalk-plugin -$ npm init -``` - -Then, add `signalk-node-server-plugin` keyword to `package.json`, so it looks something like this: - -```javascript -{ - "name": "my-signalk-plugin", - "version": "1.0.0", - "description": "My great signalk plugin", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "ISC", - "keywords": [ - "signalk-node-server-plugin", - "signalk-category-ais" - ] -} -``` - -You should also include at least one App Store category under keywords in your `package.json`. The available categories are: - -- signalk-category-nmea-2000 -- signalk-category-nmea-0183 -- signalk-category-instruments -- signalk-category-chart-plotters -- signalk-category-hardware -- signalk-category-ais -- signalk-category-notifications -- signalk-category-digital-switching -- signalk-category-utility -- signalk-category-cloud -- signalk-category-weather -- signalk-category-deprecated -- signalk-category-hidden (won't show on the App Store) - -Plugins are normally installed in `node_modules` inside SignalK server's configuration directory (`$HOME/.signalk` by default). For development we can use `npm link` to link your module into the modules directory of the server. This way you can develop outside of the source tree of the server and publish your plugin separately. - -First, prepare your plugin for linking: -``` -$ npm link -... - -/usr/local/lib/node_modules/my-signalk-plugin -> /home/me/dev/my-signalk-plugin -``` - -Then from your SignalK server's configuration directory (`$HOME/.signalk/` by default), you link your plugin. - -``` -$ cd ~/.signalk -$ npm link my-signalk-plugin -... - -/home/me/.signalk/node_modules/my-signalk-plugin -> /usr/local/lib/node_modules/my-signalk-plugin -> /home/me/dev/my-signalk-plugin -``` - -### Plugin skeleton - -In your module directory, create `index.js` with the following content: - -```javascript -module.exports = function (app) { - var plugin = {}; - - plugin.id = 'my-signalk-plugin'; - plugin.name = 'My Great Plugin'; - plugin.description = 'Plugin that does stuff'; - - plugin.start = function (options, restartPlugin) { - // Here we put our plugin logic - app.debug('Plugin started'); - }; - - plugin.stop = function () { - // Here we put logic we need when the plugin stops - app.debug('Plugin stopped'); - }; - - plugin.schema = { - // The plugin schema - }; - - return plugin; -}; - -``` - -You should be able to restart the server now. If you set the `DEBUG` environment variable, you can get debug output about the plugin loading process: - -``` -$ DEBUG=signalk:interfaces:plugins signalk-server -``` - -And you should see something like: -``` -signalk:interfaces:plugins Registering plugin my-signalk-plugin +0ms -signalk:interfaces:plugins Could not find options for plugin my-signalk-plugin, returning empty options: +2ms -``` - -After everything loads well, you can debug your own plugin by running: - -``` -$ DEBUG=my-signalk-plugin signalk-server -``` - -You should be able to now enable your plugin in the admin UI (although it doesn't do anything yet). - -You should see something like this in your console: -``` -my-signalk-plugin Plugin stopped +0ms -my-signalk-plugin Plugin started +2ms -``` - -For development purposes, it's often nice to have some mocked data. SignalK comes with a synthesized NMEA2000 data set that can be used as sample data. You can enable this by adding `--sample-n2k-data` to the command line: - -``` -$ DEBUG=my-signalk-plugin signalk-server --sample-n2k-data -``` - -### Deltas - -Most of the time your plugin wants to either process data that the server gathers (e.g. data that is coming from a NMEA 2000 bus or another source) or generate data for the server to consume (e.g. data you capture from a device or the internet). In both cases you'll often work with *deltas*; data structures that describe a change in Signal K's internal data model. - -The [Signal K Delta Specification](http://signalk.org/specification/1.3.0/doc/data_model.html#delta-format) defines deltas that are used to send updates to clients. The delta format describes messages that may contain 1 or more updates - it is an envelope format and you can stuff more than one thing in a message. - -However most of the time a data consumer like a plugin is interested in updates to just a few particular data items. This is why the server's plugin API uses *denormalized deltas* to allow handling data items independently. When you handle the individual items separately you do not need to go through the delta's envelope format to find the item that you have interest in. - -Note that deltas contain absolute values and not a change in the value itself, but denote a change in the data model. - -Denormalized deltas have the following structure: -```javascript - { - path: ..., - value: ..., - context: ..., - source: ..., - $source: ..., - timestamp: ... - } -``` - -The following delta shows a change in `navigation.position` and contains the updated `longitude` and `latitude` for this specific vessel: -```javascript -{ - path: 'navigation.position', - value: { longitude: 24.7366117, latitude: 59.72493 }, - context: 'vessels.urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60', - source: { - label: 'n2k-sample-data', - type: 'NMEA2000', - pgn: 129039, - src: '43' - }, - '$source': 'n2k-sample-data.43', - timestamp: '2014-08-15T19:00:02.392Z' -} -``` -## Paths -To be able to access data in SignalK's data model, there is the notion of *paths*. Paths are like keys in a hashmap or dictionary, but traverse branches. - -Say we have the following data: -```javascript -{ - vessels: { - ... - }, - shore: { - basestations: { - 'urn:mrn:imo:mmsi:2766140': [Object], - 'urn:mrn:imo:mmsi:2766160': [Object], - 'urn:mrn:imo:mmsi:2300048': [Object], - 'urn:mrn:imo:mmsi:2300047': [Object] - } - } -} -``` -We can access all the base stations with the path `shore.basestations` or even a single base station through the path `shore.basestations.urn:mrn:imo:mmsi:2766140`. - -## Contexts -The SignalK data model also provides different contexts. In some cases you want your plugin to only process data that is coming from your own vessel, while in other cases you want to receive data from other contexts (e.g. other vessels, base stations ashore, etc). Contexts allow you to only receive deltas for parts of the data model. - -SignalK server has a shortcut to your own vessels' context through `vessels.self`. Sometimes you can configure the context (like in the subscription example above), so you don't have to filter out the deltas that are coming from your own vessel. - -In other cases you might want to use a specific context (e.g. when you want only deltas from another vessel) and sometimes you want all the deltas, regardless of their context. In the latter case, you can use `*`. - -### Processing data from the server -You can get the value of a path or subscribe to updates for one or more paths (e.g. `navigation.datetime`). - -Since paths are hierarchical, paths can contain wildcards (like `*`). - -Let's start with getting the value of `uuid` inside our `plugin.start` function: - -```javascript -let value = app.getSelfPath('uuid'); -app.debug(value); // Should output something like urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60 -``` - -Secondly, we can subscribe to a stream of updates (deltas) for a specific path. We can create the subscription inside our `plugin.start` function: - -```javascript -var unsubscribes = []; - -plugin.start = function (options, restartPlugin) { - app.debug('Plugin started'); - let localSubscription = { - context: '*', // Get data for all contexts - subscribe: [{ - path: '*', // Get all paths - period: 5000 // Every 5000ms - }] - }; - - app.subscriptionmanager.subscribe( - localSubscription, - unsubscribes, - subscriptionError => { - app.error('Error:' + subscriptionError); - }, - delta => { - delta.updates.forEach(u => { - app.debug(u); - }); - } - ); -}; -``` - -Since we would like to unsubscribe from updates when the plugin stops, we create an empty array that called `unsubscribes`. This array will be populated with unsubscribe functions by the `subscriptionmanager`. When the plugin stops, we can call these functions. - -We create a subscription definition and pass that to `app.subscriptionmanager.subscribe()` as the first argument. -The second argument takes our `unsubscribes` array and the third argument takes a function that will be called when there's an error. The last argument should be a function that handles the delta update; in our case we just debug print the output. - -Now we can add the following to our `plugin.stop` function: - -```javascript -plugin.stop = function () { - unsubscribes.forEach(f => f()); - unsubscribes = []; -}; -``` -Here we loop though all the unsubscribe functions for our subscriptions and call each function. - -Now restart the server and you should see deltas being output in your console. - -## Sending data out from a plugin - -A SignalK plugin can not only read deltas, but can also send data. The following examples show how you can emit NMEA 2000 data. - -### Actisense serial format - -To send a message in the Actisense serial format, simply use `app.emit()` in the following way: -``` javascript - app.emit( - 'nmea2000out', - '2017-04-15T14:57:58.468Z,0,262384,0,0,14,01,0e,00,88,b6,02,00,00,00,00,00,a2,08,00'); -``` - -### Canboat JSON format - -To send data in `canboat` JSON format, use `app.emit()` in the following way: - -```javascript - app.emit('nmea2000JsonOut', { - pgn: 130306, - 'Wind Speed': speed, - 'Wind Angle': angle < 0 ? angle + Math.PI*2 : angle, - 'Reference': "Apparent" - }); -``` - -### Sending a message on NMEA2000 startup - -If you need to send an N2K message out at startup, e.g to get current state from a device: - -```javascript - app.on('nmea2000OutAvailable', () => { - app.emit( - 'nmea2000out', - '2017-04-15T14:57:58.468Z,2,6,126720,%s,%s,4,a3,99,01,00'); - }); -``` - -### Outbound data indication - -If you send data out, you might want to show that also on Server Admin UI, at Connection activity section. - -```javascript - setImmediate(() => - app.emit('connectionwrite', { providerId: plugin.id }) - ) -``` - -## Inbound & Outbound data indicators on Server Admin UI - -Connection activity section on Server Admin UI is showing traffic status of Signal K connections and plugings. There are inbound and outbound icons in front of connection or plugins title. -Icon has three statuses: -- light blue until traffic is detected -- pulsating dark blue when traffic is detected -- solid dark blue when no active traffic is detected - -Inbound data: deltas/s
-Outbound data: msg/s - -Inbound type is always deltas, data coming into the server. Outbound data can vary and depends on plugins structures, generically saying messages (deltas, nmeas sentences, etc...) - -## Schema - -Every plugin defines a `schema` that is used by the server to render the plugins' configuration screen. Within the module, `schema` can either be a property or a function that returns a [JSON Schema](http://json-schema.org/) structure describing the plugin's configuration data. - -For example: -```javascript - plugin.schema = { - type: 'object', - required: ['some_string', 'some_other_number'], - properties: { - some_string: { - type: 'string', - title: 'Some string that the plugin needs' - }, - some_number: { - type: 'number', - title: 'Some number that the plugin needs', - default: 60 - }, - some_other_number: { - type: 'number', - title: 'Some other number that the plugin needs', - default: 5 - } - } - }; -``` -JSON Schema approach works reasonably well for simple to medium complex configuration data. Some JSON schema constructs are not supported ([details](https://github.com/peterkelly/react-jsonschema-form-bs4/blob/v1.7.1-bs4/docs/index.md#json-schema-supporting-status)). The server supports also [custom plugin configuration components](https://github.com/SignalK/signalk-server/blob/master/WEBAPPS.md), bypassing the automatic configuration format generation. - -The configuration is passed in to the `plugin.start` function as the first argument: - -```javascript -plugin.start = function (options, restartPlugin) { - // options contains the plugin configuration - ... -} -``` - -### UI Schema -The `uiSchema` value is used by the user interface to provide information on how the configuration form should rendered and should conform [the uiSchema object](https://github.com/mozilla-services/react-jsonschema-form#the-uischema-object). - -In the Admin UI, you can make sections of your configuration collapsible. E.g. to make all data in an object called 'myObject' collapsible: -```javascript -uiSchema['myObject'] = { - 'ui:field': 'collapsible', - collapse: { - field: 'ObjectField', - wrapClassName: 'panel-group' -} -``` - -For more information, see [react-jsonschema-form-extras](https://github.com/RxNT/react-jsonschema-form-extras#collapsible-fields-collapsible) - - -## Restarting a plugin -As you might have seen, the second argument of `plugin.start` is called `pluginRestart`. This is a function that is passed to be able to restart the plugin. A plugin can call `restartPlugin()` to restart itself. - -## Removing a plugin - -If you have have installed the server from npm and have used the setup script the plugins that you have installed yourself are installed under `~/.signalk/node_modules` and listed in `~/.signalk/package.json`. If you want to remove a plugin you should remove it from `package.json` and then either run `npm prune` in `~/.signalk/` directory or wipe `~/.signalk/node_modules` and run `npm install` in `~/.signalk/`. - -Plugin settings are stored in `~/.signalk/plugin-config-data/` and can just delete the settings file for the plugin you are removing. - -## Making a plugin enabled by default -If your plugin does not require any initial configuration, you can enable it by default. Add the following property to your `package.json`: - -```json - "signalk-plugin-enabled-by-default": true -``` - -## Plugin configuration files - -A plugin's configuration data is saved at `SIGNALK_NODE_CONFIG_DIR/plugin-config-data/.json`. You can disable a plugin by removing its configuration file. - -## Logging - -The plugin configuration screen has an option for turning on logging per plugin. Enabling logging will cause any deltas sent by the plugin to be logged in the server's data log. - -## Examples - -Some easier to understand examples of SignalK plugins are: -- [set-system-time](https://github.com/SignalK/set-system-time/blob/master/index.js) -- [Ais Reporter](https://github.com/SignalK/aisreporter/issues) # Server API for plugins @@ -729,6 +302,49 @@ app.registerDeltaInputHandler((delta, next) => { }) ``` +### `app.notify(path, value, pluginId)` + +Notifications API interface method for raising, updating and clearing notifications. + + - `path`: Signal K path of the notification + + - `value`: A valid `Notification` object or `null` if clearing a notification. + + - `pluginId` The plugin identifier. + + +To raise or update a for a specified path, call the method with a valid `Notification` object as the `value`. + +- returns: `string` value containing the `id` of the new / updated notification. + +_Example:_ +```javascript +const alarmId = app.notify( + 'myalarm', + { + message: 'My cutom alarm text', + state: 'alert' + }, + 'myAlarmPlugin' +) + +// alarmId = "ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a" +``` + +To clear (cancel) a notification call the method with `null` as the `value`. + +- returns: `void`. + +_Example: Clear notification_ +```javascript +const alarmId = app.notify( + 'myalarm', + null, + 'myAlarmPlugin' +) +``` + + ### `app.registerResourceProvider(resourceProvider)` See [`RESOURCE_PROVIDER_PLUGINS`](./RESOURCE_PROVIDER_PLUGINS.md) for details. diff --git a/WORKING_WITH_COURSE_API.md b/docs/src/develop/rest-api/course_api.md similarity index 100% rename from WORKING_WITH_COURSE_API.md rename to docs/src/develop/rest-api/course_api.md diff --git a/docs/src/develop/rest-api/open_api.md b/docs/src/develop/rest-api/open_api.md new file mode 100644 index 000000000..7c0fe7092 --- /dev/null +++ b/docs/src/develop/rest-api/open_api.md @@ -0,0 +1,13 @@ +# REST APIs + +REST APIs enact operations (i.e. activate a route, advance to next point, etc) and are available under the path `/signalk/v2/api`. + +These APIs provide a standardised way for applications and plugins perform operations, ensuring values are maintained in all related paths. + + +| API | Endpoint | +|--- |--- | +| [Course](./course_api.md) | `/signalk/v2/api/vessels/self/navigation/course` | +| [Resources](./resources_api.md) | `/signalk/v2/api/resources` | +| _[Notifications](https://github.com/SignalK/signalk-server/pull/1560)_ | _(proposed)_ | +| _[Autopilot](https://github.com/SignalK/signalk-server/pull/1512)_ | _(proposed)_ | diff --git a/WORKING_WITH_RESOURCES_API.md b/docs/src/develop/rest-api/resources_api.md similarity index 93% rename from WORKING_WITH_RESOURCES_API.md rename to docs/src/develop/rest-api/resources_api.md index 832903d71..0c33d68cc 100644 --- a/WORKING_WITH_RESOURCES_API.md +++ b/docs/src/develop/rest-api/resources_api.md @@ -5,9 +5,9 @@ The SignalK specification defines a number of resources (routes, waypoints, notes, regions & charts) each with its own path under the root `resources` path _(e.g. `/signalk/v2/api/resources/routes`)_. -The SignalK server validates requests to these resource paths and passes them to a [Resource Provider plugin](RESOURCE_PROVIDER_PLUGINS.md) for storage and retrieval. +Additionally, the `/resources` path can be used to host other user defined resource types, each grouped within its own folder _(e.g. `/signalk/v2/api/resources/fishingZones`)_. - _You can find plugins in the `App Store` section of the server admin UI._ +The _Resources API_ validates requests to these resource paths and passes them to a [Resource Provider plugin](../plugins/resource_provider_plugins.md) for storage and retrieval. Client applications can then use `HTTP` requests to these paths to store (`POST`, `PUT`), retrieve (`GET`) and remove (`DELETE`) resource entries. @@ -110,7 +110,7 @@ _Note: the submitted resource data is validated against the OpenApi schema defin --- ## Multiple Providers for a Resource Type -The ResourcesAPI will allow for multiple plugins to register as a provider fo a resource type. +The Resources API will allow for multiple plugins to register as a provider for the same resource type. When this scenario occurs the server services request in the following ways: diff --git a/WEBAPPS.md b/docs/src/develop/webapps.md similarity index 96% rename from WEBAPPS.md rename to docs/src/develop/webapps.md index 294ead8c1..4f360d55a 100644 --- a/WEBAPPS.md +++ b/docs/src/develop/webapps.md @@ -13,11 +13,11 @@ There are four ways to add web-based user interfaces to the Signal K Server: **Embedded Webapps** are installed and listed like Standalone Webapps, but they open **embedded in the server admin UI**, leaving the header and footer available so that the user can perform login, restart server and use the admin UI's sidebar to navigate to a different part of the admin UI. -![vesselpositions](img/vesselpositions.png?raw=true "Vesselpositions Embedded Webapp") +![vesselpositions](../img/vesselpositions.png?raw=true "Vesselpositions Embedded Webapp") **Embedded Plugin Configuration Forms** are related to server plugins. A plugin provides a schema for the configuration data it uses. The server uses the schema - a description of the structure of the data used to configure the plugin - to generate configuration forms for the installed plugins. The generated form is often lackin in usability due to it being totally generic. To address this a plugin can provide its own **Configuration Form** that the server embeds within the Plugin Configuration of the server admin UI. -![calibration](img/calibration.png?raw=true "Calibration plugin configuration form") +![calibration](../img/calibration.png?raw=true "Calibration plugin configuration form") **Embedded Components** are individual UI components provided by a plugin or a webapp. They are currently available at the bottom of the Webapps page of the admin UI. The idea with embedding components would be to allow a plugin to add individual components to different parts of the server, but this is more an idea than a fully implemented feature at this stage. diff --git a/img/calibration.png b/docs/src/img/calibration.png similarity index 100% rename from img/calibration.png rename to docs/src/img/calibration.png diff --git a/docs/src/img/resource_provider.dia b/docs/src/img/resource_provider.dia new file mode 100644 index 0000000000000000000000000000000000000000..c0b1b3cda62084827213b1abcc07d5d473f146fd GIT binary patch literal 2378 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 literal 0 HcmV?d00001 diff --git a/docs/src/img/resource_provider.svg b/docs/src/img/resource_provider.svg new file mode 100644 index 000000000..aa71e14aa --- /dev/null +++ b/docs/src/img/resource_provider.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + Client + + + local + storage + + + + + route + wpt + + + + + + + + + + Resources API + + + + + + + + + + Provider + Plugins + + + + + chart + + + + + + wpt + + + + + + + + + + + + + + + on-line + service + + + + + + + + + + + + + + + + + + Provider I/F + + + + + + + + + + + + + diff --git a/docs/src/img/server_only.dia b/docs/src/img/server_only.dia new file mode 100644 index 0000000000000000000000000000000000000000..8dfe1cb9e2c870119e2d711da9155d04d3fd57f0 GIT binary patch literal 4572 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 literal 0 HcmV?d00001 diff --git a/img/vesselpositions.png b/docs/src/img/vesselpositions.png similarity index 100% rename from img/vesselpositions.png rename to docs/src/img/vesselpositions.png diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 000000000..b160f89c1 --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,24 @@ + + + + +## Introduction +Signal K Server is designed to act as a central hub on a vessel where it makes data available to: + +1. Apps on your phone and tablet devices +1. Web applications it can host. + +Signal K Server implements the _[Signal K Data Standard](https://signalk.org/specification/latest/)_ to facilitate communication and integration among different onboard systems allowing data to be exchanged between NMEA0183, NMEA2000 and other marine protocols. +It can also act as data hub for additional sensors. _(Visit the [Signal K SensESP project](https://github.com/SignalK/SensESP) for [ESP32](https://en.wikipedia.org/wiki/ESP32) for details.)._ + +Additionally it makes this data available in JSON format to applications and devices over a standard WiFi, LAN or Internet connection via REST APIs and websocket connections. + +Its web-based user interface allows for easy configuration and management as well as providing a launchpad for Web Apps. + + +Signal K Server is also extensible, providing a plugin framework which allows developers to create and publich solutions that integrate and extend its capabilities. These solutions can be published to **npmjs** and installed via the **App Store** in the server's web-based user interface. + +![Server only setup](img/server_only.png) + + + diff --git a/docs/src/installation/command_line.md b/docs/src/installation/command_line.md new file mode 100644 index 000000000..000630e6e --- /dev/null +++ b/docs/src/installation/command_line.md @@ -0,0 +1,48 @@ + + +## Command line options + +| Option | Description | +|--- |--- | +| `-c` | same as env variable `SIGNALK_NODE_SETTINGS` | +| `-s` | same as env variable `SIGNALK_NODE_CONFIG_DIR` | +| `--sample-nmea0183-data` | starts signalk-server with sample NMEA0183 data. | +| `--sample-n2k-data` | starts signalk-server with sample NMEA2000 data. | +| `--override-timestamps` | overrides timestamps in the sample NMEA2000 data with current date and time. Doesn't apply nor makes a difference to NMEA0183 sample data. | +| `--securityenabled` | one of the ways to enable security. For a fresh install this makes the Admin UI force the user to create an admin account before he/she can continue further into the UI. See [SECURITY.md#enabling-security](https://github.com/SignalK/signalk-server/blob/master/SECURITY.md#enabling-security) for further details. | + + + +## Environment variables + +| Variable | Description | +|--- |--- | +| `PORT` | override the port for http/ws service (default is 3000). | +| `SSLPORT` | override the port for https/wss service. If defined activates ssl as forced, default protocol (default is 3443). | +| `PROTOCOL` | override http/https where the server is accessed via https but the server sees http (for example when Heroku handles https termination) | +| `EXTERNALPORT` | the port used in /signalk response and Bonjour advertisement. Has precedence over configuration file. | +| `EXTERNALHOST` | the host used in /signalk response and Bonjour advertisement. Has precedence over configuration file. | +| `FILEUPLOADSIZELIMIT` | override the file upload size limit (default is '10mb'). | +| `NMEA0183PORT` | override the port for the NMEA 0183 over tcp service (default is 10110). | +| `TCPSTREAMPORT` | override the port for the Signal K Streaming (deltas) over TCP. | +| `TCPSTREAMADDRESS` | override the address the Signal K Stream (deltas) over TCP is listening on. | +| `DISABLEPLUGINS` | disable all plugins so that they can not be enabled (default is false). | +| `DEFAULTENABLEDPLUGINS` | a comma separated list of plugin ids that are overridden to be enabled by default if no setttings exist. lower preference than `DISABLEPLUGINS`. | +| `PLUGINS_WITH_UPDATE_DISABLED` | a comma separated list of plugin that will not be updated. | +| `SECURITYSTRATEGY` | override the security strategy module name. | +| `WSCOMPRESSION` | compress websocket messages (default is false). | +| `MAXSENDBUFFERSIZE` | the maximum number of bytes allowed in the server's send buffer of a WebSocket connection. The connection will be terminated if this is exceeded. Guards against slow or dysfunctional clients that can not cope with the message volume (default is 512 * 1024 bytes). | +| `SIGNALK_SERVER_IS_UPDATABLE` | allows the server to be updated through the GUI even if it is not installed in the standard paths (default is false). if set to true, the server must have been installed with `npm install -g signalk-server`. | +| `SIGNALK_DISABLE_SERVER_UPDATES` | disables server updates in the GUI (default is false). | +| `DEBUG` | a comma-separated list of tags for debugging the specified module (For example: signalk-server*,signalk-provider-tcp). Can now be defined directly in the graphical interface. More help on how to use the debug here: `https://www.npmjs.com/package/debug#wildcards` | +| `IS_IN_DOCKER` | used to tell the server it is in Docker and not normally updateable (default is false). | +| `NPMREGISTRYTIMEOUT` | how long to wait for the registry when retrieving the App Store listing (default is 20s). | +| `SECRETKEY` | a secret string used to generate an authentication token (the internal default autogenerated is a string of 512 hex chars like 'ef8307a4c7a4bd7...309d947bca3') | +| `ALLOW_DEVICE_ACCESS_REQUESTS` | used when a device needs to gain access to a secured Signal K server (default is true) (https://signalk.org/specification/1.4.0/doc/access_requests.html). | +| `ALLOW_NEW_USER_REGISTRATION` | (default is true). | +| `ADMINUSER` | force a account for admin user (username:password format). | +| `PRESERIALCOMMAND` | command to run before opening a serial port. | +| `SIGNALK_NODE_SETTINGS` | override the path to the settings file. | +| `SIGNALK_NODE_CONFIG_DIR` | override the path to find server configuration. Includes all run-time changing content: configuration files, plugins, plugin configuration files, webapps, and so forth. | + + diff --git a/docs/src/installation/install.md b/docs/src/installation/install.md new file mode 100644 index 000000000..d3674f379 --- /dev/null +++ b/docs/src/installation/install.md @@ -0,0 +1,61 @@ +# Getting Started + +Signal K Server can be installed on a variety of devices and operating systems. + +See the relevant sections below based on your target system. + + +### Prerequisites: + +_Signal K server requires NodeJs version >= 18 be available on the target system._ + +--- + +## Installation using NPM: + +To install Signal K Server directly from NPM: + +_Linux / macOS:_ +``` +$ sudo npm install -g signalk-server +``` + +Once installation is complete, generate a settings file and configure the server to start automatically, enter the following in a terminal window: +``` +$ sudo signalk-server-setup +``` + +If you shoose not to use `signalk-server-setup` you can start the server by entering the following in a terminal window: +``` +signalk-server +``` + +## Raspberry Pi Installation + +To install Signal K server on a RaspberryPi running Raspberry Pi OS, use the link below. +This document details how to install Signal K Server as well as supporting services. + +* [Installation on a RaspberryPi](raspberry_pi_installation.md) + + +## Installing on Windows + +For installation on a device with Windows please use the [Signal K installer for Windows](https://github.com/SignalK/signalk-server-windows). + + +## Using Docker: + +A Signal K Server Docker image is available on Docker Hub. + +You can start a local server on port 3000 with demo data with + +``` +docker run --rm signalk/signalk-server --publish 3000:3000 +``` + +See [Docker quickstart instructions](https://github.com/SignalK/signalk-server/blob/master/docker/README.md#quickstart) for details about how to configure and use docker on your vessel. + + + + + diff --git a/docs/src/installation/raspberry_pi_installation.md b/docs/src/installation/raspberry_pi_installation.md new file mode 100644 index 000000000..e6c2a8c8a --- /dev/null +++ b/docs/src/installation/raspberry_pi_installation.md @@ -0,0 +1,137 @@ +# Installation on Raspberry Pi + + +Installation of Signal K server can consists of the following steps: + +1. Install the tools and libraries required to run the Signal K server (the dependencies) +1. Install a Signal K Server to process the Signal K data +1. Run the Setup script. + +_**Important:** If you are updating a Signal K server installation, especially if upgrading an installed version <= 1.40.0, [please check here first](./updating.md)._ + +### Prerequisites: + +Raspberry Pi OS is installed on the device. + +For instructions on how to install the operating system [can be found here.](https://www.raspberrypi.org/documentation/computers/getting-started.html#setting-up-your-raspberry-pi). + +_Note: It is also possible to perform a "headless install" using `Raspberry Pi OS Lite` since the GUI for Signal K is browser based._ + + +Once the OS installation has been completed, you are ready to commence. + +--- + +## Install the Dependencies + +1. Log in to the RPi Desktop and open a terminal. + +1. Update the list of install packages. + ``` + $ sudo apt update + ``` + +1. Install NodeJS and npm. + ``` + $ curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - + $ sudo apt-get install -y nodejs + ``` + +1. Ensure that we're using the latest version of npm. + ``` + $ sudo npm install -g npm@latest + ``` + + Use the following command to check the versions of NodeJS and npm installed. + + ``` + node -v && npm -v + ``` + Ensure the reported versions are equal to or greater than `v18.15.0, 9.5.0` respectively. + +1. Install a Bonjour (mDNS) service for Linux called Avahi, which allows Apps and other network devices to Discover the Signal K server. + ``` + $ sudo apt install libnss-mdns avahi-utils libavahi-compat-libdnssd-dev + ``` + +## Install Signal K Server + +``` +$ sudo npm install -g signalk-server +``` + +You can test that installation was successful by starting the server using some +sample data. + +``` +$ signalk-server --sample-nmea0183-data +``` + +You should see the terminal output "signalk-server running at 0.0.0.0:3000" as shown below... +``` +$ signalk-server --sample-nmea0183-data +Using sample data from /usr/lib/node_modules/signalk-server/samples/plaka.log +signalk-server running at 0.0.0.0:3000 +``` + +The Signal K Node Server is now reading and publishing sample NMEA0183 data from the specified file. + +Using a Web browser enter the following URL: `http://127.0.0.1:3000/signalk` which should display the following information indicating the server is up and running. + +```JSON +{ + "endpoints":{ + "v1":{ + "version":"2.0.0", + "signalk-http":"http://127.0.0.1:3000/signalk/v1/api/", + "signalk-ws":"ws://127.0.0.1:3000/signalk/v1/stream", + "signalk-tcp":"tcp://127.0.0.1:3858" + } + }, + "server":{ + "id":"signalk-server-node", + "version":"2.0.0" + } +} +``` + +## Run the Setup Script + +Now that you have Signal K server installed, you will want to generate a settings file for your vessel +and configure your RPi to start the server automatically. To do this run the setup script by entering the following command and follow the prompts. + +``` +$ sudo signalk-server-setup +``` + +You can re-run this command at any time in the future to change the settings. + +_Note: The setup script will enable security which will require you to `Login`` from the Admin UI. +Clicking `Login` for the first time will prompt you to create a user and password._ + +Signal K server will now be started automatically when your RPi boots up. + + +If you want to temporarily stop the Signal K server, you can do so by entering the following commands: +``` +$ sudo systemctl stop signalk.service +$ sudo systemctl stop signalk.socket +``` + +To start Signal K server again enter the following commands: +``` +$ sudo systemctl start signalk.service +$ sudo systemctl start signalk.socket +``` + +To stop Signal K server from starting automatically enter the following commands: +``` +$ sudo systemctl disable signalk.service +$ sudo systemctl disable signalk.socket +``` + + +You are ready to now **[configure](../setup/configuration.md)** your installation and connect data from devices on your boat. + + + diff --git a/docs/src/installation/updating.md b/docs/src/installation/updating.md new file mode 100644 index 000000000..5ecf6a9b3 --- /dev/null +++ b/docs/src/installation/updating.md @@ -0,0 +1,55 @@ +# Updating your Raspberry Pi and Signal K Node Server + +Much as we would all like to be sailing 365 days a year, the reality is that we are down on our boats as and when we can and weeks and months can go by between using your Raspberry Pi and Signal K Node Server. Of course when you get back to the boat everything will continue to operate as it did when you left it, but Signal K (and the Raspberry Pi) are constantly evolving and if you wish to update to the latest builds, then you need to follow this process. + +Please bear in mind that the longer between updates the more data that will have to be downloaded and the longer the process will take. We would seriously recommend taking your Raspberry Pi home and updating it on a network with good broadband speed. + +The updates that need to be done can be broken down in to four key areas... + +1. The Raspberry Pi Linux Distro +1. Node and NPM +1. The Signal K Node Server +1. Any Signal K Apps + +## Update Raspberry Pi Linux Distro + +Open the terminal window and enter the following commands... + + $ sudo apt update + $ sudo apt dist-upgrade + +If you have not updated for a while, then the above commands may take a while to finish, just be patient and make sure everything completes correctly. After the two commands have completed Reboot your Raspberry Pi. + +## Update Node and NPM + +Open the terminal window and enter the following commands... + + $ sudo apt upgrade nodejs + $ sudo npm install npm@latest -g + +This will update Nodejs and NPM to the version required by the server. + +## Update Signal K Node Server + +As seen in the picture above there was an update available at ”Server => Update” +Click on that row and You will open next window + +![server_update](https://user-images.githubusercontent.com/16189982/51401114-4c1cda80-1b4a-11e9-8f1e-d12a9db542af.png) + +Click on update and the installation will start + +**Please note !** + +Starting with Signal K server version 2.0.0 the recommended Node.js version is 18. [18 is the active LTS](https://nodejs.org/en/about/releases/) (Long Term Support) version in 2023. +So if you are updating from a Signal K version <= V 1.40.0 [check out the Wiki](https://github.com/SignalK/signalk-server/wiki/Updating-to-Node.js-18) on how to. + +![server_during_update](https://user-images.githubusercontent.com/16189982/51401178-71a9e400-1b4a-11e9-86b9-1148442ba59c.png) + +After the installation restart the server. + +## Any Signal K Apps + +The apps are updated via the Admin UI ”Appstore => Updates” clicking on the ”download cloud” . After installation do a server restart. + + +Now your Signal K Node Server is updated. diff --git a/SECURITY.md b/docs/src/security.md similarity index 100% rename from SECURITY.md rename to docs/src/security.md diff --git a/docs/src/setup/branding.md b/docs/src/setup/branding.md new file mode 100644 index 000000000..11a0f9e1d --- /dev/null +++ b/docs/src/setup/branding.md @@ -0,0 +1,7 @@ + + +### Logo + +You can change the admin application's top left logo by placing a SVG file named `logo.svg` in the settings directory (default: $HOME/.signalk/). + + diff --git a/docs/src/setup/configuration.md b/docs/src/setup/configuration.md new file mode 100644 index 000000000..f7b24c5fc --- /dev/null +++ b/docs/src/setup/configuration.md @@ -0,0 +1,93 @@ +## Configuring Signal K Server + +Signal K server provides an Admin UI to allow you to easily configure your installation. + +Open the Admin UI by opening a web browser on the device where Signal K server is installed and (if the defaults have not been changed) navigate to `http://localhost:3000`. + +### Create an Admin account + +If you ran the `signalk-server-setup` script you will be presented with a login screen. + +- Click `Login` for the first time will prompt you to create a user and password. + +Otherwise from the menu select `Security -> Users`: + +From the **Users** screen: +1. Click **Add** +1. Enter a **UserID** +1. Enter a **password** and confirm it +1. In **Permissions** select **Admin** +1. Click **Apply**. + +_Besides being good practise from a security standpoint, when logged in with Admin account the `Restart` button is available making it easy to restart the server._ + +After creating the account, the server needs to be restarted. + +How you restart the server will depend on the installation type (i.e. installed from NPM, embedded on a commercial device, etc). Power cycling the device that Signal K Server is always an option. + +### Set up data connections + +To get data into Signal K server you will need to configure one or more data connections via the `Server -> Data Connections` menu option. + +From this screen you can add connections for various data types including: +- NMEA2000 +- NMEA0183 +- Signal K +- SeaTalk +- File Stream + +The options presented will vary based on the data type chosen. + +**_NMEA2000_**: The processing of NMEA2000 PGNs is done by [n2k-signalk](https://github.com/SignalK/n2k-signalk) via [canboatjs](https://github.com/canboat/canboatjs). + +Please refer to the [Canboat PGN database](https://canboat.github.io/canboat/canboat.html) to see what PGNs are supported. + + +**_NMEA0183_**: The processing of NMEA0183 sentences is done by [nmea0183-signalk](https://github.com/SignalK/signalk-parser-nmea0183) + + +### Install Plugins and Webapps + +Signal K server functionality can be extended through the use of plugins and webapps. + +Plugins typically extend data acquisition, data processing or enable operations (i.e. protocol conversion, etc). + +Webapps provide a user interface to view / interact with data or perform operations enabling full featured solutions such as a Chartplotter. + +_Pictured below: Freeboard-SK webapp:_ +![image](https://user-images.githubusercontent.com/5200296/226479871-6f3769af-4fa4-43d6-871f-4a54bec372fa.png) + +To install, update or remove plugins and webapps select `Appstore` from the menu. + +Select: + +- `Installed` to view a list of plugins and webapps currently installed. + +- `Updates` to view a list of plugins and webapps that have updates available. + +- `Available` to view a list of available plugins and webapps that can be filtered by categry. + +The entries displayed with a blue icon are webapps, those with a green icon are plugins and those with both blue and green icons are plugins with a webapp providing a user interface. + +_Note: An internet connection is required for Signal K Server to list, install and update AppStore listings._ + +To install, click the `download` icon on the right hand side of the entry. + +To view a list of Plugins and Webapps directly from the NPM registry select the links below. + + * [Plugins](https://www.npmjs.com/search?q=keywords%3Asignalk-node-server-plugin) + * [Webapps](https://www.npmjs.com/search?q=keywords:signalk-webapp) + +**_Note: A restart of the Signal K server is required after plugin(s) or / webapp(s) have been installed.or updated._** + +Click the `Restart` button at the top right of the screen to restart the server. + +After the server has restarted, the installed plugin(s) can be configued by selecting `Server -> Plugin Config` menu entry. + + +### Trouble shooting and the Server Log + +If things are not working as expected after installing a plugin or webapp, select `Server -> Server Log` to view the server's log. If the errors logged there are not providing the information required, you can enable debugging for individual components and plugins by toggling the switch to activate them. + +Enabling the `Remember debug setting` ensure your selections are remebered after a server restart. + diff --git a/docs/src/support/help.md b/docs/src/support/help.md new file mode 100644 index 000000000..8df5c317e --- /dev/null +++ b/docs/src/support/help.md @@ -0,0 +1,19 @@ +## Help & Support + +Signal K has an friendly and helpful community where you can find support and assistance whether you are trouble shooting issues or just have a question. + + +**Join the discussion:** + +- [**FAQ: Frequently Asked Questions**](https://github.com/SignalK/signalk-server/wiki/FAQ:-Frequently-Asked-Questions) + + - [How do I integrate with NMEA2000 (CAN bus)](https://github.com/SignalK/signalk-server/wiki/FAQ:-Frequently-Asked-Questions#how-do-i-integrate-with-nmea2000-can-bus). + + - [Installing & Updating NodeJS](https://github.com/SignalK/signalk-server/wiki/Installing-and-Updating-Node.js) + +- [**GitHub Discussions**](https://github.com/SignalK/signalk/discussions/) + +- [**Slack**](https://signalk-dev.slack.com/). _(New to Signal K Slack? Then [click here](https://join.slack.com/t/signalk-dev/shared_invite/zt-1leccop43-KrU7G6yBq9g91KXjZtNg1g) for an invite.)_ + + + diff --git a/docs/src/support/sponsor.md b/docs/src/support/sponsor.md new file mode 100644 index 000000000..428b96fab --- /dev/null +++ b/docs/src/support/sponsor.md @@ -0,0 +1,8 @@ + + +**Open Collective** + +Signal K is all about creating open and interoperable marine data systems. We have created an open specification for representing marine related data, APIs and interfacing to use the data and free software that you can download and use. + +If you would like to contribute and help fund continued development [visit Signal K on Open Collective](https://opencollective.com/signalk). + diff --git a/docs/src/whats_new.md b/docs/src/whats_new.md new file mode 100644 index 000000000..ab1856479 --- /dev/null +++ b/docs/src/whats_new.md @@ -0,0 +1,74 @@ +# What's new in Version 2. + +Signal K server version 2 introduces new REST APIs designed to perform specific operations (e.g. set destination, advance to next point, etc). + +Using these APIs will ensure that the underlying Signal K data model has values set in all related paths associated with the operation, providing a cohesive data set that can be reliably used by all connected applications and devices. + +These new APIs are mounted under `/signalk/v2/api` and coexist with `/signalk/v1/api` paths, their definition available as OpenApi documents accessible via the server admin user interface. + +_**It is important to note that the Signal K data paths maintained by the REST APIs should NOT be updated directly by any other plugin or process. In the case where an API provides an `interface`, it should be used by plugins to perform operations.**_ + +With the move towards operation based APIs some paths are flagged for deprecation. Please see [Deprecations](#deprecations) section below for details. + +--- + +### Course API + +Provides common course operations via `/signalk/v2/api/vessels/self/navigation/course`. + +See the [Course API](openapi/course_api.md) for details. + +--- + +### Resources API + +Provides operations for creating, maintaining and accessing resources such as routes, waypoints, etc via `/signalk/v2/api/resources`. + +See the [Resources API](openapi/resources_api.md) for details. + + +--- + +## Notes for Developers: + + +### NMEA0183 / NMEA2000 message processing + +As stated previously the Course API ensures a cohesive data set by ensuring values are set in ALL related Signal K paths for the given operation. + +An NMEA data streams are also a source of course data which, in prior versions, this data has been used to directly populate various Signal K paths (e.g. `n2k-signalk` and `nmea0183-signalk` plugins). + +**These plugins (and others like them) should use the interface provided by the Course API to set / clear a destination.** + +In practise this would mean collecting and processing data received from the relevant sentences / pgns to compose a Course API request. + + +### Connection with v1 Full Data Model + +In the current implementation there is still only a single `stream` endpoint and all values emitted as deltas will continue appear there. + +_It is important to note though, that `version 2` deltas will not populate the `full data model`. This means that these values will only be available via the API._ + + +### Stream updates + +The new APIs emit values in the deltas that are object valued. + +For example, when a course is activated deltas will be emitted for `navigation.course.previousPoint`, `navigation.course.nextPoint` and `navigation.course.activeRoute` where the value is an object and not as individual path / values. + +_e.g. `navigation.course.previousPoint`_ +```JSON +{ + "path": "navigation.course.previousPoint", + "value": { + "position": { + "latitude": 65.0, + "longitude": 3.754 + }, + "type": "Location", + "href": null + } +} +``` + + diff --git a/raspberry_pi_installation.md b/raspberry_pi_installation.md deleted file mode 100644 index ea4fc3248..000000000 --- a/raspberry_pi_installation.md +++ /dev/null @@ -1,308 +0,0 @@ -# Getting Started - -If you are updating the Signal K server, especially moving from a version <= 1.40.0, [please check here.](https://github.com/SignalK/signalk-server/blob/master/raspberry_pi_installation.md#update-signal-k-node-server) - -Instructions to install the operating system, Raspberry Pi OS, [is found here.](https://www.raspberrypi.org/documentation/computers/getting-started.html#setting-up-your-raspberry-pi). - -If you are familiar with a "headless install" using Raspberry Pi OS Lite it's also possible since the GUI for Signal K is browser based. - -After everything has been configured, using the GUI install, you should be presented with the RPi Desktop up and running, just waiting for you to install Signal K. - -# Installing Signal K - -The RPi installation of Signal K can be broken down in to three distinct steps; - -1. Install the tools and libraries required to run the Signal K server (the dependencies) -1. Install a Signal K Server to process the Signal K data; we will install the Node-Server -1. Install the Web Apps (consumers) that can read Signal K data - -## Step 1 - Install the Dependencies - -Raspbian, the Linux distribution for RPi, is based on Debian, which has a powerful installation tool called "apt", which we will use to install some of the dependencies and tools required. Before you use "apt" it is always recommended to update its index of repositories (websites that store Linux software). To do that use the following command in a terminal session... - - $ sudo apt update - -Now, install node and npm - - $ curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - - $ sudo apt-get install -y nodejs - -We want to make sure that we're using the latest version of npm: - - $ sudo npm install -g npm@latest - -Use the following command to check the install - - node -v && npm -v - -which will report, something like, `v18.15.0, 9.5.0` which are the versions of "node" and "npm" - -Finally we need to install a Bonjour (mDNS) service for Linux called Avahi, which allows Apps and other network devices to Discover the Signal K server. To do this we will use "apt" again ... - - $ sudo apt install libnss-mdns avahi-utils libavahi-compat-libdnssd-dev - - -## Step 2 - Install Signal K Server - -A Signal K Server is the central hub of a Signal K system; reading and converting the boat's NMEA data (or Signal K data from a gateway), which it then stores and logs, before outputting the Signal K data to web apps (consumers) on the boat or sending it off the boat to other vessels or Cloud services. - -Install the Node Server using npm - - $ sudo npm install -g signalk-server - -### Step 2.1 OPTIONAL test the server with sample data - -Now you can start the server. Type... - - $ signalk-server --sample-nmea0183-data - -You should see the terminal output "signalk-server running at 0.0.0.0:3000" as shown below... - - $ signalk-server --sample-nmea0183-data - Using sample data from /usr/lib/node_modules/signalk-server/samples/plaka.log - signalk-server running at 0.0.0.0:3000 - -As the file name suggests, the Signal K Node Server is now reading NMEA Data from a Demo File and is ready to pass that data to any device that wants it. To get your first taste of what Signal K data looks like, open the Web browser on your RPi and type this URL in to the address bar "http://127.0.0.1:3000/signalk". This directs the browser to the Signal K server on the RPi (127.0.0.1 is your local Loopback address) and you should see the following info on the screen... - - {"endpoints":{"v1":{"version":"1.alpha1","signalk-http":"http://127.0.0.1:3000/signalk/v1/api/","signalk-ws":"ws://127.0.0.1:3000/signalk/v1/stream","signalk-tcp":"tcp://127.0.0.1:3858"}},"server":{"id":"signalk-server-node","version":"1.0.0-3"}} - -So that is Signal K....looks good doesn't it ? Actually this is just some JSON data that tells an App what the URL "endpoints" are so that it knows what Version of Signal K the server supports and where it can get HTTP or Websocket data from. - -If you want to see the the actual output from the NMEA data that SignalK is processing type "http://127.0.0.1:3000/signalk/v1/api/vessels/self/" in the adress bar and this info will be shown - - {"name":"Plaka","mmsi":"123456789","navigation":{"speedThroughWater":{"meta":{"units":"m/s","description":"Vessel speed through the water"},"value":3.096956340117828,"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:32.100Z","sentence":"VHW"},"courseOverGroundMagnetic":{"meta":{"units":"rad","description":"Course over ground (magnetic)"},"value":3.6030577086397786,"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:32.100Z","sentence":"VTG"},"courseOverGroundTrue":{"meta":{"units":"rad","description":"Course over ground (true)"},"value":3.6030577086397786,"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:32.100Z","sentence":"VTG"},"speedOverGround":{"meta":{"units":"m/s","description":"Vessel speed over ground. If converting from AIS 'HIGH' value, set to 102.2 (Ais max value) and add warning in notifications"},"value":2.9323340761912995,"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:32.100Z","sentence":"VTG"},"position":{"meta":{"description":"The position of the vessel in 2 or 3 dimensions (WGS84 datum)"},"value":{"longitude":23.529716666666666,"latitude":60.076566666666665},"$source":"NMEA0183 Plaka.log.GP","timestamp":"2018-02-06T10:01:47.000Z","sentence":"GLL"}},"performance":{"velocityMadeGood":{"meta":{"units":"m/s","description":"The current velocity made good derived from the speed through water and appearant wind angle. A positive value is heading to upwind, negative to downwind."},"value":2.9220451846958913,"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:32.100Z","sentence":"VPW"}},"environment":{"wind":{"speedApparent":{"meta":{"units":"m/s","description":"Apparent wind speed"},"value":7.7989797535193155,"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:31.701Z","sentence":"MWV"},"angleApparent":{"meta":{"units":"rad","description":"Apparent wind angle, negative to port"},"value":-0.19198621776321237,"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:31.701Z","sentence":"MWV"},"speedTrue":{"meta":{"units":"m/s","description":"Wind speed over water (as calculated from speedApparent and vessel's speed through water)"},"value":4.789478991112456,"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:32.199Z","sentence":"MWV"},"angleTrueWater":{"meta":{"units":"rad","description":"True wind angle based on speed through water, negative to port"},"value":-0.349065850478568,"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:32.199Z","sentence":"MWV"}},"depth":{"belowTransducer":{"meta":{"units":"m","description":"Depth below Transducer"},"value":13.29,"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:32.300Z","sentence":"DBT"}},"current":{"meta":{"description":"Direction and strength of current affecting the vessel"},"value":{"setTrue":0,"setMagnetic":0,"drift":0},"$source":"NMEA0183 Plaka.log.II","timestamp":"2018-02-06T16:04:32.000Z","sentence":"VDR"}}} - -Some open source web apps are automatically installed. They have been developed by the Signal K team to show what can be done with Signal K data. -To use the web apps, we will need to open them in a web browser so open the browser on your Pi and type "http://127.0.0.1:3000/ -This will open the Dashboard and give You some info about the SignalK server. - -![SK_sample_file](https://user-images.githubusercontent.com/16189982/90823208-e00de400-e335-11ea-9a7d-2758a0847c8a.png) - -Click on Webapps and you will get - -![web_apps](https://user-images.githubusercontent.com/16189982/69761715-7840b900-1168-11ea-9052-eba7dfc2804c.png) - -Click on "@Signalk/Freeboard-Sk" and you will get a Worldmap with your position in the south of Finland - -Go back and click "@Signalk/Instrumentpanel" and you will have an instrumentpanel to play around with. - -An excelent way to be familiar with the Signal K data format is to click on "Data Browser" and then select "self" in the drop down list at the upper left. Something like this will appear - -![SK_data_brws](https://user-images.githubusercontent.com/16189982/90823230-e56b2e80-e335-11ea-8a0d-44044ea75ff6.png) - -The differense from what you see on your monitor and what is displayed in the picture is that a filter is applied in the "Search" field. This will just show paths including the "nav" word. - -Since you have managed to get to this part of the guide, you now have a good understanding of what Signal K is all about and in particular the Node Server. We have been using the server's demo NMEA file, but Node Server can also read NMEA0183 data via an [NMEA to USB adaptor cable](http://digitalyachtamerica.com/product/usb-nmea-adaptor/), a [3rd party NMEA2000 gateway](https://github.com/SignalK/signalk-server/wiki/FAQ:-Frequently-Asked-Questions#how-do-i-integrate-with-nmea2000-can-bus) or both NMEA0183 and NMEA2000 via the [iKommunicate gateway](http://ikommunicate.com). - -## Step 3 - your own setup and running automatically as daemon - -To generate your own vessel settings file and configure your Pi to start the server automatically , type... - - $ sudo signalk-server-setup - -and follow the prompts. If you are following the defaults and are logged on as ”pi” the boat info will be stored in `/home/pi/.signalk/defaults.json` and the settings in `/home/pi/.signalk/settings.json` - -You can re-run this command at any time in the future to change the settings. - -These files can be edited via the admin UI or directly looking at the example settings. - -**This script will also set up Node server to run automatically in the background as a daemon, [systemd](https://wiki.debian.org/systemd/), when the system boots.** You will no longer be able to launch it manually, because the automatically started instance will occupy the ports where the services are available. You should do this once you are happy with the way the server works. - -Stop the daemon temporarily with; - - $ sudo systemctl stop signalk.service - $ sudo systemctl stop signalk.socket - -Start the daemon with; - - $ sudo systemctl start signalk.socket - $ sudo systemctl start signalk.service - -Disable the automatic start with; - - $ sudo systemctl disable signalk.service - $ sudo systemctl disable signalk.socket - -Check status with; - - $ sudo systemctl status signalk.service - $ sudo systemctl status signalk.socket - -**In addition the setup script will enable security by default.** At the admin UI you have to use ”Login” in the upper right corner and create a account, for example user pi and password, and then logon. Security information is stored in `/home/pi/.signalk/security.json` - -![enable_security](https://user-images.githubusercontent.com/16189982/43796658-279e7c40-9a85-11e8-98d4-a90f1e9904d1.jpeg) - -## Real inputs - -Real inputs are configured in ”Server => Connections” where you can choose from the following - -Input Type | Remark ---------- | --------------------------------------------------------------- -NMEA 2000 | Check possible hardware in the ”NMEA 2000 Source” drop down list -NMEA 0183 | Check possible sources in the ”NMEA 0183 Source” drop down list -SignalK | Check possible sources in the ”NMEA 0183 Source” drop down list -SeaTalk(GPIO) | SeaTalk 1 data via a Raspberry GPIO pin, [documentation here](https://github.com/SignalK/signalk-server/blob/master/Seatalk(GPIO).md) -Filestream |Check possible data types in the ”Data Type” drop down list - -**NMEA2000** - -If you have a NMEA2000 network you can use the the Actisense interface or other CAN bus interfaces to connect to the SignalK server. To configure it you have to know the the device path. One way to check it, is using the `dmesg` command direct after you plugged in the Actisense to a RPi USB port. In a Terminal window type - - $ dmesg - -or to minimize the output - - $ dmesg | grep -i 'usb' - -and it will show something like - - ( 2.141273) usb 1-1.3: new full-speed USB device number 4 using dwc_otg - ( 2.317223) usb 1-1.3: New USB device found, idVendor=0403, idProduct=d9aa - ( 2.319959) usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 - ( 2.322745) usb 1-1.3: Product: NGT-1-A - ( 2.325417) usb 1-1.3: Manufacturer: Actisense - ( 2.328022) usb 1-1.3: SerialNumber: XXXX - ( 3.817103) usbcore: registered new interface driver usbserial - ( 3.817189) usbcore: registered new interface driver usbserial_generic - ( 3.820223) usbserial: USB Serial support registered for generic - ( 3.822093) usbcore: registered new interface driver brcmfmac - ( 3.832816) usbcore: registered new interface driver ftdi_sio - ( 3.832909) usbserial: USB Serial support registered for FTDI USB Serial Device - ( 3.833448) ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected - ( 3.833649) usb 1-1.3: Detected FT232RL - ( 3.837121) usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0 - -as seen on the last row the interface is attached to `ttyUSB0` so the device path will be `/dev/ttyUSB0` - -To set it up as input for the SignalK server go to the admin UI and ”Server => Connections”. -Add a provider with settings according to the picture and click on ”Apply” - -![SK_N2](https://user-images.githubusercontent.com/16189982/69761979-3d8b5080-1169-11ea-83a2-b688fd1178b3.png) - -The SignalK server **must be restarted** to accept the changes so click on "Restart" in the upper right corner. - -After the restart check the data with the Webapp Instrumentpanel in the admin UI. - -**NMEA0183** - -If you have a NMEA0183 network, plug in your NMEA0183 to USB interface and do the same procedure as for the Actisense above. -With a configuration maybe looking like this - -![SK_N1](https://user-images.githubusercontent.com/16189982/69761986-44b25e80-1169-11ea-9401-2c06ace9eb3b.png) - -## Sample files - -If you don’t have any NMEA interface hardware you could set up a "File Stream" connection with the sample files instead. - -Find the path to NMEA2000 file - - sudo find / -name "aava-n2k.data" - -Or the path to NMEA0183 file - - sudo find / -name "plaka.log" - -## NMEA0183 data on the network - -Many navigation or marine data applications, for example iNavX, iSailor and SeaPilot, only accepts NMEA 0183 data as input. The SignalK server's default output for NMEA0183 data is port 10110 using the TCP protocol. Any NMEA0183 input to the SignalK server is forwarded to this output. If you are using a none NMEA 0183 input, could be NMEA 2000, you have to use a plugin that converts the data to NMEA 0183. - -Attach the SignalK server to a network with WiFi access, or set up the RPi as an bridged access point(link below). - -If you are using a none NMEA 0183 input set up the plugin otherwise go to "Tablet application setup" -(Please note that if you have NMEA 2000 AIS data you have to use another plugin, "signalk-n2kais-to-nmea0183" to get NMEA 0183 output.) - -**Plugin setup** - -In the admin UI ”Appstore => Installed” you will find the plugin - -![appstore_installed](https://user-images.githubusercontent.com/16189982/51399380-18d84c80-1b46-11e9-99f6-04bf86eaf769.png) - -(Handling updates, indicated by the red numbers at the ”Update” rows, is discussed below.) - -To activate and configure the plugin go to ”Server => Plugin Config”. Select "Convert SignalK......”. Then select "Active” and the sentences you need for your application, click ”Submit” and restart SignalK. - -**Tablet application setup** - -In Your tablet application, set it up to receive the NMEA0183 data from the SignalK server with the IP adress, protocol TCP, and port 10110. The picture is from iSailor - -![isailor_connection_s](https://user-images.githubusercontent.com/16189982/36220383-a327ab2e-11ba-11e8-85e9-f62b6c0e71ff.png) - -## SignalK data on the network - -Here you have [applications](https://signalk.org/applications_solutions.html) that will accept the json data direct from SignalK. - -## Apps - -As noticed, some apps are installed together with the server and others, not installed, can be downloaded in the ”Appstore => Available”. The app configuration is done in ”Server => Plugin Config” - -Additional information and how to uninstall apps is found [here](https://github.com/SignalK/signalk-server-node/blob/master/SERVERPLUGINS.md) - -## Additional software - -[Raspberry as an bridged access point](https://www.raspberrypi.org/documentation/computers/configuration.html#setting-up-a-bridged-wireless-access-point) - -[Backup to a bootable SD card](https://pysselilivet.blogspot.com/2017/11/rpi-clone-raspberry-boot-disk.html) - -[Simple AIS receiver setup](https://pysselilivet.blogspot.com/2020/05/ais-reciever-for-raspberry-pi-2-channel.html) - -[Temperature measure using 1-wire sensor, Node Red and plugins](https://pysselilivet.blogspot.com/2018/07/signalk-measuring-temperature.html) - -## FAQ - -FAQ is found [here](https://github.com/SignalK/signalk-server-node/wiki/FAQ:-Frequently-Asked-Questions) - -# Updating your Raspberry Pi and Signal K Node Server - -Much as we would all like to be sailing 365 days a year, the reality is that we are down on our boats as and when we can and weeks and months can go by between using your Raspberry Pi and Signal K Node Server. Of course when you get back to the boat everything will continue to operate as it did when you left it, but Signal K (and the Raspberry Pi) are constantly evolving and if you wish to update to the latest builds, then you need to follow this process. - -Please bear in mind that the longer between updates the more data that will have to be downloaded and the longer the process will take. We would seriously recommend taking your Raspberry Pi home and updating it on a network with good broadband speed. - -The updates that need to be done can be broken down in to four key areas... - -1. The Raspberry Pi Linux Distro -1. Node and NPM -1. The Signal K Node Server -1. Any Signal K Apps - -## Update Raspberry Pi Linux Distro - -Open the terminal window and enter the following commands... - - $ sudo apt update - $ sudo apt dist-upgrade - -If you have not updated for a while, then the above commands may take a while to finish, just be patient and make sure everything completes correctly. After the two commands have completed Reboot your Raspberry Pi. - -## Update Node and NPM - -Open the terminal window and enter the following commands... - - $ sudo apt upgrade nodejs - $ sudo npm install npm@latest -g - -This will update Nodejs and NPM to the version required by the server. - -## Update Signal K Node Server - -As seen in the picture above there was an update available at ”Server => Update” -Click on that row and You will open next window - -![server_update](https://user-images.githubusercontent.com/16189982/51401114-4c1cda80-1b4a-11e9-8f1e-d12a9db542af.png) - -Click on update and the installation will start - -**Please note !** - -Starting with Signal K server version 2.0.0 the recommended Node.js version is 18. [18 is the active LTS](https://nodejs.org/en/about/releases/) (Long Term Support) version in 2023. -So if you are updating from a Signal K version <= V 1.40.0 [check out the Wiki](https://github.com/SignalK/signalk-server/wiki/Updating-to-Node.js-18) on how to. - -![server_during_update](https://user-images.githubusercontent.com/16189982/51401178-71a9e400-1b4a-11e9-86b9-1148442ba59c.png) - -After the installation restart the server. - -## Any Signal K Apps - -The apps are updated via the Admin UI ”Appstore => Updates” clicking on the ”download cloud” . After installation do a server restart. - - -Now your Signal K Node Server is updated. From 87bccfe6920439d2f5fccfd30caa2fd4ee6409bf Mon Sep 17 00:00:00 2001 From: panaaj <38519157+panaaj@users.noreply.github.com> Date: Fri, 28 Jul 2023 15:32:49 +0930 Subject: [PATCH 02/44] Incorporate additional content . Ensure local images are used. Align styles and layout. --- docs/src/SUMMARY.md | 8 +- docs/src/breaking_changes.md | 6 +- docs/src/develop/contributing.md | 22 +- docs/src/develop/developer_notes.md | 11 +- .../plugins/resource_provider_plugins.md | 2 +- docs/src/develop/rest-api/course_api.md | 320 ++++++++---------- .../develop/rest-api/course_calculations.md | 70 ++++ docs/src/develop/rest-api/open_api.md | 29 +- docs/src/develop/webapps.md | 60 ++-- docs/src/img/course_provider.dia | Bin 0 -> 2025 bytes docs/src/img/course_provider.svg | 75 ++++ docs/src/img/server_update.png | Bin 0 -> 71752 bytes docs/src/index.md | 16 +- docs/src/installation/command_line.md | 70 ++-- docs/src/installation/install.md | 105 ++++-- docs/src/installation/updating.md | 94 +++-- docs/src/security.md | 81 ++--- docs/src/setup/branding.md | 7 +- docs/src/setup/configuration.md | 31 +- docs/src/support/sponsor.md | 3 +- docs/src/whats_new.md | 36 +- 21 files changed, 644 insertions(+), 402 deletions(-) create mode 100644 docs/src/develop/rest-api/course_calculations.md create mode 100644 docs/src/img/course_provider.dia create mode 100644 docs/src/img/course_provider.svg create mode 100644 docs/src/img/server_update.png diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index 763904eab..b15af4750 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -2,13 +2,13 @@ [Introduction](index.md) * [What's New in V2](whats_new.md) - * [Deprecations & Changes](breaking_changes.md) + * [Changes & Deprecations](breaking_changes.md) # Getting Started * [Installation](installation/install.md) * [Installing on Raspberry Pi](installation/raspberry_pi_installation.md) * [Updating your installation](installation/updating.md) - * [Command line & Environment](installation/command_line.md) + * [Runtime environment & options](installation/command_line.md) * [Security](security.md) # Setup * [Configuration](setup/configuration.md) @@ -20,9 +20,11 @@ * [Processing Data](develop/plugins/deltas.md) * [Server API](develop/plugins/server_plugin_api.md) * [Resource Providers](develop/plugins/resource_provider_plugins.md) - * [Publishing to the AppStore](develop/plugins/publishing.md) + * [Course Providers](develop/rest-api/course_calculations.md) +* [Publishing to the AppStore](develop/plugins/publishing.md) * [REST APIs](./develop/rest-api/open_api.md) * [Course API](develop/rest-api/course_api.md) + * [Course Calulations](develop/rest-api/course_calculations.md) * [Resources API](develop/rest-api/resources_api.md) * [Notifications API]() * [Autopilot API]() diff --git a/docs/src/breaking_changes.md b/docs/src/breaking_changes.md index 3e2fddd64..c3f8cea45 100644 --- a/docs/src/breaking_changes.md +++ b/docs/src/breaking_changes.md @@ -1,5 +1,7 @@ +# Changes & Deprecations -# Changes + +## Changes The following changes have been implemented with the introduction of **Resources API** and apply to applications using the `./signalk/v2/resources` endpoint. @@ -41,7 +43,7 @@ Please see the [Resources OpenAPI definition](https://github.com/SignalK/signalk --- -# Deprecations: +## Deprecations: ### 1. courseGreatCircle, courseRhumbline paths diff --git a/docs/src/develop/contributing.md b/docs/src/develop/contributing.md index 00d0b372f..46a7db444 100644 --- a/docs/src/develop/contributing.md +++ b/docs/src/develop/contributing.md @@ -1,9 +1,19 @@ -**Working on your first Pull Request?** You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github) +# Contributing + +Signal K server is an Open Source project and contributions are welcome. + +Contributions are made by creating Pull Requests in the [GitHub repository](https://github.com/SignalK/signalk-server). + +_**Working on your first Pull Request?**_ + +You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github) + +--- ### Submitting a Pull Request (PR) Before you submit your Pull Request (PR) consider the following guidelines: -1. [Fork](https://help.github.com/articles/fork-a-repo/) the repo. +1. [Fork](https://help.github.com/articles/fork-a-repo/) the repository. 1. Make your changes in a new git branch: ```shell @@ -11,8 +21,8 @@ Before you submit your Pull Request (PR) consider the following guidelines: ``` 1. Create your patch. -1. Commit your changes using a descriptive commit message that follows - [Angular commit message conventions](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits). We are not 100% strict about this, but it really helps when reviewing the PR and in making commit history readable. The TL;DR of it is below. +1. Commit your changes using a descriptive commit message that follows the + [conventions outlined here](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits). Whilst we are not 100% strict about this, it really helps when reviewing the PR and in making the commit history readable. The TL;DR of it is below. - The subject line should be in the format `: `, where `` should be one of: - feat (feature) - fix (bug fix) @@ -38,10 +48,10 @@ Before you submit your Pull Request (PR) consider the following guidelines: git push origin my-fix-branch ``` -1. In GitHub, send a pull request to `signalk-server:master`. +1. In GitHub, create a pull request. * Use the same guidelines as commit messages to write the PR title and description. The server's release notes are automatically generated from PR titles, so think about how you can make them informative and easy to understand. The description should tell how the change affects the server's behavior and motivation for doing the change. * If we suggest changes to your PR we expect you to: - * Once agreed implement the changes. + * Implement the agreed changes. * Rebase your branch and force push to your GitHub repository (this will update your Pull Request): ```shell diff --git a/docs/src/develop/developer_notes.md b/docs/src/develop/developer_notes.md index 4c936e45c..b72df0474 100644 --- a/docs/src/develop/developer_notes.md +++ b/docs/src/develop/developer_notes.md @@ -25,11 +25,20 @@ The use of APIs to perform operations addresses these issues providing the follo Currently, when v2 REST APIs emit deltas that contain v2 paths and structure, they do not end up in the full model. This means that these paths and values are only available via API GET requests. +## Offline Use + +When operating on a vessel you should not assume that a connection to Internet services is available. +Therefore, it is important that the WebApps and Plugins you create be _"self contained"_ and provide all the resources they require to operate _(i.e. fonts, stylesheets, images, etc)_. + +For WebApps and Plugins that connect to Internet based services to provide data, they should be resilient to changes in the connection status to those services and where necessary display their status. + + ## Deprecations and Breaking Changes With the move towards REST APIs and the desire to improve the data model (and also fix some mistakes) it's inevitable that there will be deprecations and breaking changes. For example, when addressing duplicate Great Circle and Rhumbline course paths, the resultant changes will likley break compatibility with v1. -For details about paths that are candidates for deprecation see [REST APIs](./rest-api/open_api.md). +For details about paths that are flagged for deprecation see [Changes & Deprecations](../breaking_changes.md). + diff --git a/docs/src/develop/plugins/resource_provider_plugins.md b/docs/src/develop/plugins/resource_provider_plugins.md index b04131fa1..14b159a4a 100644 --- a/docs/src/develop/plugins/resource_provider_plugins.md +++ b/docs/src/develop/plugins/resource_provider_plugins.md @@ -16,7 +16,7 @@ _Resource API architecture:_ This de-coupling of request handling and data storage provides the flexibility to persist resource data in a variety of different storage types as well as Internet based services. -_To see an example of a provider plugin see [resources-provider-plugin](https://github.com/SignalK/signalk-server/tree/master/packages/resources-provider-plugin)_ +_Note: Signal K server comes with the [resources-provider-plugin](https://github.com/SignalK/signalk-server/tree/master/packages/resources-provider-plugin) pre-installed which persists resource data to the local file system._ ### Resources API: diff --git a/docs/src/develop/rest-api/course_api.md b/docs/src/develop/rest-api/course_api.md index c0e195981..3d752164c 100644 --- a/docs/src/develop/rest-api/course_api.md +++ b/docs/src/develop/rest-api/course_api.md @@ -3,29 +3,131 @@ ## Overview -The SignalK Course API provides a consistent means to perform common operations and to ensure that all related Signal K paths set with the relevant values. -It integrates with the [Resources API](WORKING_WITH_RESOURCES_PROVIDER_API.md) to retrieve information about an active route or destination. +The _Course API_ provides common course operations under the path `/signalk/v2/api/vessels/self/navigation/course` ensuring that all related Signal K data model values are maintained and consistent. This provides a set of data that can be confidently used for _course calculations_ and _autopilot operation_. -Providing an API to manage the paths under `/signalk/v2/api/vessels/self/navigation/course` ensures the data underpinning course calculations and autopilot operation is consistent and valid. +Client applications use `HTTP` requests (`PUT`, `GET`,`DELETE`) to perform operations and retrieve course data. -Client applications use `HTTP` requests to set (`PUT`), retrieve (`GET`) and clear (`DELETE`) course data. +Additionally, the Course API persists course information on the server to ensure data is not lost in the event of a server restart. -_Note: the Course API persists course information on the server to ensure data is not lost in the event of a server restart._ +_Note: You can view the _Course API_ OpenAPI definition in the Admin UI (Documentation => OpenApi)._ + +--- +## Setting a Course + +The Course API provides endpoints for: +1. Navigate to a location _(lat, lon)_ +1. Navigate to a waypoint _(href to waypoint resource)_ +1. Follow a Route _(href to a route resource)_. + +### 1. Navigate to a Location + +To navigate to a point submit a HTTP `PUT` request to `/signalk/v2/api/vessels/self/navigation/course/destination` and supply the latitude & longitude of the destination point. + +```typescript +HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/destination' {"position": {"latitude": -60.5, "longitude": -166.7}} +``` + + +### 2. Navigate to a Waypoint + +To navigate to a point submit a HTTP `PUT` request to `/signalk/v2/api/vessels/self/navigation/course/destination` and supply a reference to a waypoint resource entry under `/resources/waypoints` + +```typescript +HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/destination' {"href": "/resources/waypoints/5242d307-fbe8-4c65-9059-1f9df1ee126f"} +``` + + +### 3. Follow a Route + +To follow a route submit a HTTP `PUT` request to `/signalk/v2/api/vessels/self/navigation/course/activeRoute` and supply a reference to a route resource entry under `/resources/routes`. + +```typescript +HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute' {"href": "/resources/routes/5242d307-fbe8-4c65-9059-1f9df1ee126f"} +``` + +Additional parameters can be set when following a route including: +- Defining the point along the route to start at +- The direction to follow the route (forward / reverse) + +_Example: Following a route in reverse direction:_ +```typescript +HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute' +{ + "href": "/resources/routes/5242d307-fbe8-4c65-9059-1f9df1ee126f", + "reverse": true +} +``` + +#### Advancing along a Route + +As progress along a route is made, you can use the following endpoints to update the destination. + +To set the destination to the next point along the route: +```typescript +HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' +``` + +To advance the destination to a point `n` places beyond the current destination point, supply a positive number representing the number of points to advance: + +```typescript +HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {"value": 2} +``` +_Sets destination to the point after the next in sequence._ + +To set the destination to the previous point along the route: +```typescript +HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {"value": -1} +``` + +To set the destination to a point `n` places prior the current destination point, supply a negative number representing the number of points prior: + +```typescript +HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {"value": -2} +``` +_Sets destination to the point two prior to the current destination._ + +To set the destination to a specific point along the route, supply the zero-based index of the point: + +_Example: 4th point along the route._ +```typescript +HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/pointIndex' {"value": 3} +``` +_Value contains the 'zero-based' index of the point along the route (i.e. 0 = 1st point, 1 = 2nd point, etc.)_ + +To reverse the direction along the route: +```typescript +HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/reverse' +``` + +#### Delta Messages + +The Course API emits delta messages with the following paths when course information has been changed. + +_Note: Delta values reflect the relevant property of the Course Information data object as detailed in the +[Retrieving Course Information](#retrieving-course-information) section._ + +- `navigation.course.startTime` +- `navigation.course.targetArrivalTime` +- `navigation.course.arrivalCircle` +- `navigation.course.activeRoute` +- `navigation.course.nextPoint` +- `navigation.course.previousPoint` -**See the [OpenAPI documentation](https://demo.signalk.io/admin/openapi/) in the Admin UI (Server => OpenApi) for more Course API details.** ## Retrieving Course Information ---- Course information is retrieved by submitting a HTTP `GET` request to `/signalk/v2/api/vessels/self/navigation/course`. ```typescript HTTP GET 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course' ``` -The response will contain values pertaining to the current course. See also [Delta Messages](#delta-messages). -_Example: Navigate to Location._ +The contents of the response will reflect the operation used to set the current course. The `nextPoint` & `previousPoint` sections will always contain values but `activeRoute` will only contain values when a route is being followed. + +#### 1. Operation: Navigate to a location _(lat, lon)_ + +_Example response:_ ```JSON { "startTime": "2023-01-27T01:47:39.785Z", @@ -49,7 +151,37 @@ _Example: Navigate to Location._ } ``` -_Example: Following a route._ +#### 2. Operation: Navigate to a waypoint _(href to waypoint resource)_ + +_Example response:_ +```JSON +{ + "startTime": "2023-01-27T01:47:39.785Z", + "targetArrivalTime": "2022-06-10T01:29:27.592Z", + "arrivalCircle": 4000, + "activeRoute": null, + "nextPoint": { + "href": "/resources/waypoints/f24d72e4-e04b-47b1-920f-66b78e7b033e", + "type": "Waypoint", + "position": { + "latitude": -34.92084502261776, + "longitude": 131.54823303222656 + } + }, + "previousPoint": { + "type":"VesselPosition", + "position": { + "latitude": -34.82084502261776, + "longitude": 131.04823303222656 + } + } +} +``` + + +#### 3. Operation: Follow a Route _(href to a route resource)_. + +_Example response:_ ```JSON { "startTime": "2023-01-27T01:47:39.785Z", @@ -101,121 +233,7 @@ _Example: Following a route._ } ``` -_Example: Navigate to Waypoint._ -```JSON -{ - "startTime": "2023-01-27T01:47:39.785Z", - "targetArrivalTime": "2022-06-10T01:29:27.592Z", - "arrivalCircle": 4000, - "activeRoute": null, - "nextPoint": { - "href": "/resources/waypoints/f24d72e4-e04b-47b1-920f-66b78e7b033e", - "type": "Waypoint", - "position": { - "latitude": -34.92084502261776, - "longitude": 131.54823303222656 - } - }, - "previousPoint": { - "type":"VesselPosition", - "position": { - "latitude": -34.82084502261776, - "longitude": 131.04823303222656 - } - } -} -``` - - -## Setting a Course ---- - -The Course API provides endpoints for: -1. Navigating to a point. -1. Following a Route _(reference to a route entry under `/resources/routes`)_ - - -### 1. Navigating to a Point - -To navigate to a point submit a HTTP `PUT` request to `/signalk/v2/api/vessels/self/navigation/course/destination` and supply either: -- The latitude & longitude of the destination point -- A reference to a waypoint entry under `/resources/waypoints` - -_Example: Setting destination using lat / lon:_ -```typescript -HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/destination' {"position": {"latitude": -60.5, "longitude": -166.7}} -``` - -_Example: Setting waypoint as destination:_ -```typescript -HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/destination' {"href": "/resources/waypoints/5242d307-fbe8-4c65-9059-1f9df1ee126f"} -``` - -### 2. Following a Route - -To follow a route submit a HTTP `PUT` request to `/signalk/v2/api/vessels/self/navigation/course/activeRoute` and supply a reference to a route entry under `/resources/routes`. - -_Example: Following a route:_ -```typescript -HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute' {"href": "/resources/routes/5242d307-fbe8-4c65-9059-1f9df1ee126f"} -``` - -Additional parameters can be set when following a route including: -- Defining the point along the route to start at -- The direction to follow the route (forward / reverse) - -_Example: Following a route in reverse direction:_ -```typescript -HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute' -{ - "href": "/resources/routes/5242d307-fbe8-4c65-9059-1f9df1ee126f", - "reverse": true -} -``` - -### Advancing along a Route - -As progress along a route is made, you can use the following endpoints to update the destination. - -To set the destination to the next point along the route: -```typescript -HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' -``` - -To advance the destination to a point `n` places beyond the current destination point, supply a positive number representing the number of points to advance: - -```typescript -HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {"value": 2} -``` -_Sets destination to the point after the next in sequence._ - -To set the destination to the previous point along the route: -```typescript -HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {"value": -1} -``` - -To set the destination to a point `n` places prior the current destination point, supply a negative number representing the number of points prior: - -```typescript -HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {"value": -2} -``` -_Sets destination to the point two prior to the current destination._ - -To set the destination to a specific point along the route, supply the zero-based index of the point: - -_Example: 4th point along the route._ -```typescript -HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/pointIndex' {"value": 3} -``` -_Value contains the 'zero-based' index of the point along the route (i.e. 0 = 1st point, 1 = 2nd point, etc.)_ - -To reverse the direction along the route: -```typescript -HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/reverse' -``` - ## Cancelling navigation ---- To cancel the current course navigation and clear the course data @@ -223,63 +241,13 @@ To cancel the current course navigation and clear the course data HTTP DELETE 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/' ``` - -## Delta Messages --- -The Course API emits the delta messages with the following paths when course information has been changed. - -_Note: Delta values reflect the relevant property of the Course Information data object as detailed [above](#retrieving-course-information)._ - -- `navigation.course.startTime` -- `navigation.course.targetArrivalTime` -- `navigation.course.arrivalCircle` -- `navigation.course.activeRoute` -- `navigation.course.nextPoint` -- `navigation.course.previousPoint` - - ## Course Calculations ---- -The Course API defines the path `/vessels/self/navigation/course/calcValues` to accommodate the calculated values related to course navigation. +Whilst not performing course calculations, the _Course API_ defines the paths to accommodate the values calculated during course navigation. -_**Note: The Course API implementation on the server does not perform the calculations to populate these values!**_ +Click [here](./course_calculations.md) for details. -The following values are defined to be populated by a course computer / plugin based on the Course Information populated by the Course API. -_Path: `navigation/course/calcValues`_ -``` -calcMethod: "Rhumbline" or "GreatCircle" -crossTrackError -bearingTrackTrue -bearingTrackMagnetic -estimatedTimeOfArrival e.g. "2022-04-22T05:02:56.484Z" -distance -bearingTrue -bearingMagnetic -velocityMadeGood -timeToGo -targetSpeed -previousPoint: { distance } -``` -_Example:_ -``` -{ - "calcMethod": "Rhumbline", - "crossTrackError": 458.784, - "bearingTrackTrue": 4.58491, - "bearingTrackMagnetic": 4.51234, - "estimatedTimeOfArrival": "2022-04-22T05:02:56.484Z", - "distance": 10157, - "bearingTrue": 4.58491, - "bearingMagnetic": 4.51234, - "velocityMadeGood": 7.2653, - "timeToGo": 8491, - "targetSpeed": 2.2653, - "previousPoint": { - "distance": 10157 - } -} -``` diff --git a/docs/src/develop/rest-api/course_calculations.md b/docs/src/develop/rest-api/course_calculations.md new file mode 100644 index 000000000..4ce631ba6 --- /dev/null +++ b/docs/src/develop/rest-api/course_calculations.md @@ -0,0 +1,70 @@ +# Course Calculations and Providers + +The _Course API_ defines the path `/vessels/self/navigation/course/calcValues` to accommodate the calculated values related to course navigation. + +These paths are available to be populated by a "course provider" plugin that uses the course information set using the _Course API_. This approach promotes the extensibility of Signal K server providing flexibility and interoperability. See [Course Provider Plugins](#course-provider-plugins) below. + + + +## Calculated value paths: `calcValues` + +The following paths are defined to hold values calculated using the information maintained by _Course API_ operations: + +- calcMethod: _("Rhumbline" or "GreatCircle")_ +- crossTrackError +- bearingTrackTrue +- bearingTrackMagnetic +- estimatedTimeOfArrival _(e.g. "2022-04-22T05:02:56.484Z")_ +- distance +- bearingTrue +- bearingMagnetic +- velocityMadeGood +- timeToGo +- targetSpeed +- previousPoint.distance + + +_Example:_ +``` +{ + "calcMethod": "Rhumbline", + "crossTrackError": 458.784, + "bearingTrackTrue": 4.58491, + "bearingTrackMagnetic": 4.51234, + "estimatedTimeOfArrival": "2022-04-22T05:02:56.484Z", + "distance": 10157, + "bearingTrue": 4.58491, + "bearingMagnetic": 4.51234, + "velocityMadeGood": 7.2653, + "timeToGo": 8491, + "targetSpeed": 2.2653, + "previousPoint": { + "distance": 10157 + } +} +``` + +## Course Notifications + +Calculated course values that cross a threshold should trigger a notification so that the necessary action can be taken. + +The Course API defines the following notifications which should be implemented by a course provider: +- `navigation.course.arrivalCircleEntered` +- `navigation.course.perpendicularPassed` + + +## Course Provider Plugins + +Signal K server includes the `Course Data Provider` plugin as part of the installation to provide out-of-the-box support for course calculations nd notifications. + +This plugin can be replaced with others from the AppStore, or your own, to extend the number and types of calculations performed. + +If you are looking to develop a course provider plugin, following are the recommended guidlines: +1. Ensure values are generated for ALL the defined paths (above) +1. Values MUST be calculated using `/vessels/self/navigation/course` path values mainntained by the _Course API_ +1. Ensure values are set to null when no destination is set or the value cannot be calculated +1. Perform the calculations using a "worker thread" to minimise impact on the server "main thread" +1. Ensure the worker is set up and shut down as part of plugin "start" and "stop" functions +1. Raise the notifications outlined above. + + diff --git a/docs/src/develop/rest-api/open_api.md b/docs/src/develop/rest-api/open_api.md index 7c0fe7092..21dfadfee 100644 --- a/docs/src/develop/rest-api/open_api.md +++ b/docs/src/develop/rest-api/open_api.md @@ -1,13 +1,26 @@ # REST APIs -REST APIs enact operations (i.e. activate a route, advance to next point, etc) and are available under the path `/signalk/v2/api`. +REST APIs were introduced in Signal K server version 2 to provide a way for applications and plugins perform operations and ensure that the Signal K data model is consistent. -These APIs provide a standardised way for applications and plugins perform operations, ensuring values are maintained in all related paths. +They are mounted under the path `/signalk/v2/api` and OpenAPI definitions can be found under _Documentation -> OpenAPI_ in the server Admin UI. -| API | Endpoint | -|--- |--- | -| [Course](./course_api.md) | `/signalk/v2/api/vessels/self/navigation/course` | -| [Resources](./resources_api.md) | `/signalk/v2/api/resources` | -| _[Notifications](https://github.com/SignalK/signalk-server/pull/1560)_ | _(proposed)_ | -| _[Autopilot](https://github.com/SignalK/signalk-server/pull/1512)_ | _(proposed)_ | +### APIs available in Signal K server v2.0.0 and later: + +| API | Description | Endpoint | +|--- |--- |--- | +| [Course](./course_api.md) | Set a course, follow a route, advance to next point, etc. | `course` | +| [Resources](./resources_api.md) | Create, view, update and delete waypoints, routes, etc. | `resources` | + +--- + + +#### Following is a list of proposed APIs for implementation: + + +| Proposed API | Description | Endpoint | +|--- |--- |--- | +| _`Notifications`_ | Provide the ability to raise, update and clear notifications from multiple sources. _[View PR](https://github.com/SignalK/signalk-server/pull/1560)_| `notifications` | +| _`Autopilot`_ | Provide the ability to send common commands to an autopilot via a provider plugin. _[View PR](https://github.com/SignalK/signalk-server/pull/1512)_ | `autopilot` | + +--- diff --git a/docs/src/develop/webapps.md b/docs/src/develop/webapps.md index 4f360d55a..2c1c68814 100644 --- a/docs/src/develop/webapps.md +++ b/docs/src/develop/webapps.md @@ -1,40 +1,38 @@ -# Webapps and components +# WebApps and Components ## Introduction -There are four ways to add web-based user interfaces to the Signal K Server: +Signal K Server provides the following ways to add web-based user interfaces to enhance functionality and usability: -- Standalone Webapps -- Embedded Webapps -- Embedded Plugin Configuration Forms -- Embedded Compontents +1. **Standalone WebApps** are web applications that when launched, the server Admin UI disappears and the webapp controls the whole page (browser window / tab). -**Standalone Webapps** are Webapps that can be installed on the server via Appstore. The server provides a list of installed webapps. Once you navigate to them the server admin UI disappears and the webapp controls the whole page (browser window / tab). +1. **Embedded WebApps** are web applications that when launched, are **embedded in the server Admin UI**, leaving the toolbar and menu available to the user. +![vesselpositions](../img/vesselpositions.png "Vesselpositions Embedded Webapp") -**Embedded Webapps** are installed and listed like Standalone Webapps, but they open **embedded in the server admin UI**, leaving the header and footer available so that the user can perform login, restart server and use the admin UI's sidebar to navigate to a different part of the admin UI. +1. **Embedded Plugin Configuration Forms** are forms provided by a plugin that the server embeds within the _Plugin Config_ screen to replace the generic form rendered using the plugin _configuration schema_. This allows a richer set of controls to be provided for the user to configure the plugin compared to the more generice server generated form provides. +![calibration](../img/calibration.png "Calibration plugin configuration form") -![vesselpositions](../img/vesselpositions.png?raw=true "Vesselpositions Embedded Webapp") +1. **Embedded Components** are individual UI components provided by a plugin or a webapp. They are listed in the _Addons_ section at the bottom of the _Webapps_ page of the Admin UI. More a concept than a fully implemented feature at this stage, the idea is to allow a plugin to add individual components to different parts of the server UI. -**Embedded Plugin Configuration Forms** are related to server plugins. A plugin provides a schema for the configuration data it uses. The server uses the schema - a description of the structure of the data used to configure the plugin - to generate configuration forms for the installed plugins. The generated form is often lackin in usability due to it being totally generic. To address this a plugin can provide its own **Configuration Form** that the server embeds within the Plugin Configuration of the server admin UI. +All Plugins, WebApps and Components can be installed via the _Appstore_. -![calibration](../img/calibration.png?raw=true "Calibration plugin configuration form") +## WebApp Structure -**Embedded Components** are individual UI components provided by a plugin or a webapp. They are currently available at the bottom of the Webapps page of the admin UI. The idea with embedding components would be to allow a plugin to add individual components to different parts of the server, but this is more an idea than a fully implemented feature at this stage. +All WebApps (like plugins) are installed with `npm`, either from the npm registry or from your own Github repository. Only WebApps that are relevant for all users should be published to `npm` to be made available in the _Appstore_ of all Signal K Servers. -## Webapp/Component Structure +_Note: Private plugins need not be published to `npm` - see the documentation for [npm install](https://docs.npmjs.com/cli/v6/commands/npm-install) for details._ -All different webapps (and server plugins) are installed with npm, from npm registry or for example from your own Github repository. Private plugins need not be published to npm - see the documentation for [npm install](https://docs.npmjs.com/cli/v6/commands/npm-install) for the exact details. Only webapps that are relevant for all users should be published in npm to be available in App store of everybody's server. -The basic structure of a webapp is -- directory named `public` that contains the actual webapp: html, JavaScript and resources such as images and css files. This directory is automatically mounted by the server so that the webapp is available via http once installed -- package.json with special keywords that classifies the webapp +The basic structure of a webapp is: +- A folder named `public` that contains the html, JavaScript and resource files such as images, fonts and style sheets. This folder is automatically mounted by the server so that the webapp is available after installation and the server restarted. +- `package.json` containing special keywords that classifies the webapp: - `signalk-webapp` - standalone webapp - `signalk-embeddable-webapp` - embeddable webapp - `signalk-plugin-configurator` - plugin configuration form This structure is all that is needed for a standalone webapp. -You can also include the following section in `package.json` to determine how your webapp appears in the _Webapps_ list: +You can also include the following section in `package.json` to control how your webapp appears in the _Webapps_ list: ```JSON "signalk": { "appIcon": "./assets/icons/icon-72x72.png", @@ -44,11 +42,16 @@ You can also include the following section in `package.json` to determine how yo where: - `appIcon` is the path (relative to the `public` directory) to an image within the package to display in the webapp list. The image should be at least 72x72 pixels in size. -- `displayName` is the name to appear in the webapp list. By default the `name` in the package.json is used, when supplied this text will be used instead. +- `displayName` is the text you want to appear as the name in the webapp list. _(By default the _name_ attribute in the `package.json` is used.)_ -The embedded components are implemented using [Webpack Federated Modules](https://webpack.js.org/concepts/module-federation/) and [React Code Splitting](https://reactjs.org/docs/code-splitting.html). +See also [Working Offline](./developer_notes.md#offline-use). -There is no keyword for a module that provides only embedded components, use `signalk-webapp` instead. + +## Embedded Components and Admin UI / Server interfaces + +Embedded components are implemented using [Webpack Federated Modules](https://webpack.js.org/concepts/module-federation/) and [React Code Splitting](https://reactjs.org/docs/code-splitting.html). + +_Note: There is no keyword for a module that provides only embedded components, use `signalk-webapp` instead._ You need to configured Webpack to create the necessary code for federation using *ModuleFederationPlugin* and expose the component with fixed names: - embeddable webapp: `./AppPanel` @@ -62,24 +65,25 @@ The exposed modules need to `export default` a React component - both class base See the vesselpositions embedded webapp/component and Calibration plugin for examples of each. It is probably easier to start with either one and modify them to suit your needs. Don't forget to change the module id and name in package.json! -## Webapp / Component and Admin UI / Server interfaces +## WebApp / Component and Admin UI / Server interfaces -Standalone Webapps can use the server's APIs (Standard Signal K http and WebSocket APIS as well as the server's endpoints) but they need to implement everything themselves. +Standalone WebApps can use the server's APIs _(Signal K http and WebSocket APIs as well as any server specific endpoints)_ but they need to implement everything else themselves. -Embedded Webapps, Components and Plugin Configuration Forms work inside the Admin UI and they can interact with the Admin UI and the server with APIs exposed by the Admin UI as component properties. +Embedded WebApps, Components and Plugin Configuration Forms work inside the Admin UI, so they can interact with both the Admin UI and the server using APIs exposed by the Admin UI as component properties. -This documentation is rudimentary on purpose, as the details need to be worked out. -Embedded webapp properties +Embedded webapp properties: - access to the login status of the browser user - ability to render Login form instead of the webapp content - getting and setting application data - opening an automatically reconnecting WebSocket connection to the server - getting Signal K data via `get` -- [Embedded](packages/server-admin-ui/src/views/Webapps/Embedded.js) +- [Embedded](packages/server-admin-ui/src/views/WebApps/Embedded.js) -PluginConfigurationForm properties +PluginConfigurationForm properties: - `configuration` : the configuration data of the plugin - `save`: function to save the configuration data - [EmbeddedPluginConfigurationForm](packages/server-admin-ui/src/views/Configuration/EmbeddedPluginConfigurationForm.js) + +**_Note: The documentation regarding embedded WebApps and Components provided at this time is rudimentary and should be considered under development as the concept is evolving._** \ No newline at end of file diff --git a/docs/src/img/course_provider.dia b/docs/src/img/course_provider.dia new file mode 100644 index 0000000000000000000000000000000000000000..ad4ff9a0bf97206432ed69f43f4e66ba07edfe03 GIT binary patch literal 2025 zcmVU0_Qt7>bvhh%_HyLrdgQ8Hv^3PfoJ1M z5`^*eX7KOdf4o$K?{6=@3qtc2{!LRe_u!5=b5}QmS)MQ6UR^yrJfP??GkKDtC|sh< zUj5HRk-36SSA*LN&s!G|nB2Iwveo2y8jhE_^QA(ai!vZ@AJ3zE-GIt}Ap99W&GSPFs^Aq19#Yo&e3Bz{_x>2-^iLyf` zP&9u%ZO5M6X&MGEAKZ-|HBy2{_!&-meIyTIkk3Y+dU_;<^v9m0--lT^j%?NF!#M9u z{9`xbw|BsbBc5+>x#J3HwImcM%Pnt0Lepg!*lf>c-t1E&X;yZ-+PCi8{aP+f5N3HBBf)GM`3ITEiNzgcTCFrE9StF`@JJh*Zn z|I_9VN&3;d^xk>d0t{0y57!LxffoihgMay(hhcjKK_VCgI|q8Tki~LcGUW3iR)|Wz zeNcB7tqx;6-iAosoa1R^zrx@Z43Yf$k|1AU!iR()0zaGK&TVc6dsK4}!a-;x-9~mk znj~qwYn6ApdMlh2yY8;wS7t>@D9QBGhwBztGaF84c|90KlCEKCteSy=eQ5Vh%tzSY z{NNT~jwYAs?v~i};C%m?JdXpp3!~@&kZm9II1s1vMis8^epPq$dS&@zWVZoqyquR0 zXNTV_ZM~ybFbWr=S(1kTP2$`{FHUZY43CBZRhfsA{y?(j*m*&A(0GxG#zN`WvA}Pj zL<5rsKm)(PGh1T-zhnU1ngJ*xRLUWd2s5GkBms&P)kF`8K%m7O4+x>S7!r*nBdi&; zBiNCRgB|PO;E7gu6-qHTGOqoGx*d+vWU)P*VteKi6L(@pH`yo#G~ zd9&KQnd~}KTO&GBtNd<1AdbmB#CGu^P42_Mrrsi2PQ&;w8jP74x=f) zPEuNu9%%~PkxoLKr=h8DgGn|#{RerZ%r7W$Q5I&M@KO0 z)8Bc9;z$smy3h;}B{mhDz8a(S-G`t5uJM_ZE0)^*c@EJ09|mal=chy$`6U?493p_O3?f%Fcq~3`kh_n!WQuk4Zt*kWwTBrPl-rt}t`hic;0H z-mRVKZdV`qlnc(qs#lA5Wla6eURV@@Go2xsVM zBpTZcKwjyA+O%>7M8qZsm;BMhPZbCkPzD9Y{lk$bJP;t*CI{Bu?LiK@zL z@(jAQp(hb3DxLa$uc(B5JZp zqjLM7Qy8x@g@IeYW$Egxs7q=|1fE-;c?^b>)WQLQ&x@~J@s7_{TTwC6cQCDXn$=x7 zQ>!zgn-1(8N;`+r-1)?9-mszdH@AqU?XUgAt>4`9k(OL4JR}V1euHTMMV_Es5bYZK z + + + + + + + + + + + + + + + Client + + + + + Course data + Provider plugin + + + + + + + + + + Course API + + + + + + + + + + + + + + + + + + + + + Course Data: + { + nextPoint: {...} + previousPoint: {...} + activeRoute: {...} + calcValues: { + ... + } + } + + + + + + + + + Deltas: Vessel speed, + heading, position, etc. + + + + diff --git a/docs/src/img/server_update.png b/docs/src/img/server_update.png new file mode 100644 index 0000000000000000000000000000000000000000..a8b179c3a97bc0e6b1547297e6edafa9d733bee0 GIT binary patch literal 71752 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 Ef;#6ozW@LL literal 0 HcmV?d00001 diff --git a/docs/src/index.md b/docs/src/index.md index b160f89c1..8316d43b3 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -3,20 +3,18 @@ ## Introduction -Signal K Server is designed to act as a central hub on a vessel where it makes data available to: -1. Apps on your phone and tablet devices -1. Web applications it can host. +Signal K Server is software designed to be deployed on a vessel to act as a central hub which: +1. Collects data from devices and sensors on board +1. Aggregates and exposes it using the _[Signal K Data Standard](https://signalk.org/specification/latest/)_ +1. Exposes the collected data via REST APIs and websocket protocols over a standard WiFi, LAN or Internet connection. -Signal K Server implements the _[Signal K Data Standard](https://signalk.org/specification/latest/)_ to facilitate communication and integration among different onboard systems allowing data to be exchanged between NMEA0183, NMEA2000 and other marine protocols. -It can also act as data hub for additional sensors. _(Visit the [Signal K SensESP project](https://github.com/SignalK/SensESP) for [ESP32](https://en.wikipedia.org/wiki/ESP32) for details.)._ +Through implementation of the _[Signal K Data Standard](https://signalk.org/specification/latest/)_, it enables data exchange between NMEA0183, NMEA2000 and other marine protocols facilitating two way communication between the various onboard systems. In addition it can also act as data hub for additional sensors ensuring their data appears within the single data model. _(Visit the [Signal K SensESP project](https://github.com/SignalK/SensESP) for [ESP32](https://en.wikipedia.org/wiki/ESP32) for details.)._ -Additionally it makes this data available in JSON format to applications and devices over a standard WiFi, LAN or Internet connection via REST APIs and websocket connections. +Data is made available to client applications / connections in JSON format making it widely accessible to Apps on phone / tablet devices and web applications. -Its web-based user interface allows for easy configuration and management as well as providing a launchpad for Web Apps. - -Signal K Server is also extensible, providing a plugin framework which allows developers to create and publich solutions that integrate and extend its capabilities. These solutions can be published to **npmjs** and installed via the **App Store** in the server's web-based user interface. +Signal K Server is also extensible, providing a plugin framework which allows developers to create solutions that integrate and extend its capabilities. These solutions can be published to **npmjs** and installed via the **App Store** in the server's web-based user interface. ![Server only setup](img/server_only.png) diff --git a/docs/src/installation/command_line.md b/docs/src/installation/command_line.md index 000630e6e..b3db4dce8 100644 --- a/docs/src/installation/command_line.md +++ b/docs/src/installation/command_line.md @@ -1,15 +1,19 @@ +# Runtime Environment & Options + +Signal K Server provides the following command line options and environment variables to configure your implementation. + ## Command line options | Option | Description | |--- |--- | -| `-c` | same as env variable `SIGNALK_NODE_SETTINGS` | -| `-s` | same as env variable `SIGNALK_NODE_CONFIG_DIR` | -| `--sample-nmea0183-data` | starts signalk-server with sample NMEA0183 data. | -| `--sample-n2k-data` | starts signalk-server with sample NMEA2000 data. | -| `--override-timestamps` | overrides timestamps in the sample NMEA2000 data with current date and time. Doesn't apply nor makes a difference to NMEA0183 sample data. | -| `--securityenabled` | one of the ways to enable security. For a fresh install this makes the Admin UI force the user to create an admin account before he/she can continue further into the UI. See [SECURITY.md#enabling-security](https://github.com/SignalK/signalk-server/blob/master/SECURITY.md#enabling-security) for further details. | +| `-s` | Override path to the settings file. _(same as `SIGNALK_NODE_SETTINGS` environment variable)_ | +| `-c` | Override the path to find server configuration. _(same as `SIGNALK_NODE_CONFIG_DIR` environment variable)_ | +| `--sample-nmea0183-data` | Starts signalk-server with sample NMEA0183 data. | +| `--sample-n2k-data` | Starts signalk-server with sample NMEA2000 data. | +| `--override-timestamps` | Override timestamps in the sample NMEA2000 data with current date and time. Doesn't apply nor makes a difference to NMEA0183 sample data. | +| `--securityenabled` | Enable security. For a fresh install this makes the Admin UI force the user to create an admin account before he/she can continue further into the UI. See [Security](../security.md#enabling-security) for further details. | @@ -17,32 +21,32 @@ | Variable | Description | |--- |--- | -| `PORT` | override the port for http/ws service (default is 3000). | -| `SSLPORT` | override the port for https/wss service. If defined activates ssl as forced, default protocol (default is 3443). | -| `PROTOCOL` | override http/https where the server is accessed via https but the server sees http (for example when Heroku handles https termination) | -| `EXTERNALPORT` | the port used in /signalk response and Bonjour advertisement. Has precedence over configuration file. | -| `EXTERNALHOST` | the host used in /signalk response and Bonjour advertisement. Has precedence over configuration file. | -| `FILEUPLOADSIZELIMIT` | override the file upload size limit (default is '10mb'). | -| `NMEA0183PORT` | override the port for the NMEA 0183 over tcp service (default is 10110). | -| `TCPSTREAMPORT` | override the port for the Signal K Streaming (deltas) over TCP. | -| `TCPSTREAMADDRESS` | override the address the Signal K Stream (deltas) over TCP is listening on. | -| `DISABLEPLUGINS` | disable all plugins so that they can not be enabled (default is false). | -| `DEFAULTENABLEDPLUGINS` | a comma separated list of plugin ids that are overridden to be enabled by default if no setttings exist. lower preference than `DISABLEPLUGINS`. | -| `PLUGINS_WITH_UPDATE_DISABLED` | a comma separated list of plugin that will not be updated. | -| `SECURITYSTRATEGY` | override the security strategy module name. | -| `WSCOMPRESSION` | compress websocket messages (default is false). | -| `MAXSENDBUFFERSIZE` | the maximum number of bytes allowed in the server's send buffer of a WebSocket connection. The connection will be terminated if this is exceeded. Guards against slow or dysfunctional clients that can not cope with the message volume (default is 512 * 1024 bytes). | -| `SIGNALK_SERVER_IS_UPDATABLE` | allows the server to be updated through the GUI even if it is not installed in the standard paths (default is false). if set to true, the server must have been installed with `npm install -g signalk-server`. | -| `SIGNALK_DISABLE_SERVER_UPDATES` | disables server updates in the GUI (default is false). | -| `DEBUG` | a comma-separated list of tags for debugging the specified module (For example: signalk-server*,signalk-provider-tcp). Can now be defined directly in the graphical interface. More help on how to use the debug here: `https://www.npmjs.com/package/debug#wildcards` | -| `IS_IN_DOCKER` | used to tell the server it is in Docker and not normally updateable (default is false). | -| `NPMREGISTRYTIMEOUT` | how long to wait for the registry when retrieving the App Store listing (default is 20s). | -| `SECRETKEY` | a secret string used to generate an authentication token (the internal default autogenerated is a string of 512 hex chars like 'ef8307a4c7a4bd7...309d947bca3') | -| `ALLOW_DEVICE_ACCESS_REQUESTS` | used when a device needs to gain access to a secured Signal K server (default is true) (https://signalk.org/specification/1.4.0/doc/access_requests.html). | -| `ALLOW_NEW_USER_REGISTRATION` | (default is true). | -| `ADMINUSER` | force a account for admin user (username:password format). | -| `PRESERIALCOMMAND` | command to run before opening a serial port. | -| `SIGNALK_NODE_SETTINGS` | override the path to the settings file. | -| `SIGNALK_NODE_CONFIG_DIR` | override the path to find server configuration. Includes all run-time changing content: configuration files, plugins, plugin configuration files, webapps, and so forth. | +| `PORT` | Override the port for http/ws service (default is 3000). | +| `SSLPORT` | Override the port for https/wss service. If defined forces ssl as default protocol _(default port is 3443)_. | +| `PROTOCOL` | Override http/https where the server is accessed via https but the server sees http _(e.g. when Heroku handles https termination)_ | +| `EXTERNALPORT` | The port used in /signalk response and Bonjour advertisement. Has precedence over configuration file. | +| `EXTERNALHOST` | The host used in /signalk response and Bonjour advertisement. Has precedence over configuration file. | +| `FILEUPLOADSIZELIMIT` | Override the file upload size limit _(default is '10mb')_. | +| `NMEA0183PORT` | Override the port for the NMEA 0183 over tcp service _(default is 10110)_. | +| `TCPSTREAMPORT` | Override the port for the Signal K Streaming (deltas) over TCP. | +| `TCPSTREAMADDRESS` | Override the address the Signal K Stream (deltas) over TCP is listening on. | +| `DISABLEPLUGINS` | Disable all plugins so that they can not be enabled _(default is false)_. | +| `DEFAULTENABLEDPLUGINS` | A comma separated list of plugin ids that are overridden to be enabled by default if no setttings exist. Lower preference than `DISABLEPLUGINS`. | +| `PLUGINS_WITH_UPDATE_DISABLED` | A comma separated list of plugin that will not be updated. | +| `SECURITYSTRATEGY` | Override the security strategy module name. | +| `WSCOMPRESSION` | Compress websocket messages _(default is false)_. | +| `MAXSENDBUFFERSIZE` | The maximum number of bytes allowed in the server's send buffer of a WebSocket connection. The connection will be terminated if this is exceeded. Guards against slow or dysfunctional clients that can not cope with the message volume _(default is 512 * 1024 bytes)_. | +| `SIGNALK_SERVER_IS_UPDATABLE` | Allows the server to be updated through the GUI even if it is not installed in the standard paths _(default is false)_. If set to true, the server must have been installed with `npm install -g signalk-server`. | +| `SIGNALK_DISABLE_SERVER_UPDATES` | Disables server updates in the GUI _(default is false)_. | +| `DEBUG` | A comma-separated list of tags for debugging the specified module _(e.g signalk-server*,signalk-provider-tcp)_. Can now be defined directly in the graphical interface. More help on how to use the debug here: `https://www.npmjs.com/package/debug#wildcards` | +| `IS_IN_DOCKER` | Used to tell the server it is in Docker and not normally updateable _(default is false)_. | +| `NPMREGISTRYTIMEOUT` | How long to wait for the registry when retrieving the App Store listing _(default is 20s)_. | +| `SECRETKEY` | A secret string used to generate an authentication token _(the internal default autogenerated is a string of 512 hex chars like 'ef8307a4c7a4bd7...309d947bca3')_ | +| `ALLOW_DEVICE_ACCESS_REQUESTS` | Used when a device needs to gain access to a secured Signal K server _(default is true)_ (https://signalk.org/specification/1.4.0/doc/access_requests.html). | +| `ALLOW_NEW_USER_REGISTRATION` | _(default is true)_. | +| `ADMINUSER` | Force an account for admin user _(username:password format)_. | +| `PRESERIALCOMMAND` | Command to run before opening a serial port. | +| `SIGNALK_NODE_SETTINGS` | Override the path to the settings file. | +| `SIGNALK_NODE_CONFIG_DIR` | Override the path to find server configuration. Includes all run-time changing content: configuration files, plugins, plugin configuration files, webapps, and so forth. | diff --git a/docs/src/installation/install.md b/docs/src/installation/install.md index d3674f379..ce93493da 100644 --- a/docs/src/installation/install.md +++ b/docs/src/installation/install.md @@ -1,61 +1,114 @@ # Getting Started -Signal K Server can be installed on a variety of devices and operating systems. +Signal K Server is a NodeJS application which can be installed on a variety of devices and operating systems. -See the relevant sections below based on your target system. +It is available for installation via: +1. NPM package +1. Docker image +1. GitHub repository + +See the relevant section below for instructions based on your target system. ### Prerequisites: -_Signal K server requires NodeJs version >= 18 be available on the target system._ +_Signal K server requires NodeJs version >= 18 be installed on the target system prior to commencing installation._ --- -## Installation using NPM: +## Raspberry Pi Installation -To install Signal K Server directly from NPM: +[Install Signal K Server on Raspberry Pi](raspberry_pi_installation.md) outlines the process for getting Signal K Server up and running _(including supporting services)_ on Raspberry Pi OS. -_Linux / macOS:_ -``` -$ sudo npm install -g signalk-server +--- + +## Using Docker + +Signal K Server is available as a Docker image on _Docker Hub_ and _cr.signalk.io/signalk/signalk-server_. + +To simply run a Signal K Server with some sample data on a device with docker installed, enter the following into a terminal: +```shell +docker run --rm signalk/signalk-server --publish 3000:3000 ``` -Once installation is complete, generate a settings file and configure the server to start automatically, enter the following in a terminal window: +This will start an instance of Signal K Server on port 3000 which you can then access via the web based Admin UI by pointing your web browser at `http://localhost:3000`. + + +If you are wanting to use docker to deploy Signal K Server on your vessel you will need to: +1. Specify a location to persist the server's configuration so it is not lost between restarts +1. Run the instance as a background process + +_Example: Run as background process and store server configuration in the current folder:_ +```shell +docker run -d --init --name signalk-server -p 3000:3000 -v $(pwd):/home/node/.signalk signalk/signalk-server ``` -$ sudo signalk-server-setup + +You are ready to now **[configure](../setup/configuration.md)** your installation and connect data from devices on your boat. + +--- + + +## Installation via NPM + +Signal K Server can be installed directly using NPM. + +_Windows:_ + +- See [Installing on Windows](#installing-on-windows) below. + +_Linux / macOS:_ +```shell +sudo npm install -g signalk-server ``` -If you shoose not to use `signalk-server-setup` you can start the server by entering the following in a terminal window: +Once installation is complete, enter the following in a terminal window, to generate a settings file and configure the server to start automatically: +```shell +sudo signalk-server-setup ``` + +If you choose not to use `signalk-server-setup` you can start the server by entering the following in a terminal window: +```shell signalk-server ``` -## Raspberry Pi Installation - -To install Signal K server on a RaspberryPi running Raspberry Pi OS, use the link below. -This document details how to install Signal K Server as well as supporting services. - -* [Installation on a RaspberryPi](raspberry_pi_installation.md) +--- ## Installing on Windows -For installation on a device with Windows please use the [Signal K installer for Windows](https://github.com/SignalK/signalk-server-windows). +Please use the [Signal K installer for Windows](https://github.com/SignalK/signalk-server-windows) to install Signal K Server on a Windows device. +--- -## Using Docker: - -A Signal K Server Docker image is available on Docker Hub. +## Install using Git -You can start a local server on port 3000 with demo data with +Installation from the GitHub repository is useful when developing plugins and components. -``` -docker run --rm signalk/signalk-server --publish 3000:3000 -``` +To do this enter the following commands in a terminal window: +```shell +# Copy the files to your device +git clone https://github.com/SignalK/signalk-server.git -See [Docker quickstart instructions](https://github.com/SignalK/signalk-server/blob/master/docker/README.md#quickstart) for details about how to configure and use docker on your vessel. +# change to the folder containing the downloaded files +cd signalk-server +# install the dependencies +npm install +# build all packages in the repository +npm run build:all +``` +To start Signal K Server with a sample configuration file and some sample data, enter the following into a terminal: +_To use NMEA0183 sample data:_ +``` shell +bin/nmea-from-file +``` +_To use NMEA2000 sample data:_ +``` shell +bin/n2k-from-file +``` +The server will start playing back data from the specified sample file that can be viewed using the _Data Browser_ in the Admin UI _(`http://localhost:3000`)_ or via REST API / websocket connection. +--- diff --git a/docs/src/installation/updating.md b/docs/src/installation/updating.md index 5ecf6a9b3..1cc8fc8fb 100644 --- a/docs/src/installation/updating.md +++ b/docs/src/installation/updating.md @@ -1,55 +1,87 @@ -# Updating your Raspberry Pi and Signal K Node Server +# Updating your Installation -Much as we would all like to be sailing 365 days a year, the reality is that we are down on our boats as and when we can and weeks and months can go by between using your Raspberry Pi and Signal K Node Server. Of course when you get back to the boat everything will continue to operate as it did when you left it, but Signal K (and the Raspberry Pi) are constantly evolving and if you wish to update to the latest builds, then you need to follow this process. +Signal K Server is frequently updated to introduce new features and fix issues that have been reported. +Sometime these updates require that NodeJS or other supporting software on your device to be upgraded to support the new functionality. -Please bear in mind that the longer between updates the more data that will have to be downloaded and the longer the process will take. We would seriously recommend taking your Raspberry Pi home and updating it on a network with good broadband speed. +Additionally your device's operating system are constantly evolving to address security issues as well as providing new capabilities. -The updates that need to be done can be broken down in to four key areas... +Regularly updating your installation will reduce both the volume of data download and the time taken to complete the process. Connecting your device to a network with good broadband speed before performing an update is recommended. -1. The Raspberry Pi Linux Distro -1. Node and NPM -1. The Signal K Node Server -1. Any Signal K Apps -## Update Raspberry Pi Linux Distro +Updates fall into four categories: -Open the terminal window and enter the following commands... +1. Device Operating system (e.g. RaspberryPi OS) +1. NodeJS / NPM +1. Signal K Server +1. Signal K WebApps and Plugins - $ sudo apt update - $ sudo apt dist-upgrade -If you have not updated for a while, then the above commands may take a while to finish, just be patient and make sure everything completes correctly. After the two commands have completed Reboot your Raspberry Pi. +## Update Device Operating System -## Update Node and NPM +Instructions will vary depending on your device but for linux based systems such as the Raspberry Pi the following instrctions are used to update the OS. -Open the terminal window and enter the following commands... +From a terminal window enter the following commands: +```shell +sudo apt update - $ sudo apt upgrade nodejs - $ sudo npm install npm@latest -g +sudo apt dist-upgrade +``` -This will update Nodejs and NPM to the version required by the server. +If you have not performed an update for a while these commands may take a while to complete, just be patient and make sure everything completes correctly. -## Update Signal K Node Server +After the process has completed `restart` your device. -As seen in the picture above there was an update available at ”Server => Update” -Click on that row and You will open next window -![server_update](https://user-images.githubusercontent.com/16189982/51401114-4c1cda80-1b4a-11e9-8f1e-d12a9db542af.png) -Click on update and the installation will start +## Update NodeJS and NPM -**Please note !** +To ensure the version of NodeJS on your device is supported by Signal K Server _[(see prerequisites)](install.md#prerequisites)_, check the installed version by +entering the following in a terminal window: +```bash +node -v -Starting with Signal K server version 2.0.0 the recommended Node.js version is 18. [18 is the active LTS](https://nodejs.org/en/about/releases/) (Long Term Support) version in 2023. -So if you are updating from a Signal K version <= V 1.40.0 [check out the Wiki](https://github.com/SignalK/signalk-server/wiki/Updating-to-Node.js-18) on how to. +# example response +v18.17.0 +``` -![server_during_update](https://user-images.githubusercontent.com/16189982/51401178-71a9e400-1b4a-11e9-86b9-1148442ba59c.png) +If the version of NodeJS displayed is lower than the version supported by Signal K Server then you can update it with the following command: +```shell +sudo apt upgrade nodejs +``` -After the installation restart the server. +It is also recommended to update the version of the Node Package Manager (NPM). +```shell +sudo npm install -g npm@latest +``` -## Any Signal K Apps -The apps are updated via the Admin UI ”Appstore => Updates” clicking on the ”download cloud” . After installation do a server restart. +## Update Signal K Server + +When an update is available for Signal K Server a visual indication is displayed in the Admin UI. + +**Important!** +Before updating please ensure the version of NodeJS on your device is [supported by Signal K Server](install.md#prerequisites). + +_**If you are updating from Signal K Server version v1.40.0 or earlier please [read this first](https://github.com/SignalK/signalk-server/wiki/Updating-to-Node.js-18) before proceeding.**_ + +Click on _Server -> Update_ to display information about the new version. + +![server_update](../img/server_update.png) + +Click **Update** to start the installation. + +After the installation is complete, click **Restart** to launch the updated Signal K Server. + + +### WebApps and Plugins + +After updating Signal K Server some plugins and WebApps may also need to be updated. + +The AppStore is where WebApps and Plugins can be installed, removed or updated. +Those with an update available will be listed in _Appstore -> Updates_ in the Admin UI. + +Clicking on the _download cloud_ button next to the WebApp / Plugin you wish to update. + +After all installations have been completed, click **Restart** to activate the updated WebApps and Plugins. -Now your Signal K Node Server is updated. diff --git a/docs/src/security.md b/docs/src/security.md index 81be6e1a7..fb3055cb0 100644 --- a/docs/src/security.md +++ b/docs/src/security.md @@ -1,53 +1,54 @@ -Introduction -======== +# Security -The umbrella term *Security* in Signal K server refers to the difference between running an *unsecured server*, that everybody who has network access to it can access and alter at will, and a *secured server* that has one or more security restrictions enabled. +## Introduction -The security options are related to -* **authentication**: the users are authenticated, for example but not limited to username & password -* **access control**: based on authentication we can grant / limit access to Signal K data and server configuration -* **secure communications**: is the network traffic protected against eavesdropping by using encryption and can the identity of the server be verified -* **active network services**: which of the server's services/interfaces are configured and active, for example does it allow unsecured read/write over the network -Enabling Security -======= +The umbrella term _Security_ in Signal K server refers to the difference between running a server, that any one connected to the network can access and alter at will **(unsecured)** , and one with restrictions in place **(secured)**. -You can tell that a server does not have security turned on from not having `Login` option at the top right corner of the admin UI. +The available security options relate to: +* **authentication**: Users and / or connecting devices having to provide a credential to gain access to the server _(e.g. username & password, access token, etc.)_. +* **access control**: Based on the authentication, access is granted to only specific Signal K data and server configuration. +* **communications**: Network traffic is encrypted and the identity of the server verified to protect against eavesdropping. +* **network services**: Control which of the server's services/interfaces are configured and active _(e.g. does it allow unsecured read/write over the network)_. -You can enable security in several ways: -- by accessing the Security settings pages in the admin UI -- starting the server with the `--securityenabled` option -- adding the following section in the settings file -``` +## Enabling Security + +When Signal K Server does not have security enabled, the `Login` option at the top right corner of the Admin UI will not be available. + +Security can be enabled in several ways: +1. Through the _Security_ menu option in the Admin UI +2. Starting the server with the `--securityenabled` command line option +3. Adding the following section in the settings file + +```JSON "security": { "strategy": "./tokensecurity", } ``` -When security is enabled the admin UI will prompt you to create the admin account in the admin UI. +When security is enabled, the next time you access the Admin UI it will prompt you to create an administrator account. -Security configuration is stored in file called `security.json` which will be located in the configuration directory. +Security configuration is stored in file called `security.json` which will be located in the server configuration directory. -Disabling Security / Lost Admin Credentials -========== -**In case you accidentally lose your admin credentials you can remove `security.json` and restart.** +## Disabling Security / Lost Admin Credentials -Access Control -==== +In case the administrator user credentials are lost, removing the `security.json` file and restarting the server will restore access to the Admin UI. -Access control lists allow fine grained control of access to specific data in SignalK. The acls are a list which allow specifiying controls for specifc contexts and it goes in the security.json file mentioned above. -The following example defines acls for the self context. It allows anyone to read the paths `"steering.*"`, `"navigation.*"`, `"name"`, `"design.aisShipType"` and allows the admin user permission to write (update) those paths. +## Access Control -The second entry allows the user _john_ to read any data coming from the `actisense.35` $source. +Access control lists _(acls)_ allow for fine grained access to specific data in Signal K. They specify the permissions assigned to users for resources within specifc contexts and are defined within the `security.json` file. -The last entry covers all other paths, allowing only the admin user to read and no one can write. +The following example defines acls for the self context allowing: +1. Anyone to read the paths `"steering.*"`, `"navigation.*"`, `"name"`, `"design.aisShipType"` and grants the admin user permission to write (update) those paths. -If there is no match is found for a specific path in the acl list, then permission will be denied to that path. +2. The user _john_ to read any data coming from the `actisense.35` $source. -``` +3. For all other paths, only the admin user to read and no one can write. + +```JSON "acls": [ { "context": "vessels.self", @@ -88,19 +89,23 @@ If there is no match is found for a specific path in the acl list, then permissi ] ``` -Active network services -===== + _Note: If there is no match is found for a specific path in the acl list, then permission will be denied to that path!_ -Signal K server's main networks services are -- the *primary Signal K http / WebSocket interface*, with options to use TLS encryption and authentication (read/write) -- *NMEA0183 data over TCP* on port 10110 (read only) -- *Signal K over TCP* on port 8375 (read/write) +## Active network services + +Signal K Server's main network services are: +- The _primary Signal K http / WebSocket interface_, with options to use TLS encryption and authentication _(read/write)_ +- *NMEA0183 data over TCP* on port 10110 _(read only)_ +- *Signal K over TCP* on port 8375 _(read/write)_ In addition the user may configure any number of TCP, UDP and Websocket connections, some of which allow write access to the server. -The security implication of these connections is that with no security options turned on *computers that have network access to the server have both read and write access to practically all of its data and settings*. +The security implication of these connections is that with no security options turned on _devices connected to the network will have both read and write access to practically all of its data and settings_. + +People often dismiss local network access by saying that their boat's local network is secure enough. But one very common scenario is connecting your Signal K server _(e.g. a Raspberry Pi)_ to a marina wifi. +Many wifi networks allow communication between all connected computers, so your Signal K server will be advertising its services over MDNS to all other connected devices. -People often dismiss local network access by saying that their boat's local network is secure enough. But one very common scenario is connecting your SK server, for example a Raspberry Pi, as a client to a marina wifi. Many wifi networks allow communication between all connected computers. Your the server will be advertising its services over MDNS to all other connected computers. If there is a manually configured connection for NMEA0183 over UDP other computers broadcasting data can easily write data to the server. +So in the case that your server has a manually configured connection for _NMEA0183 over UDP_, NMEA0183 data broadcast by other devices will be received and written into your SIgnal K data. -NMEA0183 connections over TCP and UDP are inherently unsafe: there are no options for authentication and secure communication. In comparison Signal K over TLS and HTTP / WebSockets can provide secure, authentication read and write access to your data. +NMEA0183 connections over TCP and UDP are inherently unsafe. There are no options for authentication and / or secure communication. In comparison Signal K over TLS and HTTP / WebSockets can provide secure, authenticated read and write access to your data. diff --git a/docs/src/setup/branding.md b/docs/src/setup/branding.md index 11a0f9e1d..07d438f51 100644 --- a/docs/src/setup/branding.md +++ b/docs/src/setup/branding.md @@ -1,7 +1,8 @@ +# Branding +## Add your Logo -### Logo - -You can change the admin application's top left logo by placing a SVG file named `logo.svg` in the settings directory (default: $HOME/.signalk/). +You can change the logo image displayed at the top left of the Admin UI screen. +To do this, add an SVG file named `logo.svg` in the settings directory _(default: $HOME/.signalk/)_. diff --git a/docs/src/setup/configuration.md b/docs/src/setup/configuration.md index f7b24c5fc..5a565394d 100644 --- a/docs/src/setup/configuration.md +++ b/docs/src/setup/configuration.md @@ -1,33 +1,33 @@ ## Configuring Signal K Server -Signal K server provides an Admin UI to allow you to easily configure your installation. +Signal K Server provides an Admin UI to allow you to easily configure your installation. -Open the Admin UI by opening a web browser on the device where Signal K server is installed and (if the defaults have not been changed) navigate to `http://localhost:3000`. +Open the Admin UI using a web browser on the device where Signal K server is installed (if the defaults have not been changed) by navigating to `http://localhost:3000`. ### Create an Admin account -If you ran the `signalk-server-setup` script you will be presented with a login screen. +It is considered good practise to enable security and create an administrator account to controll access to your server and protect your data. -- Click `Login` for the first time will prompt you to create a user and password. +If you ran the `signalk-server-setup` script, security will be enabled and you will be presented with a login screen when accessing the Admin UI. -Otherwise from the menu select `Security -> Users`: +If the login screen is not displayed, click `Login` _(top right of screen)_ to display the prompt to create a user and password. + +Alternatively, from the menu select _Security -> Users_ and then: -From the **Users** screen: 1. Click **Add** -1. Enter a **UserID** +1. Enter a **user id** 1. Enter a **password** and confirm it 1. In **Permissions** select **Admin** 1. Click **Apply**. -_Besides being good practise from a security standpoint, when logged in with Admin account the `Restart` button is available making it easy to restart the server._ After creating the account, the server needs to be restarted. -How you restart the server will depend on the installation type (i.e. installed from NPM, embedded on a commercial device, etc). Power cycling the device that Signal K Server is always an option. +How you restart the server will depend on the installation type _(i.e. installed from NPM, embedded on a commercial device, etc)_. Power cycling the device that Signal K Server is always an option. ### Set up data connections -To get data into Signal K server you will need to configure one or more data connections via the `Server -> Data Connections` menu option. +To get data into Signal K server you will need to configure one or more data connections via the _Server -> Data Connections_ menu option. From this screen you can add connections for various data types including: - NMEA2000 @@ -54,10 +54,7 @@ Plugins typically extend data acquisition, data processing or enable operations Webapps provide a user interface to view / interact with data or perform operations enabling full featured solutions such as a Chartplotter. -_Pictured below: Freeboard-SK webapp:_ -![image](https://user-images.githubusercontent.com/5200296/226479871-6f3769af-4fa4-43d6-871f-4a54bec372fa.png) - -To install, update or remove plugins and webapps select `Appstore` from the menu. +To install, update or remove plugins and webapps select _Appstore_ from the menu. Select: @@ -80,14 +77,14 @@ To view a list of Plugins and Webapps directly from the NPM registry select the **_Note: A restart of the Signal K server is required after plugin(s) or / webapp(s) have been installed.or updated._** -Click the `Restart` button at the top right of the screen to restart the server. +Click the _Restart_ button at the top right of the screen to restart the server. -After the server has restarted, the installed plugin(s) can be configued by selecting `Server -> Plugin Config` menu entry. +After the server has restarted, the installed plugin(s) can be configued by selecting _Server -> Plugin Config_ menu entry. ### Trouble shooting and the Server Log -If things are not working as expected after installing a plugin or webapp, select `Server -> Server Log` to view the server's log. If the errors logged there are not providing the information required, you can enable debugging for individual components and plugins by toggling the switch to activate them. +If things are not working as expected after installing a plugin or webapp, select _Server -> Server Log_ to view the server's log. If the errors logged there are not providing the information required, you can enable debugging for individual components and plugins by toggling the switch to activate them. Enabling the `Remember debug setting` ensure your selections are remebered after a server restart. diff --git a/docs/src/support/sponsor.md b/docs/src/support/sponsor.md index 428b96fab..9816f8bf8 100644 --- a/docs/src/support/sponsor.md +++ b/docs/src/support/sponsor.md @@ -1,6 +1,5 @@ - -**Open Collective** +# Sponsor Signal K Signal K is all about creating open and interoperable marine data systems. We have created an open specification for representing marine related data, APIs and interfacing to use the data and free software that you can download and use. diff --git a/docs/src/whats_new.md b/docs/src/whats_new.md index ab1856479..4df46bf03 100644 --- a/docs/src/whats_new.md +++ b/docs/src/whats_new.md @@ -1,14 +1,16 @@ # What's new in Version 2. -Signal K server version 2 introduces new REST APIs designed to perform specific operations (e.g. set destination, advance to next point, etc). +Signal K Server version 2 introduces new REST APIs designed to perform specific operations _(e.g. set destination, advance to next point, etc)_. -Using these APIs will ensure that the underlying Signal K data model has values set in all related paths associated with the operation, providing a cohesive data set that can be reliably used by all connected applications and devices. +These APIs have been implemented to ensure the integrity of the underlying Signal K data model by maintaining values in all related paths associated with the operation. In this way a cohesive, reliable data set is presented to all connected applications and devices. -These new APIs are mounted under `/signalk/v2/api` and coexist with `/signalk/v1/api` paths, their definition available as OpenApi documents accessible via the server admin user interface. +The new APIs are mounted under `/signalk/v2/api`, their definition(s) available as OpenApi documents accessible via _Documentation -> OpenAPI_ in the server admin user interface. They coexist with `/signalk/v1/api` paths to ensure continued operation of applications. -_**It is important to note that the Signal K data paths maintained by the REST APIs should NOT be updated directly by any other plugin or process. In the case where an API provides an `interface`, it should be used by plugins to perform operations.**_ +Some REST APIs provide an `interface` for use by plugins to enact operations in a managed way. -With the move towards operation based APIs some paths are flagged for deprecation. Please see [Deprecations](#deprecations) section below for details. +_**Important: The Signal K data paths maintained by the REST APIs should NOT be updated directly by any other plugin or process!**_ + +With the move towards operation based APIs some paths are flagged for deprecation. Please see [Changes & Deprecations](./breaking_changes.md) for details. --- @@ -16,7 +18,7 @@ With the move towards operation based APIs some paths are flagged for deprecatio Provides common course operations via `/signalk/v2/api/vessels/self/navigation/course`. -See the [Course API](openapi/course_api.md) for details. +See the [Course API](./develop/rest-api/course_api.md) for details. --- @@ -24,7 +26,7 @@ See the [Course API](openapi/course_api.md) for details. Provides operations for creating, maintaining and accessing resources such as routes, waypoints, etc via `/signalk/v2/api/resources`. -See the [Resources API](openapi/resources_api.md) for details. +See the [Resources API](./develop/rest-api/resources_api.md) for details. --- @@ -34,29 +36,27 @@ See the [Resources API](openapi/resources_api.md) for details. ### NMEA0183 / NMEA2000 message processing -As stated previously the Course API ensures a cohesive data set by ensuring values are set in ALL related Signal K paths for the given operation. - -An NMEA data streams are also a source of course data which, in prior versions, this data has been used to directly populate various Signal K paths (e.g. `n2k-signalk` and `nmea0183-signalk` plugins). +The Course API and associated operations maintain all "course" related paths in the data model but this API is not the only source of course data. NMEA data streams are also a source of course data. -**These plugins (and others like them) should use the interface provided by the Course API to set / clear a destination.** +In the past, plugins processing this data have directly populated various `v1` Signal K paths. Moving forward +these plugins should utilise interface provided by the Course API to perform the required operation. -In practise this would mean collecting and processing data received from the relevant sentences / pgns to compose a Course API request. +In practise this would mean collecting and processing data received from the relevant sentences / PGNs to compose a Course API request. ### Connection with v1 Full Data Model -In the current implementation there is still only a single `stream` endpoint and all values emitted as deltas will continue appear there. - -_It is important to note though, that `version 2` deltas will not populate the `full data model`. This means that these values will only be available via the API._ +In the current implementation of Signal K Server there is still only a single `stream` endpoint and all values emitted as deltas _(both `v1` & `v2`)_ will continue appear there. +It should be noted, that while both `v1` & `v2` deltas appear in the one stream, only `v1` deltas will populate the _full data model_ and be available under the `/signalk/v1/api/` path! ### Stream updates -The new APIs emit values in the deltas that are object valued. +The new REST APIs emit `v2` deltas with values that are objects. -For example, when a course is activated deltas will be emitted for `navigation.course.previousPoint`, `navigation.course.nextPoint` and `navigation.course.activeRoute` where the value is an object and not as individual path / values. +For example, when a course is activated, deltas will be emitted for `navigation.course.previousPoint`, `navigation.course.nextPoint` and `navigation.course.activeRoute` where the value is an object. -_e.g. `navigation.course.previousPoint`_ +_Example: v2 Delta_ ```JSON { "path": "navigation.course.previousPoint", From 46a8d475bd7f4f68fe7ec1479239f9065dfa48e0 Mon Sep 17 00:00:00 2001 From: panaaj <38519157+panaaj@users.noreply.github.com> Date: Sun, 30 Jul 2023 17:44:25 +0930 Subject: [PATCH 03/44] Add server guide to Admin UI Documentation menu. --- .npmignore | 6 +++++- docs/.gitignore | 2 -- docs/src/img/logo.png | Bin 0 -> 4586 bytes docs/src/index.md | 4 +--- .../src/components/Sidebar/Sidebar.js | 5 +++++ src/serverroutes.ts | 7 +++++++ 6 files changed, 18 insertions(+), 6 deletions(-) delete mode 100644 docs/.gitignore create mode 100644 docs/src/img/logo.png diff --git a/.npmignore b/.npmignore index 6c232ae31..63df7b27e 100644 --- a/.npmignore +++ b/.npmignore @@ -72,4 +72,8 @@ publishing.md bin/linkpackages fly_io -.github \ No newline at end of file +.github + +docs/src +docs/book.toml +docs/docker-compose.yml diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index 139597f9c..000000000 --- a/docs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/docs/src/img/logo.png b/docs/src/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9b91e32726dc25c8cdaa2e5b2dace23bba289283 GIT binary patch literal 4586 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 UFMSC1xc~qF07*qoM6N<$g5(6+&Hw-a literal 0 HcmV?d00001 diff --git a/docs/src/index.md b/docs/src/index.md index 8316d43b3..1822426f7 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,6 +1,4 @@ - - - + ## Introduction diff --git a/packages/server-admin-ui/src/components/Sidebar/Sidebar.js b/packages/server-admin-ui/src/components/Sidebar/Sidebar.js index dc8c76a4a..11b4d082f 100644 --- a/packages/server-admin-ui/src/components/Sidebar/Sidebar.js +++ b/packages/server-admin-ui/src/components/Sidebar/Sidebar.js @@ -102,6 +102,7 @@ class Sidebar extends Component { // nav dropdown const navDropdown = (item, key) => { + console.log('****', item) return (
  • { url: '/doc', icon: 'icon-settings', children: [ + { + name: 'Server Guide', + url: `${window.location.protocol}//${window.location.host}/doc/server-guide`, + }, { name: 'OpenApi', url: `${window.location.protocol}//${window.location.host}/doc/openapi`, diff --git a/src/serverroutes.ts b/src/serverroutes.ts index 83aa045b0..4e08f8384 100644 --- a/src/serverroutes.ts +++ b/src/serverroutes.ts @@ -107,6 +107,13 @@ module.exports = function ( // mount before the main /admin mountSwaggerUi(app, '/doc/openapi') + // mount server-guide + app.use('/doc/server-guide', + express.static( + __dirname + '/../docs/server-guide' + ) + ) + app.get('/admin/', (req: Request, res: Response) => { fs.readFile( path.join( From 68358f5ffa41a506efe3381eae886dc204f22c44 Mon Sep 17 00:00:00 2001 From: panaaj <38519157+panaaj@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:10:39 +0930 Subject: [PATCH 04/44] Build output as current user id (not as root) --- .gitignore | 2 -- .npmignore | 1 + docs/build-docs.sh | 7 +++++++ docs/docker-compose.yml | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100755 docs/build-docs.sh diff --git a/.gitignore b/.gitignore index 93cf83120..f09b964cd 100644 --- a/.gitignore +++ b/.gitignore @@ -16,8 +16,6 @@ settings/ssl-cert.pem *.tgz work/ -docs/server-guide/ - test/plugin-test-config/.npmrc test/plugin-test-config/plugin-config-data/ test/plugin-test-config/ssl-cert.pem diff --git a/.npmignore b/.npmignore index 63df7b27e..699c4f08d 100644 --- a/.npmignore +++ b/.npmignore @@ -77,3 +77,4 @@ fly_io docs/src docs/book.toml docs/docker-compose.yml +docs/build-docs.sh diff --git a/docs/build-docs.sh b/docs/build-docs.sh new file mode 100755 index 000000000..7ff1410f2 --- /dev/null +++ b/docs/build-docs.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +echo "Building Documentation..." +USER_INFO=$(id -u):$(id -g) docker compose run mdbook build +echo "Done." + + diff --git a/docs/docker-compose.yml b/docs/docker-compose.yml index 30fe7ef33..cb57103a9 100644 --- a/docs/docker-compose.yml +++ b/docs/docker-compose.yml @@ -15,3 +15,4 @@ services: - serve - --hostname - '0.0.0.0' + user: "${USER_INFO}" From fe9a838415261aca02c8baceaaa3ba034669188d Mon Sep 17 00:00:00 2001 From: panaaj <38519157+panaaj@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:11:11 +0930 Subject: [PATCH 05/44] Update references and links --- README.md | 10 +- docs/src/develop/plugins/server_plugin.md | 34 ++- docs/src/develop/plugins/server_plugin_api.md | 275 ++++++------------ 3 files changed, 127 insertions(+), 192 deletions(-) diff --git a/README.md b/README.md index c8ae1fb42..6a15cd032 100644 --- a/README.md +++ b/README.md @@ -38,11 +38,11 @@ For Marine vendors who build marine hardware and software, for example those dev Signal K Server is already running inside products developed by Victron Energy, Airmar Technology and others. ### Software Developers & Boat Electronics Hobbyists -There are many boaters who happen to be highly skilled software developers and engineers, who want to build software for themselves and share with others. If you are one of them, Signal K offers you a free, modern and open platform developed by boaters for other boaters like you. Signal K Server features an extensible [plugin framework](https://github.com/SignalK/signalk-server/blob/master/SERVERPLUGINS.md), [web applications](https://github.com/SignalK/signalk-server/blob/master/WEBAPPS.md) as well as a rich set of [REST](https://signalk.org/specification/1.7.0/doc/rest_api.html) and [Streaming APIs](https://signalk.org/specification/1.7.0/doc/streaming_api.html). +There are many boaters who happen to be highly skilled software developers and engineers, who want to build software for themselves and share with others. If you are one of them, Signal K offers you a free, modern and open platform developed by boaters for other boaters like you. Signal K Server features an extensible [plugin framework](./docs/src/develop/plugins/server_plugin.md), [web applications](./docs/src/develop/webapps.md) as well as a rich set of [REST](https://signalk.org/specification/1.7.0/doc/rest_api.html) and [Streaming APIs](https://signalk.org/specification/1.7.0/doc/streaming_api.html). Signal K Server takes care of all the complicated parts of protocol decode, and conversions to and from NMEA2000, NMEA0183 and many more protocols. It can also act as data hub for additional sensors, see the [Signal K SensESP project](https://github.com/SignalK/SensESP) for [ESP32](https://en.wikipedia.org/wiki/ESP32). -Signal K Server makes the data available in JSON format according to the [Signal K standard specification](https://signalk.org/specification/latest/). This allows developers to bypass all the hurdles typically encountered when wanting to implement something for a boat. [Getting started with a plugin](https://github.com/SignalK/signalk-server/blob/master/SERVERPLUGINS.md#getting-started-with-plugin-development) is surprisingly easy. +Signal K Server makes the data available in JSON format according to the [Signal K standard specification](https://signalk.org/specification/latest/). This allows developers to bypass all the hurdles typically encountered when wanting to implement something for a boat. [Getting started with a plugin](./docs/src/develop/plugins/server_plugin.md#getting-started-with-plugin-development) is surprisingly easy. ## Signal K Platform @@ -85,7 +85,7 @@ And an installer for Windows: Another level up, this document explains how to install Signal K Server, as well as its dependencies, on a RaspberryPi that is already running Raspberry Pi OS: -* [Installation on a RaspberryPi](https://github.com/SignalK/signalk-server-node/blob/master/raspberry_pi_installation.md) +* [Installation on a RaspberryPi](./docs/src/installation/raspberry_pi_installation.md) Last, here is how to install the Signal K Server application from NPM: @@ -232,7 +232,7 @@ To enable debugging without going through the Admin UI, see the file `~/.signalk - `--sample-nmea0183-data`: starts signalk-server with sample NMEA0183 data. - `--sample-n2k-data`: starts signalk-server with sample NMEA2000 data. - `--override-timestamps`: overrides timestamps in the sample NMEA2000 data with current date and time. Doesn't apply nor makes a difference to NMEA0183 sample data. -- `--securityenabled`: one of the ways to enable security. For a fresh install this makes the Admin UI force the user to create an admin account before he/she can continue further into the UI. See [SECURITY.md#enabling-security](https://github.com/SignalK/signalk-server/blob/master/SECURITY.md#enabling-security) for further details. +- `--securityenabled`: one of the ways to enable security. For a fresh install this makes the Admin UI force the user to create an admin account before he/she can continue further into the UI. See [ENABLING SECURITY](./docs/src/security.md#enabling-security) for further details. ## Development @@ -245,7 +245,7 @@ The documents provide more details about developing Webapps or Plugings for Sign * [Server Plugins](docs/src/develop/plugins/server_plugin.md) * [Webapps](docs/src/develop/webapps.md) * [Working with the Course API](docs/src/develop/rest-api/course_api.md) -* [Working with the Resources API](docs/src/develop/rest-api/course_api.md) +* [Working with the Resources API](docs/src/develop/rest-api/resources_api.md) * [Resource Provider Plugins](docs/src/develop/plugins/resource_provider_plugins.md) * [Security](docs/src/security.md) diff --git a/docs/src/develop/plugins/server_plugin.md b/docs/src/develop/plugins/server_plugin.md index ada93b592..8f276934f 100644 --- a/docs/src/develop/plugins/server_plugin.md +++ b/docs/src/develop/plugins/server_plugin.md @@ -16,6 +16,10 @@ For example, if the plugin you are looking to develop is providing access to inf Or if you are looking to perform course calculations or integrate with an auotpilot, you will want to review the _[Course API](../openapi/course_api.md)_ documentation prior to commencing your project. + +**OpenApi description for your plugin's API** + +If your plugin provides an API you should consider providing an OpenApi description. This promotes cooperation with other plugin/webapp authors and also paves the way for incorporating new APIs piloted within a plugin into the Signal K specification. --- ## Getting Started with Plugin Development @@ -220,7 +224,6 @@ A plugin can also contain the following optional functions: _Example:_ ```javascript const openapi = require('./openApi.json'); -... plugin.getOpenApi = () => openapi; @@ -296,6 +299,35 @@ To do this add the following to the `package.json`: ```json "signalk-plugin-enabled-by-default": true ``` +--- + +## Add an OpenAPI Definition + +If your plugin exposes an API to interact with it then you should include an OpenAPI definition. + +You do this by creating an OpenAPI definition within the file `openApi.json` and then returning the content of the file with the `getOpenApi` method. + +_Example:_ +```javascript +const openapi = require('./openApi.json'); +... + +plugin.getOpenApi = () => openapi; +``` + +This will include your plugin's OpenApi definition in the documentation in the server's Admin UI under _Documentation -> OpenAPI_. + +Note: If the plugin's OpenApi description DOES NOT include a `servers` property, the API path presented in the documentation will be relative to the Signal K API path. You should include this property the plugin API is rooted elsewhere. +_Example:_ +```JSON + "servers": [ + { + "url": "/myapi/endpoint" + } + ], +``` + +See [testplugin](https://github.com/SignalK/signalk-server/tree/b82477e63ebdc14878164ce1ed3aedd80c5a8b0c/test/plugin-test-config/node_modules/testplugin) for an example. --- diff --git a/docs/src/develop/plugins/server_plugin_api.md b/docs/src/develop/plugins/server_plugin_api.md index fa9e0e7bb..a397d4f75 100644 --- a/docs/src/develop/plugins/server_plugin_api.md +++ b/docs/src/develop/plugins/server_plugin_api.md @@ -4,7 +4,7 @@ Internally, SignalK server builds a full data model. Plugins can access the server's delta stream (updates) and full model and provide additional data as deltas using the following functions. -### `app.handleMessage(pluginId, delta, skVersion = 'v1')` +#### `app.handleMessage(pluginId, delta, skVersion = 'v1')` Allows the plugin to publish deltas to the server. These deltas are handled as any incoming deltas. @@ -25,7 +25,7 @@ app.handleMessage('my-signalk-plugin', { Deltas that use Signal K V2 paths (like the [Course API](http://localhost:3000/admin/openapi/?urls.primaryName=course) paths) should call `handleMessage` with the optional 3rd parameter set to `v2`. This prevents V2 API data getting mixed in V1 paths' data in Full model & the v1 http API. If you don't know that your data is V2 API data you can omit the third parameter, as the default is V1. -### `app.getSelfPath(path)` +#### `app.getSelfPath(path)` Get a Signal K path for the `vessels.self`'s full data model. @@ -34,7 +34,7 @@ let uuid = app.getSelfPath('uuid'); app.debug(uuid); // Should output something like urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60 ``` -### `app.getPath(path)` +#### `app.getPath(path)` Get a Signal K path starting from the root of the full data model. @@ -58,7 +58,7 @@ let baseStations = app.getPath('shore.basestations'); } ``` -### `app.streambundle.getSelfBus(path)` +#### `app.streambundle.getSelfBus(path)` Get a [Bacon JS](https://baconjs.github.io/) stream for `vessels.self`'s Signal K path. `path` argument is optional. If it is not provided the returned stream produces values for all paths. Stream values are objects with structure @@ -113,7 +113,7 @@ Outputs: ... ``` -### `app.streambundle.getSelfStream(path)` +#### `app.streambundle.getSelfStream(path)` Get a [Bacon JS](https://baconjs.github.io/) stream for `vessels.self`'s Signal K path. `path` argument is optional. If it is not provided the returned stream produces values for all paths. This is similar to `app.streambundle.getSelfBus(path)`, but the stream values are the `value` properties from incoming deltas. @@ -132,12 +132,12 @@ Outputs: my-signalk-plugin { longitude: 24.7366563, latitude: 59.724980699999996 } +503ms ``` -### `app.streambundle.getBus(path)` +#### `app.streambundle.getBus(path)` Get a [Bacon JS](https://baconjs.github.io/) stream for a Signal K path that will stream values from any context. `path` argument is optional. If it is not provided the returned stream produces values for all paths. Stream values are objects as in `app.streambundle.getSelfBus(path)`. -### `app.streambundle.getAvailablePaths()` +#### `app.streambundle.getAvailablePaths()` Get a list of paths currently available in the server @@ -159,11 +159,11 @@ Get a list of paths currently available in the server ] ``` -### `app.error(message)` +#### `app.error(message)` Report errors in a human-oriented message. Currently just logs the message, but in the future error messages hopefully will show up in the admin UI. -### `app.debug(...)` +#### `app.debug(...)` Log debug messages. This is the debug method from the [debug module](https://www.npmjs.com/package/debug). The npm module name is used as the debug name. @@ -171,7 +171,7 @@ Log debug messages. This is the debug method from the [debug module](https://www *Do not use `debug` directly*. Using the debug function provided by the server makes sure that the plugin taps into the server's debug logging system, including the helper switches in Admin UI's Server Log page. -### `app.savePluginOptions(options, callback)` +#### `app.savePluginOptions(options, callback)` Save changes to the plugin's options. @@ -184,7 +184,7 @@ app.savePluginOptions(options, () => {app.debug('Plugin options saved')}); ``` -### `app.readPluginOptions()` +#### `app.readPluginOptions()` Read plugin options from disk. @@ -192,7 +192,7 @@ Read plugin options from disk. var options = app.readPluginOptions(); ``` -### `app.getDataDirPath()` +#### `app.getDataDirPath()` Returns the full path of the directory where the plugin can persist its internal data, like data files. @@ -201,7 +201,7 @@ Example use: var myFile = require('path').join(app.getDataDirPath(), 'somefile.ext') ``` -### `app.registerPutHandler(context, path, callback, source)` +#### `app.registerPutHandler(context, path, callback, source)` If a plugin wants to respond to [`PUT`](http://signalk.org/specification/1.3.0/doc/put.html) requests for a specific path, it can register an action handler. @@ -284,7 +284,7 @@ plugin.start = function(options) { } ``` -### `app.registerDeltaInputHandler ((delta, next) => ...)` +#### `app.registerDeltaInputHandler ((delta, next) => ...)` Register a function to intercept all delta messages *before* they are processed by the server. The plugin callback should call `next(delta)` with a modified delta if it wants to alter the incoming delta or call `next` with the original delta to process it normally. Not calling `next` will drop the incoming delta and will only show in delta statistics. Other, non-delta messages produced by provider pipe elements are emitted normally. @@ -302,234 +302,134 @@ app.registerDeltaInputHandler((delta, next) => { }) ``` -### `app.notify(path, value, pluginId)` -Notifications API interface method for raising, updating and clearing notifications. - - - `path`: Signal K path of the notification - - - `value`: A valid `Notification` object or `null` if clearing a notification. - - - `pluginId` The plugin identifier. - +#### `app.setPluginStatus(msg)` -To raise or update a for a specified path, call the method with a valid `Notification` object as the `value`. - -- returns: `string` value containing the `id` of the new / updated notification. +Set the current status of the plugin. The `msg` should be a short message describing the current status of the plugin and will be displayed in the plugin configuration UI and the Dashboard. -_Example:_ ```javascript -const alarmId = app.notify( - 'myalarm', - { - message: 'My cutom alarm text', - state: 'alert' - }, - 'myAlarmPlugin' -) - -// alarmId = "ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a" +app.setPluginStatus('Initializing'); +// Do something +app.setPluginStatus('Done initializing'); ``` -To clear (cancel) a notification call the method with `null` as the `value`. +Use this instead of deprecated `setProviderStatus` -- returns: `void`. +#### `app.setPluginError(msg)` + +Set the current error status of the plugin. The `msg` should be a short message describing the current status of the plugin and will be displayed in the plugin configuration UI and the Dashboard. -_Example: Clear notification_ ```javascript -const alarmId = app.notify( - 'myalarm', - null, - 'myAlarmPlugin' -) +app.setPluginError('Error connecting to database'); ``` +Use this instead of deprecated `setProviderError` -### `app.registerResourceProvider(resourceProvider)` +#### `app.getSerialPorts() => Promise` -See [`RESOURCE_PROVIDER_PLUGINS`](./RESOURCE_PROVIDER_PLUGINS.md) for details. +This returs a Promise which will resolve to a [Ports](src/serialports.ts#21) object which contains information about the serial ports available on the machine. --- -### `app.resourcesApi.getResource(resource_type, resource_id, provider_id?)` -Retrieve data for the supplied SignalK resource_type and resource_id. +### Resources API Interface -_Note: Requires a registered Resource Provider for the supplied `resource_type`._ +#### `app.registerResourceProvider(ResourceProvider)` - - `resource_type`: Any Signal K _(i.e. `routes`,`waypoints`, `notes`, `regions` & `charts`)_ - or user defined resource types. +Used by _Resource Provider plugins_ to register each resource type it handles. - - `resource_id`: The id of the resource to retrieve _(e.g. `ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a`)_ +See [`Resource Provider Plugins`](../plugins/resource_provider_plugins.md#registering-as-a-resource-provider) for details. - - `provider_id` (optional): The id of the Resource Provider plugin to specifically use. Can be specified when more than one provider has been registered for a reource type._(e.g. `resources-provider`)_ - -- returns: `Promise<{[key: string]: any}>` - -_Example:_ -```javascript -app.resourcesApi.getResource( - 'routes', - 'ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a' -).then (data => { - // route data - console.log(data); - ... -}).catch (error) { - // handle error - console.log(error.message); - ... -} -``` +--- -### `app.resourcesApi.setResource(resource_type, resource_id, resource_data, provider_id?)` +### Course API Interface -Create / update value of the resource with the supplied SignalK resource_type and resource_id. +See [`Course API`](../rest-api/course_api.md) for details. -_Note: Requires a registered Resource Provider for the supplied `resource_type`._ - - `resource_type`: Any Signal K _(i.e. `routes`,`waypoints`, `notes`, `regions` & `charts`)_ - or user defined resource types. +#### `app.getCourse()` - - `resource_id`: The id of the resource to retrieve _(e.g. `ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a`)_ +Retrieves the current course information. - - `resource_data`: A complete and valid resource record. +It returns the same course information as the [`/course`](/doc/openapi/?urls.primaryName=course#/course/get_course) API endpoint. - - `provider_id` (optional): The id of the Resource Provider plugin to specifically use. Can be specified when more than one provider has been registered for a reource type._(e.g. `resources-provider`)_ +#### `app.setCourse(Destination)` -- returns: `Promise` +Navigate to the specified position / waypoint. This function accepts the same parameters as the [`/course/destination`](/doc/openapi/?urls.primaryName=course#/destination/put_course_destination) API endpoint. -_Example:_ -```javascript -app.resourcesApi.setResource( - 'waypoints', - 'ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a', - { - "position": {"longitude": 138.5, "latitude": -38.6}, - "feature": { - "type":"Feature", - "geometry": { - "type": "Point", - "coordinates": [138.5, -38.6] - }, - "properties":{} - } - } -).then ( () => { - // success - ... -}).catch (error) { - // handle error - console.log(error.message); - ... -} -``` - -### `app.resourcesApi.deleteResource(resource_type, resource_id, provider_id?)` - -Delete the resource with the supplied SignalK resource_type and resource_id. -_Note: Requires a registered Resource Provider for the supplied `resource_type`._ +#### `app.setRoute(RouteDest)` -- `resource_type`: Any Signal K _(i.e. `routes`,`waypoints`, `notes`, `regions` & `charts`)_ -or user defined resource types. +Follow a route in the specified direction and starting at the specified point. +This function accepts the same parameters as the [`/course/activeRoute`](/doc/openapi/?urls.primaryName=course#/activeRoute/put_course_activeRoute) API endpoint. -- `resource_id`: The id of the resource to retrieve _(e.g. `ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a`)_ -- `provider_id` (optional): The id of the Resource Provider plugin to specifically use. Can be specified when more than one provider has been registered for a reource type._(e.g. `resources-provider`)_ - -- returns: `Promise` - -_Example:_ -```javascript -app.resourcesApi.deleteResource( - 'notes', - 'ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a' -).then ( () => { - // success - ... -}).catch (error) { - // handle error - console.log(error.message); - ... -} -``` +--- -### `app.resourcesApi.listResources(resource_type, params, provider_id?)` +### Notifications API _(proposed)_ -Retrieve data for the supplied SignalK resource_type and resource_id. +#### `app.notify(path, value, pluginId)` -_Note: Requires a registered Resource Provider for the supplied `resource_type`._ +Notifications API interface method for raising, updating and clearing notifications. - - `resource_type`: Any Signal K _(i.e. `routes`,`waypoints`, `notes`, `regions` & `charts`)_ - or user defined resource types. + - `path`: Signal K path of the notification - - `params`: Object contining `key | value` pairs repesenting the parameters by which to filter the returned entries. + - `value`: A valid `Notification` object or `null` if clearing a notification. - - `provider_id` (optional): The id of the Resource Provider plugin to specifically use. Can be specified when more than one provider has been registered for a reource type._(e.g. `resources-provider`)_ + - `pluginId` The plugin identifier. - __Note: The registered Resource Provider must support the supplied parameters for results to be filtered.__ -- returns: `Promise<{[key: string]: any}>` +To raise or update a for a specified path, call the method with a valid `Notification` object as the `value`. + +- returns: `string` value containing the `id` of the new / updated notification. _Example:_ ```javascript -app.resourcesApi.listResources( - 'waypoints', - {region: 'fishing_zone'} -).then (data => { - // success - console.log(data); - ... -}).catch (error) { - // handle error - console.log(error.message); - ... -} -``` - - ---- -### `app.setPluginStatus(msg)` - -Set the current status of the plugin. The `msg` should be a short message describing the current status of the plugin and will be displayed in the plugin configuration UI and the Dashboard. +const alarmId = app.notify( + 'myalarm', + { + message: 'My cutom alarm text', + state: 'alert' + }, + 'myAlarmPlugin' +) -```javascript -app.setPluginStatus('Initializing'); -// Do something -app.setPluginStatus('Done initializing'); +// alarmId = "ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a" ``` -Use this instead of deprecated `setProviderStatus` - -### `app.setPluginError(msg)` +To clear (cancel) a notification call the method with `null` as the `value`. -Set the current error status of the plugin. The `msg` should be a short message describing the current status of the plugin and will be displayed in the plugin configuration UI and the Dashboard. +- returns: `void`. +_Example: Clear notification_ ```javascript -app.setPluginError('Error connecting to database'); +const alarmId = app.notify( + 'myalarm', + null, + 'myAlarmPlugin' +) ``` -Use this instead of deprecated `setProviderError` +--- -### `app.getSerialPorts() => Promise` +### PropertyValues -This returs a Promise which will resolve to a [Ports](src/serialports.ts#21) object which contains information about the serial ports available on the machine. +PropertyValues are a mechanism for passing configuration type values between different parties such as plugins and input connections running in the server process. +A plugin can *emit* values and also register to *listen* for values emitted by others. -### PropertyValues -``` +The difference between the _PropertyValues_ mechanism and _Event Emitters_ in NodeJs is that when you call `onPropertyValues` the callback will be invoked and passed an array containing all of the previous values for the property name, starting with the initial value of `undefined`. If nothing has emitted any values for the property name the callback will be called with a value of `undefined`. + +```bash app.emitPropertyValue: (name: string, value: any) => void + onPropertyValues: ( name: string, callback: (propValuesHistory: PropertyValue[]) => void ) => Unsubscribe ``` -PropertyValues are a mechanism for passing configuration type values between different parties such as plugins and input connections running in the server process. - -A plugin can *emit* values and register to listen for others emitting them. The difference between the PropertyValues mechanism and Event Emitters in NodeJs is that when you call `onPropertyValues` the callback will get immdediately called with an array of all previous values for the property name, starting with the initial value of `undefined`. If nothing has emitted any values for the property name the callback will be called with a value of `undefined`. A PropertyValue has the following structure: -``` +```javascript interface PropertyValue { timestamp: number // millis setter: string // plugin id, server, provider id @@ -538,7 +438,7 @@ interface PropertyValue { } ``` -Note that the value can be also a function. +_Note that the value can be also a function._ This mechanism allows plugins to _offer_ extensions via _"Well Known Properties"_, for example - additional [NMEA0183 sentence parsers for custom sentences](https://github.com/SignalK/nmea0183-signalk/pull/193) via `nmea0183sentenceParser` @@ -546,8 +446,9 @@ This mechanism allows plugins to _offer_ extensions via _"Well Known Properties" Code handling incoming PropertyValues should be fully reactive: even if all emitters emit during their startup there is no defined load / startup order and plugins may emit when activated and started. This means that depending on a PropertyValue being there when your code starts or arriving after your code has started is not possible. -PropertyValues is not meant for data passing on a regular basis, as the total history makes it a potential memory leak. There is a safeguard against accidentally emitting regularly with an upper bound for values per property name. New values will be ignored if it is reached and emits logged as errors. +_PropertyValues_ is not meant for data passing on a regular basis, as the total history makes it a potential memory leak. There is a safeguard against accidentally emitting regularly with an upper bound for values per property name. New values will be ignored if it is reached and emits logged as errors. +--- ### Exposing custom HTTP paths & OpenApi @@ -555,17 +456,19 @@ If a plugin has a function called `registerWithRouter(router)` (like the plugin' Express does not have a public API for deregistering subrouters, so `stop` does not do anything to the router. -**Consider seriously providing an OpenApi description** for your plugin's API. This promotes further cooperation with other plugin/webapp authors. One way we can work together is by fleshing out new APIs within a plugin and then merge them in the Signal K specification for more cooperation. +**Consider providing an OpenApi description** for your plugin's API. This promotes cooperation with other plugin/webapp authors by making it easy to find and use functionality that is built into plugins. It is also a means to avoid duplication, promote reuse and the possibility of including them in the Signal K specification. + +See [Server Plugins](server_plugin.md#add-an-openapi-definition) for details. -Implement `getOpenApi` in your plugin to expose your OpenApi to be included in the server's OpenApi UI tooling. The plugin's OpenApi description either not include `servers` property at all or specify only the path in the url. The server will provide servers if it is missing and relative, path only server urls work best in different environments. See [testplugin](https://github.com/SignalK/signalk-server/tree/b82477e63ebdc14878164ce1ed3aedd80c5a8b0c/test/plugin-test-config/node_modules/testplugin) for an example. +--- -## Plugin configuration HTTP API +### Plugin configuration HTTP API -### `GET /plugins/` +#### `GET /plugins/` Get a list of installed plugins and their configuration data. -### `GET /plugins/` +#### `GET /plugins/` Get information from an installed plugin. @@ -578,6 +481,6 @@ Example result: } ``` -### `POST /plugins//configure` +#### `POST /plugins//configure` Save configuration data for a plugin. Stops and starts the plugin as a side effect. From 57ec1748fd4f27b1c73da005227e380d6964b97c Mon Sep 17 00:00:00 2001 From: panaaj <38519157+panaaj@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:11:48 +0930 Subject: [PATCH 06/44] Include generated output in repository. --- docs/server-guide/.nojekyll | 1 + docs/server-guide/404.html | 186 ++ .../FontAwesome/css/font-awesome.css | 4 + .../FontAwesome/fonts/FontAwesome.ttf | Bin 0 -> 165548 bytes .../FontAwesome/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../FontAwesome/fonts/fontawesome-webfont.svg | 2671 +++++++++++++++++ .../FontAwesome/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes docs/server-guide/ayu-highlight.css | 79 + docs/server-guide/book.js | 679 +++++ docs/server-guide/breaking_changes.html | 232 ++ docs/server-guide/clipboard.min.js | 7 + docs/server-guide/css/chrome.css | 495 +++ docs/server-guide/css/general.css | 181 ++ docs/server-guide/css/print.css | 54 + docs/server-guide/css/variables.css | 253 ++ docs/server-guide/develop/contributing.html | 294 ++ .../server-guide/develop/developer_notes.html | 222 ++ docs/server-guide/develop/plugins/deltas.html | 326 ++ .../develop/plugins/publishing.html | 254 ++ .../plugins/resource_provider_plugins.html | 544 ++++ .../develop/plugins/server_plugin.html | 480 +++ .../develop/plugins/server_plugin_api.html | 538 ++++ .../develop/rest-api/course_api.html | 380 +++ .../develop/rest-api/course_calculations.html | 252 ++ .../develop/rest-api/open_api.html | 210 ++ .../develop/rest-api/resources_api.html | 313 ++ docs/server-guide/develop/webapps.html | 273 ++ docs/server-guide/elasticlunr.min.js | 10 + docs/server-guide/favicon.png | Bin 0 -> 5679 bytes docs/server-guide/favicon.svg | 22 + docs/server-guide/fonts/OPEN-SANS-LICENSE.txt | 202 ++ .../fonts/SOURCE-CODE-PRO-LICENSE.txt | 93 + docs/server-guide/fonts/fonts.css | 100 + .../open-sans-v17-all-charsets-300.woff2 | Bin 0 -> 44352 bytes ...open-sans-v17-all-charsets-300italic.woff2 | Bin 0 -> 40656 bytes .../open-sans-v17-all-charsets-600.woff2 | Bin 0 -> 44936 bytes ...open-sans-v17-all-charsets-600italic.woff2 | Bin 0 -> 42120 bytes .../open-sans-v17-all-charsets-700.woff2 | Bin 0 -> 44988 bytes ...open-sans-v17-all-charsets-700italic.woff2 | Bin 0 -> 40800 bytes .../open-sans-v17-all-charsets-800.woff2 | Bin 0 -> 44536 bytes ...open-sans-v17-all-charsets-800italic.woff2 | Bin 0 -> 40812 bytes .../open-sans-v17-all-charsets-italic.woff2 | Bin 0 -> 41076 bytes .../open-sans-v17-all-charsets-regular.woff2 | Bin 0 -> 43236 bytes ...source-code-pro-v11-all-charsets-500.woff2 | Bin 0 -> 59140 bytes docs/server-guide/highlight.css | 83 + docs/server-guide/highlight.js | 6 + docs/server-guide/img/calibration.png | Bin 0 -> 233551 bytes docs/server-guide/img/course_provider.dia | Bin 0 -> 2025 bytes docs/server-guide/img/course_provider.svg | 75 + docs/server-guide/img/logo.png | Bin 0 -> 4586 bytes docs/server-guide/img/resource_provider.dia | Bin 0 -> 2378 bytes docs/server-guide/img/resource_provider.svg | 106 + docs/server-guide/img/server_only.dia | Bin 0 -> 4572 bytes docs/server-guide/img/server_only.png | Bin 0 -> 54845 bytes docs/server-guide/img/server_update.png | Bin 0 -> 71752 bytes docs/server-guide/img/vesselpositions.png | Bin 0 -> 453220 bytes docs/server-guide/index.html | 201 ++ .../installation/command_line.html | 236 ++ docs/server-guide/installation/install.html | 269 ++ .../raspberry_pi_installation.html | 290 ++ docs/server-guide/installation/updating.html | 245 ++ docs/server-guide/mark.min.js | 7 + docs/server-guide/print.html | 2526 ++++++++++++++++ docs/server-guide/searcher.js | 483 +++ docs/server-guide/searchindex.js | 1 + docs/server-guide/searchindex.json | 1 + docs/server-guide/security.html | 288 ++ docs/server-guide/setup/branding.html | 199 ++ docs/server-guide/setup/configuration.html | 257 ++ docs/server-guide/support/help.html | 217 ++ docs/server-guide/support/sponsor.html | 192 ++ docs/server-guide/tomorrow-night.css | 104 + docs/server-guide/whats_new.html | 236 ++ 75 files changed, 15377 insertions(+) create mode 100644 docs/server-guide/.nojekyll create mode 100644 docs/server-guide/404.html create mode 100644 docs/server-guide/FontAwesome/css/font-awesome.css create mode 100644 docs/server-guide/FontAwesome/fonts/FontAwesome.ttf create mode 100644 docs/server-guide/FontAwesome/fonts/fontawesome-webfont.eot create mode 100644 docs/server-guide/FontAwesome/fonts/fontawesome-webfont.svg create mode 100644 docs/server-guide/FontAwesome/fonts/fontawesome-webfont.ttf create mode 100644 docs/server-guide/FontAwesome/fonts/fontawesome-webfont.woff create mode 100644 docs/server-guide/FontAwesome/fonts/fontawesome-webfont.woff2 create mode 100644 docs/server-guide/ayu-highlight.css create mode 100644 docs/server-guide/book.js create mode 100644 docs/server-guide/breaking_changes.html create mode 100644 docs/server-guide/clipboard.min.js create mode 100644 docs/server-guide/css/chrome.css create mode 100644 docs/server-guide/css/general.css create mode 100644 docs/server-guide/css/print.css create mode 100644 docs/server-guide/css/variables.css create mode 100644 docs/server-guide/develop/contributing.html create mode 100644 docs/server-guide/develop/developer_notes.html create mode 100644 docs/server-guide/develop/plugins/deltas.html create mode 100644 docs/server-guide/develop/plugins/publishing.html create mode 100644 docs/server-guide/develop/plugins/resource_provider_plugins.html create mode 100644 docs/server-guide/develop/plugins/server_plugin.html create mode 100644 docs/server-guide/develop/plugins/server_plugin_api.html create mode 100644 docs/server-guide/develop/rest-api/course_api.html create mode 100644 docs/server-guide/develop/rest-api/course_calculations.html create mode 100644 docs/server-guide/develop/rest-api/open_api.html create mode 100644 docs/server-guide/develop/rest-api/resources_api.html create mode 100644 docs/server-guide/develop/webapps.html create mode 100644 docs/server-guide/elasticlunr.min.js create mode 100644 docs/server-guide/favicon.png create mode 100644 docs/server-guide/favicon.svg create mode 100644 docs/server-guide/fonts/OPEN-SANS-LICENSE.txt create mode 100644 docs/server-guide/fonts/SOURCE-CODE-PRO-LICENSE.txt create mode 100644 docs/server-guide/fonts/fonts.css create mode 100644 docs/server-guide/fonts/open-sans-v17-all-charsets-300.woff2 create mode 100644 docs/server-guide/fonts/open-sans-v17-all-charsets-300italic.woff2 create mode 100644 docs/server-guide/fonts/open-sans-v17-all-charsets-600.woff2 create mode 100644 docs/server-guide/fonts/open-sans-v17-all-charsets-600italic.woff2 create mode 100644 docs/server-guide/fonts/open-sans-v17-all-charsets-700.woff2 create mode 100644 docs/server-guide/fonts/open-sans-v17-all-charsets-700italic.woff2 create mode 100644 docs/server-guide/fonts/open-sans-v17-all-charsets-800.woff2 create mode 100644 docs/server-guide/fonts/open-sans-v17-all-charsets-800italic.woff2 create mode 100644 docs/server-guide/fonts/open-sans-v17-all-charsets-italic.woff2 create mode 100644 docs/server-guide/fonts/open-sans-v17-all-charsets-regular.woff2 create mode 100644 docs/server-guide/fonts/source-code-pro-v11-all-charsets-500.woff2 create mode 100644 docs/server-guide/highlight.css create mode 100644 docs/server-guide/highlight.js create mode 100644 docs/server-guide/img/calibration.png create mode 100644 docs/server-guide/img/course_provider.dia create mode 100644 docs/server-guide/img/course_provider.svg create mode 100644 docs/server-guide/img/logo.png create mode 100644 docs/server-guide/img/resource_provider.dia create mode 100644 docs/server-guide/img/resource_provider.svg create mode 100644 docs/server-guide/img/server_only.dia create mode 100644 docs/server-guide/img/server_only.png create mode 100644 docs/server-guide/img/server_update.png create mode 100644 docs/server-guide/img/vesselpositions.png create mode 100644 docs/server-guide/index.html create mode 100644 docs/server-guide/installation/command_line.html create mode 100644 docs/server-guide/installation/install.html create mode 100644 docs/server-guide/installation/raspberry_pi_installation.html create mode 100644 docs/server-guide/installation/updating.html create mode 100644 docs/server-guide/mark.min.js create mode 100644 docs/server-guide/print.html create mode 100644 docs/server-guide/searcher.js create mode 100644 docs/server-guide/searchindex.js create mode 100644 docs/server-guide/searchindex.json create mode 100644 docs/server-guide/security.html create mode 100644 docs/server-guide/setup/branding.html create mode 100644 docs/server-guide/setup/configuration.html create mode 100644 docs/server-guide/support/help.html create mode 100644 docs/server-guide/support/sponsor.html create mode 100644 docs/server-guide/tomorrow-night.css create mode 100644 docs/server-guide/whats_new.html diff --git a/docs/server-guide/.nojekyll b/docs/server-guide/.nojekyll new file mode 100644 index 000000000..f17311098 --- /dev/null +++ b/docs/server-guide/.nojekyll @@ -0,0 +1 @@ +This file makes sure that Github Pages doesn't process mdBook's output. diff --git a/docs/server-guide/404.html b/docs/server-guide/404.html new file mode 100644 index 000000000..5b6716d1e --- /dev/null +++ b/docs/server-guide/404.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Document not found (404)

    +

    This URL is invalid, sorry. Please use the navigation bar or search to continue.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/FontAwesome/css/font-awesome.css b/docs/server-guide/FontAwesome/css/font-awesome.css new file mode 100644 index 000000000..540440ce8 --- /dev/null +++ b/docs/server-guide/FontAwesome/css/font-awesome.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/docs/server-guide/FontAwesome/fonts/FontAwesome.ttf b/docs/server-guide/FontAwesome/fonts/FontAwesome.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mW2@EHO9NV8h3u2x_sp}KECIB>@9+Qn{FBV{ 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

    5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/FontAwesome/fonts/fontawesome-webfont.ttf b/docs/server-guide/FontAwesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/docs/server-guide/FontAwesome/fonts/fontawesome-webfont.woff2 b/docs/server-guide/FontAwesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/docs/server-guide/ayu-highlight.css b/docs/server-guide/ayu-highlight.css new file mode 100644 index 000000000..0c45c6f14 --- /dev/null +++ b/docs/server-guide/ayu-highlight.css @@ -0,0 +1,79 @@ +/* +Based off of the Ayu theme +Original by Dempfi (https://github.com/dempfi/ayu) +*/ + +.hljs { + display: block; + overflow-x: auto; + background: #191f26; + color: #e6e1cf; + padding: 0.5em; +} + +.hljs-comment, +.hljs-quote { + color: #5c6773; + font-style: italic; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-attr, +.hljs-regexp, +.hljs-link, +.hljs-selector-id, +.hljs-selector-class { + color: #ff7733; +} + +.hljs-number, +.hljs-meta, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ffee99; +} + +.hljs-string, +.hljs-bullet { + color: #b8cc52; +} + +.hljs-title, +.hljs-built_in, +.hljs-section { + color: #ffb454; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-symbol { + color: #ff7733; +} + +.hljs-name { + color: #36a3d9; +} + +.hljs-tag { + color: #00568d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #91b362; +} + +.hljs-deletion { + color: #d96c75; +} diff --git a/docs/server-guide/book.js b/docs/server-guide/book.js new file mode 100644 index 000000000..d40440c72 --- /dev/null +++ b/docs/server-guide/book.js @@ -0,0 +1,679 @@ +"use strict"; + +// Fix back button cache problem +window.onunload = function () { }; + +// Global variable, shared between modules +function playground_text(playground) { + let code_block = playground.querySelector("code"); + + if (window.ace && code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + return editor.getValue(); + } else { + return code_block.textContent; + } +} + +(function codeSnippets() { + function fetch_with_timeout(url, options, timeout = 6000) { + return Promise.race([ + fetch(url, options), + new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout)) + ]); + } + + var playgrounds = Array.from(document.querySelectorAll(".playground")); + if (playgrounds.length > 0) { + fetch_with_timeout("https://play.rust-lang.org/meta/crates", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + }) + .then(response => response.json()) + .then(response => { + // get list of crates available in the rust playground + let playground_crates = response.crates.map(item => item["id"]); + playgrounds.forEach(block => handle_crate_list_update(block, playground_crates)); + }); + } + + function handle_crate_list_update(playground_block, playground_crates) { + // update the play buttons after receiving the response + update_play_button(playground_block, playground_crates); + + // and install on change listener to dynamically update ACE editors + if (window.ace) { + let code_block = playground_block.querySelector("code"); + if (code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + editor.addEventListener("change", function (e) { + update_play_button(playground_block, playground_crates); + }); + // add Ctrl-Enter command to execute rust code + editor.commands.addCommand({ + name: "run", + bindKey: { + win: "Ctrl-Enter", + mac: "Ctrl-Enter" + }, + exec: _editor => run_rust_code(playground_block) + }); + } + } + } + + // updates the visibility of play button based on `no_run` class and + // used crates vs ones available on http://play.rust-lang.org + function update_play_button(pre_block, playground_crates) { + var play_button = pre_block.querySelector(".play-button"); + + // skip if code is `no_run` + if (pre_block.querySelector('code').classList.contains("no_run")) { + play_button.classList.add("hidden"); + return; + } + + // get list of `extern crate`'s from snippet + var txt = playground_text(pre_block); + var re = /extern\s+crate\s+([a-zA-Z_0-9]+)\s*;/g; + var snippet_crates = []; + var item; + while (item = re.exec(txt)) { + snippet_crates.push(item[1]); + } + + // check if all used crates are available on play.rust-lang.org + var all_available = snippet_crates.every(function (elem) { + return playground_crates.indexOf(elem) > -1; + }); + + if (all_available) { + play_button.classList.remove("hidden"); + } else { + play_button.classList.add("hidden"); + } + } + + function run_rust_code(code_block) { + var result_block = code_block.querySelector(".result"); + if (!result_block) { + result_block = document.createElement('code'); + result_block.className = 'result hljs language-bash'; + + code_block.append(result_block); + } + + let text = playground_text(code_block); + let classes = code_block.querySelector('code').classList; + let edition = "2015"; + if(classes.contains("edition2018")) { + edition = "2018"; + } else if(classes.contains("edition2021")) { + edition = "2021"; + } + var params = { + version: "stable", + optimize: "0", + code: text, + edition: edition + }; + + if (text.indexOf("#![feature") !== -1) { + params.version = "nightly"; + } + + result_block.innerText = "Running..."; + + fetch_with_timeout("https://play.rust-lang.org/evaluate.json", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + body: JSON.stringify(params) + }) + .then(response => response.json()) + .then(response => { + if (response.result.trim() === '') { + result_block.innerText = "No output"; + result_block.classList.add("result-no-output"); + } else { + result_block.innerText = response.result; + result_block.classList.remove("result-no-output"); + } + }) + .catch(error => result_block.innerText = "Playground Communication: " + error.message); + } + + // Syntax highlighting Configuration + hljs.configure({ + tabReplace: ' ', // 4 spaces + languages: [], // Languages used for auto-detection + }); + + let code_nodes = Array + .from(document.querySelectorAll('code')) + // Don't highlight `inline code` blocks in headers. + .filter(function (node) {return !node.parentElement.classList.contains("header"); }); + + if (window.ace) { + // language-rust class needs to be removed for editable + // blocks or highlightjs will capture events + code_nodes + .filter(function (node) {return node.classList.contains("editable"); }) + .forEach(function (block) { block.classList.remove('language-rust'); }); + + Array + code_nodes + .filter(function (node) {return !node.classList.contains("editable"); }) + .forEach(function (block) { hljs.highlightBlock(block); }); + } else { + code_nodes.forEach(function (block) { hljs.highlightBlock(block); }); + } + + // Adding the hljs class gives code blocks the color css + // even if highlighting doesn't apply + code_nodes.forEach(function (block) { block.classList.add('hljs'); }); + + Array.from(document.querySelectorAll("code.language-rust")).forEach(function (block) { + + var lines = Array.from(block.querySelectorAll('.boring')); + // If no lines were hidden, return + if (!lines.length) { return; } + block.classList.add("hide-boring"); + + var buttons = document.createElement('div'); + buttons.className = 'buttons'; + buttons.innerHTML = ""; + + // add expand button + var pre_block = block.parentNode; + pre_block.insertBefore(buttons, pre_block.firstChild); + + pre_block.querySelector('.buttons').addEventListener('click', function (e) { + if (e.target.classList.contains('fa-eye')) { + e.target.classList.remove('fa-eye'); + e.target.classList.add('fa-eye-slash'); + e.target.title = 'Hide lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.remove('hide-boring'); + } else if (e.target.classList.contains('fa-eye-slash')) { + e.target.classList.remove('fa-eye-slash'); + e.target.classList.add('fa-eye'); + e.target.title = 'Show hidden lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.add('hide-boring'); + } + }); + }); + + if (window.playground_copyable) { + Array.from(document.querySelectorAll('pre code')).forEach(function (block) { + var pre_block = block.parentNode; + if (!pre_block.classList.contains('playground')) { + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var clipButton = document.createElement('button'); + clipButton.className = 'fa fa-copy clip-button'; + clipButton.title = 'Copy to clipboard'; + clipButton.setAttribute('aria-label', clipButton.title); + clipButton.innerHTML = ''; + + buttons.insertBefore(clipButton, buttons.firstChild); + } + }); + } + + // Process playground code blocks + Array.from(document.querySelectorAll(".playground")).forEach(function (pre_block) { + // Add play button + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var runCodeButton = document.createElement('button'); + runCodeButton.className = 'fa fa-play play-button'; + runCodeButton.hidden = true; + runCodeButton.title = 'Run this code'; + runCodeButton.setAttribute('aria-label', runCodeButton.title); + + buttons.insertBefore(runCodeButton, buttons.firstChild); + runCodeButton.addEventListener('click', function (e) { + run_rust_code(pre_block); + }); + + if (window.playground_copyable) { + var copyCodeClipboardButton = document.createElement('button'); + copyCodeClipboardButton.className = 'fa fa-copy clip-button'; + copyCodeClipboardButton.innerHTML = ''; + copyCodeClipboardButton.title = 'Copy to clipboard'; + copyCodeClipboardButton.setAttribute('aria-label', copyCodeClipboardButton.title); + + buttons.insertBefore(copyCodeClipboardButton, buttons.firstChild); + } + + let code_block = pre_block.querySelector("code"); + if (window.ace && code_block.classList.contains("editable")) { + var undoChangesButton = document.createElement('button'); + undoChangesButton.className = 'fa fa-history reset-button'; + undoChangesButton.title = 'Undo changes'; + undoChangesButton.setAttribute('aria-label', undoChangesButton.title); + + buttons.insertBefore(undoChangesButton, buttons.firstChild); + + undoChangesButton.addEventListener('click', function () { + let editor = window.ace.edit(code_block); + editor.setValue(editor.originalCode); + editor.clearSelection(); + }); + } + }); +})(); + +(function themes() { + var html = document.querySelector('html'); + var themeToggleButton = document.getElementById('theme-toggle'); + var themePopup = document.getElementById('theme-list'); + var themeColorMetaTag = document.querySelector('meta[name="theme-color"]'); + var stylesheets = { + ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"), + tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"), + highlight: document.querySelector("[href$='highlight.css']"), + }; + + function showThemes() { + themePopup.style.display = 'block'; + themeToggleButton.setAttribute('aria-expanded', true); + themePopup.querySelector("button#" + get_theme()).focus(); + } + + function hideThemes() { + themePopup.style.display = 'none'; + themeToggleButton.setAttribute('aria-expanded', false); + themeToggleButton.focus(); + } + + function get_theme() { + var theme; + try { theme = localStorage.getItem('mdbook-theme'); } catch (e) { } + if (theme === null || theme === undefined) { + return default_theme; + } else { + return theme; + } + } + + function set_theme(theme, store = true) { + let ace_theme; + + if (theme == 'coal' || theme == 'navy') { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = false; + stylesheets.highlight.disabled = true; + + ace_theme = "ace/theme/tomorrow_night"; + } else if (theme == 'ayu') { + stylesheets.ayuHighlight.disabled = false; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = true; + ace_theme = "ace/theme/tomorrow_night"; + } else { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = false; + ace_theme = "ace/theme/dawn"; + } + + setTimeout(function () { + themeColorMetaTag.content = getComputedStyle(document.body).backgroundColor; + }, 1); + + if (window.ace && window.editors) { + window.editors.forEach(function (editor) { + editor.setTheme(ace_theme); + }); + } + + var previousTheme = get_theme(); + + if (store) { + try { localStorage.setItem('mdbook-theme', theme); } catch (e) { } + } + + html.classList.remove(previousTheme); + html.classList.add(theme); + } + + // Set theme + var theme = get_theme(); + + set_theme(theme, false); + + themeToggleButton.addEventListener('click', function () { + if (themePopup.style.display === 'block') { + hideThemes(); + } else { + showThemes(); + } + }); + + themePopup.addEventListener('click', function (e) { + var theme; + if (e.target.className === "theme") { + theme = e.target.id; + } else if (e.target.parentElement.className === "theme") { + theme = e.target.parentElement.id; + } else { + return; + } + set_theme(theme); + }); + + themePopup.addEventListener('focusout', function(e) { + // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below) + if (!!e.relatedTarget && !themeToggleButton.contains(e.relatedTarget) && !themePopup.contains(e.relatedTarget)) { + hideThemes(); + } + }); + + // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/mdBook/issues/628 + document.addEventListener('click', function(e) { + if (themePopup.style.display === 'block' && !themeToggleButton.contains(e.target) && !themePopup.contains(e.target)) { + hideThemes(); + } + }); + + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (!themePopup.contains(e.target)) { return; } + + switch (e.key) { + case 'Escape': + e.preventDefault(); + hideThemes(); + break; + case 'ArrowUp': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.previousElementSibling) { + li.previousElementSibling.querySelector('button').focus(); + } + break; + case 'ArrowDown': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.nextElementSibling) { + li.nextElementSibling.querySelector('button').focus(); + } + break; + case 'Home': + e.preventDefault(); + themePopup.querySelector('li:first-child button').focus(); + break; + case 'End': + e.preventDefault(); + themePopup.querySelector('li:last-child button').focus(); + break; + } + }); +})(); + +(function sidebar() { + var html = document.querySelector("html"); + var sidebar = document.getElementById("sidebar"); + var sidebarLinks = document.querySelectorAll('#sidebar a'); + var sidebarToggleButton = document.getElementById("sidebar-toggle"); + var sidebarResizeHandle = document.getElementById("sidebar-resize-handle"); + var firstContact = null; + + function showSidebar() { + html.classList.remove('sidebar-hidden') + html.classList.add('sidebar-visible'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', 0); + }); + sidebarToggleButton.setAttribute('aria-expanded', true); + sidebar.setAttribute('aria-hidden', false); + try { localStorage.setItem('mdbook-sidebar', 'visible'); } catch (e) { } + } + + + var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle'); + + function toggleSection(ev) { + ev.currentTarget.parentElement.classList.toggle('expanded'); + } + + Array.from(sidebarAnchorToggles).forEach(function (el) { + el.addEventListener('click', toggleSection); + }); + + function hideSidebar() { + html.classList.remove('sidebar-visible') + html.classList.add('sidebar-hidden'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', -1); + }); + sidebarToggleButton.setAttribute('aria-expanded', false); + sidebar.setAttribute('aria-hidden', true); + try { localStorage.setItem('mdbook-sidebar', 'hidden'); } catch (e) { } + } + + // Toggle sidebar + sidebarToggleButton.addEventListener('click', function sidebarToggle() { + if (html.classList.contains("sidebar-hidden")) { + var current_width = parseInt( + document.documentElement.style.getPropertyValue('--sidebar-width'), 10); + if (current_width < 150) { + document.documentElement.style.setProperty('--sidebar-width', '150px'); + } + showSidebar(); + } else if (html.classList.contains("sidebar-visible")) { + hideSidebar(); + } else { + if (getComputedStyle(sidebar)['transform'] === 'none') { + hideSidebar(); + } else { + showSidebar(); + } + } + }); + + sidebarResizeHandle.addEventListener('mousedown', initResize, false); + + function initResize(e) { + window.addEventListener('mousemove', resize, false); + window.addEventListener('mouseup', stopResize, false); + html.classList.add('sidebar-resizing'); + } + function resize(e) { + var pos = (e.clientX - sidebar.offsetLeft); + if (pos < 20) { + hideSidebar(); + } else { + if (html.classList.contains("sidebar-hidden")) { + showSidebar(); + } + pos = Math.min(pos, window.innerWidth - 100); + document.documentElement.style.setProperty('--sidebar-width', pos + 'px'); + } + } + //on mouseup remove windows functions mousemove & mouseup + function stopResize(e) { + html.classList.remove('sidebar-resizing'); + window.removeEventListener('mousemove', resize, false); + window.removeEventListener('mouseup', stopResize, false); + } + + document.addEventListener('touchstart', function (e) { + firstContact = { + x: e.touches[0].clientX, + time: Date.now() + }; + }, { passive: true }); + + document.addEventListener('touchmove', function (e) { + if (!firstContact) + return; + + var curX = e.touches[0].clientX; + var xDiff = curX - firstContact.x, + tDiff = Date.now() - firstContact.time; + + if (tDiff < 250 && Math.abs(xDiff) >= 150) { + if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300)) + showSidebar(); + else if (xDiff < 0 && curX < 300) + hideSidebar(); + + firstContact = null; + } + }, { passive: true }); + + // Scroll sidebar to current active section + var activeSection = document.getElementById("sidebar").querySelector(".active"); + if (activeSection) { + // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView + activeSection.scrollIntoView({ block: 'center' }); + } +})(); + +(function chapterNavigation() { + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (window.search && window.search.hasFocus()) { return; } + + switch (e.key) { + case 'ArrowRight': + e.preventDefault(); + var nextButton = document.querySelector('.nav-chapters.next'); + if (nextButton) { + window.location.href = nextButton.href; + } + break; + case 'ArrowLeft': + e.preventDefault(); + var previousButton = document.querySelector('.nav-chapters.previous'); + if (previousButton) { + window.location.href = previousButton.href; + } + break; + } + }); +})(); + +(function clipboard() { + var clipButtons = document.querySelectorAll('.clip-button'); + + function hideTooltip(elem) { + elem.firstChild.innerText = ""; + elem.className = 'fa fa-copy clip-button'; + } + + function showTooltip(elem, msg) { + elem.firstChild.innerText = msg; + elem.className = 'fa fa-copy tooltipped'; + } + + var clipboardSnippets = new ClipboardJS('.clip-button', { + text: function (trigger) { + hideTooltip(trigger); + let playground = trigger.closest("pre"); + return playground_text(playground); + } + }); + + Array.from(clipButtons).forEach(function (clipButton) { + clipButton.addEventListener('mouseout', function (e) { + hideTooltip(e.currentTarget); + }); + }); + + clipboardSnippets.on('success', function (e) { + e.clearSelection(); + showTooltip(e.trigger, "Copied!"); + }); + + clipboardSnippets.on('error', function (e) { + showTooltip(e.trigger, "Clipboard error!"); + }); +})(); + +(function scrollToTop () { + var menuTitle = document.querySelector('.menu-title'); + + menuTitle.addEventListener('click', function () { + document.scrollingElement.scrollTo({ top: 0, behavior: 'smooth' }); + }); +})(); + +(function controllMenu() { + var menu = document.getElementById('menu-bar'); + + (function controllPosition() { + var scrollTop = document.scrollingElement.scrollTop; + var prevScrollTop = scrollTop; + var minMenuY = -menu.clientHeight - 50; + // When the script loads, the page can be at any scroll (e.g. if you reforesh it). + menu.style.top = scrollTop + 'px'; + // Same as parseInt(menu.style.top.slice(0, -2), but faster + var topCache = menu.style.top.slice(0, -2); + menu.classList.remove('sticky'); + var stickyCache = false; // Same as menu.classList.contains('sticky'), but faster + document.addEventListener('scroll', function () { + scrollTop = Math.max(document.scrollingElement.scrollTop, 0); + // `null` means that it doesn't need to be updated + var nextSticky = null; + var nextTop = null; + var scrollDown = scrollTop > prevScrollTop; + var menuPosAbsoluteY = topCache - scrollTop; + if (scrollDown) { + nextSticky = false; + if (menuPosAbsoluteY > 0) { + nextTop = prevScrollTop; + } + } else { + if (menuPosAbsoluteY > 0) { + nextSticky = true; + } else if (menuPosAbsoluteY < minMenuY) { + nextTop = prevScrollTop + minMenuY; + } + } + if (nextSticky === true && stickyCache === false) { + menu.classList.add('sticky'); + stickyCache = true; + } else if (nextSticky === false && stickyCache === true) { + menu.classList.remove('sticky'); + stickyCache = false; + } + if (nextTop !== null) { + menu.style.top = nextTop + 'px'; + topCache = nextTop; + } + prevScrollTop = scrollTop; + }, { passive: true }); + })(); + (function controllBorder() { + menu.classList.remove('bordered'); + document.addEventListener('scroll', function () { + if (menu.offsetTop === 0) { + menu.classList.remove('bordered'); + } else { + menu.classList.add('bordered'); + } + }, { passive: true }); + })(); +})(); diff --git a/docs/server-guide/breaking_changes.html b/docs/server-guide/breaking_changes.html new file mode 100644 index 000000000..2f02c5d72 --- /dev/null +++ b/docs/server-guide/breaking_changes.html @@ -0,0 +1,232 @@ + + + + + + Changes & Deprecations - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +
    + +
    + + + + + + + + +
    +
    +

    Changes & Deprecations

    +

    Changes

    +

    The following changes have been implemented with the introduction of Resources API and apply to applications using the ./signalk/v2/resources endpoint.

    +

    Note: These changes DO NOT impact applications using the ./signalk/v1/resources endpoint.

    +

    1. Resource ID prefix assignment

    +

    The version 1 specification defined resource Ids with the following format urn:mrn:signalk:uuid:<UUIDv4>.

    +

    e.g. urn:mrn:signalk:uuid:18592f80-3425-43c2-937b-0be64b6be68c

    +

    The Resource API has dropped the use the prefix and ids are now just a uuidv4 value.

    +

    e.g. 18592f80-3425-43c2-937b-0be64b6be68c

    +

    This format is used for both accessing a resource e.g. /signalk/v1/api/resources/waypoints/18592f80-3425-43c2-937b-0be64b6be68c as well as the value within an href attribute.

    +

    Example:

    +
    {
    +   "name": "...",
    +   "descripton": "...",
    +   "href": "/resources/waypoints/18592f80-3425-43c2-937b-0be64b6be68c",
    +   ...
    +}
    +
    +

    2. Resource Attributes

    +

    The Resources API has updated the definition of the following resources:

    +
      +
    • routes: removed the start, end properties.
    • +
    • waypoints: removed position attribute, added name, description and type attributes.
    • +
    • regions: removed geohash attribute, added name and description properties.
    • +
    • notes: removed geohash and region attributes, added href and properties attributes.
    • +
    • charts: There has been a significant changes to include support for WMS, WMTS and TileJSON sources.
    • +
    +

    Please see the Resources OpenAPI definition for details.

    +
    +

    Deprecations:

    +

    1. courseGreatCircle, courseRhumbline paths

    +

    With the introduction of the Course API the following paths should now be considered deprecated:

    +
      +
    • /signalk/v1/api/vessels/self/navigation/courseGreatCircle
    • +
    • /signalk/v1/api/vessels/self/navigation/courseRhumbline
    • +
    +

    _Note: The Course API does currently maintain values in these paths for the purposes of backward compatibility, but applications and plugins referencing these paths should plan to move to using the equivalent paths under /signalk/v2/api/vessels/self/navigation/course.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/clipboard.min.js b/docs/server-guide/clipboard.min.js new file mode 100644 index 000000000..02c549e35 --- /dev/null +++ b/docs/server-guide/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.4 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n .hljs { + color: var(--links); +} + +/* Menu Bar */ + +#menu-bar, +#menu-bar-hover-placeholder { + z-index: 101; + margin: auto calc(0px - var(--page-padding)); +} +#menu-bar { + position: relative; + display: flex; + flex-wrap: wrap; + background-color: var(--bg); + border-bottom-color: var(--bg); + border-bottom-width: 1px; + border-bottom-style: solid; +} +#menu-bar.sticky, +.js #menu-bar-hover-placeholder:hover + #menu-bar, +.js #menu-bar:hover, +.js.sidebar-visible #menu-bar { + position: -webkit-sticky; + position: sticky; + top: 0 !important; +} +#menu-bar-hover-placeholder { + position: sticky; + position: -webkit-sticky; + top: 0; + height: var(--menu-bar-height); +} +#menu-bar.bordered { + border-bottom-color: var(--table-border-color); +} +#menu-bar i, #menu-bar .icon-button { + position: relative; + padding: 0 8px; + z-index: 10; + line-height: var(--menu-bar-height); + cursor: pointer; + transition: color 0.5s; +} +@media only screen and (max-width: 420px) { + #menu-bar i, #menu-bar .icon-button { + padding: 0 5px; + } +} + +.icon-button { + border: none; + background: none; + padding: 0; + color: inherit; +} +.icon-button i { + margin: 0; +} + +.right-buttons { + margin: 0 15px; +} +.right-buttons a { + text-decoration: none; +} + +.left-buttons { + display: flex; + margin: 0 5px; +} +.no-js .left-buttons { + display: none; +} + +.menu-title { + display: inline-block; + font-weight: 200; + font-size: 2.4rem; + line-height: var(--menu-bar-height); + text-align: center; + margin: 0; + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.js .menu-title { + cursor: pointer; +} + +.menu-bar, +.menu-bar:visited, +.nav-chapters, +.nav-chapters:visited, +.mobile-nav-chapters, +.mobile-nav-chapters:visited, +.menu-bar .icon-button, +.menu-bar a i { + color: var(--icons); +} + +.menu-bar i:hover, +.menu-bar .icon-button:hover, +.nav-chapters:hover, +.mobile-nav-chapters i:hover { + color: var(--icons-hover); +} + +/* Nav Icons */ + +.nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + + position: fixed; + top: 0; + bottom: 0; + margin: 0; + max-width: 150px; + min-width: 90px; + + display: flex; + justify-content: center; + align-content: center; + flex-direction: column; + + transition: color 0.5s, background-color 0.5s; +} + +.nav-chapters:hover { + text-decoration: none; + background-color: var(--theme-hover); + transition: background-color 0.15s, color 0.15s; +} + +.nav-wrapper { + margin-top: 50px; + display: none; +} + +.mobile-nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + width: 90px; + border-radius: 5px; + background-color: var(--sidebar-bg); +} + +.previous { + float: left; +} + +.next { + float: right; + right: var(--page-padding); +} + +@media only screen and (max-width: 1080px) { + .nav-wide-wrapper { display: none; } + .nav-wrapper { display: block; } +} + +@media only screen and (max-width: 1380px) { + .sidebar-visible .nav-wide-wrapper { display: none; } + .sidebar-visible .nav-wrapper { display: block; } +} + +/* Inline code */ + +:not(pre) > .hljs { + display: inline; + padding: 0.1em 0.3em; + border-radius: 3px; +} + +:not(pre):not(a) > .hljs { + color: var(--inline-code-color); + overflow-x: initial; +} + +a:hover > .hljs { + text-decoration: underline; +} + +pre { + position: relative; +} +pre > .buttons { + position: absolute; + z-index: 100; + right: 5px; + top: 5px; + + color: var(--sidebar-fg); + cursor: pointer; +} +pre > .buttons :hover { + color: var(--sidebar-active); +} +pre > .buttons i { + margin-left: 8px; +} +pre > .buttons button { + color: inherit; + background: transparent; + border: none; + cursor: inherit; +} +pre > .result { + margin-top: 10px; +} + +/* Search */ + +#searchresults a { + text-decoration: none; +} + +mark { + border-radius: 2px; + padding: 0 3px 1px 3px; + margin: 0 -3px -1px -3px; + background-color: var(--search-mark-bg); + transition: background-color 300ms linear; + cursor: pointer; +} + +mark.fade-out { + background-color: rgba(0,0,0,0) !important; + cursor: auto; +} + +.searchbar-outer { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); +} + +#searchbar { + width: 100%; + margin: 5px auto 0px auto; + padding: 10px 16px; + transition: box-shadow 300ms ease-in-out; + border: 1px solid var(--searchbar-border-color); + border-radius: 3px; + background-color: var(--searchbar-bg); + color: var(--searchbar-fg); +} +#searchbar:focus, +#searchbar.active { + box-shadow: 0 0 3px var(--searchbar-shadow-color); +} + +.searchresults-header { + font-weight: bold; + font-size: 1em; + padding: 18px 0 0 5px; + color: var(--searchresults-header-fg); +} + +.searchresults-outer { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); + border-bottom: 1px dashed var(--searchresults-border-color); +} + +ul#searchresults { + list-style: none; + padding-left: 20px; +} +ul#searchresults li { + margin: 10px 0px; + padding: 2px; + border-radius: 2px; +} +ul#searchresults li.focus { + background-color: var(--searchresults-li-bg); +} +ul#searchresults span.teaser { + display: block; + clear: both; + margin: 5px 0 0 20px; + font-size: 0.8em; +} +ul#searchresults span.teaser em { + font-weight: bold; + font-style: normal; +} + +/* Sidebar */ + +.sidebar { + position: fixed; + left: 0; + top: 0; + bottom: 0; + width: var(--sidebar-width); + font-size: 0.875em; + box-sizing: border-box; + -webkit-overflow-scrolling: touch; + overscroll-behavior-y: contain; + background-color: var(--sidebar-bg); + color: var(--sidebar-fg); +} +.sidebar-resizing { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.js:not(.sidebar-resizing) .sidebar { + transition: transform 0.3s; /* Animation: slide away */ +} +.sidebar code { + line-height: 2em; +} +.sidebar .sidebar-scrollbox { + overflow-y: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: 10px 10px; +} +.sidebar .sidebar-resize-handle { + position: absolute; + cursor: col-resize; + width: 0; + right: 0; + top: 0; + bottom: 0; +} +.js .sidebar .sidebar-resize-handle { + cursor: col-resize; + width: 5px; +} +.sidebar-hidden .sidebar { + transform: translateX(calc(0px - var(--sidebar-width))); +} +.sidebar::-webkit-scrollbar { + background: var(--sidebar-bg); +} +.sidebar::-webkit-scrollbar-thumb { + background: var(--scrollbar); +} + +.sidebar-visible .page-wrapper { + transform: translateX(var(--sidebar-width)); +} +@media only screen and (min-width: 620px) { + .sidebar-visible .page-wrapper { + transform: none; + margin-left: var(--sidebar-width); + } +} + +.chapter { + list-style: none outside none; + padding-left: 0; + line-height: 2.2em; +} + +.chapter ol { + width: 100%; +} + +.chapter li { + display: flex; + color: var(--sidebar-non-existant); +} +.chapter li a { + display: block; + padding: 0; + text-decoration: none; + color: var(--sidebar-fg); +} + +.chapter li a:hover { + color: var(--sidebar-active); +} + +.chapter li a.active { + color: var(--sidebar-active); +} + +.chapter li > a.toggle { + cursor: pointer; + display: block; + margin-left: auto; + padding: 0 10px; + user-select: none; + opacity: 0.68; +} + +.chapter li > a.toggle div { + transition: transform 0.5s; +} + +/* collapse the section */ +.chapter li:not(.expanded) + li > ol { + display: none; +} + +.chapter li.chapter-item { + line-height: 1.5em; + margin-top: 0.6em; +} + +.chapter li.expanded > a.toggle div { + transform: rotate(90deg); +} + +.spacer { + width: 100%; + height: 3px; + margin: 5px 0px; +} +.chapter .spacer { + background-color: var(--sidebar-spacer); +} + +@media (-moz-touch-enabled: 1), (pointer: coarse) { + .chapter li a { padding: 5px 0; } + .spacer { margin: 10px 0; } +} + +.section { + list-style: none outside none; + padding-left: 20px; + line-height: 1.9em; +} + +/* Theme Menu Popup */ + +.theme-popup { + position: absolute; + left: 10px; + top: var(--menu-bar-height); + z-index: 1000; + border-radius: 4px; + font-size: 0.7em; + color: var(--fg); + background: var(--theme-popup-bg); + border: 1px solid var(--theme-popup-border); + margin: 0; + padding: 0; + list-style: none; + display: none; +} +.theme-popup .default { + color: var(--icons); +} +.theme-popup .theme { + width: 100%; + border: 0; + margin: 0; + padding: 2px 10px; + line-height: 25px; + white-space: nowrap; + text-align: left; + cursor: pointer; + color: inherit; + background: inherit; + font-size: inherit; +} +.theme-popup .theme:hover { + background-color: var(--theme-hover); +} +.theme-popup .theme:hover:first-child, +.theme-popup .theme:hover:last-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} diff --git a/docs/server-guide/css/general.css b/docs/server-guide/css/general.css new file mode 100644 index 000000000..63317b39b --- /dev/null +++ b/docs/server-guide/css/general.css @@ -0,0 +1,181 @@ +/* Base styles and content styles */ + +@import 'variables.css'; + +:root { + /* Browser default font-size is 16px, this way 1 rem = 10px */ + font-size: 62.5%; +} + +html { + font-family: "Open Sans", sans-serif; + color: var(--fg); + background-color: var(--bg); + text-size-adjust: none; +} + +body { + margin: 0; + font-size: 1.6rem; + overflow-x: hidden; +} + +code { + font-family: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace !important; + font-size: 0.875em; /* please adjust the ace font size accordingly in editor.js */ +} + +/* Don't change font size in headers. */ +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + font-size: unset; +} + +.left { float: left; } +.right { float: right; } +.boring { opacity: 0.6; } +.hide-boring .boring { display: none; } +.hidden { display: none !important; } + +h2, h3 { margin-top: 2.5em; } +h4, h5 { margin-top: 2em; } + +.header + .header h3, +.header + .header h4, +.header + .header h5 { + margin-top: 1em; +} + +h1:target::before, +h2:target::before, +h3:target::before, +h4:target::before, +h5:target::before, +h6:target::before { + display: inline-block; + content: "»"; + margin-left: -30px; + width: 30px; +} + +/* This is broken on Safari as of version 14, but is fixed + in Safari Technology Preview 117 which I think will be Safari 14.2. + https://bugs.webkit.org/show_bug.cgi?id=218076 +*/ +:target { + scroll-margin-top: calc(var(--menu-bar-height) + 0.5em); +} + +.page { + outline: 0; + padding: 0 var(--page-padding); + margin-top: calc(0px - var(--menu-bar-height)); /* Compensate for the #menu-bar-hover-placeholder */ +} +.page-wrapper { + box-sizing: border-box; +} +.js:not(.sidebar-resizing) .page-wrapper { + transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} + +.content { + overflow-y: auto; + padding: 0 15px; + padding-bottom: 50px; +} +.content main { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); +} +.content p { line-height: 1.45em; } +.content ol { line-height: 1.45em; } +.content ul { line-height: 1.45em; } +.content a { text-decoration: none; } +.content a:hover { text-decoration: underline; } +.content img, .content video { max-width: 100%; } +.content .header:link, +.content .header:visited { + color: var(--fg); +} +.content .header:link, +.content .header:visited:hover { + text-decoration: none; +} + +table { + margin: 0 auto; + border-collapse: collapse; +} +table td { + padding: 3px 20px; + border: 1px var(--table-border-color) solid; +} +table thead { + background: var(--table-header-bg); +} +table thead td { + font-weight: 700; + border: none; +} +table thead th { + padding: 3px 20px; +} +table thead tr { + border: 1px var(--table-header-bg) solid; +} +/* Alternate background colors for rows */ +table tbody tr:nth-child(2n) { + background: var(--table-alternate-bg); +} + + +blockquote { + margin: 20px 0; + padding: 0 20px; + color: var(--fg); + background-color: var(--quote-bg); + border-top: .1em solid var(--quote-border); + border-bottom: .1em solid var(--quote-border); +} + + +:not(.footnote-definition) + .footnote-definition, +.footnote-definition + :not(.footnote-definition) { + margin-top: 2em; +} +.footnote-definition { + font-size: 0.9em; + margin: 0.5em 0; +} +.footnote-definition p { + display: inline; +} + +.tooltiptext { + position: absolute; + visibility: hidden; + color: #fff; + background-color: #333; + transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ + left: -8px; /* Half of the width of the icon */ + top: -35px; + font-size: 0.8em; + text-align: center; + border-radius: 6px; + padding: 5px 8px; + margin: 5px; + z-index: 1000; +} +.tooltipped .tooltiptext { + visibility: visible; +} + +.chapter li.part-title { + color: var(--sidebar-fg); + margin: 5px 0px; + font-weight: bold; +} + +.result-no-output { + font-style: italic; +} diff --git a/docs/server-guide/css/print.css b/docs/server-guide/css/print.css new file mode 100644 index 000000000..5e690f755 --- /dev/null +++ b/docs/server-guide/css/print.css @@ -0,0 +1,54 @@ + +#sidebar, +#menu-bar, +.nav-chapters, +.mobile-nav-chapters { + display: none; +} + +#page-wrapper.page-wrapper { + transform: none; + margin-left: 0px; + overflow-y: initial; +} + +#content { + max-width: none; + margin: 0; + padding: 0; +} + +.page { + overflow-y: initial; +} + +code { + background-color: #666666; + border-radius: 5px; + + /* Force background to be printed in Chrome */ + -webkit-print-color-adjust: exact; +} + +pre > .buttons { + z-index: 2; +} + +a, a:visited, a:active, a:hover { + color: #4183c4; + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; +} + +.fa { + display: none !important; +} diff --git a/docs/server-guide/css/variables.css b/docs/server-guide/css/variables.css new file mode 100644 index 000000000..56b634bc3 --- /dev/null +++ b/docs/server-guide/css/variables.css @@ -0,0 +1,253 @@ + +/* Globals */ + +:root { + --sidebar-width: 300px; + --page-padding: 15px; + --content-max-width: 750px; + --menu-bar-height: 50px; +} + +/* Themes */ + +.ayu { + --bg: hsl(210, 25%, 8%); + --fg: #c5c5c5; + + --sidebar-bg: #14191f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #5c6773; + --sidebar-active: #ffb454; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #0096cf; + + --inline-code-color: #ffb454; + + --theme-popup-bg: #14191f; + --theme-popup-border: #5c6773; + --theme-hover: #191f26; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --table-border-color: hsl(210, 25%, 13%); + --table-header-bg: hsl(210, 25%, 28%); + --table-alternate-bg: hsl(210, 25%, 11%); + + --searchbar-border-color: #848484; + --searchbar-bg: #424242; + --searchbar-fg: #fff; + --searchbar-shadow-color: #d4c89f; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #252932; + --search-mark-bg: #e3b171; +} + +.coal { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; +} + +.light { + --bg: hsl(0, 0%, 100%); + --fg: hsl(0, 0%, 0%); + + --sidebar-bg: #fafafa; + --sidebar-fg: hsl(0, 0%, 0%); + --sidebar-non-existant: #aaaaaa; + --sidebar-active: #1f1fff; + --sidebar-spacer: #f4f4f4; + + --scrollbar: #8F8F8F; + + --icons: #747474; + --icons-hover: #000000; + + --links: #20609f; + + --inline-code-color: #301900; + + --theme-popup-bg: #fafafa; + --theme-popup-border: #cccccc; + --theme-hover: #e6e6e6; + + --quote-bg: hsl(197, 37%, 96%); + --quote-border: hsl(197, 37%, 91%); + + --table-border-color: hsl(0, 0%, 95%); + --table-header-bg: hsl(0, 0%, 80%); + --table-alternate-bg: hsl(0, 0%, 97%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #e4f2fe; + --search-mark-bg: #a2cff5; +} + +.navy { + --bg: hsl(226, 23%, 11%); + --fg: #bcbdd0; + + --sidebar-bg: #282d3f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505274; + --sidebar-active: #2b79a2; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #161923; + --theme-popup-border: #737480; + --theme-hover: #282e40; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --table-border-color: hsl(226, 23%, 16%); + --table-header-bg: hsl(226, 23%, 31%); + --table-alternate-bg: hsl(226, 23%, 14%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #aeaec6; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #5f5f71; + --searchresults-border-color: #5c5c68; + --searchresults-li-bg: #242430; + --search-mark-bg: #a2cff5; +} + +.rust { + --bg: hsl(60, 9%, 87%); + --fg: #262625; + + --sidebar-bg: #3b2e2a; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505254; + --sidebar-active: #e69f67; + --sidebar-spacer: #45373a; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #262625; + + --links: #2b79a2; + + --inline-code-color: #6e6b5e; + + --theme-popup-bg: #e1e1db; + --theme-popup-border: #b38f6b; + --theme-hover: #99908a; + + --quote-bg: hsl(60, 5%, 75%); + --quote-border: hsl(60, 5%, 70%); + + --table-border-color: hsl(60, 9%, 82%); + --table-header-bg: #b3a497; + --table-alternate-bg: hsl(60, 9%, 84%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #dec2a2; + --search-mark-bg: #e69f67; +} + +@media (prefers-color-scheme: dark) { + .light.no-js { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + } +} diff --git a/docs/server-guide/develop/contributing.html b/docs/server-guide/develop/contributing.html new file mode 100644 index 000000000..3a97db546 --- /dev/null +++ b/docs/server-guide/develop/contributing.html @@ -0,0 +1,294 @@ + + + + + + Contribute - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Contributing

    +

    Signal K server is an Open Source project and contributions are welcome.

    +

    Contributions are made by creating Pull Requests in the GitHub repository.

    +

    Working on your first Pull Request?

    +

    You can learn how from this free series How to Contribute to an Open Source Project on GitHub

    +
    +

    Submitting a Pull Request (PR)

    +

    Before you submit your Pull Request (PR) consider the following guidelines:

    +
      +
    1. +

      Fork the repository.

      +
    2. +
    3. +

      Make your changes in a new git branch:

      +
      git checkout -b my-fix-branch master
      +
      +
    4. +
    5. +

      Create your patch.

      +
    6. +
    7. +

      Commit your changes using a descriptive commit message that follows the +conventions outlined here. Whilst we are not 100% strict about this, it really helps when reviewing the PR and in making the commit history readable. The TL;DR of it is below.

      +
        +
      • The subject line should be in the format <type>: <subject>, where <type> should be one of: +
          +
        • feat (feature)
        • +
        • fix (bug fix)
        • +
        • docs (documentation)
        • +
        • style (formatting, missing semi colons, ...)
        • +
        • refactor
        • +
        • test (when adding missing tests)
        • +
        • chore (maintain)
        • +
        +
      • +
      • <subject> should use imperative, present tense: "change" not "changed" or "changes"
      • +
      • Examples of good Subject Lines: +
          +
        • doc: clarify meta.units behaviour
        • +
        • chore: update keyswithmetadat.json
        • +
        • style: whitespace
        • +
        • fix: allow nextPoint to be an intermediate leaf
        • +
        • feature: push design object fields under value/values
        • +
        +
      • +
      • Message body should also be in imperative, present tense and include motivation for the change and differences to previous behaviour.
      • +
      • Footer should reference any issues. If the PR should close issue(s) (assuming it is committed), use closes/fixes or resolves and the issue number. eg. "closes #18", "fixes #21 and resolves #23".
      • +
      • Subject, Body and Footer are separated by a blank line.
      • +
      +
    8. +
    9. +

      Push your branch to GitHub:

      +
      git push origin my-fix-branch
      +
      +
    10. +
    11. +

      In GitHub, create a pull request.

      +
    12. +
    +
      +
    • Use the same guidelines as commit messages to write the PR title and description. The server's release notes are automatically generated from PR titles, so think about how you can make them informative and easy to understand. The description should tell how the change affects the server's behavior and motivation for doing the change.
    • +
    • If we suggest changes to your PR we expect you to: +
        +
      • +

        Implement the agreed changes.

        +
      • +
      • +

        Rebase your branch and force push to your GitHub repository (this will update your Pull Request):

        +
        git rebase master -i
        +git push -f
        +
        +
      • +
      +
    • +
    +

    After your pull request is merged

    +

    After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository:

    +
      +
    • +

      Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:

      +
      git push origin --delete my-fix-branch
      +
      +
    • +
    • +

      Check out the master branch:

      +
      git checkout master -f
      +
      +
    • +
    • +

      Delete the local branch:

      +
      git branch -D my-fix-branch
      +
      +
    • +
    • +

      Update your master with the latest upstream version:

      +
      git pull --ff upstream master
      +
      +
    • +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/developer_notes.html b/docs/server-guide/develop/developer_notes.html new file mode 100644 index 000000000..aa18cb522 --- /dev/null +++ b/docs/server-guide/develop/developer_notes.html @@ -0,0 +1,222 @@ + + + + + + Notes for Developers - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Notes for Developers

    +

    Signal K server has an extensible architecture that enables developers to add functionality to support new protocols, devices, information sources, etc.

    +

    The information in this section aims to provide guidance, not only on how to develop plugins and applications to extend capability, but also how to do so in alignment with the Signal K server architecture. +By understanding the underlying architecture, the plugins and apps you create will ensure that the additional functionality and data will be discoverable and work in harmony with other solutions.

    +

    Looking Ahead

    +

    Signal K server v2 marks the start of an evolution from the Signal K v1 approach of defining the paths, their hierarchy and the full data model schema, towards an approach centered around REST APIs (HTTP endpoints defined as OpenApi specifications).

    +

    These APIs enact operations (i.e. activate a route, advance to next point, etc) rather just expose a generic data model with some well known paths. +They are available under the path /signalk/v2/api so they can coexist with v1 APIs. There is a connection with the Signal K full data model but, unlike the v1 APIs it is not 1:1, it is abstracted behind the interface.

    +

    The reason for adopting this approach is to address the fact that many paths within a Signal K hierarchy are related, a change in the value of one path will require that the value of other paths be updated to ensure that the data model is consistent. +At present this relies on the plugin / application knowing which paths in the hierarchy are related. Additionally there may be other plugins / applications also updating some of the same paths which can cause the data model to become invalid, which then erodes trust in the data which impacts its use in navigation.

    +

    The use of APIs to perform operations addresses these issues providing the following benefits:

    +
      +
    1. A standardised interface for all applications / plugins to perform an operation
    2. +
    3. Provides clear ownership of the paths in the Signal K data model
    4. +
    5. Ensures values are being maintained in all of the related paths.
    6. +
    7. Increases trust in the data for use in all scenarios.
    8. +
    +

    Stream Interface

    +

    Currently, when v2 REST APIs emit deltas that contain v2 paths and structure, they do not end up in the full model. This means that these paths and values are only available via API GET requests.

    +

    Offline Use

    +

    When operating on a vessel you should not assume that a connection to Internet services is available. +Therefore, it is important that the WebApps and Plugins you create be "self contained" and provide all the resources they require to operate (i.e. fonts, stylesheets, images, etc).

    +

    For WebApps and Plugins that connect to Internet based services to provide data, they should be resilient to changes in the connection status to those services and where necessary display their status.

    +

    Deprecations and Breaking Changes

    +

    With the move towards REST APIs and the desire to improve the data model (and also fix some mistakes) it's inevitable that there will be deprecations and breaking changes.

    +

    For example, when addressing duplicate Great Circle and Rhumbline course paths, the resultant changes will likley break compatibility with v1.

    +

    For details about paths that are flagged for deprecation see Changes & Deprecations.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/plugins/deltas.html b/docs/server-guide/develop/plugins/deltas.html new file mode 100644 index 000000000..8c326a1ea --- /dev/null +++ b/docs/server-guide/develop/plugins/deltas.html @@ -0,0 +1,326 @@ + + + + + + Processing Data - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Processing data from the server

    +

    A plugin will generally want to:

    +
      +
    1. Subscribe to data published by the server (i.e. received from a NMEA 2000 bus, etc)
    2. +
    3. Emit data.
    4. +
    +

    In both cases the plugin will use deltas which the server uses to signal changes in the Signal K full data model. Delta messages contain the new value associated with a path (not the amount of change from the previous value.)_

    +

    See the Signal K Delta Specification for details.

    +

    Using the server API, plugins can either:

    +
      +
    1. Get the current value of a path in the full model or
    2. +
    3. Subscribe to a path and access a stream of deltas that updates every time the value is updated.
    4. +
    +

    By specifying a context e.g. 'vessels.self' you can limit the number of delta messages received to those of host vesseel. +To receive all deltas you can specify * as the context.

    +

    You can also limit the deltas received by the path you supply. +If you supply a specific path e.g. navigation.position, only updates in the value will be received. +Since paths are hierarchical, paths can contain wildcards _e.g.navigation.* which will deliver deltas containing updates to all paths under navigation.

    +

    The data received is formatted as per the following example:

    +
      {
    +    path: 'navigation.position',
    +    value: { longitude: 24.7366117, latitude: 59.72493 },
    +    context: 'vessel.self',  
    +    source: {
    +        label: 'n2k-sample-data',
    +        type: 'NMEA2000',
    +        pgn: 129039,
    +        src: '43'
    +    },
    +    $source: 'n2k-sample-data.43',
    +    timestamp: '2014-08-15T19:00:02.392Z'
    +  }
    +
    +

    Reading the current path value

    +

    The server API provides the following methods for retrieving values from the full data model.

    +
      +
    • getSelfPath(path) returns the value of the supplied path in the vessels.self context.
    • +
    +
    const value = app.getSelfPath('uuid');
    +app.debug(value); // Should output something like urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60
    +
    +
      +
    • getPath(path) returns the value of the path (including the context) starting from the root of the full data model.
    • +
    +
    const baseStations = app.getPath('shore.basestations');
    +
    +

    Subscribing to Deltas

    +

    A can subscribe to a stream of updates (deltas) by creating the subscription.

    +

    Subcriptions are generally manged in the plugin start() and stop() methods to ensure the subscribtions are unsubscribed prior to the plugin stopping to ensure all resources are freed.

    +

    The following example illustrates the pattern using the subscriptionmanager API method.

    +
    let unsubscribes = [];
    +
    +plugin.start = (options, restartPlugin) => {
    +  app.debug('Plugin started');
    +  let localSubscription = {
    +    context: '*', // Get data for all contexts
    +    subscribe: [{
    +      path: '*', // Get all paths
    +      period: 5000 // Every 5000ms
    +    }]
    +  };
    +
    +  app.subscriptionmanager.subscribe(
    +    localSubscription,
    +    unsubscribes,
    +    subscriptionError => {
    +      app.error('Error:' + subscriptionError);
    +    },
    +    delta => {
    +      delta.updates.forEach(u => {
    +        app.debug(u);
    +      });
    +    }
    +  );
    +};
    +
    +plugin.stop = () => {
    +  unsubscribes.forEach(f => f());
    +  unsubscribes = [];
    +};
    +
    +

    In the start() method create a subscription definition localSubscription which is then passed to app.subscriptionmanager.subscribe() as the first argument, we also pass the unsubscribes array in the second argument.

    +

    The third argument is a function that will be called when there's an error.

    +

    The final argument is a function that will be called every time an update is received.

    +

    In the stop() method each subcription in the unsubscribes array is unsubscribed and the resources released.

    +

    Sending Deltas

    +

    A SignalK plugin can not only read deltas, but can also send them. This is done using the handleMessage() API method and supplying:

    +
      +
    1. The plugin id
    2. +
    3. A formatted delta update message
    4. +
    5. The Signal K version ['v1' or 'v2'] (if omitted the default is 'v1'). See REST APIs for details.
    6. +
    +

    Example:

    +
    app.handleMessage(
    +    plugin.id,
    +    {
    +        updates: [{ 
    +            values: [{
    +                path: 'environment.outside.temperature',
    +                value: -253
    +            }] 
    +        }]
    +    },
    +    'v1'
    +  );
    +
    +

    Sending NMEA 2000 data from a plugin

    +

    A SignalK plugin can not only emit deltas, but can also send data such as NMEA 2000 data.

    +

    This is done using the emit() API and specifying the provider as well as the formatted data to send.

    +

    Example: Send NMEA using Actisense serial format:

    +
      app.emit(
    +    'nmea2000out',
    +    '2017-04-15T14:57:58.468Z,0,262384,0,0,14,01,0e,00,88,b6,02,00,00,00,00,00,a2,08,00');
    +
    +

    Example: Send NMEA using Canboat JSON format:

    +
      app.emit('nmea2000JsonOut', {
    +    pgn: 130306,
    +    'Wind Speed': speed,
    +    'Wind Angle': angle < 0 ? angle + Math.PI*2 : angle,
    +    'Reference': "Apparent"
    +  });
    +
    +

    Sending a message on NMEA2000 startup

    +

    If you need to send an NMEA2000 message out at startup, e.g get current state from a device you will need to wait until the provider is ready before sending your message.

    +

    Example: Send NMEA after the provider is ready:

    +
      app.on('nmea2000OutAvailable', () => {
    +     app.emit(
    +       'nmea2000out',
    +       '2017-04-15T14:57:58.468Z,2,6,126720,%s,%s,4,a3,99,01,00');
    +  });
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/plugins/publishing.html b/docs/server-guide/develop/plugins/publishing.html new file mode 100644 index 000000000..61f4ebe0f --- /dev/null +++ b/docs/server-guide/develop/plugins/publishing.html @@ -0,0 +1,254 @@ + + + + + + Publishing to the AppStore - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Publishing to The AppStore

    +

    Plugins and WebApps are available in the AppStore when they have been published to npm repository with the one or more of the following keywords in the package.json file:

    +
      +
    • signalk-node-server-plugin
    • +
    • signalk-webapp
    • +
    +

    Additionally you can have your plugin appear within one or more AppStore categories by also adding the following keyword(s):

    +
      +
    • signalk-category-chart-plotters
    • +
    • signalk-category-nmea-2000
    • +
    • signalk-category-nmea-0183
    • +
    • signalk-category-instruments
    • +
    • signalk-category-hardware
    • +
    • signalk-category-ais
    • +
    • signalk-category-notifications
    • +
    • signalk-category-digital-switching
    • +
    • signalk-category-utility
    • +
    • signalk-category-cloud
    • +
    • signalk-category-weather
    • +
    • signalk-category-deprecated
    • +
    • signalk-category-hidden (won't show on the App Store)
    • +
    +

    To have your plugin start automatically after being installed, without requiring any configuration via the Plugin Config screen add the following key to the package.json file:

    +
    "signalk-plugin-enabled-by-default": true
    +
    +

    To control the way your WebApp is displayed in the Admin UI add a signalk key with the following attributes:

    +
      "signalk": {
    +    "appIcon": "./img/icon-72x72.png", // path to an image file to use as an icon.
    +    "displayName": "My SK App" // name to display in place of the package name.
    +  }
    +
    +

    Example: package.json

    +
    {
    +  "name": "my-signalk-plugin-app",
    +  "version": "1.0.0",
    +  "description": "My great signalk plugin-app",
    +  "keywords": [
    +    "signalk-node-server-plugin",
    +    "signalk-webapp",
    +    "signalk-category-ais"
    +  ],
    +  "signalk-plugin-enabled-by-default": true,
    +  "signalk": {
    +    "appIcon": "./assets/icons/icon-72x72.png",
    +    "displayName": "My Great WebApp"
    +  },
    +  "main": "plugin/index.js",
    +  "scripts": {
    +    "test": "echo \"Error: no test specified\" && exit 1"
    +  },
    +  "author": "",
    +  "license": "ISC"
    +}
    +
    +

    Publishing your Plugin

    +

    Once you have developed and tested your Plugin / WebApp you can publish it to make it visible in the AppStore. +To do this, in a terminal session from within the folder containing package.json:

    +
    npm publish
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/plugins/resource_provider_plugins.html b/docs/server-guide/develop/plugins/resource_provider_plugins.html new file mode 100644 index 000000000..50fc985f6 --- /dev/null +++ b/docs/server-guide/develop/plugins/resource_provider_plugins.html @@ -0,0 +1,544 @@ + + + + + + Resource Providers - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Resource Provider plugins

    +

    Overview

    +

    The SignalK server Resource API provides a common set operations for clients to interact with routes, waypoints, charts, etc but it does NOT provide the ability to persist or retrieve resources to / from storage.

    +

    This functionality needs to be provided by one or more server plugins that interface with the Resource API to facilitate the storage and retrieval of resource data.

    +

    These plugins are called Provider Plugins.

    +

    Resource API architecture: +

    +

    This de-coupling of request handling and data storage provides the flexibility to persist resource data in a variety of different storage types as well as Internet based services.

    +

    Note: Signal K server comes with the resources-provider-plugin pre-installed which persists resource data to the local file system.

    +

    Resources API:

    +

    The Resources API handles all client requests received via the /signalk/v2/api/resources path, before passing on the request to registered provider plugin(s).

    +

    The Resources API performs the following operations when a request is received:

    +
      +
    1. Checks for registered provider(s) for the resource type (i.e. route, waypoint, etc.)
    2. +
    3. Checks that the required ResourceProvider methods are defined for the requested operation (i.e. POST, PUT, GET, DELETE)
    4. +
    5. Performs an access control check
    6. +
    7. POST and PUT requests for Standard (Signal K defined) resource types are checked for validity of the submitted:
    8. +
    +
      +
    • resource id
    • +
    • resource data against the OpenAPI definition.
    • +
    +

    Only after successful completion of all these operations is the request passed on to the registered provider plugin(s).

    +
    +

    Provider plugins:

    +

    A resource provider plugin is a Signal K server plugin that implements the Resource Provider Interface which:

    +
      +
    • Tells server the resource type(s) provided for by the plugin (i.e. route, waypoint, etc.)
    • +
    • Registers the methods used to action requests passed from the server and perform the writing, retrieval and deletion of resources from storage.
    • +
    +

    Note: multiple providers can be registered for a resource type (e.g. 2 x chart providers)

    +

    The ResourceProvider interface is defined as follows in @signalk/server-api:

    +
    interface ResourceProvider {
    +  type: ResourceType
    +  methods: ResourceProviderMethods
    +}
    +
    +

    where:

    +
      +
    • +

      type: The resource type provided for by the plugin. These can be either Standard (Signal K defined) or Custom (user defined) resource types (e.g. 'routes', 'fishingZones')

      +
    • +
    • +

      methods: An object implementing the ResourceProviderMethods interface defining the functions to which resource requests are passed by the SignalK server. Note: The plugin MUST implement each method, even if that operation is NOT supported by the plugin!

      +
    • +
    +

    The ResourceProviderMethods interface is defined as follows in @signalk/server-api:

    +
    interface ResourceProviderMethods {
    +  listResources: (query: { [key: string]: any }) => Promise<{[id: string]: any}>
    +  getResource: (id: string, property?: string) => Promise<object>
    +  setResource: (
    +    id: string,
    +    value: { [key: string]: any }
    +  ) => Promise<void>
    +  deleteResource: (id: string) => Promise<void>
    +}
    +
    +

    Note: The Resource Provider is responsible for implementing the methods and returning data in the required format!

    +

    Provider Methods:

    +

    listResources(query): This method is called when a request is made for resource entries that match a specific criteria.

    +

    Note: It is the responsibility of the resource provider plugin to filter the resources returned as per the supplied query parameters.

    +
      +
    • query: Object contining key | value pairs repesenting the parameters by which to filter the returned entries. e.g. {region: 'fishing_zone'}
    • +
    +

    returns: Promise<{[id: string]: any}>

    +

    Example: Return waypoints within the bounded area with lower left corner at E5.4 N25.7 & upper right corner E6.9 & N31.2:

    +
    GET /signalk/v2/api/resources/waypoints?bbox=[5.4,25.7,6.9,31.2]
    +
    +

    ResourceProvider method invocation:

    +
    listResources(
    +  {
    +    bbox: '5.4,25.7,6.9,31.2'
    +  }
    +);
    +
    +

    Returns:

    +
    {
    +  "07894aba-f151-4099-aa4f-5e5773734b69": {
    +    "name":"my Point",
    +    "description":"A Signal K waypoint",
    +    "distance":124226.65183615577,
    +    "feature":{
    +      "type":"Feature",
    +      "geometry":{
    +        "type":"Point",
    +        "coordinates":[5.7,26.4]
    +      },
    +      "properties":{}
    +    },
    +    "timestamp":"2023-01-01T05:02:54.561Z",
    +    "$source":"resources-provider"
    +  },
    +  "0c894aba-d151-4099-aa4f-be5773734e99": {
    +    "name":"another point",
    +    "description":"Another Signal K waypoint",
    +    "distance":107226.84,
    +    "feature":{
    +      "type":"Feature",
    +      "geometry":{
    +        "type":"Point",
    +        "coordinates":[6.1,29.43]
    +      },
    +      "properties":{}
    +    },
    +    "timestamp":"2023-01-01T05:02:54.561Z",
    +    "$source":"resources-provider"
    +  }
    +}
    +
    +
    +

    getResource(id, property?): This method is called when a request is made for a specific resource entry with the supplied id. If property is supplied then the value of the resource property is returned. If there is no resource associated with the id the call should return Promise.reject.

    +
      +
    • id: String containing the target resource entry id. (e.g. '07894aba-f151-4099-aa4f-5e5773734b99')
    • +
    • property (optional): Name of resource property for which to return the value (in dot notation). e.g. feature.geometry.coordinates
    • +
    +

    returns: Promise<object>

    +

    Example resource request:

    +
    GET /signalk/v2/api/resources/routes/07894aba-f151-4099-aa4f-5e5773734b99
    +
    +

    ResourceProvider method invocation:

    +
    getResource(
    +  '07894aba-f151-4099-aa4f-5e5773734b99'
    +);
    +
    +

    Returns:

    +
    {
    +  "name":"myRoute",
    +  "description":"A Signal K route",
    +  "distance":124226.65183615577,
    +  "feature":{
    +    "type":"Feature",
    +    "geometry":{
    +      "type":"LineString",
    +      "coordinates":[[-8,-8],[-8.5,-8],[-8.5,-8.4],[-8.7,-8.3]]
    +    },
    +    "properties":{}
    +  },
    +  "timestamp":"2023-01-01T05:02:54.561Z",
    +  "$source":"resources-provider"
    +}
    +
    +

    Example resource property value request:

    +
    GET /signalk/v2/api/resources/routes/07894aba-f151-4099-aa4f-5e5773734b99/feature/geometry/type
    +
    +

    ResourceProvider method invocation:

    +
    getResource(
    +  '07894aba-f151-4099-aa4f-5e5773734b99',
    +  'feature.geometry.type'
    +);
    +
    +

    Returns:

    +
    {
    +  "value": "LineString",
    +  "timestamp":"2023-01-01T05:02:54.561Z",
    +  "$source":"resources-provider"
    +}
    +
    +
    +

    setResource(id, value): This method is called when a request is made to save / update a resource entry with the supplied id. The supplied data is a complete resource record.

    +
      +
    • +

      id: String containing the id of the resource entry created / updated. e.g. '07894aba-f151-4099-aa4f-5e5773734b99'

      +
    • +
    • +

      value: Resource data to be stored.

      +
    • +
    +

    returns: Promise<void>

    +

    Example PUT resource request:

    +
    PUT /signalk/v2/api/resources/routes/07894aba-f151-4099-aa4f-5e5773734b99 {resource_data}
    +
    +

    ResourceProvider method invocation:

    +
    setResource(
    +  '07894aba-f151-4099-aa4f-5e5773734b99',
    +  {
    +    name: 'test route', 
    +    distance': 8000, 
    +    feature: {
    +      type: 'Feature', 
    +      geometry: {
    +        type: 'LineString',
    +        coordinates: [[138.5, -38.6], [138.7, -38.2], [138.9, -38.0]]
    +      },
    +      properties:{}
    +    }
    +  }
    +);
    +
    +

    Example POST resource request:

    +
    POST /signalk/v2/api/resources/routes {resource_data}
    +
    +

    ResourceProvider method invocation:

    +
    setResource(
    +  '<server_generated_id>',
    +  {
    +    name: 'test route', 
    +    distance': 8000, 
    +    feature: {
    +      type: 'Feature', 
    +      geometry: {
    +        type: 'LineString',
    +        coordinates: [[138.5, -38.6], [138.7, -38.2], [138.9, -38.0]]
    +      },
    +      properties:{}
    +    }
    +  }
    +);
    +
    +
    +

    deleteResource(id): This method is called when a request is made to remove the specific resource entry with the supplied resource id.

    +
      +
    • id: String containing the target resource entry id. e.g. '07894aba-f151-4099-aa4f-5e5773734b99'
    • +
    +

    returns: Promise<void>

    +

    Example resource request:

    +
    DELETE /signalk/v2/api/resources/routes/07894aba-f151-4099-aa4f-5e5773734b99
    +
    +

    ResourceProvider method invocation:

    +
    deleteResource(
    +  '07894aba-f151-4099-aa4f-5e5773734b99'
    +);
    +
    +
    +

    Registering as a Resource Provider:

    +

    To register a plugin as a provider for one or more resource types with the SignalK server, it must call the server's registerResourceProvider function for each resource type being serviced during plugin startup.

    +

    The function has the following signature:

    +
    app.registerResourceProvider(resourceProvider: ResourceProvider)
    +
    +

    where:

    +
      +
    • resourceProvider: is a reference to a ResourceProvider object containing the resource type and methods to receive the requests.
    • +
    +

    Note: More than one plugin can be registered as a provider for a resource type.

    +

    Example: Plugin registering as a routes & waypoints provider.

    +
    import { ResourceProvider } from '@signalk/server-api'
    +
    +module.exports = function (app) {
    +
    +  const plugin = {
    +    id: 'mypluginid',
    +    name: 'My Resource Providerplugin'
    +  }
    +
    +  const routesProvider: ResourceProvider = {
    +      type: 'routes',
    +      methods: {
    +        listResources: (params) => { 
    +          fetchRoutes(params)
    +          ... 
    +        },
    +        getResource: (id, property?) => { 
    +          getRoute(id, property)
    +          ... 
    +        },
    +        setResource: (id, value )=> { 
    +          saveRoute(id, value)
    +          ... 
    +        },
    +        deleteResource: (id) => { 
    +          deleteRoute(id, value)
    +          ...
    +        }
    +      }
    +    }
    +
    +  const waypointsProvider: ResourceProvider = {
    +      type: 'waypoints',
    +      methods: {
    +        listResources: (params) => { 
    +          fetchWaypoints(params)
    +          ... 
    +        },
    +        getResource: (id, property?) => { 
    +          getWaypoint(id, property)
    +          ... 
    +        },
    +        setResource: (id, value )=> { 
    +          saveWaypoint(id, value)
    +          ... 
    +        },
    +        deleteResource: (id) => { 
    +          deleteWaypoint(id, value)
    +          ...
    +        }
    +      }
    +    }
    +
    +  plugin.start = function(options) {
    +    ...
    +    try {
    +      app.registerResourceProvider(routesProvider)
    +      app.registerResourceProvider(waypointsProvider)
    +    }
    +    catch (error) {
    +      // handle error
    +    }
    +  }
    +
    +  return plugin
    +}
    +
    +

    Methods

    +

    A Resource Provider plugin must implement ALL methods to service the requests passed from the server.

    +

    Each method should return a Promise on success and throw on error, if a request is not serviced or is not implemented.

    +

    Example:

    +
    // SignalK server plugin 
    +module.exports = function (app) {
    +
    +  const plugin = {
    +    id: 'mypluginid',
    +    name: 'My Resource Providerplugin',
    +    start: options => { 
    +      ... 
    +      app.registerResourceProvider({
    +        type: 'waypoints',
    +        methods: {
    +          listResources: (params) => { 
    +            return new Promise( (resolve, reject) => {
    +              ...
    +              if (ok) {
    +                resolve(resource_list)
    +              } else {
    +                reject( new Error('Error fetching resources!'))
    +              }
    +            })
    +          },
    +          getResource: (id, property?) => { 
    +            return new Promise( (resolve, reject) => {
    +              ...
    +              if (ok) {
    +                resolve(resource_list)
    +              } else {
    +                reject( new Error('Error fetching resource with supplied id!'))
    +              }
    +            })
    +          },
    +          setResource: (id, value )=> { 
    +            throw( new Error('Not implemented!')) 
    +          },
    +          deleteResource: (id) => { 
    +            throw( new Error('Not implemented!')) 
    +          }
    +        }
    +      })
    +    }
    +
    +  }
    +}
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/plugins/server_plugin.html b/docs/server-guide/develop/plugins/server_plugin.html new file mode 100644 index 000000000..a831bccc6 --- /dev/null +++ b/docs/server-guide/develop/plugins/server_plugin.html @@ -0,0 +1,480 @@ + + + + + + Plugins - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Server plugins

    +

    Overview

    +

    Signal K Node server plugins are components that extend functionality of the server. +They are installed via the AppStore and configured via the Admin UI.

    +

    Signal K server exposes an interface for plugins to use in order to interact with the full data model, emit delta messages and process requests.

    +

    Plugins can also provide a webapp by placing the relavent files in a folder named /public/ which the server will mount under http://{skserver}:3000/{pluginId}.

    +

    Note: With the move towards Signal K server providing APIs to perform operations, it is important that you consider how the proposed functionality provided by your plugin aligns with the Signal K architecture before starting development.

    +

    For example, if the plugin you are looking to develop is providing access to information such as route, waypoint, POI, or charts you should be creating a Resources Provider Plugin for the Resources API.

    +

    Or if you are looking to perform course calculations or integrate with an auotpilot, you will want to review the Course API documentation prior to commencing your project.

    +

    OpenApi description for your plugin's API

    +

    If your plugin provides an API you should consider providing an OpenApi description. This promotes cooperation with other plugin/webapp authors and also paves the way for incorporating new APIs piloted within a plugin into the Signal K specification.

    +

    Getting Started with Plugin Development

    +

    Prerequisites

    +

    To get started developing your plugin you will need the following:

    +
      +
    • Signal K server instance on your device (clone of GIT repository or docker instance)
    • +
    • NodeJs version 18 or later and NPM installed
    • +
    • SignalK server configuration folder. (Created when Signal K server is started. default location is $HOME/.signalk).
    • +
    +
    +

    Setting up your project

    +
      +
    1. Create a folder for your plugin code and create the necessary file structure:
    2. +
    +
    mkdir my-pluin
    +cd my-plugin
    +npm init      # create package.json file
    +
    +
      +
    1. Create the folders to hold your plugin code and webapp UI.
    2. +
    +
    /my-plugin
    +  /plugin     # plugin (javascript code / built typesrcipt code)
    +    index.js
    +    ..
    +  /public     # web app UI
    +    index.html
    +    ..
    +  /src        # typescript source code (not required if using javascript)
    +    index.ts  
    +    ...
    +  package.json
    +
    +
      +
    1. Update the package.json to reflect your project structure and add keywords to identify the package for the Signal K AppStore.
    2. +
    +
    {
    +  "name": "my-plugin",
    +  "version": "1.0.0",
    +  "description": "My signalk plugin",
    +  "keywords": [
    +    "signalk-node-server-plugin",
    +    "signalk-category-ais"
    +  ],
    +  "signalk-plugin-enabled-by-default": false,
    +  "signalk": {
    +    "appIcon": "./assets/icons/icon-72x72.png",
    +    "displayName": "My Great WebApp"
    +  },
    +  "main": "plugin/index.js",
    +  ...
    +}
    +
    +
      +
    1. Optional: Install any dependencies or third party packages.
    2. +
    +
    npm i
    +
    + +

    Once you have developed your plugin code and are ready to debug, the most convenient way is to use npm link to link your plugin code to your instance of Signal K server.

    +

    To do this, from within a terminal window:

    +
    # Ensure you are in the folder containing your built plugin code
    +cd my_plugin_src
    +
    +# Create a link (may require the use of sudo)
    +npm link
    +
    +# Change to the Signal K server configuration directory
    +cd ~/.signalk
    +
    +# Link your plugin using the name in the package.json file 
    +#(may require the use of sudo)
    +npm link my-signalk-plugin-app
    +
    +

    When you start Signal K server the plugin will now appear in the Plugin Config screen where it can be configured and enabled.

    +

    Debugging

    +

    The simplest way to debug your plugin is to turn on Enable Debug log for your plugin in the Plugin Config screen.

    +

    Alternatively, you can debug your plugin by starting the Signal K server with the DEBUG environment variable:

    +
    $ DEBUG=my-signalk-plugin signalk-server
    +
    +# sample output 
    +my-signalk-plugin Plugin stopped +0ms
    +my-signalk-plugin Plugin started +2ms
    +
    +

    You can also view debug information about the plugin loading process:

    +
    $ DEBUG=signalk:interfaces:plugins signalk-server
    +
    +# sample output
    +signalk:interfaces:plugins Registering plugin my-signalk-plugin +0ms
    +signalk:interfaces:plugins Could not find options for plugin my-signalk-plugin, returning empty options:  +2ms
    +
    +

    Sample Data

    +

    For development purposes, it's often nice to have some mocked data. SignalK comes with a synthesized NMEA2000 data set that can be used as sample data.

    +

    You can enable this by adding --sample-n2k-data to the command line:

    +
    $ DEBUG=my-signalk-plugin signalk-server --sample-n2k-data
    +
    +
    +

    Start Coding

    +

    Signal K server plugins are NodeJs javascript or typescript projects that return an object that implements the Plugin interface.

    +

    They are installed into the node_modules folder that resides inside the SignalK server's configuration directory ($HOME/.signalk by default).

    +

    A Signal K plugin is passed a reference to the Signal K server plugin interface which it can use to interact with the server.

    +

    Folowing are code snippets that can be used as a template for plugin development ensuring the returned Plugin object contains the required functions.

    +

    Javascript

    +

    Create index.js with the following content:

    +
    module.exports = (app) => {
    +
    +  const plugin = {
    +    id: 'my-signalk-plugin',
    +    name: 'My Great Plugin',
    +    start: (settings, restartPlugin) => {
    +      // start up code goes here.
    +    },
    +    stop: () => {
    +      // shutdown code goes here.
    +    },
    +    schema: () => {
    +      properties: {
    +        // plugin configuration goes here
    +      }
    +    }
    +  };
    +
    +  return plugin;
    +};
    +
    +

    Typescript

    +

    Create index.js with the following content:

    +
    import { Plugin, PluginServerApp } from '@signalk/server-api';
    +
    +module.exports = (app: PluginServerApp): Plugin => {
    +
    +  const plugin: Plugin = {
    +    id: 'my-signalk-plugin',
    +    name: 'My Great Plugin',
    +    start: (settings, restartPlugin) => {
    +      // start up code goes here.
    +    },
    +    stop: () => {
    +      // shutdown code goes here.
    +    },
    +    schema: () => {
    +      properties: {
    +        // plugin configuration goes here
    +      }
    +    }
    +  };
    +
    +  return plugin;
    +}
    +
    +

    A plugin must return an object containing the following functions:

    +
      +
    • +

      start(settings, restartPlugin): This function is called when the plugin is enabled or when the server starts (and the plugin is enabled). The settings parameter contains the configuration data entered via the Plugin Config screen. restartPlugin is a function that can be called by the plugin to restart itself.

      +
    • +
    • +

      stop(): This function is called when the plugin is disabled or after configuration changes. Use this function to "clean up" the resources consumed by the plugin i.e. unsubscribe from streams, stop timers / loops and close devices.

      +
    • +
    • +

      schema(): A function that returns an object defining the schema of the plugin's configuration data. It is used by the server to generate the user interface in the Plugin Config screen.

      +
    • +
    +

    Note: When a plugin's configuration is changed the server will first call stop() to stop the plugin and then start() with the new configuration data.

    +

    A plugin can also contain the following optional functions:

    +
      +
    • +

      uiSchema(): A function that returns an object defining the attributes of the UI components displayed in the Plugin Config screen.

      +
    • +
    • +

      getOpenApi(): Function to return the OpenAPI definition. This should be implemented when your plugin provides HTTP endpoints for clients to call. Doing so makes the OPenAPI definition available in the server Admin UI under Documentation -> OpenAPI.

      +
    • +
    +

    Example:

    +
    const openapi = require('./openApi.json');
    +
    +plugin.getOpenApi = () => openapi;
    +
    +
    +
    +

    Plugin configuration / Schema

    +

    A plugin's schema function must return a JSON Schema object decribing the structure of the configuration data. This is used by the server to render the plugin's configuration screen in the Admin UI.

    +

    The configuration data is stored by the server under the following path $SIGNALK_NODE_CONFIG_DIR/plugin-config-data/<plugin-name>.json. (Default value of SIGNALK_NODE_CONFIG_DIR is $HOME/.signalk.)

    +

    Example:

    +
      plugin.schema = {
    +    type: 'object',
    +    required: ['some_string', 'some_other_number'],
    +    properties: {
    +      some_string: {
    +        type: 'string',
    +        title: 'Some string that the plugin needs'
    +      },
    +      some_number: {
    +        type: 'number',
    +        title: 'Some number that the plugin needs',
    +        default: 60
    +      },
    +      some_other_number: {
    +        type: 'number',
    +        title: 'Some other number that the plugin needs',
    +        default: 5
    +      }
    +    }
    +  };
    +
    +

    JSON Schema approach works reasonably well for simple to medium complex configuration data.

    +

    It should ne noted that some JSON schema constructs are not supported. Refer (details) for details.

    +

    The server supports also custom plugin configuration components, bypassing the automatic configuration format generation.

    +

    The plugin is passed the configuration settings as the first parameter of the start function.

    +
    plugin.start = (settings, restartPlugin) => {
    +  // settings contains the plugin configuration
    +  ...
    +}
    +
    +

    UI Schema

    +

    The plugin can define uiSchema by returning a uiSchema object which is used to control how the user interface is rendered in the Admin UI.

    +

    _Example: Make all data in an object called 'myObject' collapsible:

    +
    uiSchema['myObject'] = {
    +  'ui:field': 'collapsible',
    +  collapse: {
    +    field: 'ObjectField',
    +    wrapClassName: 'panel-group'
    +  }
    +}
    +
    +

    For more information, see react-jsonschema-form-extras

    +

    Making a plugin enabled by default

    +

    If your plugin does not require any initial configuration, you can enable it to start when the Signal K server is restarted after the plugin is installed.

    +

    To do this add the following to the package.json:

    +
      "signalk-plugin-enabled-by-default": true
    +
    +
    +

    Add an OpenAPI Definition

    +

    If your plugin exposes an API to interact with it then you should include an OpenAPI definition.

    +

    You do this by creating an OpenAPI definition within the file openApi.json and then returning the content of the file with the getOpenApi method.

    +

    Example:

    +
    const openapi = require('./openApi.json');
    +...
    +
    +plugin.getOpenApi = () => openapi;
    +
    +

    This will include your plugin's OpenApi definition in the documentation in the server's Admin UI under Documentation -> OpenAPI.

    +

    Note: If the plugin's OpenApi description DOES NOT include a servers property, the API path presented in the documentation will be relative to the Signal K API path. You should include this property the plugin API is rooted elsewhere. +Example:

    +
      "servers": [
    +    {
    +      "url": "/myapi/endpoint"
    +    }
    +  ],
    +
    +

    See testplugin for an example.

    +
    +

    Logging

    +

    To record deltas sent by the plugin in the server's data log, enable the Log plugin output in the plugin configuration screen.

    +
    +

    Removing a plugin

    +

    Plugins can be removed via the AppStore.

    +

    You can also remove a plugin manually by:

    +
      +
    1. Deleting it's folder under ~/.signalk/node_modules
    2. +
    3. Deleting it's entry from ~/.signalk/package.json
    4. +
    5. Run npm prune from the ~/.signalk/ directory.
    6. +
    +

    Alternatively you can:

    +
      +
    1. Remove the folder ~/.signalk/node_modules
    2. +
    3. Run npm install from the ~/.signalk/ directory.
    4. +
    +

    Finally you can remove the plugin setting file in ~/.signalk/plugin-config-data/.

    +
    +

    Examples

    +

    Following are links to some published SignalK plugins that serve as an example of working plugins:

    + + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/plugins/server_plugin_api.html b/docs/server-guide/develop/plugins/server_plugin_api.html new file mode 100644 index 000000000..9d8244e3f --- /dev/null +++ b/docs/server-guide/develop/plugins/server_plugin_api.html @@ -0,0 +1,538 @@ + + + + + + Server API - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Server API for plugins

    +

    Internally, SignalK server builds a full data model. Plugins can access the server's delta stream (updates) and full model and provide additional data as deltas using the following functions.

    +

    app.handleMessage(pluginId, delta, skVersion = 'v1')

    +

    Allows the plugin to publish deltas to the server. These deltas are handled as any incoming deltas.

    +
    app.handleMessage('my-signalk-plugin', {
    +  updates: [
    +    {
    +      values: [
    +        {
    +          path: 'navigation.courseOverGroundTrue',
    +          value: Math.PI
    +        }
    +      ]
    +    }
    +  ]
    +})
    +
    +

    Deltas that use Signal K V2 paths (like the Course API paths) should call handleMessage with the optional 3rd parameter set to v2. This prevents V2 API data getting mixed in V1 paths' data in Full model & the v1 http API. If you don't know that your data is V2 API data you can omit the third parameter, as the default is V1.

    +

    app.getSelfPath(path)

    +

    Get a Signal K path for the vessels.self's full data model.

    +
    let uuid = app.getSelfPath('uuid');
    +app.debug(uuid); // Should output something like urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60
    +
    +

    app.getPath(path)

    +

    Get a Signal K path starting from the root of the full data model.

    +
    let baseStations = app.getPath('shore.basestations');
    +
    +// baseStations:
    +
    +{
    +  'urn:mrn:imo:mmsi:2766140': {
    +    url: 'basestations',
    +    navigation: { position: [Object] },
    +    mmsi: '2766140'
    +  },
    +  'urn:mrn:imo:mmsi:2766160': {
    +    url: 'basestations',
    +    navigation: { position: [Object] },
    +    mmsi: '2766160'
    +  },
    +  ...
    +}
    +
    +

    app.streambundle.getSelfBus(path)

    +

    Get a Bacon JS stream for vessels.self's Signal K path. path argument is optional. If it is not provided the returned stream +produces values for all paths. Stream values are objects with structure

    +
      {
    +    path: ...,
    +    value: ...,
    +    context: ...,
    +    source: ...,
    +    $source: ...,
    +    timestamp: ...
    +  }
    +
    +

    For example:

    +
    app.streambundle
    +  .getSelfBus('navigation.position')
    +  .forEach(pos => app.debug(pos));
    +
    +

    Outputs:

    +
    ...
    +{
    +  path: 'navigation.position',
    +  value: { longitude: 24.7366117, latitude: 59.72493 },
    +  context: 'vessels.urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60',
    +  source: {
    +    label: 'n2k-sample-data',
    +    type: 'NMEA2000',
    +    pgn: 129039,
    +    src: '43'
    +  },
    +  '$source': 'n2k-sample-data.43',
    +  timestamp: '2014-08-15T19:00:02.392Z'
    +}
    +{
    +  path: 'navigation.position',
    +  value: { longitude: 24.7366208, latitude: 59.7249198 },
    +  context: 'vessels.urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60',
    +  source: {
    +    label: 'n2k-sample-data',
    +    type: 'NMEA2000',
    +    pgn: 129025,
    +    src: '160'
    +  },
    +  '$source': 'n2k-sample-data.160',
    +  timestamp: '2014-08-15T19:00:02.544Z'
    +}
    +...
    +
    +

    app.streambundle.getSelfStream(path)

    +

    Get a Bacon JS stream for vessels.self's Signal K path. path argument is optional. If it is not provided the returned stream +produces values for all paths. This is similar to app.streambundle.getSelfBus(path), but the stream values are the value properties from incoming deltas.

    +
    app.streambundle
    +  .getSelfStream('navigation.position')
    +  .forEach(pos => app.debug(pos));
    +
    +

    Outputs:

    +
      my-signalk-plugin { longitude: 24.736677, latitude: 59.7250108 } +600ms
    +  my-signalk-plugin { longitude: 24.736645, latitude: 59.7249883 } +321ms
    +  my-signalk-plugin { longitude: 24.7366563, latitude: 59.7249807 } +174ms
    +  my-signalk-plugin { longitude: 24.7366563, latitude: 59.724980699999996 } +503ms
    +
    +

    app.streambundle.getBus(path)

    +

    Get a Bacon JS stream for a Signal K path that will stream values from any context. path argument is optional. If it is not provided the returned stream +produces values for all paths. Stream values are objects as in app.streambundle.getSelfBus(path).

    +

    app.streambundle.getAvailablePaths()

    +

    Get a list of paths currently available in the server

    +
    [
    +  "navigation.speedOverGround",
    +  "navigation.courseOverGroundTrue",
    +  "navigation.courseGreatCircle.nextPoint.position",
    +  "navigation.position",
    +  "navigation.gnss.antennaAltitude",
    +  "navigation.gnss.satellites",
    +  "navigation.gnss.horizontalDilution",
    +  "navigation.gnss.positionDilution",
    +  "navigation.gnss.geoidalSeparation",
    +  "navigation.gnss.type","navigation.gnss.methodQuality",
    +  "navigation.gnss.integrity",
    +  "navigation.magneticVariation",
    +  ...
    +]
    +
    +

    app.error(message)

    +

    Report errors in a human-oriented message. Currently just logs the message, but in the future error messages hopefully will show up in the admin UI.

    +

    app.debug(...)

    +

    Log debug messages. This is the debug method from the debug module. The npm module name is used as the debug name.

    +

    app.debug() can take any type and will serialize it before outputting.

    +

    Do not use debug directly. Using the debug function provided by the server makes sure that the plugin taps into the server's debug logging system, including the helper switches in Admin UI's Server Log page.

    +

    app.savePluginOptions(options, callback)

    +

    Save changes to the plugin's options.

    +
    var options = {
    +  myConfigValue = 'Something the plugin calculated'
    +};
    +
    +app.savePluginOptions(options, () => {app.debug('Plugin options saved')});
    +
    +
    +

    app.readPluginOptions()

    +

    Read plugin options from disk.

    +
    var options = app.readPluginOptions();
    +
    +

    app.getDataDirPath()

    +

    Returns the full path of the directory where the plugin can persist its internal data, like data files.

    +

    Example use:

    +
    var myFile = require('path').join(app.getDataDirPath(), 'somefile.ext')
    +
    +

    app.registerPutHandler(context, path, callback, source)

    +

    If a plugin wants to respond to PUT requests for a specific path, it can register an action handler.

    +

    The action handler can handle the request synchronously or asynchronously.

    +

    The passed callback should be a function taking the following arguments: (context, path, value, callback)

    +

    For synchronous actions the handler must return a value describing the response of the request: for example

    +
    {
    +  state: 'COMPLETED',
    +  statusCode: 200
    +}
    +
    +

    or

    +
    {
    + state:'COMPLETED',
    + statusCode: 400,
    + message:'Some Error Message'
    +}
    +
    +

    The statusCode value can be any valid HTTP response code.

    +

    For asynchronous actions that may take considerable time and where the requester should not be kept waiting for the result the handler must return

    +
    { state: 'PENDING' }
    +
    +

    When the action is finished the handler should call the callback function with the result with

    +
    callback({ state: 'COMPLETED', statusCode: 200 })
    +
    +

    or

    +
    callback({
    +  state:'COMPLETED',
    +  statusCode: 400,
    +  message:'Some Error Message'
    +})
    +
    +

    Synchronous example:

    +
    function myActionHandler(context, path, value, callback) {
    +  if(doSomething(context, path, value)){
    +    return { state: 'COMPLETED', statusCode: 200 };
    +  } else {
    +    return { state: 'COMPLETED', statusCode: 400 };
    +  }
    +}
    +
    +plugin.start = function(options) {
    +  app.registerPutHandler('vessels.self', 'some.path', myActionHandler, 'somesource.1');
    +}
    +
    +

    Asynchronous example:

    +
    function myActionHandler(context, path, value, callback) {
    +  doSomethingAsync(context, path, value, (result) =>{
    +    if(result) {
    +      callback({ state: 'COMPLETED', result: 200 })
    +    } else {
    +      callback({ state: 'COMPLETED', result: 400 })
    +    }
    +  });
    +  return { state: 'PENDING' };
    +}
    +
    +plugin.start = function(options) {
    +  app.registerPutHandler('vessels.self', 'some.path', myActionHandler);
    +}
    +
    +

    app.registerDeltaInputHandler ((delta, next) => ...)

    +

    Register a function to intercept all delta messages before they are processed by the server. The plugin callback should call next(delta) with a modified delta if it wants to alter the incoming delta or call next with the original delta to process it normally. Not calling next will drop the incoming delta and will only show in delta statistics. +Other, non-delta messages produced by provider pipe elements are emitted normally.

    +
    app.registerDeltaInputHandler((delta, next) => {
    +  delta.updates.forEach(update => {
    +    update.values.forEach(pathValue => {
    +      if(pathValue.startsWith("foo")) {
    +        pathValue.path = "bar"
    +      }
    +    })
    +  })
    +  next(delta)
    +})
    +
    +

    app.setPluginStatus(msg)

    +

    Set the current status of the plugin. The msg should be a short message describing the current status of the plugin and will be displayed in the plugin configuration UI and the Dashboard.

    +
    app.setPluginStatus('Initializing');
    +// Do something
    +app.setPluginStatus('Done initializing');
    +
    +

    Use this instead of deprecated setProviderStatus

    +

    app.setPluginError(msg)

    +

    Set the current error status of the plugin. The msg should be a short message describing the current status of the plugin and will be displayed in the plugin configuration UI and the Dashboard.

    +
    app.setPluginError('Error connecting to database');
    +
    +

    Use this instead of deprecated setProviderError

    +

    app.getSerialPorts() => Promise<Ports>

    +

    This returs a Promise which will resolve to a Ports object which contains information about the serial ports available on the machine.

    +
    +

    Resources API Interface

    +

    app.registerResourceProvider(ResourceProvider)

    +

    Used by Resource Provider plugins to register each resource type it handles.

    +

    See Resource Provider Plugins for details.

    +
    +

    Course API Interface

    +

    See Course API for details.

    +

    app.getCourse()

    +

    Retrieves the current course information.

    +

    It returns the same course information as the /course API endpoint.

    +

    app.setCourse(Destination)

    +

    Navigate to the specified position / waypoint. This function accepts the same parameters as the /course/destination API endpoint.

    +

    app.setRoute(RouteDest)

    +

    Follow a route in the specified direction and starting at the specified point. +This function accepts the same parameters as the /course/activeRoute API endpoint.

    +
    +

    Notifications API (proposed)

    +

    app.notify(path, value, pluginId)

    +

    Notifications API interface method for raising, updating and clearing notifications.

    +
      +
    • +

      path: Signal K path of the notification

      +
    • +
    • +

      value: A valid Notification object or null if clearing a notification.

      +
    • +
    • +

      pluginId The plugin identifier.

      +
    • +
    +

    To raise or update a for a specified path, call the method with a valid Notification object as the value.

    +
      +
    • returns: string value containing the id of the new / updated notification.
    • +
    +

    Example:

    +
    const alarmId = app.notify(
    +  'myalarm', 
    +  {
    +	message: 'My cutom alarm text',
    +	state: 'alert'
    +  },
    +  'myAlarmPlugin'
    +)
    +
    +// alarmId = "ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a"
    +
    +

    To clear (cancel) a notification call the method with null as the value.

    +
      +
    • returns: void.
    • +
    +

    Example: Clear notification

    +
    const alarmId = app.notify(
    +  'myalarm', 
    +  null,
    +  'myAlarmPlugin'
    +)
    +
    +
    +

    PropertyValues

    +

    PropertyValues are a mechanism for passing configuration type values between different parties such as plugins and input connections running in the server process.

    +

    A plugin can emit values and also register to listen for values emitted by others.

    +

    The difference between the PropertyValues mechanism and Event Emitters in NodeJs is that when you call onPropertyValues the callback will be invoked and passed an array containing all of the previous values for the property name, starting with the initial value of undefined. If nothing has emitted any values for the property name the callback will be called with a value of undefined.

    +
    app.emitPropertyValue: (name: string, value: any) => void
    +
    +onPropertyValues: (
    +  name: string,
    +  callback: (propValuesHistory: PropertyValue[]) => void
    +) => Unsubscribe
    +
    +

    A PropertyValue has the following structure:

    +
    interface PropertyValue {
    +  timestamp: number // millis
    +  setter: string // plugin id, server, provider id
    +  name: string
    +  value: any
    +}
    +
    +

    Note that the value can be also a function.

    +

    This mechanism allows plugins to offer extensions via "Well Known Properties", for example

    + +

    Code handling incoming PropertyValues should be fully reactive: even if all emitters emit during their startup there is no defined load / startup order and plugins may emit when activated and started. This means that depending on a PropertyValue being there when your code starts or arriving after your code has started is not possible.

    +

    PropertyValues is not meant for data passing on a regular basis, as the total history makes it a potential memory leak. There is a safeguard against accidentally emitting regularly with an upper bound for values per property name. New values will be ignored if it is reached and emits logged as errors.

    +
    +

    Exposing custom HTTP paths & OpenApi

    +

    If a plugin has a function called registerWithRouter(router) (like the plugin's start and stop functions) it will be called with an Express router as the parameter during plugin startup. The router will be mounted at /plugins/<pluginId> and you can use standard Express .get .post .use etc to add HTTP path handlers. Note that GET /plugins/<pluginid> and POST /plugins/<pluginid>/configure are reserved by server (see below).

    +

    Express does not have a public API for deregistering subrouters, so stop does not do anything to the router.

    +

    Consider providing an OpenApi description for your plugin's API. This promotes cooperation with other plugin/webapp authors by making it easy to find and use functionality that is built into plugins. It is also a means to avoid duplication, promote reuse and the possibility of including them in the Signal K specification.

    +

    See Server Plugins for details.

    +
    +

    Plugin configuration HTTP API

    +

    GET /plugins/

    +

    Get a list of installed plugins and their configuration data.

    +

    GET /plugins/<pluginid>

    +

    Get information from an installed plugin.

    +

    Example result:

    +
    {
    +  "enabled": false,
    +  "id": "marinetrafficreporter",
    +  "name": "Marine Traffic Reporter"
    +}
    +
    +

    POST /plugins/<pluginid>/configure

    +

    Save configuration data for a plugin. Stops and starts the plugin as a side effect.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/rest-api/course_api.html b/docs/server-guide/develop/rest-api/course_api.html new file mode 100644 index 000000000..4972a3609 --- /dev/null +++ b/docs/server-guide/develop/rest-api/course_api.html @@ -0,0 +1,380 @@ + + + + + + Course API - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Working with the Course API

    +

    Overview

    +

    The Course API provides common course operations under the path /signalk/v2/api/vessels/self/navigation/course ensuring that all related Signal K data model values are maintained and consistent. This provides a set of data that can be confidently used for course calculations and autopilot operation.

    +

    Client applications use HTTP requests (PUT, GET,DELETE) to perform operations and retrieve course data.

    +

    Additionally, the Course API persists course information on the server to ensure data is not lost in the event of a server restart.

    +

    Note: You can view the Course API OpenAPI definition in the Admin UI (Documentation => OpenApi).

    +
    +

    Setting a Course

    +

    The Course API provides endpoints for:

    +
      +
    1. Navigate to a location (lat, lon)
    2. +
    3. Navigate to a waypoint (href to waypoint resource)
    4. +
    5. Follow a Route (href to a route resource).
    6. +
    +

    1. Navigate to a Location

    +

    To navigate to a point submit a HTTP PUT request to /signalk/v2/api/vessels/self/navigation/course/destination and supply the latitude & longitude of the destination point.

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/destination' {"position": {"latitude": -60.5, "longitude": -166.7}}
    +
    +

    2. Navigate to a Waypoint

    +

    To navigate to a point submit a HTTP PUT request to /signalk/v2/api/vessels/self/navigation/course/destination and supply a reference to a waypoint resource entry under /resources/waypoints

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/destination' {"href": "/resources/waypoints/5242d307-fbe8-4c65-9059-1f9df1ee126f"}
    +
    +

    3. Follow a Route

    +

    To follow a route submit a HTTP PUT request to /signalk/v2/api/vessels/self/navigation/course/activeRoute and supply a reference to a route resource entry under /resources/routes.

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute' {"href": "/resources/routes/5242d307-fbe8-4c65-9059-1f9df1ee126f"}
    +
    +

    Additional parameters can be set when following a route including:

    +
      +
    • Defining the point along the route to start at
    • +
    • The direction to follow the route (forward / reverse)
    • +
    +

    Example: Following a route in reverse direction:

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute' 
    +{
    +  "href": "/resources/routes/5242d307-fbe8-4c65-9059-1f9df1ee126f",
    +  "reverse": true
    +}
    +
    +

    Advancing along a Route

    +

    As progress along a route is made, you can use the following endpoints to update the destination.

    +

    To set the destination to the next point along the route:

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint'
    +
    +

    To advance the destination to a point n places beyond the current destination point, supply a positive number representing the number of points to advance:

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {"value": 2}
    +
    +

    Sets destination to the point after the next in sequence.

    +

    To set the destination to the previous point along the route:

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {"value": -1}
    +
    +

    To set the destination to a point n places prior the current destination point, supply a negative number representing the number of points prior:

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {"value": -2}
    +
    +

    Sets destination to the point two prior to the current destination.

    +

    To set the destination to a specific point along the route, supply the zero-based index of the point:

    +

    Example: 4th point along the route.

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/pointIndex' {"value": 3}
    +
    +

    Value contains the 'zero-based' index of the point along the route (i.e. 0 = 1st point, 1 = 2nd point, etc.)

    +

    To reverse the direction along the route:

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/reverse'
    +
    +

    Delta Messages

    +

    The Course API emits delta messages with the following paths when course information has been changed.

    +

    Note: Delta values reflect the relevant property of the Course Information data object as detailed in the +Retrieving Course Information section.

    +
      +
    • navigation.course.startTime
    • +
    • navigation.course.targetArrivalTime
    • +
    • navigation.course.arrivalCircle
    • +
    • navigation.course.activeRoute
    • +
    • navigation.course.nextPoint
    • +
    • navigation.course.previousPoint
    • +
    +

    Retrieving Course Information

    +

    Course information is retrieved by submitting a HTTP GET request to /signalk/v2/api/vessels/self/navigation/course.

    +
    HTTP GET 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course'
    +
    +

    The contents of the response will reflect the operation used to set the current course. The nextPoint & previousPoint sections will always contain values but activeRoute will only contain values when a route is being followed.

    +

    1. Operation: Navigate to a location (lat, lon)

    +

    Example response:

    +
    {
    +  "startTime": "2023-01-27T01:47:39.785Z",
    +  "targetArrivalTime": "2022-06-10T01:29:27.592Z",
    +  "arrivalCircle": 4000,
    +  "activeRoute": null,
    +  "nextPoint": {
    +    "type": "Location",
    +    "position": {
    +      "latitude": -34.92084502261776,
    +      "longitude": 131.54823303222656
    +    }
    +  },
    +  "previousPoint": {
    +    "type":"VesselPosition",
    +    "position": {
    +      "latitude": -34.82084502261776,
    +      "longitude": 131.04823303222656
    +    }
    +  }
    +}
    +
    +

    2. Operation: Navigate to a waypoint (href to waypoint resource)

    +

    Example response:

    +
    {
    +  "startTime": "2023-01-27T01:47:39.785Z",
    +  "targetArrivalTime": "2022-06-10T01:29:27.592Z",
    +  "arrivalCircle": 4000,
    +  "activeRoute": null,
    +  "nextPoint": {
    +    "href": "/resources/waypoints/f24d72e4-e04b-47b1-920f-66b78e7b033e",
    +    "type": "Waypoint",
    +    "position": {
    +      "latitude": -34.92084502261776,
    +      "longitude": 131.54823303222656
    +    }
    +  },
    +  "previousPoint": {
    +    "type":"VesselPosition",
    +    "position": {
    +      "latitude": -34.82084502261776,
    +      "longitude": 131.04823303222656
    +    }
    +  }
    +}
    +
    +

    3. Operation: Follow a Route (href to a route resource).

    +

    Example response:

    +
    {
    +  "startTime": "2023-01-27T01:47:39.785Z",
    +  "targetArrivalTime": "2022-06-10T01:29:27.592Z",
    +  "arrivalCircle": 1000,
    +  "activeRoute": {
    +    "href": "/resources/routes/e24d72e4-e04b-47b1-920f-66b78e7b0331",
    +    "pointIndex": 0,
    +    "pointTotal": 5,
    +    "reverse": false,
    +    "name": "my route",
    +    "waypoints": [
    +      {
    +        "latitude": -34.92084502261776,
    +        "longitude": 131.54823303222656
    +      },
    +      {
    +        "latitude": -34.86621482446046,
    +        "longitude": 132.10166931152344,
    +      },
    +      {
    +        "latitude": -34.6309479733581,
    +        "longitude": 132.23350524902344
    +      },
    +      {
    +        "latitude": -34.63546778783319,
    +        "longitude": 131.8867492675781
    +      },
    +      {
    +        "latitude": -34.71000915922492,
    +        "longitude": 131.82289123535156
    +      }
    +    ]
    +  },
    +  "nextPoint": {
    +    "type": "RoutePoint",
    +    "position": {
    +      "latitude": -34.92084502261776,
    +      "longitude": 131.54823303222656
    +    }
    +  },
    +  "previousPoint": {
    +    "type":"VesselPosition",
    +    "position": {
    +      "latitude": -34.82084502261776,
    +      "longitude": 131.04823303222656
    +    }
    +  }
    +}
    +
    +

    Cancelling navigation

    +

    To cancel the current course navigation and clear the course data

    +
    HTTP DELETE 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/'
    +
    +
    +

    Course Calculations

    +

    Whilst not performing course calculations, the Course API defines the paths to accommodate the values calculated during course navigation.

    +

    Click here for details.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/rest-api/course_calculations.html b/docs/server-guide/develop/rest-api/course_calculations.html new file mode 100644 index 000000000..3963e4279 --- /dev/null +++ b/docs/server-guide/develop/rest-api/course_calculations.html @@ -0,0 +1,252 @@ + + + + + + Course Calulations - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Course Calculations and Providers

    +

    The Course API defines the path /vessels/self/navigation/course/calcValues to accommodate the calculated values related to course navigation.

    +

    These paths are available to be populated by a "course provider" plugin that uses the course information set using the Course API. This approach promotes the extensibility of Signal K server providing flexibility and interoperability. See Course Provider Plugins below.

    + +

    Calculated value paths: calcValues

    +

    The following paths are defined to hold values calculated using the information maintained by Course API operations:

    +
      +
    • calcMethod: ("Rhumbline" or "GreatCircle")
    • +
    • crossTrackError
    • +
    • bearingTrackTrue
    • +
    • bearingTrackMagnetic
    • +
    • estimatedTimeOfArrival (e.g. "2022-04-22T05:02:56.484Z")
    • +
    • distance
    • +
    • bearingTrue
    • +
    • bearingMagnetic
    • +
    • velocityMadeGood
    • +
    • timeToGo
    • +
    • targetSpeed
    • +
    • previousPoint.distance
    • +
    +

    Example:

    +
    {
    +  "calcMethod": "Rhumbline",
    +  "crossTrackError": 458.784,
    +  "bearingTrackTrue": 4.58491,
    +  "bearingTrackMagnetic": 4.51234,
    +  "estimatedTimeOfArrival": "2022-04-22T05:02:56.484Z",
    +  "distance": 10157,
    +  "bearingTrue": 4.58491,
    +  "bearingMagnetic": 4.51234,
    +  "velocityMadeGood": 7.2653,
    +  "timeToGo": 8491,
    +  "targetSpeed": 2.2653,
    +  "previousPoint": {
    +    "distance": 10157
    +  }
    +}
    +
    +

    Course Notifications

    +

    Calculated course values that cross a threshold should trigger a notification so that the necessary action can be taken.

    +

    The Course API defines the following notifications which should be implemented by a course provider:

    +
      +
    • navigation.course.arrivalCircleEntered
    • +
    • navigation.course.perpendicularPassed
    • +
    +

    Course Provider Plugins

    +

    Signal K server includes the Course Data Provider plugin as part of the installation to provide out-of-the-box support for course calculations nd notifications.

    +

    This plugin can be replaced with others from the AppStore, or your own, to extend the number and types of calculations performed.

    +

    If you are looking to develop a course provider plugin, following are the recommended guidlines:

    +
      +
    1. Ensure values are generated for ALL the defined paths (above)
    2. +
    3. Values MUST be calculated using /vessels/self/navigation/course path values mainntained by the Course API
    4. +
    5. Ensure values are set to null when no destination is set or the value cannot be calculated
    6. +
    7. Perform the calculations using a "worker thread" to minimise impact on the server "main thread"
    8. +
    9. Ensure the worker is set up and shut down as part of plugin "start" and "stop" functions
    10. +
    11. Raise the notifications outlined above.
    12. +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/rest-api/open_api.html b/docs/server-guide/develop/rest-api/open_api.html new file mode 100644 index 000000000..e1a61dc82 --- /dev/null +++ b/docs/server-guide/develop/rest-api/open_api.html @@ -0,0 +1,210 @@ + + + + + + REST APIs - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    REST APIs

    +

    REST APIs were introduced in Signal K server version 2 to provide a way for applications and plugins perform operations and ensure that the Signal K data model is consistent.

    +

    They are mounted under the path /signalk/v2/api and OpenAPI definitions can be found under Documentation -> OpenAPI in the server Admin UI.

    +

    APIs available in Signal K server v2.0.0 and later:

    + + + +
    APIDescriptionEndpoint
    CourseSet a course, follow a route, advance to next point, etc.course
    ResourcesCreate, view, update and delete waypoints, routes, etc.resources
    +
    +

    Following is a list of proposed APIs for implementation:

    + + + +
    Proposed APIDescriptionEndpoint
    NotificationsProvide the ability to raise, update and clear notifications from multiple sources. View PRnotifications
    AutopilotProvide the ability to send common commands to an autopilot via a provider plugin. View PRautopilot
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/rest-api/resources_api.html b/docs/server-guide/develop/rest-api/resources_api.html new file mode 100644 index 000000000..622f744dc --- /dev/null +++ b/docs/server-guide/develop/rest-api/resources_api.html @@ -0,0 +1,313 @@ + + + + + + Resources API - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Working with the Resources API

    +

    Overview

    +

    The SignalK specification defines a number of resources (routes, waypoints, notes, regions & charts) each with its own path under the root resources path (e.g. /signalk/v2/api/resources/routes).

    +

    Additionally, the /resources path can be used to host other user defined resource types, each grouped within its own folder (e.g. /signalk/v2/api/resources/fishingZones).

    +

    The Resources API validates requests to these resource paths and passes them to a Resource Provider plugin for storage and retrieval.

    +

    Client applications can then use HTTP requests to these paths to store (POST, PUT), retrieve (GET) and remove (DELETE) resource entries.

    +

    Note: the ability to store resource entries is controlled by the server security settings so client applications may need to authenticate for write / delete operations to complete successfully.

    +

    Retrieving Resources

    +
    +

    Resource entries are retrived by submitting an HTTP GET request to the relevant path.

    +

    For example to return a list of all available routes

    +
    HTTP GET 'http://hostname:3000/signalk/v2/api/resources/routes'
    +
    +

    or alternatively fetch a specific route.

    +
    HTTP GET 'http://hostname:3000/signalk/v2/api/resources/routes/94052456-65fa-48ce-a85d-41b78a9d2111'
    +
    +

    A filtered list of entries can be retrieved based on criteria such as:

    +
      +
    • being within a bounded area
    • +
    • distance from vessel
    • +
    • total entries returned
    • +
    +

    by supplying a query string containing key | value pairs in the request.

    +

    Example 1: Retrieve waypoints within 50km of the vessel. Note: distance in meters value should be provided.

    +
    HTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints?distance=50000'
    +
    +

    Example 2: Retrieve up to 20 waypoints within 90km of the vessel.

    +
    HTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints?distance=90000&limit=20'
    +
    +

    Example 3: Retrieve waypoints within a bounded area. Note: the bounded area is supplied as bottom left & top right corner coordinates in the form swLongitude,swLatitude,neLongitude,neLatitude.

    +
    HTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints?bbox=[-135.5,38,-134,38.5]'
    +
    +

    Deleting Resources

    +
    +

    Resource entries are deleted by submitting an HTTP DELETE request to a path containing the id of the resource to delete.

    +

    Example: Delete from storage the route with id 94052456-65fa-48ce-a85d-41b78a9d2111.

    +
    HTTP DELETE 'http://hostname:3000/signalk/v2/api/resources/routes/94052456-65fa-48ce-a85d-41b78a9d2111'
    +
    +

    Creating / updating Resources

    +
    +

    Creating a new resource entry:

    +

    Resource entries are created by submitting an HTTP POST request to a path for the relevant resource type.

    +
    HTTP POST 'http://hostname:3000/signalk/v2/api/resources/routes' {resource_data}
    +
    +

    The new resource is created and its id (generated by the server) is returned in the response message.

    +
    {
    +  "state": "COMPLETED",
    +  "statusCode": 200,
    +  "id": "94052456-65fa-48ce-a85d-41b78a9d2111"
    +}
    +
    +

    Note: Each POST will generate a new id so if the resource data remains the same duplicate resources will be created.

    +

    Updating a resource entry:

    +

    Resource entries are updated by submitting an HTTP PUT request to a path for the relevant resource type that includes the resource id.

    +
    HTTP PUT 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111'
    +
    +

    As the PUT request replaces the record with the supplied id, the submitted resource data should contain a complete record for the resource type being written.

    +

    Each resource type has a specific set of attributes that are required to be supplied before the resource entry can be created or updated.

    +

    If either the submitted resource data or the resource id are invalid then the operation is aborted._

    +

    Note: the submitted resource data is validated against the OpenApi schema definition for the relevant resource type.

    +
    +

    Multiple Providers for a Resource Type

    +

    The Resources API will allow for multiple plugins to register as a provider for the same resource type.

    +

    When this scenario occurs the server services request in the following ways:

    +

    Listing entries:

    +

    When a list of resources is requested

    +

    for example:

    +
    HTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints'
    +
    +

    each registered provider will be asked to return matching entries and the server aggregates the results and returns them to the client.

    +
    +

    Requests for specific resources:

    +

    When a request is received for a specific resource

    +

    for example:

    +
    HTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111'
    +
    +HTTP PUT 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111'
    +
    +HTTP DELETE 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111'
    +
    +

    each registered provider will polled to determine which one owns the entry with the supplied id. The provider with the resource entry is then the target of the requested operation (getResource(), setResource(), deleteResource()).

    +
    +

    Creating new resource entries:

    +

    When a request is received to create a new resource

    +

    for example:

    +
    HTTP POST 'http://hostname:3000/signalk/v2/api/resources/waypoints'
    +
    +

    the first provider that was registered for that resource type will be the target of the requested operation (setResource()).

    +
    +

    Specifying the resource provider to be the tartet of the request:

    +

    When multiple providers are registered for a resource type the client can specify which provider should be the target of the request by using the query parameter provider.

    +

    Example:

    +
    HTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints?provider=provider-plugin-id'
    +
    +HTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111?provider=provider-plugin-id'
    +
    +HTTP PUT 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111?provider=provider-plugin-id'
    +
    +HTTP DELETE 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111?provider=provider-plugin-id'
    +
    +HTTP POST 'http://hostname:3000/signalk/v2/api/resources/waypoints?provider=provider-plugin-id'
    +
    +

    the value assigned to provider is the plugin id of the resource provider plugin.

    +

    The plugin id can be obtained from the Signal K server url http://hostname:3000/plugins.

    +

    Example:

    +
    HTTP GET 'http://hostname:3000/plugins'
    +
    +
    [
    +  {
    +    "id": "sk-resources-fs",  // <-- plugin id
    +    "name": "Resources Provider",
    +    "packageName": "sk-resources-fs",
    +    "version": "1.3.0",
    +    ...
    +  },
    +  ...
    +]
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/develop/webapps.html b/docs/server-guide/develop/webapps.html new file mode 100644 index 000000000..52cbac4f7 --- /dev/null +++ b/docs/server-guide/develop/webapps.html @@ -0,0 +1,273 @@ + + + + + + WebApps - Signal K Server Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    WebApps and Components

    +

    Introduction

    +

    Signal K Server provides the following ways to add web-based user interfaces to enhance functionality and usability:

    +
      +
    1. +

      Standalone WebApps are web applications that when launched, the server Admin UI disappears and the webapp controls the whole page (browser window / tab).

      +
    2. +
    3. +

      Embedded WebApps are web applications that when launched, are embedded in the server Admin UI, leaving the toolbar and menu available to the user. +vesselpositions

      +
    4. +
    5. +

      Embedded Plugin Configuration Forms are forms provided by a plugin that the server embeds within the Plugin Config screen to replace the generic form rendered using the plugin configuration schema. This allows a richer set of controls to be provided for the user to configure the plugin compared to the more generice server generated form provides. +calibration

      +
    6. +
    7. +

      Embedded Components are individual UI components provided by a plugin or a webapp. They are listed in the Addons section at the bottom of the Webapps page of the Admin UI. More a concept than a fully implemented feature at this stage, the idea is to allow a plugin to add individual components to different parts of the server UI.

      +
    8. +
    +

    All Plugins, WebApps and Components can be installed via the Appstore.

    +

    WebApp Structure

    +

    All WebApps (like plugins) are installed with npm, either from the npm registry or from your own Github repository. Only WebApps that are relevant for all users should be published to npm to be made available in the Appstore of all Signal K Servers.

    +

    Note: Private plugins need not be published to npm - see the documentation for npm install for details.

    +

    The basic structure of a webapp is:

    +
      +
    • A folder named public that contains the html, JavaScript and resource files such as images, fonts and style sheets. This folder is automatically mounted by the server so that the webapp is available after installation and the server restarted.
    • +
    • package.json containing special keywords that classifies the webapp: +
        +
      • signalk-webapp - standalone webapp
      • +
      • signalk-embeddable-webapp - embeddable webapp
      • +
      • signalk-plugin-configurator - plugin configuration form
      • +
      +
    • +
    +

    This structure is all that is needed for a standalone webapp.

    +

    You can also include the following section in package.json to control how your webapp appears in the Webapps list:

    +
      "signalk": {
    +    "appIcon": "./assets/icons/icon-72x72.png",
    +    "displayName": "Freeboard-SK"
    +  },
    +
    +

    where:

    +
      +
    • appIcon is the path (relative to the public directory) to an image within the package to display in the webapp list. The image should be at least 72x72 pixels in size.
    • +
    • displayName is the text you want to appear as the name in the webapp list. (By default the name attribute in the package.json is used.)
    • +
    +

    See also Working Offline.

    +

    Embedded Components and Admin UI / Server interfaces

    +

    Embedded components are implemented using Webpack Federated Modules and React Code Splitting.

    +

    Note: There is no keyword for a module that provides only embedded components, use signalk-webapp instead.

    +

    You need to configured Webpack to create the necessary code for federation using ModuleFederationPlugin and expose the component with fixed names:

    +
      +
    • embeddable webapp: ./AppPanel
    • +
    • plugin configuration form: ./PluginConfigurationPanel
    • +
    • embedded component: ./AddonPanel
    • +
    +

    The ModuleFederationPlugin library name must match the package name and be a "safe" name for a webpack module like in library: { type: 'var', name: packageJson.name.replace(/[-@/]/g, '_') },

    +

    The exposed modules need to export default a React component - both class based components and stateless functional components can be used. The server dependencies like reactstrap can and should be used. Add @signalk/server-admin-ui-dependencies as a dependency to the webapp, it defines the depedencies used by the server admin UI.

    +

    See the vesselpositions embedded webapp/component and Calibration plugin for examples of each. It is probably easier to start with either one and modify them to suit your needs. Don't forget to change the module id and name in package.json!

    +

    WebApp / Component and Admin UI / Server interfaces

    +

    Standalone WebApps can use the server's APIs (Signal K http and WebSocket APIs as well as any server specific endpoints) but they need to implement everything else themselves.

    +

    Embedded WebApps, Components and Plugin Configuration Forms work inside the Admin UI, so they can interact with both the Admin UI and the server using APIs exposed by the Admin UI as component properties.

    +

    Embedded webapp properties:

    +
      +
    • access to the login status of the browser user
    • +
    • ability to render Login form instead of the webapp content
    • +
    • getting and setting application data
    • +
    • opening an automatically reconnecting WebSocket connection to the server
    • +
    • getting Signal K data via get
    • +
    • Embedded
    • +
    +

    PluginConfigurationForm properties:

    + +

    Note: The documentation regarding embedded WebApps and Components provided at this time is rudimentary and should be considered under development as the concept is evolving.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/docs/server-guide/elasticlunr.min.js b/docs/server-guide/elasticlunr.min.js new file mode 100644 index 000000000..94b20dd2e --- /dev/null +++ b/docs/server-guide/elasticlunr.min.js @@ -0,0 +1,10 @@ +/** + * elasticlunr - http://weixsong.github.io + * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.5 + * + * Copyright (C) 2017 Oliver Nightingale + * Copyright (C) 2017 Wei Song + * MIT Licensed + * @license + */ +!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.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 A;{X5v literal 0 HcmV?d00001 diff --git a/docs/server-guide/favicon.svg b/docs/server-guide/favicon.svg new file mode 100644 index 000000000..90e0ea58b --- /dev/null +++ b/docs/server-guide/favicon.svg @@ -0,0 +1,22 @@ + + + + + diff --git a/docs/server-guide/fonts/OPEN-SANS-LICENSE.txt b/docs/server-guide/fonts/OPEN-SANS-LICENSE.txt new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/docs/server-guide/fonts/OPEN-SANS-LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/docs/server-guide/fonts/SOURCE-CODE-PRO-LICENSE.txt b/docs/server-guide/fonts/SOURCE-CODE-PRO-LICENSE.txt new file mode 100644 index 000000000..366206f54 --- /dev/null +++ b/docs/server-guide/fonts/SOURCE-CODE-PRO-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/docs/server-guide/fonts/fonts.css b/docs/server-guide/fonts/fonts.css new file mode 100644 index 000000000..858efa598 --- /dev/null +++ b/docs/server-guide/fonts/fonts.css @@ -0,0 +1,100 @@ +/* Open Sans is licensed under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0 */ +/* Source Code Pro is under the Open Font License. See https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL */ + +/* open-sans-300 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), + url('open-sans-v17-all-charsets-300.woff2') format('woff2'); +} + +/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), + url('open-sans-v17-all-charsets-300italic.woff2') format('woff2'); +} + +/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans Regular'), local('OpenSans-Regular'), + url('open-sans-v17-all-charsets-regular.woff2') format('woff2'); +} + +/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('open-sans-v17-all-charsets-italic.woff2') format('woff2'); +} + +/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), + url('open-sans-v17-all-charsets-600.woff2') format('woff2'); +} + +/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), + url('open-sans-v17-all-charsets-600italic.woff2') format('woff2'); +} + +/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), + url('open-sans-v17-all-charsets-700.woff2') format('woff2'); +} + +/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), + url('open-sans-v17-all-charsets-700italic.woff2') format('woff2'); +} + +/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), + url('open-sans-v17-all-charsets-800.woff2') format('woff2'); +} + +/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), + url('open-sans-v17-all-charsets-800italic.woff2') format('woff2'); +} + +/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 500; + src: url('source-code-pro-v11-all-charsets-500.woff2') format('woff2'); +} diff --git a/docs/server-guide/fonts/open-sans-v17-all-charsets-300.woff2 b/docs/server-guide/fonts/open-sans-v17-all-charsets-300.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9f51be370fa913ce6de2922b580c262c4822b337 GIT binary patch literal 44352 zcmV(;K-<4}Pew8T0RR910Ifg(5dZ)H0f7hr0Ib{q0RR9100000000000000000000 z0000QE*lUWfmQ}!0EY+&fhq})G!YOAg!yQMtSAeP3IG8%0we>R0t6rhgFFYi4Ge-h zTM$x_K;*{m=TyO<(oF`$dr#+gT@uRz<@OP72f1way{Ld4djxa`IG0*=K;{4c|Nq>i zF~-^s+Z{rPn$}0zLzV=G*ddk#MfRZCOSo7Svxg)@O1QTM(GtC{-8am>TkfXJ&}5JO zXokZnNWAaG&x#r1r&DFc3k@sfl$|@RDaX?kWW{EN@TZnHp}gCDd}u9PW@H>gZ142z+QEhtr+J1&#|>KAj6Y2`)3tZkBe+ebjmTS6=W*;+$iHPBB3Un)Qo?6q*dE(P3T9y565vHowfyevYxI9K2P(y z$<_L{@8?J5hBF;TxvX%vUMY{MW;AQOFw;MRE?UNs>(i)Pw#F30SO&%}gA&nV#5ynh z%lr4w|41^EwI78NR7X_&MdMPeXq|gj4oJ6}tzd{4Fvwwq1Zjy_sfS1l0YYgJLOuSa zG~qZt#{MG5VL1;uY?c0qywYwhjn*_`$CiZFZCFDFz-?kG;zz}gkK?(Z;(4Ip0|Y@p zL`0q-DhfWlFW)O~_Uv1l(z*7n%=kiif-51?{(S1>dTz;-%RXz{zW_NG4POWVdSfQ{H?gb&VPWmSuI@as@lXQ zCML+EVq_sv+K31qR)E!rHdbOZcI*#x`rpX1-FQZd2?w2J5+HD^d^xN_9WLUu;R1_>$Sl2l1j{i_PqRoxBKXmEfAv5RRCG~gHz zoRPqp)jl)`>4DtY_ee=+oD0vBlrtv1+}R|)Aj>WYFNl--dsEGJL13vB!x?g=A&fDlOONKn#&pyZ<<^Gt#Y5O9+B{||V8CFK!GIY^G7 ziird-fZ=XPfYkAzOvx!^1&5rvR8_9Zlqy%TZCti4x_G(NsHD}UoUD}Q&&1ywU=hnR zK_eK;d!w1V-89?ZEBgl|7bFMOFTBI&;bU#pwZ9KM5d*ckoOlTrnn@#e=0bxf_LKF$ zd-0Mi4MXYT*CGx?Tq%ZXXdY`yIWWVJf|?K(5DNrL%GP_mZs@nw-vBb}Rw0W;wB!)N z5TjzUSNZXIA7943^nXK*r#Dw9|Mtf&ksu-=h_`Yp9V;Dkh;8<4psUZVb-$?#qp%T! ziAdB1b$5t5hjOzR8iD$*)2$e71R6>Zt8%DEY$Sg2KWN&b4Cqr8h>8`6#((@8#L}XktLaTS zryU~vMx03nNxOB%uQY)H>VL7pz)zP2nhY%8WH@)-0RsdY-07d0c5ee-ah{%=QSM%u z*8so2)#K3GU!m!|?O$6+?&yD~(Fj>ZOxK05BApxGi zJr7YET6WG{j1#TYt(MkW%SPIA4dOUU&zsN+<{}nS6r*LQrr)v8tl?2R`* z6w<>(odO>Dg>%+<`=H~%Re+D2bI267Gb@WPo}vT*tKEȮck{9tEK*~BMoW% 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 literal 0 HcmV?d00001 diff --git a/docs/server-guide/fonts/open-sans-v17-all-charsets-300italic.woff2 b/docs/server-guide/fonts/open-sans-v17-all-charsets-300italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f545448418cba6668a2e7d49e9616e8c69dfd15 GIT binary patch literal 40656 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 bQBM5)6s%p?oy_T)fR3IrepgG2|qH4K6n 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

    D& zKmG7e67!kl#@t`?2092GluuaI?(wqHGc$CxbhOu&-QklBs;yusvX`9XbS$sFoH+FwvSs*$VNBEt-3}x$RNG$?<{E4Ybo(b3OQlfghskNz z9}K5Z3VQ3758HkG0jW@{RIXI$g7RShkH;@~Tu&=BS_r#d@9~%{hig#_2T@|P9H)w? z=gh}5S>q^Cq)p*cpk@GaSXq4sH<14^6;np5c+t|$J9x&lS&Se9UXJl& z`)tC!CGF^PM{9Gle70PoNpUr~Y%X6Z!}+OG>@qySno#@WZs|(!*Vl)pnmp&Xm-VKQ zd#My=>7WO!yH+kA!}m@QP$?RL){Bk$Qv*y2cO;BUYachhU4q|dA!Mv|yd}&v+!gE% z{DqB_ousX_y~Gbfu*tQR**BQz*PQqTVG6mV8#<{f+pRkMaZ3L)vy(`szQ9`Qf3L->DdXY}1dMc^^Csk2NTKs7&QcmZsc@0=Q*+*}0+ubaVYp z?_|MQ3hbnc(VG!jcF*kMaE)V8EC4oZFthXNL(^I^9lZlOJ$lJAO5=PrN|Oa{fGt+^ z86n<5N4dk4So5{kLjS&dhC18h8m3KH)**}vqTFD5^iMTKEbcl&5* zW^QC_D;06l5fzsu|eN0BcF>w|9d0O=b_CFVJ+E}_9y>Lu<@sRBZRB_KQXt_6*y+3*^M zE`8Gx-~2b)<#e>sMPht9=HdY`yV6x{- z64g$bGMR7NOT#uSC|2C5PQzyT^d!Zjg}qSQ?g6h$P4ccGk1(o5QhVy0CTs#8Vc)~9 zOq7?zT_f$!BRru4nCKiVUdJbNGaH|)2T8r+vx5vQZAuho$o6xH5)jXZGCov~fcRfT z&bKQLJ3z=#;>0N62R2Ai419Sb^WkaElLsFHLI;>$2KQ0{9@j2ZT<&_5+_Qnn+unjA znR%4OQ<~yW{LJ??8#ND;4y+f5FkhH;oGaMu*V%`Yil((-`_{i*wzrFu0@>r@;Q!@9 ztG-5C$|o66q0!cO8N3oR-ZuJgm%HhR9u|9gr72nkgf z`o9%BG~SIbmXx=T6}XWG!96o?82ddt~la{g9g5aRjJlk4d!jyanU_J7pF% z77h|AA4MVw=oD5BKVh$ZqKjco|ES*^`7lni8w`M~OOWG;!0pS{gxy|=mLhl`j&hO$ zyh#a7>{8aWnp$JtTk9*E)-=y}7@o8Aa4GKMcm(?Dkj`*yw&d^BbmmXdiwG6W=0S!H zhPH0Do+Bm19r|tQO1}!sqQwXgXJt)nTYP{voU&oA`&wBCy5wXMu+q{aM~Pnu^`Xm% z>~wKZWVqL`FH-T@4e}yAN80yR(3BfT^Ox^K6v1kT9mt8Me)EpvvO~*=Dzl0TbRG>Y z021OhH){SbYUb?JJhVvyjO_=O!9SzJSr7p`)%p3ee#i#M@JWL}?M@`DqCi*ZE@Tjp F{|Bsk2y6fV literal 0 HcmV?d00001 diff --git a/docs/server-guide/fonts/open-sans-v17-all-charsets-600italic.woff2 b/docs/server-guide/fonts/open-sans-v17-all-charsets-600italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c99aabe80340fd88a6aeb5729251e76c9a6f35ec GIT binary patch literal 42120 zcmV)1K+V5*Pew8T0RR910HlZj5dZ)H0bW!90Hh@V0RR9100000000000000000000 z0000QE*lUWfmQ}!0EY+&fhGx$G!YC6gtP>M=}Zfb3IG8%0we>R0t6rhgcb+74Ge-9 zTjVft2Gv{ZPLNP8+s40C^n!vFvOzaW{&m|X(g zC9Sl8st%`)?H_a$5eR~jnNA3@VM+$-X|9Q4SRz}3T?hNe?C+F%cJTiFx>|#9LB7UCd zc^)A$&!3O!s}{TRUY9XREElo z6qO}ptC^na5o%?hs;b$pmF!Lfb_duFVE2G6fJ=|z%G!OLus1ed;aphbLN%4`_nXnjVvIR08sk>C*L0BG>W&Y*VL=g#s1^0wQ7*I_JzrLB#BtGpaG7 zW)ybMUh3x3Id$6?`8fpK7~`0Q4h0u$2kvtvjn0`1*_CjB;Oz&t+dC42=Sbex0KV;2 zLG}UAQ*BW~ z@cGRCmuBuv`cZaOo`Y~8G)iLxLb2Ob;@oR`Urzm%U6i6C<4Cji%25(K&u(3UmFEMU z3bzk{Cm>F`(i#dOI9xsfvbI;n6QdMHQc1)sE#W^pt;FtC?@P#RPEC77e-k>Z-l zgPO1TbbBU;^=dCBi6}X)sjhfffrpq0-I0kd1watHg+6s6AqFTdTsup7_zCZcSgyjS5Pi+2#2Y}d&iDIqyGLK{Y(5V zNHWWAEGWDcdON6u<&=;mnMhy?lH!t*GEM-zA#8KU4r2(mmWO5QFaqzb|No_GZGQno zv(y%8T6CbgCr}ePS=|%X>KHc5329k%|NHf;epL}bfnWec2?Uf#S~3VyJ`m+lAHcW) zNPP|{PLd{RLdqZ|b<^x5v+W5fE;e>glvkb*SH0NoXR+Rl&;PyCKNetyQ#&4LU~m1~ zScu&}2Wr~!z_gS9I5nyKpLD}M-*(rcN03>d%7WlUmQPpf|657A2Q5GiQ;J*`-U$on zg6C;YZIgf3x3MB8bJm3m#C|}ETsoBqIpr&Cr5I1_H|+o4ilsZHVf9|R6;l5tb{S0ZUQ6a=!d4x7--JKnJEZH3is`Ar6K9s(nN#uydl&& z3ZWwe3F-bc=gb^&0WDwNGcW-f!k-iYL^Vc&7KXuPkA!qn4po{GK#)pSit1DkX%K}d zQ+r1dPMkDK+G&QsM6;Eum$tZLV6}0zpxJVy7XOwe2!DW%(sUAS%f*0d*!tWJ7&gES z%LtMX!6e4y2Y^2^K;J>qc<6ESvx5T!{hybx69?8U+v%tUw0mxSeo#aOL?S|#6SWYK zZu$JySpgD^m@u=Fr#)Y$isaJ2WKpY5YgRwhG9Inm?%{F#Bz_nF{KT+`?)v^rwp?Lw zIQ?z`ztbsXOP9C2|Ix?W)-C;8pY5w{wdbkWY9wnfTR(qX_LS_$_~-b~q=^ori)b0G zq&0K_T})TeHFN{*rI*mF=yS`9%WEr2QJ_dr&K6q- zW;?3zfA>mXn|7r=FYurnxmUcLjeg`aAA3D`b74t<4+NJr4QJzvHS`97E;H{jruO#B|Cn1#1VU%+?0GT(fiit zYa*}ed_|mBd8gM?9$y>!Fp50xkK5z@`tw4?dLa4e(G#6Z+buOs4dWX_?LF+Y10)1QYmFS5w)lxmv3A z`SGz-TeVk5b=H5*U(eravZkJYKk#FH{&|v#iIa16c~4Bf`L#V2G;Sz z+-3nx*n;>KdufmM%&qx;yDqXBm$5?t*$GnrtbroyM71YZvtV7UYekp+$knKa(U(fn z(}bx4K99>`vzQDzjYB{)_^~>i^A3xmVrU>94KfHf;zg;iq)A6tyN{Y2<@WQ|G z;3@_I)Mr4bsZj+s9Hv?mWSVtpTQppG(1BnkH9R#nL&X7sr!_(zUPwd8tkiH26Utb~ zjBbjX9x1M-ezrsUin^9<2DUHe2;T-aMUomGMyR#EK!l0HrwG}`XLU6Aa^}hu7RqtE ze+Uvp3JqJ)hgHYW@>W9H+megNT65jk!h!XdK(QN4=%MwCWlE*Bo6XaRRFyL$f%C8& zBpiYm8YSX3Y^77q_n3Q!RCIiPq{qGR(1LJ1vL6XU+_G^tI){!+rg`!dY(KuhBUmJ@~3#N?nOsL_4Nd;#vWP^X_MrCy$ zhkV{b92fOQloc~twHN~De8jZ@eO=BHzBy$DGI8S}A`rWbyMBXW5fYZvhhlLNT)DU^ zp>08E^sla?H-Ox$9%w%xt27t~l20|spLD`m07vTA)dlFsSxxgryXO2IbXPx(Y0!fPBIA$4%!3_WN!r$!6m1@ zF}uk?g7lrfGVm3_oEHU~$N&zcjuRTYYTyBKk})>Of#76-OQHk?-0kimiaEd>WRBnn zoSM)KZ>;*>g+PP^AHq=tYOz3arE~`h%pC^Gzz9q+E`~NCl3C%ty<-5EyPaO5sBKM{ zX3ev2GX+DvwNvxP)v?d*zePxx#p<9=0;z5bV6#g?SQ0)Ps_GXAQx)?PcLwexBrM2M z*#vpd4X84=1hgS!eE+~|&Oo31p-kyc?Vg>v|1nDcwG0FVCYaD5lJH^Xy!s(ZN&VVR z1vEVX`fdg&dIMzF2YOWl{z4{YhZ9f`pek0|_)HiBcCk++vOeAxJus<{LYxcDh9(r6 zgBL+0jDeivkxP)oYJyXzN}BXE2Z;dL$b2M_E-BI|nVx}Iq$xXqWI6LwV3I-*_8_5X zM?l_zK%@Li7!W{ud{w+lEh0uRax)!((Tp)jF~_5EIvL7L>B`4=!{XNoO~zLI)Cn2T zM9P3Vq8*TWz=V8A3kWLQ6Dh7__~e=yoWR7D<%=Vu! zgrK>F_EiO=)WNS5LJik)$22UDz{^y-0hknUIFCSX!f&vPETi}E8&s>(m`O-xa^X%_ zh-YF)lC9UFRX^?SsxwGY(`_^>+G#pXlP(zioo)kRw=U?3-UH}j%)z-TMio+krnAg3 z2lLKNh-8LNMCH%Z{AL7nEWNE-Xiv3aJass!kH=x3JlF%-%qRkAIxhl9#rl?r7}>e~ z>7Z?!_ThXSqi{Otrzz<^g+9-IKi~K3!kK$0Th%;bC>>fv$_Wy9?aa)?(+q!}_1`tD z1%>%I-@j(WnvyQ9E%IES81QCbCSq~oSlBsqsDj8$aObFNE*z#iX&5%C$-rsg36*1z zvUW@iFAS1vvd7{Gr}@+YSwW_gO|!lOSBzd>kxa6x3&9M z*SVBlHRgV`-@Wti1HM@*F~-|GFZ+JH`iu8>e_xm3&~-7+>o|J@&NRgY!U0a zvWW$74uNnKf>$F>zJQzrs8pbUjq8P>lQfYr(x?e)M>TF-hhfHPW8_X+#W7+^cLgmHEkNhSG6$KZViP^V za-|j2#TS_{@k&>W<-s6_KZA-g8rssCi<&YwVjyyaCIxd$mW^TcxVFixeto_cK(pRv z6}nuvp(yuT`DjQ|m2e2zW5y(oxuw>p5;%8aRH2x4RHxX+DFVu-Uz=OkeB0hloHDeG zkAcdGeF)803Hs?O`azb-o$|{cg#2kLi^WiS1?t4=Vi@g|L2X-!5_hEK-Ky}29XoEk zp)6<5B{_M*3s{~xjin?`fv6Etq8%=+~VAH)Ovdc zsJ|r6K_Wo)pOIl9&XHpLa#Izji5TZiNHYk19+Z62aI_=79D(eQ(eDXXSS@b0%W-RE z>1r9YOrU%m9h0{Cu0+zak5XrW7wAsAJcWc0N9ubZ@}y6^a&--8SY_34KB*oTbzfYf z#ySbI00p@>E-@vMSb|*3OGm*fdFizZrevs8Khu5&z0i9y@8ycqWm^@zGe2|JLt1Ks zd7iw$cNDhM6TCX|RY!@?oZDnpsIwDDd5;ZF9S#O@3>2sQ_qHfcN}#SKjd0I;v7zC7vd3wXQhjmB^o8ugF9=95e~Pl6lK@DfAqt8JC?xmq zxw!HHj<$vRxsi?vrEfD$D%7 zGeogpm15^9R%y@aI^!Dr+Bh{hEff*NZeu4QZGlj0_e$^A1W~Z?u7_FyHS1wj)o*?Lh^nQ!PMLj+h*N<1KFLjGFITk}R zrrOk2+lT2fvbU9a))--$oLdqI;NCf=fx2a=LHgJ0=_wT`RkJ*H`_&7A$w=Q*Io?q= z$K5_>yZ88^);`H>j^`&Sk%`;{h*IZQ@ld6$nboM}AT*qo;gqP?OKBiIUCboTD_8{1 zxt1yB(@4D*9K~=D(aL*foo@;z48v^}dC{io%^+oT-{g*X%;5Z_j@LVYQt?T0e~E@$ zI1QB2l}?Ye$qb%S20#U+4<&p-LQC(uFzbcW{sH+LDPKMs|50BLc{hC?q^S#^JTUATlLBXl$?*pFV=-qO7CaQ!ldv z``=!|DhStrDCoruia!9g63#itp16=A$HP{16_U@ze9pH01wEgIbMtCpE?OpX4`YFV zBz3ygj%gC3WqCPK)EKEqSZ?xMLR@|+=l$NaoRS6oQ6w6pkG!BUt(038lmit~z4;u2 z-*ov8rwkXJMJJNYVpT*Ry1F*ri~SL4n=VDJiiSBTi|2Rry`k(Fbh`H)pC}-MBURVI zDiix3dfOJp^*-Q0k$R=dR?|rkH9JmJpE{G~vTmZH&uPSofWB}gyFRCVXa&xvNFZ85 zb|t3JRC@ARqcQopU4@EtN}dj-kCX-7iMlMkH4To+W4o6KIv#Zr_(1S_d9O`qj?MGa#We2yf>pjb<>t^fepRsg7i z*1|bgW*(JWz$#2AwI&RfN*E$3Zi5e*Q(gCw-YnS9?+A&?F!mqQaD!WLPjOL>T=Ti{ zetSLJ+Tq)GN{&hT{ia0{Ft!1 z(75-MlJ5PA0@WI-mR<|vOVC>A!9g7;|3pv1;TBn3?o8K0)cOo4$E!ntX2j2RB!EW~ z;^^tAyl#e1JD_=Vcq9F-bUhJNxmd*hiSy`1xS&E?ZRwC+(!vT%(%t_ZGbWtI!23ABj3;dc9VC?YN4dVi$mPS6UY~7WBY-NnTK4TegYD`@M$x0+%4>`D+!t*O*Fc z&Br+Cd^`;?w7O(9CL?)-0Fx~yhuxwCUZeeLORsy>oUzM&@g!HsH zn+L<`ac)Q<=kp`-v`Bpk?v^^BvA{Ov4$n68cs9jpBkC)hhd-oY(u(0zrB_HvUIEnw zf)3J&l)Qnsw1|^k_@}s_!jVhOr2{@#J5*KBwPL8a zz0nl2s(@t;C|kpPxmAvPo0uEime@-YE|Ok}v_J!Fz=!@zbDpQk3&*~D*oquiu(78~ z1l6`WwM##?Y?`S(UTgjY&@-buKl3})lk!pv{vh6D#K=3<5>pZqluPHN5tkO1Me{4FK){<^m9jXm))_WytQJgj5#c~$qG)Zx zQKl*=PBIQ-R@CG!c2B+Z{INq%>b#pM%E-1*U;1Shk9-OE>t+IWE8k@Edm@J+Muv9y zF~gm$U?$l7#cGZc>%3da-*4j12?^0z)xPm}XMo&F=PM7<$(4+T7J$bch=g< z71focgQ)Co9e9cA>Q`g3J+98*T53l#lY^%8bV7V~Fso)dN>G7*wsogMhFcF2yn3fE zPZkwEc`!I}awLByxd=>65%gt#N}NSG=8-5E2+8ISzGdwS3Iw>}IP!$0>P#4D2rMkQ z`j&~nw@I*UE$~03CRtfFfTSk__Ec_zq1&4cOCQ?C$-+kxgdqgOJ1PT`_xYXz?^j$s z&C5kt^-yRHnCz5?qp<$cCe(Rvt3r{UNR@jtK3o2yuWf1fm)-Dg`TW#0^3}rfmVNg(nFP??z;bfmu3v=^6kiSa_b^KHWE60x@;kno>YkZhGiqN&f zoxt>J|V>w_Ns5?;kSKL2QN^4Jkjsf+XFwSUG?Kc zrxTd5N_uFy@8{acQ}lk7nBi9Yx}&OP5jHHqldiTIz<74dG~{ZFQFftaSg}Ed&DJoZ zI5b4u>Z{~?TiDxKMquQgA;H})Pl=hD(#OsX(xWV{U|)1U1K~>FqR|&ojxn}k&R4Ur zDC-`JeMcJR#SoH-6l|QZ!Clxe9CHM*#hWL)Vg9EXdP>FY6h+h0GgWd1GU~*wyz?d# zxal^Yuqc(HQHGb&o$n}dyZUF7H2k6{6(lREbuDp)%`KXS!!8fmPxn3@h1$)arx#qX@g_oqo!>Cz1iaVCC@$!fYe zi;6PtEUdlA`*VN5pa&X!GW@i9#iBs-iW7%=w_o}K$&qmEzT|{iCzJu>$t1Y3tOJ4E z=s4lEi1Q;|AY1L8X%;?E$Mf#0ZcQtDCOQKrMfMy$NIxy;K?xtZ5aw3E=t4B1VMFj?M2?C7;>u3mQ9NH(68@0-p!llcQM zM+TmI1wY363AY1mep1$%DCrEd!^1sjsph!P71Vr{3Rfv(mgWkyN!oc}J`#KWR;MYu zlKqP!#4YS|Svqi->Dde92g|`a!FEVk&$Mh_Dbn-1!OE zntg$FC1A{&HrBPnn&`|1wOg-X_#oP*_urP~V%_(4D^*P%__Ud%P1c0#@xsnjjDGsSO_?b*QBpob;7KL5zUaG0paYw3= zuPAVDcw~~up|c`TmJ`V23*AL8l))o#5B#et5xoq>na>KQmgta+Ujsml{lHGG)@4jed+^hdeM|Uae?kIFuG-?GbyO_aK(`l0KO&K(o)`Lh2%i40}zy`(!UQ_=iWN)KG@_vIN%azg7#uivk?- zgd$l>+6`_1dW!wDp_mZ=tqd%zLfZ{BS-SG-ORtYtIv?wjA=C$_bm6}#C8Jv$EG~kL z8@VDK3!sd1MDez6Pg_tt55ck+c5aDApbr6?-M(pfN3vR?)+7 zzV0^sI*-cV+n!=g2dJcIvsEQFgLrci8-_CudWcH%S}*?{X_1^Z$Z25TovTbnj&0KT z{0b-tSF{1gj`Q?dp65Nd(WKI^xaUb)T~;#23#fr3qg~q|dX=SywPiV%jf&12<#$Sv z=2qUjupRsa`bcon4z43^RY}cED4+&|*w?Ejehi*(OYUS)b2PzsD|w)Js>umRDOq|c zLx2QT$U+PnsW?;DqOhB?b}J|c74bW{od6?B4wa*Kp(%m38|F)j47H8tYQl%YJ#Kq7 zk%%VNH?jpcva(#L?{zfXR$q$%Nwg&Hjz0p(1C=j3S7Z2QGvwMyjXwzTQj3t=W8g^yvEWfr)f;}n7V@T$7!YgpEwr$lsPcX+xgNudJN7r$( zguFw_Sx9N4JSurT;6^MQA;XtNO}QYs4x4u z4PDUhqjj;{LH!sl^5}zbA>-F+_wV9XU*WyQhHXU^MSm2w`EG)DaH`{P^U2l-Q9tWO zI%6wwBCJ!A>;iU69nk+8E!xW4Z_FK4&|ftgJcCkbL-Di z2a!#3g8CGA(hVND+oYMyLa+s&wdnz~B4Ur_2%#8KQEWVWX{+8vvEWYi15$ni5e5-g zq7)_&u*n>`f|)|ZuY`~+W$YFD?9N-+D-GFMHKx4@K2E@P>Bv39(TzV%uDzj+zk%&M z1Rp!6cG1YeK@0w;d%-os0@j1s4Z>tK^-fNNN6mdPu4!7ENZ`@Fh9Xs z>EmDdrCVUdW$5?b`@;Cf04x< zxFGU+AKXp7*vb6`tTYFP$rL31p>@r$_a7qJ@GfAKObdX2vA6oFb^}lX)4%I@C1(UE z>V63c=;C6Y50E(Ey`|!ze|5950Ldg*lBZk-kn#2(!(&Ec;zr}5Mx!D|IZZ!@$1cl# zGU$Ef$iOHyEwS-kVuKmxAdqLL#^Y0x*%=xZK85UfJB=bYLOEyOPXctNzsl8~a(^9P zn7O{>Z+*q}jWRiZSs>~%_}sT}p}@4%)_vfmYv})X7kv1AkOj zfCY_+p$Dyfb+H9EqshYTYzevbwmVzj8{zyEA9mtsyw1;bqJ3etOOe4Yz=!Z9sc!k8 zQ;?y?v#mKME#p4b0`f(@*+YWN9M*AHUw+(Et~4aYx8;6G94=cTp?1rW(AwP*=C?GW z#$Lw@z#)`vQAe2tti=Oq7m1Ma+JpULcOMQGvWWXYP zNyt4n&FSlRJn|IEo2|}q#~nFQPU?+f_TMdzk;bGLmlH6@JBHQ{i-tRfh3@Vdks2W_ zmg%U`xMrl8|6Y4TtbSs1v45+r=Ob)bk>|y28S$S_?~ge4)#A9v)I}hoC72x{jGEpYVCc@hxi;1} z*Fk2(ig>c^Y@UpmEhwSwJ9^`%(<&5&`rH8YzUFnB{VuWbRX{e-%c|@BK+!wMR5~Gq zgWc9h_*c z?yb4f`Vs+5x{UqBIg;@K1lcS3=;i6{1T&@l4VI`hadflA66aTNALpU8P0y;?$NQ z-2bw^ka#c&Z<-K2`q30&^ZNMbS5r%^_g;3%|BR%)ub;mh)74&@;u9t{RY1}HhxcJu z*ZWyUr}vx(vT8%UNxZyzyf17Hv6CLFpZF3f*=aM8U%PKzC3S$D@W{k$iR;oak%mboZ5rXB- z4S9SE%N{-ciEqGJ<15HdFr^`aS?Hf&!q+ z5Tw#;qy~WcQWT6_3`YZB=Y0mI-Gj9&ATc7?wIq1Af=;p-M%M1-e(<{&)px@At@4D8 zZ<)e6LfK<2r2u@oo`N9TPEdV3+}PY`jm|$aej2mFi*IqOsnU zHrLrcPbl0}L!>WQ7ySiVdU&wBL&h`Bbhf0b=#E8Um0MQjUIqqMDCuj(HTkJ-h3Udgl_chz zO)0U4LFbNcWUj!}fv+p-2W!ZM<>Qmpl`2cd@s`HH!ZeD>7FOKXM^{{3OkF499Dd44 zd^ZxsSg>uI`68E&*KEHwH_?W{2C_LY!bpBZklv5?|=9a1p*m4!mLgDj<4# zWI#;6jPKhr3meDHU%gzzMihl$p$nt&?0t~(3 zunBHX3R?Ij@yKQWQt}f;i4GhWzL(R;j*z?G!J(zFs?dZ>(U!{(9(2`V2`DkR=vWGe zhl?ShmVU)tvMu2+M1scal0ph<9H=vW4s3ZYGCbJHS#GAoI9@0g>jfbS5m&}{e)Sse zXS@3#!^xz)btma}W#-{A*1Wu*UXK`nT&U)W@Owt1(#dcyb9P0J2BfS#_aeWZ(-B%1 z<#+N2X3PB)odPYwo5KQ5{*~BwIqXxLW8f{O;!~0F-HOnLB!isbzhq&@(>vx_+M+BpQ3G7g?(s@a(=Xxtv%%5nX)ye!vOU*}GD%|VH}X~t{^0P3}a z5WSR-M)qTBKb#o}`Mox_?e$xf-6D?4vJo1OccL+U^|3Qs&9qXwsJ@KB5 zOHlHE;&fK&Cl4wLOtf528?nn7RfsUUDCx@U-}%X+L#(5yfq7(Sz_+)^HEorjRe==v zB~}gpb$h6Z$b3tP3hnA`wn;C&9h0lpZ z%02nk-wMKs+mZ#H=@?T{7BMM|iq|1) z;>y=M+vn`MqoQUQc75yHnTppsRc_xN8p5T7v8d|Ey4zvv?KFs9{M?jenW!fIwvk^_ zQg&J}c+g#i#K0id%V?5m=*VaBa&P}al|>l|C^2oVmi!={Bs5qTDz|3#;QQgDmp@mt z6Eq23K8kUj(rc>@4wpAp?Uy&4*H@S9?5^D3ak#%=6Fu9}3PT*~?m_l6!rEG!;qb#f z9mtM$q_kh~#bB()7G+c3)g8m+Z7tvwn=H*~xSQy3Toz2P89`S9MBl$_UhQEqcqC>JKHSkvG zTDOiJ=~w`(#i0rV%XA8cCW#YJQJ4$hJXC7|BlA*H=KOqS<}4f3tl6nd>q-)7b2&** ztEE%5S~6XurO~w-$B%_EBR=Ic?nG4hXf)qw$1t+f(B8X=ybw;L^$%M=gVxKMsBhevIB4S#_1U)*)&o~mmjpz z!6uJ@QyFBLSVCoW`e1BUfT-WhXXiV$Q;Z-5-1Qkf`JDidC>)N0DLMCB;=tq48QU;^ z3^ENcD%#;nDv03PF&g;n(Nx`+^H|8OksYYzvsH3 z1qR>#sC*5_<}2AOXEX^$v~$@v)`=i7SJrDRXZ;h$6U)MlS+vv z%+>}57+Z@{qDdE;0`8dV@|l<{G{Z@GL8hwV)NHWIZ`ZkvY2kvjp5P(lM=PT@68mz3 zc%+?9gU0)PY)lMH)yX_Xew`usJT{XR#6eI5A|A6#(JYvLWGis1cc!Z*GGVqY)E<*r z=AHqS3p2C%@px!h1v{$6JjgAwy&UQGQ~y5N7oq9@v-qnV|;X6 zRF%=gHP3WD7H{ZI^-8Sw%z9;2Crl?elvhSdYO6yMGB5A>coJ#Hnwt?it%Ji(`dC9l z1qt-HiuPwSF%}UmW(3e9ApbC7QS`$h{EBOp+-H|p@7I^Fo%@$+O8mnWRaJgv3%dFq z=a;aWe384>S#?YL?XS(#sonaF&cUQGt0Zh7oED!apa_GrlMbJ)u29@HF2@mTat&fG zB7!C+@h~hsiIG+-NmSst(rBEVBD^L40hoFzrXzbK#yzrGj392$@R?kpTS0w{mbtra z9Gl9vN7l1kK5XV$Cy2r%_G+~yJfRW2hVC5=6>%1vFC-HUl@+Dc#|hKDW;b`w5UU!T zSX1px3K_!gdOTf@kD(&r4@R$p-N;;_$pc?!Gy#Qa8Wl`N=&j+WEDE!^~iuZy-+CT$Be zoC@()6vfWkLoKv?v}4%fhDHiGB?U{tV2M;T8c+V`eO0d_@K5g+3l>1EcCgD#-?@k~W*8aJ+RLl3dlEmWziSm218GGcuP( zx>&fexDj7f>Gm(XT?u(IaTnS0SJtKl;E&9RZyr*FJIC3;lE0p6@q}$bc2cCCT?Ig~ zzK{My*u0_-WM(p=+4bTZq71w42HoJxwCTG9>P*)nnyQdJ7swtRc%L?bVu#P&XYb&F zjt6P$y>^ro>d4~JVX}!Af9zCI548AJiEc)5jt2l>0O;j@CP?#k9EMiEy^66oi3go!-|V=O<@gsm_sjt z1er$IeM`LLw=ZRrjo`>}J85al z$koK-x6Aj*CfB`fS1z*#wwFEQdV5QfMvXS*q{DQ@)g`2QcmU#zEoL7AgR+ov6Rf@z zg*sPBH{3&B1iF^Bu=@;k3Fiq-@7?i0jNM)-Wsm@2>{ib+X2f2l#!_YZu5CKK<$ln1 z>g~bLfQxvX0c*~XdFHB$a*I#!=8vc`n^lHxfoAcDLh^0tycX=*X1>U)NtNz7F2T;L z&ko(|2s>pJmP`_)x@EfU`?%A+GLO|{O1B(GQ1KwhZ$=MN7IbE;w=2X2mRy}f z;irPKJqq49)hm|47kM$W!@Xz?_1?P#oc+@0_n6#QySe{Mlp>^g+WIK3oW>}b^UYaV zju0SrGLa~~w;LkcBPBg9D<_JH*i!!xFQdKJsE)dM1?VElF$iafPv3s=nUen=rte zl@Qm|{!_%Yd6SLL(|@zhEm?&rr00%WBYKQFdl?0*28t`v z%2Gm+QO)WG$>Ow(BISR9=QT!VsvS^H9>rpRoER4CUe3s>FX$$}|AK`j`OPEx%Qh-`_px zcTK~_q1{g)*H^pxG7UjI<&A-zA3*AN=Jn*vY$C{S4kNmg=X`Kt_hWtHIsngzy9$nx z7|urEaI{$X@UffUy zoIlxR1B*b<@W?_PpyPK(EN{5|cTl;xQe!Y6#IsZ2mv8$*K@^q)V(2Y$=mqf8=k1AR zUgh3nTG>;Zh84i^>xKB-qIl}FMVjZY7826SQfbw1A;^u)gq3bRz}o-2p~@2e-Cxw^pSbkOtO z9;vzi)xH?>(V0H#`kIpXv*r9S;xNu1HXnkSdz^6U|E8;XR9N}`-yj?6tLL=k5Tl|P zPcvmdA-#$tIcZ}8Kt8La$DZQnz~l4;^-hAr`noO3L5AahOH@A(Syr?;GAG(u6>>yf zrKB6hd*ZSdp|SnZ7IO!Z3Eb3^RuKO3B(d5e4`mTs9Vc`G z`lHr?Xx9UhYcH$)Jj;V-UZ-S~T9a@xmUdsS&0?MT$;454I?XLbTb3`cn6c$u*Xm)h znaPoC{mg*7JgR9XNz!3Qc@BaH>G{l!Irb@fbPrx5`@e|7My7a~Sf_;-M#^bOIgY{H z=x+bb%TZ*CUX6=agl^SHABPbZ*i&-d6!+Dvf_W3CLxBUYzPiOqz zwcR|cNgN5QXHjFhD$tq|Wl-TBblboEryA{L{)(te)KI6UrSCCVxEE%{cX_a;=kT)n zlvO)8!v$g;&RPzzPe~)9C-^4~z|!p%wcr8zS2+MYj2PmVIJ$1_o?o;g&hsAM`x{Bs z@^LP?g|BHww9qgq|xFx1KYQ&kXK%@Wg4X<2Hm&0I_d)HN)g`sG{|5 zjJ=*mgGJ^!+px_|hd(d(=k{LI3wzi8Btp^EWGhXgwlo{6jUHl60OOjcmC=A~yX93Q zLo+U8e4FMq?NUx7)3b6Vzg09thlP73&zGu#WX0f6Q0^3N5H)TV z?CVSj4|83$95lN*+po`KsEGd*spO%do*NpVJlVc9mIu4NVWmKJK1{DS>W#OSW@eIoV$7Y^<1Q z76&9OUH8zOsI6yo47eaN3 z?pndF&(7nlMu7kT_XwqLZaJ3)j+%v16A)_JYyAMo{|5raOJA7NdZ?g{)CJ!Vu>}-$m(6(^YcBVei{*OO(Uc_Sc zU4rB-1^=PBqQsCk_o_kkbj!>}MxEaCjv8jI?!kqwLB8oC(K*s#2#70sOn{QQmU ziFWUa*{E`24@l9m*H^>w2Qy8IkN(NL4|^bGZ_dQL5ft&dr?5{SnH`(L5(= z#PgOclF=tbs%tkoE3B39)Su;IcxkUMXJ-%9f^n{Vbgw@)wPvMzhsty&)g3s>Oo_43 z$Q|a$=y^2Duk!TeEf71F>$9(ep1XB}aRB4)r9h#) z7C4=77{YhKhusWu%{6-!RZeXvw%9mtsGl5O$yWQ`(!8|&sa3|Jww(7SZoSC3D?ml; zQ7i)@#fh4+_0sHP8fDsZ@&oREJ9ccy$M4=fT`g8)9~sH!<6j$;5#(dY;LwUGHQf&) zI%`q6M`<~B=J9NDxI-i76k)2ZFE2eTzp+niKsh#xfEFe3guU{H{%2ez_rn}V<|}ip z&CKO)D+ZoHnY?ICTYRk{jJ&Lit!WAReqwU_cxfn3^3A=1S%*P-4*n0xk8|(1!(&F@ zHwfrIM0r#jN14&*yf!6TmY_Y>^ihhhojx4dc~qzH5=u9#vyGhmgK^rNXZbBV%({{n zKQn6#;SbH8Y(aJRyFWPbcu=qSnvZUp;IR7CxSVZQvh~lx5KEIF3h!}V7bH47`{=$f z@SywQQ`P2jasrNL7>K=Rs4}!jSnr<9i4SPXkLFvR?x84^3dK2>< z2~-(T)rT6C1jJeLJ(fUqVL%kD1mX(#|G7UiZ^F+kgdTlisvN`JZ1~vfw@-f-(FGeg ztA<9>u*62~MT1?};Rw$?G9f#&G5qv?6HchlGW-#jdS(-AM+bz-eYRn|SjHfGpGuyB zwX!GyIEsG?g{k=RQxlGpSpUrY((QQ6W37c{aP z$Cwj>X09a;To2D1|NW|j#{~F?oA9r!;|Fdz+u&@;d;96d<@q|irlxpdpHaNBo2xK} zLc=8+`wwN0`NBW44dXA>Wlq8Fo@GpLoy{q%F2wPc#e5gikLGWvXU9c0hXsuPkvg=Q zZYyYuvG{cBZmbFDPaw6>mU~%H&tVhBp7<%g>2@mmjOgtSNMbBLEg#`WU zvU^F2*M~UlrX?S)3a@r1+`HOsNR_aW!!ly&JEwkNw)|Y&r6zA>@xX9RZfMZ(1E;d- z$@X$no+9ZHd(?!1R31kQa@R)f>T(NHiRofuxZe!k?N%(0u&28^Yv}XA;nYZbxfMj) z=ne3tW`bmG@`5fqY8?DEVwMoo@%B9+abpoHjSpB^d0?<6HzZ{EiF3umL`Q`+MA7Jb zsp2cm1FgU}AZiDFBUEC#gc!7{+jIHg_2a!PRffZ(xOD!~jWm@=)4>v<$}V_co$&8H zwL1_kZm7-(tI&^bWEgxMY??WExqL(K{c4zgoI6aOs2l@6O-%2Y zxQ&^{Uy1|l4Y168>ejeG3cb_PCkIKR9Gz9+hu=jSAmu_HVn}(cEH7pj)D)UPGIzZdp$vBxJ6fG@Q%*un zR-bT~A(|6N$+m48FM-JEYCNYHJm42-`N7fhPN@y;NH@7VDvJBdP$|tKeRUvIUalz@ zUE!M!pU%-kIVR(4YgbD9hpY2s6;k@5Iz|Up&WGA> z`C;Dkmr|&v{$S~D;jsy~vx|AlBph-+jWA7t3F{|K^h&ed2XmUs(=O_Mx!}@ZKiP_Q z#!pJR-F7dqKZ1w-ghd5({+59K>*wEqDbHmDVAoLs{=2{DH|Pq4MA?&k;n!~QdzF7n z4cA(=%3V>=e!0_EEkXDVMFDWdx3q{64v$dfWqc+K~oC3d?#;Yvd5mn&J6Zs zx1tP7yNtBhe=YJLll2^e+cUkC1tQtO(x_hX`(0Aj6(<4 zY}PQzv2pKWoUa=xtLd1hOcMBVz}uh2i(YB0ZK_NvZY%2Tr<-p_<^e|B;hvYa8RQf0b5Ne9cRvZdGx&Zq>y%4trVD>7y0fAH|TfA>cku z>!GMnPtO$&%*?ve4J;jV(6?h_D;pd4@)gc&Dw?fBPo~a9-R=<82)&{qyj#@l@p};J z4MW@%ugGU^tvo(9tu@&4LHG$;%zd1J2_o&=q6zJgL81e5X&X}im6v{HYvR(wJ*AR7 zQp%S3N`-slyyUDs&JkG*L{0;F)}k?tq-0xER^^UNc|9UMXfXSf2TniDXL*gR&L0m$yOs+KN%2Ij}s4r^#P z1F$Rf&ZD9c&mdRv{p#AS0HI}3d2w;VgOFk?n?j$Vw8_i?7v2-KQL)XnrF|a4M~gy| zGs@ZC{)$G8jH3F2cw3H@mLuiXAW=_*6F+O>PCgM4=ne~RO7<_?9_h}qli%g9RjO8I zGBLblJeuzIE~5Dvtinujbc!21AflgMsV+6;DO3BZY+W1jE6BZ>qHl9+@cYP;5L`uf zpBumm>f^@>oVMZkSADT#bdnji3Rp%Ju=VFxo=VHt+6x1c#>S5 zToL1W{FPa{ylqnM-gMc&RoK8NY{E-ad^MWe8^A2rZ&NtROBvFANwg5#JW^j@csQxy@Nf~L~xq183`9K*& z;rSr?Yw5tLIe+sPRFmfy{H4eIISTy>f&R|#t^?Tu8HTisz0}{ypYV3MlTetvWUp}y zx2Efybrm`nov>jqNm-?H3e>%-=yS-XzxjD$MXu(GOkCv;3JTbfSuB}UsoB)(u3&|xea#Qvz^yU)D@TSwC0J*R^0eay-?oKdYmohp|k>mPKgl^&^me| z*cC&jknvP%3YJ18P>B>D0QI(r7~o_C^GH|gczLP}ugpi}#SKKqxn+Wv4LPHvY1wjq z99Zcm1E<033JUggl;eKTb8ZdwKHVLfTBHA>D7y(YP?GCc>DO?BMA&LsX=cpVV1o!= z4V=#VB=iwf(K=5_brzL3vx0r5aSrFGG{1i0 za;uq6COjJ~ye~ViV7tll;b%uy+xsK(|J$o6Q<#c+Xd=A+xj+%8al*Qg$gKvF06?;x z``Y-x0#lV%TT_*n(;SuVDZ52l$|5V579H6G5{x!m)~FRf=LzX8C=P_=oJ8KTs)hnG~=p+1t?!RGTV z0=>0=BJZY_ZMN*69A!zfcb$}dgcqNRJKK=GS`PF07D2W? zklf)M*NkRx%GXHop&t*Yc$k-Ixw+LU3be+Ol;hpYh7Bx4(#g?k%Wf1CmMjS+tw>oQ z2G^zmZWcjxSORkFm$^{e0lau8wN>e8`pyv_B|G=b-T(S-$uDzG^h&U+4$KJ&rsv%5{K^tv*4+(ZJx(4Zu@;B)gp?R5-?o7+kie5wzB7#by*+w**Q&>TF7F~ftQXBR%wWDy^?9x zbM>dtFN;l?D!OA|d|`O)o_z7dI@Cm+ns{Mxl?rWwq{60i^kh4q=8>)Zx_)Ct#;IA4 z#$J)gmP%9X(Zw!Dm@{uj8SaY6kK&mR@z1q4v~1=cdT;2^YV2 z#9>mOZnAa;#n;0plltaDB{3kaz}N%u;S`!}5A9fa zZOa-YO6X=t=U=$sS)q?4$Qi)Q+D|#P%)}g7Y}Nb<%1tAvXG8m*3NTn-8y4w&%MF|} z3GvQT6P<x?>=fLm2OKv zwlX~5z=LxpLEZ&wqKlY0c%M7l%U(PE0h`&7{ykxHne!ECo^vD_w8{-zC z7479M@CmtUYRxC|1CdeH4H3`)dIB%g^~aAH(gYJ{)~P6)lTV9^E5b=+Vk=C z&5a8!kpm4gC~f`etzwJ6ea&;P-YjL}R^|N3OVk6`>Lz&38)ZqIrsC-z*YXOHr04R% zS>@2bf60{^)_kFHne)zwQ4`^b9_L=jt4h_F8b~8AZ9e_Kv~hq+Cn`ghZ4myGqM@C? z^#X%Twn2F@R;}JHxG096(m8k=fk-0E@e%^vy&N6wrXxPpq>KKy$_pUIBqpWcJ*UNv zq%Y4}ve2LB`4~yjNs0e)&!CUQrH-3OUTW!<+K;5>Un0oR)3QBy2jmXJ{uF!6xFQi0 zIHjwB^-sVP@voY)aj5;$RRX>5hPp$9AI}u>{$sYpAc`g1g}cr^wpu7uZS(5K5ZsB{ z@S0_v4r<0bQW{K>qep1v5(TfZb6AbANqK-eR1$!YfpvR8*=3nws>MM?aD5OCWRuYm zR|IAdm;#brFw40dPhJ6rO+EzEqZJ0vevhnoZYs2;VbzYMi!s!Y-f_rx+IZ8*>$`h#Ma1J!u2k_Md^ z9NOc_5Pl%W>s&Ns^_mzAi>lMc`OSuO%kpXZbUl$?e}CyR6HX1{&bZh3i=JQCN&3145SdD`>qqPtZuh{VS>&JTcQx7ehAiFqGgZFevd@{;6*avduB}^d~ z!mV^`3c}^SOM+zY8$&E z7S`6voP%8K{cO)=p42h(z%s3ER5@Vkpt2jDmct|^AL`TE*l-!AS_@E)zt&ACYjxKSB(9dc#C<|F4#=an{%s&%IqtG|t#>4GoXq@I(_h zscRP4j4iM5SpLofZ$5Inf&M11)P0dU6RUF}$SN$jA0cx1RnzvsWOf!baSNM%&pSZq zp^AXZyG^%ul?73C|EJ33ZfXnHG*ji?T3Sh2fvL#BX+LQHyTK>WN#h+Ta?eKKUF?*> zlJW(H61QU3OOfqYh<32VWlo9b-fzwpmmc`{f3sUzCl5a%CJ@js;BPa983%I<8F}nf zIkC{tU=2}hsIBV0K&#~5pHqV+(+fZzs+e7acfz%)6cHtXrV56AP1DLNGcexi&E0VG z%F`vPUhzle#1cK#dKc4f|1hPoA`$t;^K8Te^`I^?#a6SUTwk|y6+TMpV+5pfdkS}4 zpBR3wvzCpmPPFMRR=GS7wxdM<_F7#W*J{g?D*AURm@RI*qiUFoYRLf?0aX$WbxC?W zGEy;9gd8eze^h{3Xi;LQwGy3{@gOk|QQsZ5zoAKDX z#D#2Ms^d3XC!}tjo7l-!|J%@+LX^7eqExtJkm?Pqf2N!22&offy<>{e3tcM0ESI?9 zjjvLn)u=C^CE~Cz%lPV15O*E*B#8f_?VRL7cVM`0jXg1%XxTrjzxB~O&P3~ z0&?s1E!qY1ZV^3dCNQ#u&maXbc<19W4T1%)E&xC1rj=N&Ye9&KG$V(kJoq`l++9N9 zpV>m0?U;=mc-@t7U1Q|5(U7!u9vZMmj(N}%mcOs49w@SpM>8?xh-i%M*^lf=gx%{T zFIk6z&JF^-O3IVR{l_824-i^zd>{?d5N?Npl|nwT$XDP|6RKcF=>NL@e5!4}zOASf ziC5*o0xB4fHGD}*UkzL7MMT!;G2!mj(mH(gJn})Wjh?VZ(8a$PWMU*4@}gf?rtbwc z|6~(DktNTYUBu4KwS>rAkCSVRTgtz4UD?|qZL)ia!DNC_`183tNy24k{TjKI){g6cAk$Vo9*<}FBfrhFq#)egE80I5{qj`pWOF1Z^m}k*jX6e zE|HD(j~QgA{yTPHLG0%3UQI53y)RDYUwr=2#|O(~9qP_5Ie+J*=+W=So?D|xUy5SA zTb-b|W@Id5e(hUJTy|09sUcQA>*-2NVeSb~aL*E;FC8b^y(5xe+)}gwJ9mXu72bRn zqKQlV13*47S0m*mDZT|&uli8>MD_xa7I6-1*s!&KJss1DCo;^{MJv=jNfLSBqSIt}hh=P7I z(c(WSO0ib_6jtG0emI(RqHZ?oVGQ+h*NMW$Q15*I&Yd+!CBw{o2H=-i1E4!?6W$` zNO^4&KdR!q9A{m*x1L^9mSe?Tkad9T}lVXi0!kk@*gu z$_b3(MJF+v$cP*#MH;i>w^n^qu~#LyF%d7+WFTje1ul#hdD`IEB@Hs~3M(oLjJZqW z{x6cf4vt6dMHubtuPMY%gS9#3_BYrMMWZ4`H=W3t|=9~pzV z87w&u_y30*4e(>2H{PfW@hM2=UXn6N;-@YQHPM_ats6@Dn+wg{IH((-<>Tke!h-)t zKaS>0?;P#b5poW7NqC82oN4VZOdB!XmKRUd>8eYptw_&^Q=R72gbOZhy~r$~@gpC% zSW*m%lKNi@apaq2&0Dw#!kVmDdc1*O?dM}wMYQNpm~d;ai1|aPHRx%-533y8FxcFl zOO5T>{gkI&05C3liBC;}=WRC)=~kct01_iz1TI75$_!-Cq5E8KINu&OIEbBHt_zd8 z8H;U5T*&nOzxH0|fSBGd=-J;IX!Gg7a;ntd_TDrb6PESP(a(>PQcFS%NuI)8hTsuI z%!*_Iw!Hbk<>vY~`51V3W{`q&cZE{U8sGb)_WpkQc51=>gZks&Vk zEt0R=`=xSmKXtofl(6e8(e5!WdfO%M9jM9QB9dGxis-*_XLukc6vR)4IB_CdQ=)sH zN<8EVHG+e1V3GbZ*>DzC$sZAG*VZ_lO>WFavPy7Cq37B+oV`|w8Q|uoc2@m{QOD_> zs>v;j4DGzxu0&;7Y=~`pQkWSO`1!ekgy~O`SoLweJl`g8y6DB<}f2 zTtr1L<(2^ayE*Rq`SITAWXF&8i+*nc^l0ZSSBqZT-)CA!Ni2}`d;@1ObX&bkXP((^+$0NStOnHiiM6IB9cJYUOji;nYidlVy^D$Nx3e*1J7^XRx!hSWNc! z;!k8M<4(SjuQ40+k4P^xw@B1!TVnAYuNId~(i&&pi1d9pJpOL}Ut-wuk6(zHwmnn% zEszs$u?X_87`}hEIldQH+nb)W{W(lP{o35^8G80;X~wtA6iKGD_h@^JEKYTQG3SGn zn|OGDelmHsmpEP#ujW4CUUaXed=G%yi?bxfqP7LKoc5uM-=T%}|vpqwG9kEa* z>MXTlD%zCN9*rxRIp{z#7{P_LI-6XaE|V$9$_3Y^k9>4{hS@wETck|4G$5FGsBDwO z{17!X+`p8UO!N{-xApov4D94F4DXLB%9rF}>T+$JidUAVz<<_OTYdFtVX0@VDF22g zFO8(%h8hgdNiwyl7>F1!R3DlnEDTO%C7%4dNuA(V%zkU?<%IW@niSOw=;?bSo7qvs z97)!(@krajc#HSid65)?>sII1gOyPp+Gb#GVF=Wb6L|P(yxk`m?D;@mEJ$%GR{sSt zbxxUP1Z|>7k{(12hU6yUa1{d~LxyTYbA+YAnXJS+$%TmmbV5+329f%f!W!}mr+rv! zp{09)mnnVZqsOt>`r*_<&r(Z;DR&V-d#QANK35S{IeJT?8>9D zxuMaP67>t8A2-w|Kf7*N+z5whEwXaec~zy4d~iFK*ghPa?Oo|CSLe|O9k0bKeqkME zVKsuII#1pUW#>1^Yd?8pT~wDrB8xH$!F9^e1r-6*$ET~4gX1kFygG2?GH0(cW zaj>>6Gs4B4Ya`}p*7f(d z$KT!`Z8T{}4zE5gBoL3M85SRYVD~a2hZVdgQ3Ncc{i=w=)3pJsqD+WQH?Y>!~a}IkH{I}EJYdt*=_78dKi~QI0 z1SPDUeC;ZE|9fOjJvuSEpc`6qi7$dO=b-WYrB6EE48k;!(;w;{9pglzQij8Hh8$zZ`;F*d-NhD zDctO}9zlt%N_z{HwBCjItec#uZSh*LYOjOtJUcuBYLmfroJB1*)ouNEp?)w^F3I){ zLXr~hpt9HH$Z(kQ9{2|gaIcsc4NQbA2#Otf7r|3nrWc0Lyovr;Z{Oer^^o{?8#3R8 z?P?F{MW&&}vT9iYx?SmaZoH9C_v4K6;uMZJdlM0X^^;0r3Os+ba+b$I%qXAYc+rvd z-5s&&#EFGhMY-z{ej=@sn7`}|o>mB$`YMCRgGGcWKJ20G?IeaMISx(Zk${h+zC8U| zVJz^StOy-U^235xQGJ94k{d zt9ALx+;CW-2ucpGf(El0kisZZ+9t?POPmHA&fh!ghEO0|dqr!h#`zSx$OVZ_j7@%XNTo1PCbGE_|Js0sXXiEYErXz`=bVujI4z4Q(! zXe8R0k zsR3*~c6VpP-@`)8*A3pb!Tk~K1MJ=n|Kc6QJpU+J&M+^W=>-&6NY((>o1B^5CN3mS|@VhFJ;-x>m73aL&?ekk7{#b ztj%%7hca0_29H7<%DP}WsSZrGan@4FcE%mjNS_&n7j%f`O z?wZ-L8q7HkXQ9q-YMEy}UgO-51!q)~BG*ljylW+1hBVWMyK1Y_>u5eV8?J=d1Cu>i zD^fh$(7UWvcI5L4{XY&)zT(s0uEu;BQLbBQp%ethPr8+-u>M5iRo&{Udz5v1b=&&= zuN0OGUuqktvf;=E3~={tli=LcT1xsHj=(wgzd#!t7sQzpqNQX5mD<^@lu~MsF)bY5 z#TCSW+oL*m+i3eDszjhFBiK~>@R3Ix0+;1U|GBNh2UR{ULZ$5_K6_YjsB$ZW&NEC zk){T#j(aM&6<1J$a@(3wN5V#>C$Txfv|4X0OebfH9^EFgpT;%d|9VqKrE(phXR`k&Ap3pb$kUL$#{n^&av@%9bI?5$YCbM z5(&;i&P>9W$WO8p>?2o>i6+ew4ZEG-z-R64<+3lhCKD&o3OfvFL3h>_2BYlmME9PF zUCjIVpS8505y09sqKO_cXsVdI;~ek5B&Wch;pptK-Pp>nu%|tc4cjf_j+jiQ~bH-|5+ctuuu?sX{+7# zpm8)VZOqO4i0F^%b7BkV#H%A^UeO(0hPI8pv_RcyTz2DXG!Ihw8k)ic+Ax))N}Qfg zT}xy2FXHF{>QnOQv846x!*O$V2;6jxz`4YYJL6e9qlH!T+3(Vxr&VkA!tv2~SHP{R zmP+-^y@^V05Sn|bGq|POxhd-{viE1lfY}vUSW$FudNfUqvF9kwO-(AztPVwXkL3g;R4O zEusV3Ht{}XTR^lK8yuz(dSe4&3R4vI!TL~rs6MGAQg_%19xQ*};Q81|xA3~N6Gmvs6aZB3GUGGksl6H)UZ8iY4ohBI@>b0G=8ymF7 zj`PNb=e3=ivmvmwIC zRvx|{`#0e1^I+Sj{u%g}Ucvz;KcD^plG^}GAo=gzY3cV%{4)Sfmi657Ngj|TFYA~0 z`WQKt2iMtq>ily=M*+S#6mtRDWaHR4H2z>OMREiKn!A8d2a*+tVaDZ|1s?ZOb#S74W9!F>3NX7SiUs9iYN$8qmZ>O- z0NX4OLTeT^mv0W0SrNI`AhcV#gaI*bXI8-e2?!YV3i6e^?w3YO z=Y4T*@ZqJ0t)-Su6#L8J_(b24SF6LBcY#PTrxR9S%}|!hU<+FItEnvG?OmHPn{n)K z^-EFD|HHBU=JF8%6l# zH-f-dCU!GjdEx%U)9_xvcqU~Tsm^O~P6-n2=7Qz~EWWYyt=Stl>uXoQ`JwEkPTWC| z1=QY5ev<6n5T}o@K8nx#k>4=$5MKu}8QO$YBxye|d<|m;;y6~Um_ykdj&-F#0psP_ z@)U>+P&9I`E=;HZoC`Xmhlr6BU+tXe+IYpVso^r+7h73(yKP;D@6*UUr38tel)sr- z&Z+T*n{c7`g>#mfKKND&5 z$xZNtb<#UF2F-wdX)(CM6OVA5TrD`O2_p`-1l-K_J=hOr(Dm|xf2;O(+e{pDt=`?c zI1xL1B~O&rX8N|wK6Ihx8d$+6BFwkpJFj}Ng65T28)sOeJq9nlerF2CWv2yhv?g{er=Q2uc_c(^5djqU=_-p$5d&-eyhj|NV~b7yHx= z3@ZZ%O{VxdJPW2KyFeJY+>nK80JZYxtr)CqxzR6}fGf*p% znoSV{NHp(l7UqKHn#Ved=2440i#(=gLt+dd_4D4w9h&mRYX!A%<>r0EL}q^t45>DC zcvN`{M^9X2v~@I9*+}mdFRYf)>+R=2G9^0eNb=Jbhg^Mf&Yi_r`t{rW zhZR8pyuO3%Wl=soazjW(v6A1aYN&GHRdiiEJ)R1ci12xNM>eCU-a&$~&xoj;BhxBX z$#gXoCJ!uQov<)dl%7vS@b--lv(>^wK219VA3d@~aldiGeGNsa`FLSZ-qO~fD02eJ zz{7W_WKYDME_{0AWxkT)OLC*A52qQp^7e`CJy%ttN0hzyOPG1TvDkh#GOr(t7Z?4U z_QA%C?JW)WF;bih)Lj#1J%|p(>fUwX*e@ZYI*=}vT^=nS9)0bElJ5u_we^+RCuJ1% zC&3wkeZHzWcl?(2YGunuBh7?;xV8RERyI36s#9NW8Pxdd+vMsUc0zR-f|&r`Vxyz3;jX~wnTX5^<8zy3o3jwAvwb!1$uT% zoG*623H|Hf0`xrqa@+dvXoYlNk{&pf@v4hBoe-moxEbTJo4guboq--vL^{u)h{;wX zB68ow!T=b(2V^xDU8-knB#f4P>~Q8jhdRH$q|gFWZ&7~>W3gy?+myD@Y_8aSW@2Xn z6E#Kf6;td3VgFL*CdR+R2muO$`tOuz_q*Rc0e-22%Y&I^1Te(I{zo<~R=*TkL=rmi zTBLcK$ZRE=$>)`7ZdWUKbqk8J>`X~yNJCf_;XFC>o=MD>;mIL0&KFC#abSkfoeAjs z-Sjia*4D69Gbhj721m1aA`1obdJQ}aL}-H`lyV+Vkr=)EB-dOPjG`&Yy!a|0FnQ3g z4*)rrg^uxIt$B?(g_cTjBaj3nj@NK)2z=QRHW;X0yQ8QXy;eXFL$gzxDAmGB1TTgp z&ydpQ(r8uGp~|C1hmM^YW9N98MnVPERTV>y-Kk4V^i1N?CsFMg_EPp@M%G)H?+#l$ zonpXyc;G!cnz22DgrFg-R2}Uc+cwk-Ekm`Vl?%@kHOUegVl7}lQf9tGF~|~qR@PjW zK#3WEfF$cW&%GYA3IjS;lyRz<7Duul=n|YrITD9EMF z*g0nRKEVt@KH`)qFbeyP9qn}~;=EjZFW3k8%(&PDvI}x@K*mtOu7T6Zr2$#74=l_< zltGl}*2D;6GtN1nV5KAN1v(q=LbGW7qY;4U*+Epyi7vhz@QAwaf7RHZKr|_VR*LHE zh-tU+Y!ez$7eI}+@57_d(FfoMFrEMHvR7K+n^9sDHkEUtRK@&9qwLnXA^6Hl{=mqYP{xSY@{C)g`fAs(2 zKfLHebyTj3-CyYc2bWtO;sO`=ef(qm>;1$1ALifGJx1k8rTF~s_lfG~XvGCn8o;8Y zT@fBE9|58Um2W+6!8KNeMnEqLhy$w_EK$SJ2U`w$oAc)*M?HX@wFAn9AyT#N0L~M# zV4$kzpRkH5$PvOki7}-{90p*@Mt?S1ExlC8lJ$yL2BKQ5rIm`Tmoz+licRA;G?ATN zS-WEi>E1LxC8s3?0ZU3yqA_qFWRDNo452C+c_ZlLpa16%!WNawxi@bdIvJzi4Im3S z(?tH#Kv2norRApFaIYcw`hbs=psA59WG5q7$WG}}iDZ%4ZB+D+t8WG_;1J{a!o&gP&2Du*g~j7?MM+$%vflln?jD%knFPc)eM;g zkYQhu4cK!VmEJaGFqale`F9jqY-#%fE}Rf+E-V`MBDe3zZLkab!$e4A923E&n)Nae zZ`Q(7TH-wqc$NLtE383}jyhoT0VJSWR`@sK?fNzj$Hf(~*U}eV;GBJj$05Qu(faG! z&8_RjTzGi{7I-0C-p&_``FGGw8Ef3`hMOU>O1b|LUk!p@|S4Q z(cRzkSb&SykGK%}zOw{xEQSJj5td@Li=OcG(QT_vSBYg-E@M58w0Xa8mHyeqtQ*;d zc2rA1s!mpo{4q@t^uS3Ugs8u_D&8A^8lt6e46yHc$@57gBTfQ-Y%f} zc*L4hBgAo+qaOS;LQ}uAS{;b5D@TZU{~mZJVZgp%aTxG$WJ|_ZSfeJ|uKGlb=mI+K zDjDv&;ZpYZ{ex%I?N-jNj_Bjw{gzF2W(*NEaw2oJY29(;V{fP93TlSN@jhlVxFTkT*XxWtycxfe$q%m%OCS<7!amf>=WOkZEm3}0TFH#Z^- zqpw~Oine(7`^DEj&RRbHSfWiQ>R7BdPw`XDBx14b7Rt>5&@EJ~a$X}8e24_dj_S=G zKh|UD?c2&poKNj!*g4Y}0owF1n7F5jD;PyFox;JFGHxiv%(93 zKK9w)b1tlcsDK*9p?z-n_BMb?n%&J6B-ThhO?nm!2*>nKqcu`QV(TNd*$`)|zpw*a z0M&{g*D!%4m3+qqwNQJ7H7W%LU{nKuK?T*~n6ZLG)<=(rqIii3wcyXac&&z2_7SXq-o+(JqV%0T=Qt4I_-+&!;(pJ*dL!so-8f z@vr^f7zuJA_wwufkNFQ(NXZRwJ>gyOU;8GL3F2fGXA;)`WIpMt@mS^KvoloA<>CiQ z7u}uq(9fT8;3Q%(Ge`!JEC{1do*=qU5b&NE?Flhm1}AIrNHRF@3+&e>6i4r~Lwd8WH&^(lX zVA@McR8yqQX_OBwD$Jab@s93Edf@5`IXuMo?2amNZwR$dXpyZu&T`D?VH1*GeuU(( z><4w}fCH|E0KbFCYRq(qTHG*T^J@tS4ukfIX zr`@gTw>MCQhBS0e80b?h@|}Zh^FsWWTGjB{e+v(ksssKprVaMzUH_i{FIB@_W^m**)#L4k5oudob&&t} zF6R4X6T9;+rsU#c>0M!Ug$sGGuP8cJRv~2j(Nsfs1r^qwD?tW103ZZ;#w0wJ zF_vE0WO`8%p2aW}jYH5QDpd*?(M$;?Xx<6v))b+>`7dj22vjL24}gr4Mogq$c9swP zi4aN7DX6>56%BU2W&ZQO7k~+?2y1JxHjFKgjfM!X!PLnL?>T3%mDwO?XtX(-nnSxC zxSp7emce-JBkqnk3~9{(u+Z^d*QU;T-8u2M z)BC>P&_`V!TWyM6Zxzxa=?)uJDm9u>fOtT59AkPY+XCTJ@VUYg(q27v8m3cl%NS+} zMA{wjyp7kXo(V+hvn&cb(4<7!UOop0cn(zv%)Pj*`VX>c%-z^|@}zU(*Nx51m$vi9 zk6ZFuP+{KPH90kBdP~>$y+f#LJ2nIj(J)1QQ*7JwW?+*NC#|XwRgtk2viR7 zb__<2$*~Ee#16;@aa9GBq4~J(Z7hJ)5D%*|D!4_0-00NMJr!Epp%)2i=1b->N~ar{ ziR@sCiwFw#w0v3d?BI?4jzsnR*^Ww7@bGY^^|PXdOD0Gh+^l*HsppQlT)p9wcU`DZ zyR6Ve%p@na#JV5MKgRQ8LY@PzZLy#hWjOR5%;vz0z6#2Wgg~53+rulCMLxq?bLX&% zINgP)%|?%Hgs>(|+A?MNqnS&`tQX8Ot-y}0CS&a?SbrMT7>!x+3Pl=X|9(YYK4RK4 zi(Jgei4c%t3S)+$bB3igm%i|oaEmHoDWDy3%Eu@S(BFh`D9|+&< zk|(v69F5QYxfpzrPnweK-bt`xW&kEQ2WGGK=Zx?&560OgaLCBWlZpano6F4BQ`>r# zafJ=sFn`HL?z-!vi3M;yLD4H8`{XAB*Jhno;iT0?2xmu`m;)AnsGXV+7K-QC-cnyEz=~l)=E9n5)+Wk$-Gl5R8Y+Yv zNF{pH9ZL>wy77C!+Bc9y{W40DMZ7BZyEV5CZW1RymM|gKdtdx$2%sJ>&TWCyFViRK zvBIoewwHO5?17=Pn{KCp%F}ptQP;T$kb;taq)uo|$U-2n8giXsH#ZfdzjRcftfWvV zQ|{BhL3?lzUcLje8j+s(Aa%kSYFcz|Q**@2EGb4`UGG1y7TUPExdZKq zi*$6APl)o<$kJP=5R;Yb^t&Q_Y>p=>-QqW#j}}OSAE)(Eqtb%mSQ{6BVyWXZB=H78 zn5F3tm@(21$wAdbtdMLgH&>lv=IG$BgpWBq+b=;Wg%|u z?ak}Uo=-AHIljiY!bpeSNI98(eE^N{82rm|>W{SdfS)L^{NG_Q7N`XmFJ$Qwre1V} z6yvO$9gL0I#5)^uJ)6{#5GR zVD@Mn_#IxIe7I}X>K?G}h7Y;CZv&7%l9TjuqAqwm?8@6M?;*1l^^2a2T zI2HSiOeCk^wfA@r2Z|OraQl#G>@x^{J~J>B<)1?1d0BQYZn`1{TnBt8A$fmh`6y_C zA&biHOBiwgCC(6Iiu~E#%c%VTiTEkNZRNQ1%*Qj{qfMjvUcK-bUS-(Ky&32IZg3Y* z=|Acj?*F7N(wZ31R;>99vu|>_XHg(VnhN#sS6aenuU6Vz_JY%j`oN0crP6K}?mkM# zL=`1$WVUrqIIf8Z+Ix8cOOa|0C%!}UphR*PwU5T~7YK;A7v_Gu2=OBvn^8hU35(d5cA$=`9U<*%_q zM$0c8|5sk1K@Jbz6k3t*^79p(&=8tp4Z~bHe+pVBveB468q}f{LMbe8=(~V&@a#TL zImdt-l%Ns^^Y1JL%nElT$FuhRigw7o#w(bKjP~;3J5k?}=?6-Af8g*``zSPH%_qz0 zZ{Ud=H9co0OLzvH9s-3e4)4~=SWl=3)B(>761&v6SXj$?qDlz#q>uTkopx#}=qm7336^Dsc{zkVi?*h9(P#QEg1%4t5jWK6svM&|Aov+PslOa9WW}R ziv+P=m$-XA6t#`5Is#Ldxzk9Okr_4R0{V#X>3=aq(P#;_z%{$onn_05d#Q%|%SxAN zkt(Pkd3ILYxPk;v>@lrr502Gh)`t>O27zt1y=ny08m$**_qrE3fE8b!Y#rOPMJL@y zoHf!Z()$K!G~}jyy8OT^uMpQww}bn|ZO|n++q?c`b(M18c)I*cl8KjILD1#?%rpL_ z+vf5X#bmXv@K$2RnYk)$0-1q9pF<}ODSd&bH(!Dv$IBO{2Z+Ty{}byMftT>6_&jAg zqQZu#m3sj=twjvD<1Qdx?P(Mv-k}&_R<(s1Mt(^N@m+uV3q6Upd-NyN6VD4ucinO2 z{{6JiQiy!taG~et*n94v-op}07f!Mr0FM(}bvX^v!C?O?Up|jA<#0aRH(LWSd9IHM zNjAj}xx65e_QP*VbbN*P1y-*J#grTe2h{x0kPgO*Q}oe^qSOsvqY}2%jIAR0*BVQu zi(SY??&CPUWaArr1)T>rFwDRuyQOlBM*kODiQOvO` z$Q;ooG5N)6A>ZcSxrbIEuiNny+$x%KtO90_;9Q&5u%{!n+e8p z8!QwFk>1VnqNGGEya~C8)wF{&cIQS@%$T}5mICxkh)^m0+35~C&U8qC7xwB(xG7Hx z?u&7dp??RXXH_Eg$R2L!L?9_7qV-8S2?~a_m%{QW+F6Do0RtL7#J1<{5HtFsR76@1 zw$YPBvGuwf6WdsYCL4gB0*jP)*F~X~OpD~@c?+{%ZGy~gf!t^bpkO$Y+y?M;H$4EC zp7wI#7o0N11WiniqJ5-x{^^g|vcy;W>95E_4)i6Slnd?Q(Ucp=8qQ^~a>ZEEf~TmB z013Zns-@P`eG1nIUEz3KWoiWm*Y2?wt5a-zJxOeTzjAvuy#(ak)?=PIVfT!euQ~^O z`vkmwh}G^wrUyc!QZ|G|Z1=kB{+ou5`h5N_sI8QK>@N88`m)F%-~E-qf4O}0Xxo3z zrdHl{G?rOp#u}W>Tt@;Xnpy5xUt}zx!Op9Z_hoND8uUD!czkfT#(3XM@ny;x#y z+AeB1R_96NLc!lKEK%8HQ0eG#B%=fZh^DGDW`WlWn@brsUs{JvO(C0S6V=K7P_+4x zmagCHl4XK?^_Z8|mU#rXmk$oM4uihz2*?yxdh}j9UY}Oaj{5qzfp4`fa)z{GRmtZ% z(bHhys{FTRtUO(QuzIU{%lqr?ltwnT-S98TcIjv9akF}zy5=nRql^7XN5GElDz(|7`NVLV-G7?hh+oz8238f;-TXtrA}kJ- z_`PRc6>^oLJhqjLtY&^xm(Yox_!XOm*_^n`Pp&f25}?Ny;Kt3|3bCwJG=6rp+S;=f z8F$<)9mm7sYOM()yV{Rxv|nF|JNI25gb>!&+tBu2Tps*0>OtOh@XhU|{iVS}8ryuq z)#OYv&Z83I3+*rvd5Np8zPVFYbQ}l|O~?}6*i`cD?F_(DI#h&Uetb}5 z{0Fb4vpHPuLG$|j&4>xxInrc}h9n$CgBS20!QHSG5+PbZd-*%k%ZpKeC_OfMi@t+h zf3+3X=nHNS_}54n6L3HFRh4Y{R6sW#UcOj&#*&Ru9(}+Qh#7?ruU_pvFxbxDbV+(=J2{D)JC8Fv-2@E=#?_{GxG8?4qHTnVu+{` zi~VM?YY-S;-rItG>~HdR$`jnf%6vLTI&Aces!3KuCC7$l=4>>B4S1o&g5M~x3L0s0 z)0&dmiC~jq8!Gc9$&qYSS~B4&f_X89<<-G^#YJLMG;Pkito&ij>=dl!XMV_*livm zM<2q$f9D8imUmoaA(^H=hd*kMkYUMedA)B?10VHT!>IRz`&TVFf(Mt(E~y%Qj}iy8 za$D=DRkNbU@XIyCz~}ppylf%#k+YF&rW-~n!$|#&8qAh7^DJ))RBU>x(k&_g`{a-j znc4l(m&M|Vd!rj(xgYekI$5q1+9!PdAQ1LS7`PI>K`RHd0Sx@u=O~L)OqNDuok}ej zPYMz7g^s{Nzw9_#al%vu(A)6954%>55{kr#Gc?DZhY(f>{e`s~aOD@3T3MUP3Te7+ z8!gOIps38`T_Iz)Q$4=lG9GS&UNZI#y$547C+X{CEh|y^j~uE2Df9Ly}Z}8?2HgB)atFM zda*D9V2Yfosg)zGr+EQ|KEOrplmLa3MkT-|R&7$ZV$DSGiBWOupT)*ChVh^Uav_`I3pvn<7L35H2Rh<&t97NF&lY14{r2{3`@E0T$n99uFWb=s5N7()FDmAwqy9X0L=6D>5(Ym#8n4I57n~WEwfR z>@dGQASI(PKSLF_Ct=P!Sh17c=tq^Z(wR`lh#bILM5cyG1`ZkX?v~m{N}Za@Z$F~G zB&?<<8Gfyu4&xa)BWv`;WYRSCC-w^4FOFnoW1T!L+Femp=iMOibW|w9*gw$6i%zyZ zQt0ZA7i<&SKxsPMw~u=X71*Jk0M6P%R@q#EEoF(}-_HRLJKEl}$Zy61hUrzFOS#g{ z6N~;2p%v0581rwB9iEKQDWK52#rd989GXT|8KHVvDBzoOvtiqz2i}gV0c5O$UkmN8 zQLDxJi?wA=hpH@*G?1OxHX|2Bb2Q6})x{Q%l~u*P)w;eMhhtHNs3lWs#G!a03ks#Q zvcxC&G~i0Eiik4F%nqkCi(KLuJjGIaO+G`yl6>K3 zekUZ5t9L}6f137JrdcC-8>-f=g+u-0EI)2fH0woY+TD0yS4PwE?sUVwjQWxpW>5ZN z7A#7x%rHu70NYytsMqPF**`WnZrlPa-mdKSk~&r_(yV(JAl*i@R#UW4F_0eG@)fps zGj9H6e-ZmFlNaX^0yWFcEUIDr@v7#J4?B|eRB$~F8Y}vA&cg=#)nzJ85}{_1Hs5YV zqFP#V?ron$X#yAH;zsEn*zr5BWZCqUnDh&ms*@w3V_mY77Ep;D3K-z+7*QiGB+0)j zA+18ZZ-am?$lv)L;axgt=bvH8#av|%t)?#?nG^M0X~uDrwztFkHOg-0DX@Koy~s0r zu9XS(lAmZV?*6Y>8%MJde&!KEj6{GO}mIuN< zwMuP=Q-%|kRATz{{lTUSOksIkk6_RBRZC}nO9h>HPdC9yv6rpot`5;>(lj*U@R%K9 zZfNJV%Z%dkxm=yfvmPr^D@k;BuSoX<0+O=4YiVrWMI7+ON95wzHW^L(ClKh?ffnJ? z_F@a1`~k9ZJ8Kr!k2K|9#8$Y>LQ#Q&gJ4NpV;!?pS#0T{!v$q!!_?&D_A(2U%?vhR z3Hjc%cl3OU#ctzU%YmSNEdGtH3*rK#+yU37RJ!pd!)Z^9KABr>x+zO<&`VDsqOcnJ z#mTeBA(^M5Fb4*-CWfuX{7S_p7GX|qc~NmPxL#7aL|V*}S-7I@2L~5!zmIjW zfA_WOU0>Oq94Dv7GwcLyarADY3NL0YmQ5|6d(IU;T=_lXNPTXu<*t5IC|?-u7pbeO z2Nq;)7uZgF^X}?YyLs~5mwW1mynXp>Z*CT=aChnCsVjMiU}An07i4Kv<;n{jHe}T9 zmeWv``u3hQKbg?174mB?BkSCbqEcC_dj=o>()?4x^Ld6{iRzIk?BrVLou_NDT2Myc zufuixwkyfM_t_F-aG)g&@c3Xb<|K~$9{qU=d`hPRV+&S|GoA}8{#@H{;@l zD^ySQ-sfM0zz6SQ>?=vebs_O%+5%*R6Bs{Z9?%ny=6RgW`2MXN_T2YZ&|2yI-1ut! z>NU`cO^)7wWf-Wf)p*zw*RO>lpyEkh9(p6I#mhV0;ursMRpBsUy@23nT} z@i5m5k{3y{x_C4GF0qBP4F@tPvE(XDSApv88*9Y;WqO^z`x}e@^_#rxg5XQzXt|yJ zu=o2o;AX1JYviqj(O1-05dn5LBT^r8XH@x^;eJMN;yc5UwS@Nh3?il=0U_LJ#u2QdZen zBIxMIkqua!Sxuy#IE=s(ZpjkaRHPH3jm7?9bOGU+`r1si7^2ytckmrA4^o>ZNMn$N z8lXr11Yf+>Qh*vlCWXugG&O8I(6uyza0L6e3hIKPe=5YS3aJt@>?0!V#H@$6-N0eE zmr$nS!LhEt_)sk3BkLami`M1AHNa*~B9F5K$lqyF1nSJ(R%{gawdO^NcC2pr2X^^m zN9Ml9#%g;`SX>&rpr|aS;>lW3_ZvZFCe%Kf-=gu#Y9pSx0E`){`Z>N_Sl{8X4xi)> z4tz85mlLo6y%^tb=T=sf-?f!H6b+y|Ocq{no+7=+E%R{>Sv~?N?iJf;lG#~{jamLi_j61;@z@{Uu#7Mjzj}yRc7F~%v z^@$14HVqPXX9?C&X_+5F)uL6X@W>U{(1;S#`%BPKoUWVyDCy&S*+Lv>Dq~I|sMGET z5?dRgnc)eBl_tsl_DS@}WJeIoIn}+eDjjPdqbWQW~Vpu1FEgafk2< zrvYIQ*LF0d53e6UjpqGTGj2gx_{$AQtpJm@)Tfc(o^z_sK;qLx$QjR!mX2R9pWrQP zn(lNhWeoNvxnhs3i2fX+VthFZDqrd{rX4c4V2XXXq$wn9t~nImAycT^Va~bE3F`YS zvbsm+QRV49j+Mcdj1P?A7AW0iHATaGZLNv#jXl#YExnkd97&Ut#9b_Qu4hJd?N!-( zNK}(iMN|HyC=FxT=Mgdar|2+S6g2@5=-9ES-xN;|Vg1X6!2a`n=6bPIM>sLFG zDV3*3gwMvnAJANr=LciPLSVIxhs(QYWw4fJaONJasxVw0D5r2d0*&P^bsgo>sxEDK z7X{_{snfvGK7Q$^v>!~X(=DNppt|sTwBZ^rwWO1!Y2uVFPHe!Idrd2bIb_gSLjWL8 z?YmrHjjOOVoW2n;7?INys*39G=g^`7F{=Lu#sm z64?n(5TDO9ee{neHk&kp;4d!m0#lQr&7h@AVv5WTt7zElKA927xPTKD@t)1UUd;UT z!^-;TT_PN>r<`FpTO5gxO%MLG;T0cv!WWpAC~BwX`1ABpVPYZRl#-i3mskc;h*psu zM7Fw+2hK2G!LhWO!$KE`d4I|(nL8D9ZmG6^rS$TNKzo55AqX28?7V@|+JR*2+XEel5Z)`FRg8f$rknR=gA+j|r(*|CW2AR&|*lPOvTrB($d8k&wIw zLINhxugky54yGfxFcT9EJ^jKWwbsul8{%L(eg}!_EYQg9`ufymSq%3WA?>IQW58x8 z7!=$+f>0kL_%FwgF)F?zY5qc1fQ~h6`$3)o?gFDRwE&>Hlfn-#Ksl2fp_x`Bl^eC} znS=>oL8Lbg6|$HZM4;y;=m|(Blacq&XP%g)|0^N}hX&Q!$F3(gx!=q;J&zbDVBwCjMz&&=_mcpKY_^9x?5{z=`S?lXmi@CTdR=OtWNji)UgLv`t@OP z>az~|q#)bf_VLxy3tnEL}E0hTQw>$so>p+m& zgaeiZ)OJiqvN;A5QdeCB#pf8P`AWYK6jq)_rTwe6I3pksMVu2^6eUQd0jqXzKsts} zst&Dmt{^@(pNg{7L}7lUpfH|HyNdVq@%tMo9F0b?Or{ksu}r00v0RQ1ijNi#5sR_U zxKD-zqk?r-2EKBoX1^y)5ckq~MhbKD!2!2(LynNXipx6l@yewKlYPaoe4m~N6I7en zu(H$VPCP$=-F?N==fL4#t;S>ew2gxAD%b~V#WbcE@iws7%Q7Xob4QFL@+JVI+I_HG z{B^CF9k+jyGhT*qkct3f#}tRq$4p~{xT`Lukk$~JMq>(JPJ0jtrsf&mYBHY7A~Wv# zc9wL0i$VPYA|L?M3lqKzAvK#RmVWpGmMcjcJ9bbBPpxVdsaDK^C2RJVE%@2&U(2jr z^fEMve-DyHEYwLqvLqT#z~FAXRESEbB(ZV{D|f)C(XSTXE4HP|QS>nrAmQiz zyoHNL!0ZCl+A0qxn0ABw-^Kr>I!-3l3|Fz7GaX4F(~i<{|NIg5$bInrQLa!5Y{Y3i zTdfQI^)0P?z8C znHgCbSeV%8n;TmjTAJGGorQ%&>W4*16)v2`mcdBxheR?I#>T9oNE`|Z10j#4Qo+gW zHL2y&*$`rg*dv|1%R68~D_0b!W9ty74ZyHyt8BJ-=}1QBNRH{ujhV(oY8AOhCqS+yBzHSK%& zAc;H1nYk;fxy-wMGRoc8*}XgJJ>UBX_)4m&$a4I95uNFueUx%@v4 zxn;nbN~e~-iTrO;0}F>wJb4{8PcNGg1i%~we6P&2#EW%)eihaJRsE#4F=5Q{ZNFBG zv`{}22~^_(Q&@8`UGwjUQnG*e)SKh^UNww9Zc8jH1x#ES*_^8X~9c zWRQ}e$>C-6IOF*s#bqXd6pJ7UKN7@{*y)3}66u5poAmFB!JT*lJa)S?kZ_u<`V*tD_t*XC%bfiNGfgw0Ss})Yidb83gNl&-rPxqr_)G5U z6AI}jtk{uo#Sm zaRYG!;RD!ADI^0>hjMft(UYQgAed0>3An0skD8A4KXj+|wvL7#pnm8Hpqlh)CE4x%&(3r)r`y2{F4faRRRf-p^@ z=?I0!Bte(#paKGshOmqynB-b6Sd|40QhG7qk&CdCXj3(+rw5^F!$*w|CHy#CwZ;43d}$w z>dKYBx>%GdF=??IP!*ra$`Rk9dR-D;`*gNS`wyeLJ1xBXzCnGwjvFQc{uI+E2f=PC zjgejQ=)WUjF5|B%Udcq8bc)DK(Uf^yCl+A%aqXx~?#JKb8jevAR5slEibu}Ox>4qS zy@G~Snk708qmwjeZn`v!+xx=9n^taw248aWu7b&YRI#4gzjj(MEquNUcvg)JUUYX< zEnffW){A6Z%?Ua09~|vV*B`sy-cG)`P?+bsBohze_Abq;!y%TT+>fFum?M981o@v- z>81lnWM3ulg+U#|Qh{eOCze~z#V2Ev+d zI0mV#nehA}uSE$ErV)KoY3YeI?q4fFn5IY{!9YO% E9}-z&tN;K2 literal 0 HcmV?d00001 diff --git a/docs/server-guide/fonts/open-sans-v17-all-charsets-700.woff2 b/docs/server-guide/fonts/open-sans-v17-all-charsets-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..421a1ab25fa88105ab776552d7201205f7899841 GIT binary patch literal 44988 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 literal 0 HcmV?d00001 diff --git a/docs/server-guide/fonts/open-sans-v17-all-charsets-700italic.woff2 b/docs/server-guide/fonts/open-sans-v17-all-charsets-700italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..12ce3d20d1ce2288206e8b4f31c20f76452efe37 GIT binary patch literal 40800 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%0DER>;wf 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%0Deo9y(?}8?riQx3p&>dOY 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

    33OR1_N*!%ylDDa|3D1;gP8brBkv%FrMeyX$5% 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�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 literal 0 HcmV?d00001 diff --git a/docs/server-guide/fonts/open-sans-v17-all-charsets-italic.woff2 b/docs/server-guide/fonts/open-sans-v17-all-charsets-italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..398b68a0853fbf6368758deb1da49d347e3e7d89 GIT binary patch literal 41076 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

  • ~`;p}3;==ZtNy# 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 literal 0 HcmV?d00001 diff --git a/docs/server-guide/fonts/open-sans-v17-all-charsets-regular.woff2 b/docs/server-guide/fonts/open-sans-v17-all-charsets-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8383e94c65478622baf43553262e0e31b8725e2b GIT binary patch literal 43236 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⪚aqC6F-jh=?`}zBG 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/g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
    ":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}());hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}());hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}());hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}());hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}());hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}());hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}());hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}());hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}());hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}());hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}());hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}());hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}());hljs.registerLanguage("http",function(){"use strict";return function(e){var n="HTTP/[0-9\\.]+";return{name:"HTTP",aliases:["https"],illegal:"\\S",contains:[{begin:"^"+n,end:"$",contains:[{className:"number",begin:"\\b\\d{3}\\b"}]},{begin:"^[A-Z]+ (.*?) "+n+"$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{begin:n},{className:"keyword",begin:"[A-Z]+"}]},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,illegal:"\\n|\\s|=",starts:{end:"$",relevance:0}},{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}]}}}());hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}());hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}());hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}());hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}());hljs.registerLanguage("ini",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(...n){return n.map(n=>e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}());hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}());hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}());hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}());hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}());hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}());hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}());hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:">>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}());hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}());hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}());hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}());hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}());hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}());hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}());hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}());hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}());hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}());hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}());hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}());hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}());hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}());hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}());hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}());hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); diff --git a/docs/server-guide/img/calibration.png b/docs/server-guide/img/calibration.png new file mode 100644 index 0000000000000000000000000000000000000000..c7a1dbb4479d1072495c36e2759ac748c615e3ee GIT binary patch literal 233551 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
    F_xe>o0 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 ?%F);l#n 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

    ~!0T^QkvN{UW_~F-B=Ha$CYoA(xpwR)!?|>QN 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 literal 0 HcmV?d00001 diff --git a/docs/server-guide/img/course_provider.dia b/docs/server-guide/img/course_provider.dia new file mode 100644 index 0000000000000000000000000000000000000000..ad4ff9a0bf97206432ed69f43f4e66ba07edfe03 GIT binary patch literal 2025 zcmVU0_Qt7>bvhh%_HyLrdgQ8Hv^3PfoJ1M z5`^*eX7KOdf4o$K?{6=@3qtc2{!LRe_u!5=b5}QmS)MQ6UR^yrJfP??GkKDtC|sh< zUj5HRk-36SSA*LN&s!G|nB2Iwveo2y8jhE_^QA(ai!vZ@AJ3zE-GIt}Ap99W&GSPFs^Aq19#Yo&e3Bz{_x>2-^iLyf` zP&9u%ZO5M6X&MGEAKZ-|HBy2{_!&-meIyTIkk3Y+dU_;<^v9m0--lT^j%?NF!#M9u z{9`xbw|BsbBc5+>x#J3HwImcM%Pnt0Lepg!*lf>c-t1E&X;yZ-+PCi8{aP+f5N3HBBf)GM`3ITEiNzgcTCFrE9StF`@JJh*Zn z|I_9VN&3;d^xk>d0t{0y57!LxffoihgMay(hhcjKK_VCgI|q8Tki~LcGUW3iR)|Wz zeNcB7tqx;6-iAosoa1R^zrx@Z43Yf$k|1AU!iR()0zaGK&TVc6dsK4}!a-;x-9~mk znj~qwYn6ApdMlh2yY8;wS7t>@D9QBGhwBztGaF84c|90KlCEKCteSy=eQ5Vh%tzSY z{NNT~jwYAs?v~i};C%m?JdXpp3!~@&kZm9II1s1vMis8^epPq$dS&@zWVZoqyquR0 zXNTV_ZM~ybFbWr=S(1kTP2$`{FHUZY43CBZRhfsA{y?(j*m*&A(0GxG#zN`WvA}Pj zL<5rsKm)(PGh1T-zhnU1ngJ*xRLUWd2s5GkBms&P)kF`8K%m7O4+x>S7!r*nBdi&; zBiNCRgB|PO;E7gu6-qHTGOqoGx*d+vWU)P*VteKi6L(@pH`yo#G~ zd9&KQnd~}KTO&GBtNd<1AdbmB#CGu^P42_Mrrsi2PQ&;w8jP74x=f) zPEuNu9%%~PkxoLKr=h8DgGn|#{RerZ%r7W$Q5I&M@KO0 z)8Bc9;z$smy3h;}B{mhDz8a(S-G`t5uJM_ZE0)^*c@EJ09|mal=chy$`6U?493p_O3?f%Fcq~3`kh_n!WQuk4Zt*kWwTBrPl-rt}t`hic;0H z-mRVKZdV`qlnc(qs#lA5Wla6eURV@@Go2xsVM zBpTZcKwjyA+O%>7M8qZsm;BMhPZbCkPzD9Y{lk$bJP;t*CI{Bu?LiK@zL z@(jAQp(hb3DxLa$uc(B5JZp zqjLM7Qy8x@g@IeYW$Egxs7q=|1fE-;c?^b>)WQLQ&x@~J@s7_{TTwC6cQCDXn$=x7 zQ>!zgn-1(8N;`+r-1)?9-mszdH@AqU?XUgAt>4`9k(OL4JR}V1euHTMMV_Es5bYZK z + + + + + + + + + + + + + + + Client + + + + + Course data + Provider plugin + + + + + + + + + + Course API + + + + + + + + + + + + + + + + + + + + + Course Data: + { + nextPoint: {...} + previousPoint: {...} + activeRoute: {...} + calcValues: { + ... + } + } + + + + + + + + + Deltas: Vessel speed, + heading, position, etc. + + + + diff --git a/docs/server-guide/img/logo.png b/docs/server-guide/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9b91e32726dc25c8cdaa2e5b2dace23bba289283 GIT binary patch literal 4586 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 UFMSC1xc~qF07*qoM6N<$g5(6+&Hw-a literal 0 HcmV?d00001 diff --git a/docs/server-guide/img/resource_provider.dia b/docs/server-guide/img/resource_provider.dia new file mode 100644 index 0000000000000000000000000000000000000000..c0b1b3cda62084827213b1abcc07d5d473f146fd GIT binary patch literal 2378 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 literal 0 HcmV?d00001 diff --git a/docs/server-guide/img/resource_provider.svg b/docs/server-guide/img/resource_provider.svg new file mode 100644 index 000000000..aa71e14aa --- /dev/null +++ b/docs/server-guide/img/resource_provider.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + Client + + + local + storage + + + + + route + wpt + + + + + + + + + + Resources API + + + + + + + + + + Provider + Plugins + + + + + chart + + + + + + wpt + + + + + + + + + + + + + + + on-line + service + + + + + + + + + + + + + + + + + + Provider I/F + + + + + + + + + + + + + diff --git a/docs/server-guide/img/server_only.dia b/docs/server-guide/img/server_only.dia new file mode 100644 index 0000000000000000000000000000000000000000..8dfe1cb9e2c870119e2d711da9155d04d3fd57f0 GIT binary patch literal 4572 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 literal 0 HcmV?d00001 diff --git a/docs/server-guide/img/server_update.png b/docs/server-guide/img/server_update.png new file mode 100644 index 0000000000000000000000000000000000000000..a8b179c3a97bc0e6b1547297e6edafa9d733bee0 GIT binary patch literal 71752 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 Ef;#6ozW@LL literal 0 HcmV?d00001 diff --git a/docs/server-guide/img/vesselpositions.png b/docs/server-guide/img/vesselpositions.png new file mode 100644 index 0000000000000000000000000000000000000000..b24442ff43b64193d2d5ff0c7a09ede3092885ad GIT binary patch literal 453220 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