Benutzer:Hartwigr: Unterschied zwischen den Versionen
Aus Cryptshare Documentation
Keine Bearbeitungszusammenfassung Markierung: Zurückgesetzt |
(Hartwigr änderte das Inhaltsmodell der Seite Benutzer:Hartwigr von „Wikitext“ nach „JSON“) Markierungen: Änderung des Inhaltsmodells Zurückgesetzt |
||
Zeile 1: | Zeile 1: | ||
{ | |||
"openapi": "3.0.3", | |||
"info": { | |||
"title": "Cryptshare REST API", | |||
"description": "REST API of Cryptshare Server, currently focussed on Cryptshare for OWA.", | |||
"version": "1.7" | |||
}, | |||
"servers": [ | |||
{ | |||
"url": "{protocol}://{host}/api", | |||
"description": "The Cryptshare Server to use the API with.", | |||
"variables": { | |||
"protocol": { | |||
"description": "The protocol of target Cryptshare Server.", | |||
"default": "https" | |||
}, | |||
"host": { | |||
"description": "The host of the target Cryptshare Server.", | |||
"default": "localhost" | |||
} | |||
} | |||
} | |||
], | |||
"tags": [ | |||
{ | |||
"name": "client", | |||
"description": "Operations to initiate a REST API consumer client." | |||
}, | |||
{ | |||
"name": "cors", | |||
"description": "Operation to retrieve CORS status for the requesting origin." | |||
}, | |||
{ | |||
"name": "download", | |||
"description": "Operations to download transfer information and files." | |||
}, | |||
{ | |||
"name": "imprint", | |||
"description": "Operations to get the product imprint." | |||
}, | |||
{ | |||
"name": "language-packs", | |||
"description": "Operations to retrieve language pack resources and information." | |||
}, | |||
{ | |||
"name": "logging", | |||
"description": "Operations to retrieve logging settings and perform remote logging." | |||
}, | |||
{ | |||
"name": "password", | |||
"description": "Operations for generating, validating passwords and viewing the password requirements" | |||
}, | |||
{ | |||
"name": "terms-of-use", | |||
"description": "Operations to retrieve resources and information regarding the terms of use." | |||
}, | |||
{ | |||
"name": "transfer-policy", | |||
"description": "Operations to retrieve information about the transfer policy." | |||
}, | |||
{ | |||
"name": "transfer-session", | |||
"description": "Operations to create and access new transfers." | |||
}, | |||
{ | |||
"name": "verification", | |||
"description": "Operations to access user verification." | |||
} | |||
], | |||
"paths": { | |||
"/clients": { | |||
"get": { | |||
"tags": [ | |||
"client" | |||
], | |||
"summary": "Requests a generated client id that can be used for all operations that require a client id.", | |||
"operationId": "getVerificationStatusUsingGET_3", | |||
"parameters": [ | |||
{ | |||
"$ref": "#/components/parameters/ClientId" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/MajorVersion" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/MinimumMinorApiVersion" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/ProductKey" | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "OK.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/ClientId", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"400": { | |||
"description": "A required parameter was not specified or a parameter had an invalid content.\n * 1002 - Missing required request parameter/header (e.g. X-CS-ProductKey).\n * 1004 - Invalid request parameter/header value (expected, but wrong format/syntax) (e.g. unknown product key).", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"403": { | |||
"description": "The client is not allowed to perform the requested operation.\n * 3001 - Product not licensed.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"404": { | |||
"description": "The requested resource was not found.\n * 1006 - Specified endpoint does not exist.\n * 2004 - Specified version is not supported.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"500": { | |||
"description": "Server error occurred. \n * 5000 - Service threw an exception that cannot be handled otherwise (e.g. Database error).", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": false | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/products/{product-key}/cors": { | |||
"get": { | |||
"tags": [ | |||
"cors" | |||
], | |||
"summary": "Returns the CORS status for the given product and requesting origin.", | |||
"operationId": "getCorsStatusUsingGET_1", | |||
"parameters": [ | |||
{ | |||
"name": "product-key", | |||
"in": "path", | |||
"description": "The product key of the product whose CORS status is requested.", | |||
"required": true, | |||
"style": "simple", | |||
"schema": { | |||
"type": "string", | |||
"exampleSetFlag": true | |||
} | |||
}, | |||
{ | |||
"name": "Origin", | |||
"in": "header", | |||
"description": "The origin header consists of scheme, host and port", | |||
"required": true, | |||
"schema": { | |||
"type": "string", | |||
"exampleSetFlag": true | |||
} | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/ClientId" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/MajorVersion" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/MinimumMinorApiVersion" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/ProductKey" | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "OK.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/ResponseOfCorsStatus", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"400": { | |||
"description": "A required query parameter was not specified or a parameter had an invalid content.\n * 1002 - Missing required request parameter/header (e.g. X-CS-ClientId).\n * 1004 - Invalid request parameter/header value (expected, but wrong format/syntax) (e.g. unknown product key).\n * 1005 - Invalid path variable (e.g. productKey).", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"403": { | |||
"description": "The client is not allowed to perform the requested operation.\n * 3001 - Product not licensed.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"404": { | |||
"description": "The requested resource was not found.\n * 1006 - Specified endpoint does not exist.\n * 2004 - Specified version is not supported.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"500": { | |||
"description": "Server error occurred. \n * 5000 - Service threw an exception that cannot be handled otherwise (e.g. Database error).", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": false | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/transfers/{transfer-id}": { | |||
"get": { | |||
"tags": [ | |||
"download" | |||
], | |||
"summary": "Returns the transfer information.", | |||
"operationId": "getTransferInformationUsingGET_7", | |||
"parameters": [ | |||
{ | |||
"name": "transfer-id", | |||
"in": "path", | |||
"description": "The transfer ID of the transfer whose information is requested.", | |||
"required": true, | |||
"style": "simple", | |||
"schema": { | |||
"type": "string", | |||
"exampleSetFlag": true | |||
} | |||
}, | |||
{ | |||
"name": "password", | |||
"in": "query", | |||
"description": "The URL encoded password for the transfer (can be specified by query parameter or header).", | |||
"required": false, | |||
"style": "form", | |||
"schema": { | |||
"type": "string", | |||
"exampleSetFlag": true | |||
} | |||
}, | |||
{ | |||
"name": "X-CS-Password", | |||
"in": "header", | |||
"description": "The URL encoded password for the transfer (can be specified by query parameter or header).", | |||
"required": false, | |||
"schema": { | |||
"type": "string", | |||
"exampleSetFlag": true | |||
} | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/ClientId" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/MajorVersion" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/MinimumMinorApiVersion" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/ProductKey" | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "OK.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/ResponseOfTransferInfo", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"400": { | |||
"description": "A required parameter was not specified or a parameter had an invalid content.\n * 1002 - Missing required request parameter/header (e.g. X-CS-ClientId).\n * 1004 - Invalid request parameter/header value (expected, but wrong format/syntax) (e.g. unknown product key).\n * 1005 - Invalid path variable (e.g. transferId).", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"401": { | |||
"description": "Unauthorized.\n * 3003 - Wrong transfer password", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"403": { | |||
"description": "The client is not allowed to perform the requested operation.\n * 2005 - Specified entity is locked/blocked (e.g. Transfer locked)\n * 3001 - Product not licensed.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"404": { | |||
"description": "The requested resource was not found.\n * 1006 - Specified endpoint does not exist.\n * 2003 - Specified entity does not exists (e.g. transferId does not exist)\n * 2004 - Specified version is not supported.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"410": { | |||
"description": "The requested entity is deleted with this request.\n * 2006 - Transfer is deleted with this request", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"501": { | |||
"description": "Server error occurred.\n * 5001 - Unsupported operation: QUICK\n * 5002 - Unsupported operation: eID", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"500": { | |||
"description": "Server error occurred. \n * 5000 - Service threw an exception that cannot be handled otherwise (e.g. Database error).", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": false | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/transfers/{transfer-id}/checksums": { | |||
"get": { | |||
"tags": [ | |||
"download" | |||
], | |||
"summary": "Returns a CSV file download stream including the checksums of all files in the transfer. \nTo customize the locale of the checksums, the 'Accept-Language' header can be used.", | |||
"operationId": "downloadChecksumsUsingGET_4", | |||
"parameters": [ | |||
{ | |||
"name": "transfer-id", | |||
"in": "path", | |||
"description": "The transfer ID of the transfer whose information is requested.", | |||
"required": true, | |||
"style": "simple", | |||
"schema": { | |||
"type": "string", | |||
"exampleSetFlag": true | |||
} | |||
}, | |||
{ | |||
"name": "password", | |||
"in": "query", | |||
"description": "The URL encoded password for the transfer (can be specified by query parameter or header).", | |||
"required": false, | |||
"style": "form", | |||
"schema": { | |||
"type": "string", | |||
"exampleSetFlag": true | |||
} | |||
}, | |||
{ | |||
"name": "X-CS-Password", | |||
"in": "header", | |||
"description": "The URL encoded password for the transfer (can be specified by query parameter or header).", | |||
"required": false, | |||
"schema": { | |||
"type": "string", | |||
"exampleSetFlag": true | |||
} | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/ClientId" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/MajorVersion" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/MinimumMinorApiVersion" | |||
}, | |||
{ | |||
"$ref": "#/components/parameters/ProductKey" | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "OK.", | |||
"content": { | |||
"text/csv": { | |||
"schema": { | |||
"$ref": "#/components/schemas/StreamingResponseBody", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"400": { | |||
"description": "A required parameter was not specified or a parameter had an invalid content.\n * 1002 - Missing required request parameter/header (e.g. X-CS-ClientId).\n * 1004 - Invalid request parameter/header value (expected, but wrong format/syntax) (e.g. unknown product key).\n * 1005 - Invalid path variable (e.g. transferId).", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"401": { | |||
"description": "Unauthorized.\n * 3003 - Wrong transfer password", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"403": { | |||
"description": "The client is not allowed to perform the requested operation.\n * 2005 - Specified entity is locked/blocked (e.g. Transfer locked)\n * 3001 - Product not licensed.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
} | |||
}, | |||
"404": { | |||
"description": "The requested resource was not found.\n * 1006 - Specified endpoint does not exist.\n * 2003 - Specified entity does not exists (e.g. transferId does not exist)\n * 2004 - Specified version is not supported.", | |||
"content": { | |||
"application/json": { | |||
"schema": { | |||
"$ref": "#/components/schemas/Error", | |||
"exampleSetFlag": true | |||
}, | |||
"exampleSetFlag": false | |||
} | |||
Version vom 16. Mai 2023, 07:58 Uhr
openapi | "3.0.3" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
info |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
servers |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tags |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
paths |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
components |
|