matterbridge 2.2.2-dev.1 → 2.2.2-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -13,13 +13,19 @@ It is also available the official Matterbridge Home Assistant plugin https://git
13
13
 
14
14
  Tamer (https://github.com/tammeryousef1006) has created the Matterbridge Discord group: https://discord.gg/QX58CDe6hd.
15
15
 
16
- ## [2.2.2] - 2025-03-03
16
+ ## [2.2.2] - 2025-03-04
17
17
 
18
18
  ### Added
19
19
 
20
20
  - [frontend]: Frontend v.2.5.0.
21
- - [frontend]: Added in the Header the primary color for restart icon when restart is needed.
22
- - [frontend]: Added in the HomeDevices a message when restart is needed.
21
+ - [frontend]: Added in the Header the primary color for update and restart icons when they are needed.
22
+ - [frontend]: Added in the HomeDevices a message when restart is needed and removed the Snackbar.
23
+ - [frontend]: Added in Install plugins the possibility to install a plugin from a tarball.
24
+
25
+ ### Changed
26
+
27
+ - [frontend]: Optimized rendering of the main components.
28
+ - [frontend]: The config editor cannot be opened a second time before the restart.
23
29
 
24
30
  <a href="https://www.buymeacoffee.com/luligugithub">
25
31
  <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
package/dist/frontend.js CHANGED
@@ -1,16 +1,18 @@
1
1
  import { EndpointServer, Logger, LogLevel as MatterLogLevel, LogFormat as MatterLogFormat, Lifecycle } from '@matter/main';
2
2
  import { createServer } from 'node:http';
3
- import https from 'https';
4
- import express from 'express';
5
- import WebSocket, { WebSocketServer } from 'ws';
6
3
  import os from 'node:os';
7
4
  import path from 'node:path';
8
5
  import { promises as fs } from 'node:fs';
6
+ import https from 'https';
7
+ import express from 'express';
8
+ import WebSocket, { WebSocketServer } from 'ws';
9
+ import multer from 'multer';
9
10
  import { AnsiLogger, stringify, debugStringify, CYAN, db, er, nf, rs, UNDERLINE, UNDERLINEOFF, wr, YELLOW } from './logger/export.js';
10
11
  import { createZip, deepCopy, isValidArray, isValidNumber, isValidObject, isValidString } from './utils/export.js';
11
12
  import { plg } from './matterbridgeTypes.js';
12
13
  import { hasParameter } from './utils/export.js';
13
14
  import { BridgedDeviceBasicInformation } from '@matter/main/clusters';
15
+ import { cliEmitter } from './cli.js';
14
16
  export const WS_ID_LOG = 0;
15
17
  export const WS_ID_REFRESH_NEEDED = 1;
16
18
  export const WS_ID_RESTART_NEEDED = 2;
@@ -45,6 +47,9 @@ export class Frontend {
45
47
  async start(port = 8283) {
46
48
  this.port = port;
47
49
  this.log.debug(`Initializing the frontend ${hasParameter('ssl') ? 'https' : 'http'} server on port ${YELLOW}${this.port}${db}`);
50
+ const uploadDir = path.join(this.matterbridge.matterbridgeDirectory, 'uploads');
51
+ await fs.mkdir(uploadDir, { recursive: true });
52
+ const upload = multer({ dest: uploadDir });
48
53
  this.expressApp = express();
49
54
  this.expressApp.use(express.static(path.join(this.matterbridge.rootDirectory, 'frontend/build')));
50
55
  if (!hasParameter('ssl')) {
@@ -177,7 +182,6 @@ export class Frontend {
177
182
  this.webSocketServer.on('error', (ws, error) => {
178
183
  this.log.error(`WebSocketServer error: ${error}`);
179
184
  });
180
- const { cliEmitter } = await import('./cli.js');
181
185
  cliEmitter.on('uptime', (systemUptime, processUptime) => {
182
186
  this.wssSendUptimeUpdate(systemUptime, processUptime);
183
187
  });
@@ -776,6 +780,33 @@ export class Frontend {
776
780
  return;
777
781
  }
778
782
  });
783
+ this.expressApp.post('/api/uploadpackage', upload.single('file'), async (req, res) => {
784
+ const { filename } = req.body;
785
+ const file = req.file;
786
+ if (!file || !filename) {
787
+ this.log.error(`uploadpackage: invalid request: file and filename are required`);
788
+ res.status(400).send('Invalid request: file and filename are required');
789
+ return;
790
+ }
791
+ const filePath = path.join(this.matterbridge.matterbridgeDirectory, 'uploads', filename);
792
+ try {
793
+ await fs.rename(file.path, filePath);
794
+ this.log.info(`File ${plg}${filename}${nf} uploaded successfully`);
795
+ if (filename.endsWith('.tgz')) {
796
+ await this.matterbridge.spawnCommand('npm', ['install', '-g', filePath, '--omit=dev', '--verbose']);
797
+ this.log.info(`Plugin package ${plg}${filename}${nf} installed successfully. Full restart required.`);
798
+ this.wssSendSnackbarMessage(`Installed package ${filename}`, 10, 'success');
799
+ this.wssSendRestartRequired();
800
+ res.send(`Plugin package ${filename} uploaded and installed successfully`);
801
+ }
802
+ else
803
+ res.send(`File ${filename} uploaded successfully`);
804
+ }
805
+ catch (err) {
806
+ this.log.error(`Error uploading or installing plugin package file ${plg}${filename}${er}:`, err);
807
+ res.status(500).send(`Error uploading or installing plugin package ${filename}`);
808
+ }
809
+ });
779
810
  this.expressApp.get('*', (req, res) => {
780
811
  this.log.debug('The frontend sent:', req.url);
781
812
  this.log.debug('Response send file:', path.join(this.matterbridge.rootDirectory, 'frontend/build/index.html'));
@@ -784,6 +815,7 @@ export class Frontend {
784
815
  this.log.debug(`Frontend initialized on port ${YELLOW}${this.port}${db} static ${UNDERLINE}${path.join(this.matterbridge.rootDirectory, 'frontend/build')}${UNDERLINEOFF}${rs}`);
785
816
  }
786
817
  async stop() {
818
+ cliEmitter.removeAllListeners();
787
819
  if (this.httpServer) {
788
820
  this.httpServer.close();
789
821
  this.httpServer.removeAllListeners();
@@ -1482,11 +1514,11 @@ export class Frontend {
1482
1514
  }
1483
1515
  });
1484
1516
  }
1485
- wssSendSnackbarMessage(message, timeout = 5) {
1517
+ wssSendSnackbarMessage(message, timeout = 5, severity = 'info') {
1486
1518
  this.log.debug('Sending a snackbar message to all connected clients');
1487
1519
  this.webSocketServer?.clients.forEach((client) => {
1488
1520
  if (client.readyState === WebSocket.OPEN) {
1489
- client.send(JSON.stringify({ id: WS_ID_SNACKBAR, src: 'Matterbridge', dst: 'Frontend', method: 'memory_update', params: { message, timeout } }));
1521
+ client.send(JSON.stringify({ id: WS_ID_SNACKBAR, src: 'Matterbridge', dst: 'Frontend', method: 'memory_update', params: { message, timeout, severity } }));
1490
1522
  }
1491
1523
  });
1492
1524
  }
@@ -91,6 +91,7 @@ export class Matterbridge extends EventEmitter {
91
91
  profile = getParameter('profile');
92
92
  shutdown = false;
93
93
  edge = true;
94
+ failCountLimit = hasParameter('shelly') ? 120 : 60;
94
95
  log;
95
96
  matterbrideLoggerFile = 'matterbridge' + (getParameter('profile') ? '.' + getParameter('profile') : '') + '.log';
96
97
  matterLoggerFile = 'matter' + (getParameter('profile') ? '.' + getParameter('profile') : '') + '.log';
@@ -1132,12 +1133,13 @@ export class Matterbridge extends EventEmitter {
1132
1133
  this.log.error(`The plugin ${plg}${plugin.name}${er} is in error state.`);
1133
1134
  this.log.error('The bridge will not start until the problem is solved to prevent the controllers from deleting all registered devices.');
1134
1135
  this.log.error('If you want to start the bridge disable the plugin in error state and restart.');
1136
+ this.frontend.wssSendSnackbarMessage(`The plugin ${plugin.name} is in error state. Check the logs.`, 0, 'error');
1135
1137
  return;
1136
1138
  }
1137
1139
  if (!plugin.loaded || !plugin.started) {
1138
- this.log.debug(`Waiting (failSafeCount=${failCount}/60) in startMatterInterval interval for plugin ${plg}${plugin.name}${db} loaded: ${plugin.loaded} started: ${plugin.started}...`);
1140
+ this.log.debug(`Waiting (failSafeCount=${failCount}/${this.failCountLimit}) in startMatterInterval interval for plugin ${plg}${plugin.name}${db} loaded: ${plugin.loaded} started: ${plugin.started}...`);
1139
1141
  failCount++;
1140
- if (failCount > 60) {
1142
+ if (failCount > this.failCountLimit) {
1141
1143
  this.log.error(`Error waiting for plugin ${plg}${plugin.name}${er} to load and start. Plugin is in error state.`);
1142
1144
  plugin.error = true;
1143
1145
  }
@@ -1153,7 +1155,9 @@ export class Matterbridge extends EventEmitter {
1153
1155
  if (!plugin.enabled || !plugin.loaded || !plugin.started || plugin.error)
1154
1156
  continue;
1155
1157
  try {
1156
- await this.plugins.configure(plugin);
1158
+ if ((await this.plugins.configure(plugin)) === undefined) {
1159
+ this.frontend.wssSendSnackbarMessage(`The plugin ${plugin.name} failed to configure. Check the logs.`, 0, 'error');
1160
+ }
1157
1161
  }
1158
1162
  catch (error) {
1159
1163
  plugin.error = true;
@@ -1195,14 +1199,15 @@ export class Matterbridge extends EventEmitter {
1195
1199
  this.log.error(`The plugin ${plg}${plugin.name}${er} is in error state.`);
1196
1200
  this.log.error('The bridge will not start until the problem is solved to prevent the controllers from deleting all registered devices.');
1197
1201
  this.log.error('If you want to start the bridge disable the plugin in error state and restart.');
1202
+ this.frontend.wssSendSnackbarMessage(`The plugin ${plugin.name} is in error state. Check the logs.`, 0, 'error');
1198
1203
  return;
1199
1204
  }
1200
1205
  this.log.debug(`Checking plugin ${plg}${plugin.name}${db} to start matter in childbridge mode...`);
1201
1206
  if (!plugin.loaded || !plugin.started) {
1202
1207
  allStarted = false;
1203
- this.log.debug(`Waiting (failSafeCount=${failCount}/60) for plugin ${plg}${plugin.name}${db} to load (${plugin.loaded}) and start (${plugin.started}) ...`);
1208
+ this.log.debug(`Waiting (failSafeCount=${failCount}/${this.failCountLimit}) for plugin ${plg}${plugin.name}${db} to load (${plugin.loaded}) and start (${plugin.started}) ...`);
1204
1209
  failCount++;
1205
- if (failCount > 60) {
1210
+ if (failCount > this.failCountLimit) {
1206
1211
  this.log.error(`Error waiting for plugin ${plg}${plugin.name}${er} to load and start. Plugin is in error mode.`);
1207
1212
  plugin.error = true;
1208
1213
  }
@@ -1218,7 +1223,9 @@ export class Matterbridge extends EventEmitter {
1218
1223
  if (!plugin.enabled || !plugin.loaded || !plugin.started || plugin.error)
1219
1224
  continue;
1220
1225
  try {
1221
- await this.plugins.configure(plugin);
1226
+ if ((await this.plugins.configure(plugin)) === undefined) {
1227
+ this.frontend.wssSendSnackbarMessage(`The plugin ${plugin.name} failed to configure. Check the logs.`, 0, 'error');
1228
+ }
1222
1229
  }
1223
1230
  catch (error) {
1224
1231
  plugin.error = true;
@@ -1419,7 +1426,7 @@ export class Matterbridge extends EventEmitter {
1419
1426
  }
1420
1427
  this.frontend.wssSendRefreshRequired('plugins');
1421
1428
  this.frontend.wssSendRefreshRequired('settings');
1422
- this.frontend.wssSendSnackbarMessage(`${storeId} is online`);
1429
+ this.frontend.wssSendSnackbarMessage(`${storeId} is online`, 5, 'success');
1423
1430
  });
1424
1431
  serverNode.lifecycle.offline.on(() => {
1425
1432
  this.log.notice(`Server node for ${storeId} is offline`);
@@ -1442,7 +1449,7 @@ export class Matterbridge extends EventEmitter {
1442
1449
  }
1443
1450
  this.frontend.wssSendRefreshRequired('plugins');
1444
1451
  this.frontend.wssSendRefreshRequired('settings');
1445
- this.frontend.wssSendSnackbarMessage(`${storeId} is offline`);
1452
+ this.frontend.wssSendSnackbarMessage(`${storeId} is offline`, 5, 'warning');
1446
1453
  });
1447
1454
  serverNode.events.commissioning.fabricsChanged.on((fabricIndex, fabricAction) => {
1448
1455
  let action = '';
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "files": {
3
- "main.css": "./static/css/main.b9449869.css",
4
- "main.js": "./static/js/main.92802eb1.js",
3
+ "main.css": "./static/css/main.e52977d6.css",
4
+ "main.js": "./static/js/main.a02de6aa.js",
5
5
  "static/js/453.abd36b29.chunk.js": "./static/js/453.abd36b29.chunk.js",
6
6
  "static/media/roboto-latin-700-normal.woff2": "./static/media/roboto-latin-700-normal.4535474e1cf8598695ad.woff2",
7
7
  "static/media/roboto-latin-500-normal.woff2": "./static/media/roboto-latin-500-normal.7077203b1982951ecf76.woff2",
@@ -60,12 +60,12 @@
60
60
  "static/media/roboto-greek-ext-300-normal.woff": "./static/media/roboto-greek-ext-300-normal.b590dbe5c639944366d1.woff",
61
61
  "static/media/roboto-greek-ext-400-normal.woff": "./static/media/roboto-greek-ext-400-normal.16eb83b4a3b1ea994243.woff",
62
62
  "index.html": "./index.html",
63
- "main.b9449869.css.map": "./static/css/main.b9449869.css.map",
64
- "main.92802eb1.js.map": "./static/js/main.92802eb1.js.map",
63
+ "main.e52977d6.css.map": "./static/css/main.e52977d6.css.map",
64
+ "main.a02de6aa.js.map": "./static/js/main.a02de6aa.js.map",
65
65
  "453.abd36b29.chunk.js.map": "./static/js/453.abd36b29.chunk.js.map"
66
66
  },
67
67
  "entrypoints": [
68
- "static/css/main.b9449869.css",
69
- "static/js/main.92802eb1.js"
68
+ "static/css/main.e52977d6.css",
69
+ "static/js/main.a02de6aa.js"
70
70
  ]
71
71
  }
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="./"><link rel="icon" href="./matterbridge 32x32.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>Matterbridge</title><link rel="manifest" href="./manifest.json"/><script defer="defer" src="./static/js/main.92802eb1.js"></script><link href="./static/css/main.b9449869.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="./"><link rel="icon" href="./matterbridge 32x32.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>Matterbridge</title><link rel="manifest" href="./manifest.json"/><script defer="defer" src="./static/js/main.a02de6aa.js"></script><link href="./static/css/main.e52977d6.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
@@ -1,2 +1,2 @@
1
- @font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-cyrillic-ext-300-normal.80947a31d23c70204b47.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-ext-300-normal.795dbc8140e3fef82983.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-cyrillic-300-normal.1b79538ccd585c259996.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-300-normal.5f077fd7b977d1715acf.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-greek-ext-300-normal.d6049cb54aa6fbe14c42.woff2) format("woff2"),url(../../static/media/roboto-greek-ext-300-normal.b590dbe5c639944366d1.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-greek-300-normal.285f3e6261d8eb20417d.woff2) format("woff2"),url(../../static/media/roboto-greek-300-normal.889beddda1c9bd9f97df.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-vietnamese-300-normal.c96b16e5c05c7b7c3e89.woff2) format("woff2"),url(../../static/media/roboto-vietnamese-300-normal.f5e7cea32756dfe7af40.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-latin-ext-300-normal.97cbc447d4a8d41a9543.woff2) format("woff2"),url(../../static/media/roboto-latin-ext-300-normal.14982a9e4857a93b6dce.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-latin-300-normal.b850f1ff581ea232fac9.woff2) format("woff2"),url(../../static/media/roboto-latin-300-normal.c4bc0593c9954d79cb3a.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-cyrillic-ext-400-normal.5cec61a21cc20180fbe1.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-ext-400-normal.135d076fa32aa0b4d105.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-cyrillic-400-normal.a9e19870cf6c4b973427.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-400-normal.5d2930082227d172f62c.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-greek-ext-400-normal.1df4abad55796d11a0c8.woff2) format("woff2"),url(../../static/media/roboto-greek-ext-400-normal.16eb83b4a3b1ea994243.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-greek-400-normal.2c32b1315be61477013a.woff2) format("woff2"),url(../../static/media/roboto-greek-400-normal.160a791a8e4f46bca3cc.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-vietnamese-400-normal.d3f8e26d6c27de8102b6.woff2) format("woff2"),url(../../static/media/roboto-vietnamese-400-normal.0dc97c66f9b542d6fa17.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-latin-ext-400-normal.2eeae187764baf05867d.woff2) format("woff2"),url(../../static/media/roboto-latin-ext-400-normal.27da5b36b6d3a16f53f4.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-latin-400-normal.297d48e1b5a10c0831a9.woff2) format("woff2"),url(../../static/media/roboto-latin-400-normal.047a7839f69b209db815.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-cyrillic-ext-500-normal.6de16332fda843a3dc3d.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-ext-500-normal.c0a0638f90b31d6454ba.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-cyrillic-500-normal.0ae2428323939af5e1ad.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-500-normal.dd7bc8a52c6c70c5a3f5.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-greek-ext-500-normal.4a96ba31abcce0f5d52b.woff2) format("woff2"),url(../../static/media/roboto-greek-ext-500-normal.fd28d9c008bf3af1bed7.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-greek-500-normal.f95e757c5483310f9c11.woff2) format("woff2"),url(../../static/media/roboto-greek-500-normal.60810e07c7b0273013aa.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-vietnamese-500-normal.090fabef926bdc0e9b9f.woff2) format("woff2"),url(../../static/media/roboto-vietnamese-500-normal.23b7b8a2524d2d4b637b.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-latin-ext-500-normal.9a18d7bb9ff7a6af7b32.woff2) format("woff2"),url(../../static/media/roboto-latin-ext-500-normal.06c30711d588145a4541.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-latin-500-normal.7077203b1982951ecf76.woff2) format("woff2"),url(../../static/media/roboto-latin-500-normal.68d40d6d01c6f85d24ba.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-cyrillic-ext-700-normal.4750292c47fa2bc6ac1a.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-ext-700-normal.ca247189fc12d00de361.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-cyrillic-700-normal.4fdfc29a10e7d4b7c527.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-700-normal.3f6e1548bd5175a8c342.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-greek-ext-700-normal.2dd6febad11502dec6a6.woff2) format("woff2"),url(../../static/media/roboto-greek-ext-700-normal.4abdc9fff4507f17d726.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-greek-700-normal.77dd370f2001e184ba0d.woff2) format("woff2"),url(../../static/media/roboto-greek-700-normal.df87b053fae3d7ad5f7a.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-vietnamese-700-normal.0a79a9fabfc32e33f360.woff2) format("woff2"),url(../../static/media/roboto-vietnamese-700-normal.35ed0597568ff6f19c16.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-latin-ext-700-normal.18841836e391d39e83a8.woff2) format("woff2"),url(../../static/media/roboto-latin-ext-700-normal.3c5bcdd0e69c4c3ffafe.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-latin-700-normal.4535474e1cf8598695ad.woff2) format("woff2"),url(../../static/media/roboto-latin-700-normal.9f6a16a7770c87b2042b.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}[frontend-theme=classic]{--main-bg-color:#c4c2c2;--main-text-color:#000;--main-grey-color:#616161;--main-light-color:#959595;--main-icon-color:#4d4d4d;--main-log-color:var(--main-text-color);--main-button-color:#fff;--main-button-bg-color:var(--primary-color);--main-menu-color:#26292d;--main-menu-bg-color:#e2e2e2;--main-menu-hover-color:#959595;--main-label-color:var(--main-grey-color);--primary-color:#009a00;--secondary-color:#92771f;--header-bg-color:var(--primary-color);--header-text-color:#fff;--footer-bg-color:var(--div-bg-color);--footer-text-color:var(--div-text-color);--ttip-bg-color:#555;--ttip-text-color:#fff;--table-border-color:#ddd;--table-text-color:#000;--table-even-bg-color:#bdbdbd;--table-odd-bg-color:var(--div-bg-color);--table-hover-bg-color:#5f8c9e;--table-selected-bg-color:#5f8c9e;--div-bg-color:#adadad;--div-text-color:#000;--div-shadow-color:#888;--div-border-color:#8b8b8b;--div-border-radius:0px;--div-title-bg-color:var(--div-bg-color);--div-title-text-color:#000;background-color:var(--main-bg-color);color:var(--main-text-color);font-family:Roboto,Helvetica,Arial,sans-serif}[frontend-theme=dark]{--main-bg-color:#26292d;--main-text-color:#fff;--main-grey-color:#616161;--main-light-color:#959595;--main-icon-color:var(--main-light-color);--main-log-color:var(--main-light-color);--main-button-color:#fff;--main-button-bg-color:var(--primary-color);--main-menu-color:var(--main-light-color);--main-menu-bg-color:var(--main-bg-color);--main-menu-hover-color:var(--div-bg-color);--main-label-color:var(--main-grey-color);--primary-color:#1976d2;--secondary-color:#a58827;--header-bg-color:var(--div-bg-color);--header-text-color:var(--primary-color);--footer-bg-color:var(--div-bg-color);--footer-text-color:var(--div-text-color);--ttip-bg-color:#555;--ttip-text-color:#fff;--table-border-color:var(--div-bg-color);--table-text-color:var(--main-light-color);--table-even-bg-color:var(--div-bg-color);--table-odd-bg-color:var(--div-bg-color);--table-hover-bg-color:var(--main-bg-color);--table-selected-bg-color:var(--main-bg-color);--div-bg-color:#1b1d21;--div-text-color:var(--main-light-color);--div-shadow-color:#34373d;--div-border-color:#1b1d21;--div-border-radius:5px;--div-title-bg-color:#1b1d21;--div-title-text-color:var(--primary-color)}[frontend-theme=dark],[frontend-theme=light]{background-color:var(--main-bg-color);color:var(--main-text-color);font-family:Roboto,Helvetica,Arial,sans-serif}[frontend-theme=light]{--main-bg-color:#f0f0f0;--main-text-color:#212121;--main-grey-color:#616161;--main-light-color:#363636;--main-icon-color:#7a7a7a;--main-log-color:var(--main-light-color);--main-button-color:#fff;--main-button-bg-color:var(--primary-color);--main-menu-color:var(--main-text-color);--main-menu-bg-color:var(--div-bg-color);--main-menu-hover-color:#85c0d8;--main-label-color:var(--main-grey-color);--primary-color:#2196f3;--secondary-color:#a58827;--header-bg-color:var(--div-bg-color);--header-text-color:var(--div-text-color);--footer-bg-color:var(--div-bg-color);--footer-text-color:var(--div-text-color);--ttip-bg-color:#555;--ttip-text-color:#fff;--table-border-color:var(--div-bg-color);--table-text-color:var(--main-light-color);--table-even-bg-color:var(--div-bg-color);--table-odd-bg-color:var(--div-bg-color);--table-hover-bg-color:#85c0d8;--table-selected-bg-color:#85c0d8;--div-bg-color:#fff;--div-text-color:#212121;--div-shadow-color:#bfbfbf;--div-border-color:var(--div-bg-color);--div-border-radius:5px;--div-title-bg-color:var(--div-bg-color);--div-title-text-color:var(--div-text-color)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:var(--primary-color);border-radius:5px}::-webkit-scrollbar-track{background:"inherit"}html{scrollbar-color:var(--primary-color) var(--div-bg-color);scrollbar-width:thin}.tooltip-container{display:inline-block;position:relative;z-index:10}.tooltip-text{background-color:var(--ttip-bg-color);border-radius:6px;bottom:calc(100% + 10px);color:var(--ttip-text-color);font-size:12px;left:50%;margin-left:-60px;opacity:0;padding:5px;position:absolute;text-align:center;transition:opacity .3s;visibility:hidden;z-index:1}.tooltip-container:hover{cursor:pointer}.tooltip-container:hover .tooltip-text{opacity:1;visibility:visible}.status-enabled{background-color:green}.status-disabled,.status-enabled{border-radius:.25rem;box-shadow:2px 2px 2px #0003;color:#fff;cursor:pointer;font-size:12px;padding:.2rem;text-align:center}.status-disabled{background-color:red}.status-information{background-color:#9e9e9e;color:#fff}.status-information,.status-warning{border-radius:.25rem;box-shadow:2px 2px 2px #0003;cursor:pointer;font-size:12px;padding:2px 10px;text-align:center}.status-warning{background-color:#e9db18;color:#000}.status-sponsor{background-color:#b6409c;padding:2px 10px}.status-blue,.status-sponsor{border-radius:.25rem;box-shadow:2px 2px 2px #0003;color:#fff;cursor:pointer;font-size:12px;text-align:center}.status-blue{background-color:#5f8c9e;padding:.2rem}.header{flex-direction:row;justify-content:space-between}.header,.sub-header{align-items:center;display:flex;gap:20px;height:40px;margin:0;padding:0}.sub-header{flex:0 0 auto;flex-direction:row}nav{align-items:center;display:flex}.nav-link{color:var(--main-icon-color);font-size:20px;margin:0 10px;text-decoration:none;transition:color .3s ease}.nav-link:hover{color:var(--primary-color)}table{border-collapse:collapse;table-layout:auto;width:100%}thead{border:1px solid var(--table-border-color);position:sticky;top:0;z-index:10}thead th{background:var(--header-bg-color);color:var(--header-text-color);z-index:10}tbody td,thead th{border:1px solid var(--table-border-color);padding:5px 10px;text-align:left}tbody td{font-size:14px;margin:0}tbody tr:hover{background-color:var(--table-hover-bg-color);color:var(--table-text-color)}.table-content-even{background-color:var(--table-even-bg-color);color:var(--table-text-color)}.table-content-odd{background-color:var(--table-odd-bg-color);color:var(--table-text-color)}.table-content-selected{background-color:var(--table-selected-bg-color);color:var(--table-text-color)}h3{margin:0}.MbfScreen{background-color:var(--main-bg-color);height:calc(100vh - 40px);padding:20px;width:calc(100vw - 40px)}.MbfPageDiv,.MbfScreen{display:flex;flex-direction:column;gap:20px;margin:0}.MbfPageDiv{height:calc(100% - 60px);padding:0;width:100%}.MbfWindowDiv{background-color:var(--div-bg-color);border:1px solid var(--table-border-color);border-radius:var(--div-border-radius);box-shadow:5px 5px 10px var(--div-shadow-color);box-sizing:border-box}.MbfWindowDiv,.MbfWindowDivTable{display:flex;flex-direction:column}.MbfWindowDivTable{display:block;flex:1 1 auto;gap:0;margin:-1px;overflow:auto;padding:0}.MbfWindowHeader{align-items:center;background-color:var(--header-bg-color);border-bottom:1px solid var(--table-border-color);box-sizing:border-box;display:"flex";padding:0;width:100%}.MbfWindowHeader,.MbfWindowHeaderText{color:var(--header-text-color);margin:0}.MbfWindowHeaderText{font-weight:700;padding:5px 10px}.MbfWindowFooter{align-items:center;display:"flex";justify-content:center;padding:0 10px 10px}.MbfWindowFooter,.MbfWindowFooterText{background-color:var(--footer-bg-color);color:var(--footer-text-color);margin:0}.MbfWindowFooterText{font-weight:700;padding:5px;text-align:center}.MbfWindowBodyColumn{flex:1 1 auto;flex-direction:column;padding:10px 0;width:100%}.MbfWindowBodyColumn,.MbfWindowBodyRow{display:flex;gap:0;margin:0;overflow:auto}.MbfWindowBodyRow{flex:1 1 auto;flex-direction:row;height:100%;padding:0 10px}.configSubmitButton{display:flex;flex-direction:row;justify-content:center;margin:20px;width:auto}.configSubmitButton button{width:auto}@media (max-width:1300px){.MbfScreen{height:1024px;width:1300px}.xxxheader{flex-direction:column}.xxxheader,.xxxsub-header{align-items:start;justify-content:start}}
2
- /*# sourceMappingURL=main.b9449869.css.map*/
1
+ @font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-cyrillic-ext-300-normal.80947a31d23c70204b47.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-ext-300-normal.795dbc8140e3fef82983.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-cyrillic-300-normal.1b79538ccd585c259996.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-300-normal.5f077fd7b977d1715acf.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-greek-ext-300-normal.d6049cb54aa6fbe14c42.woff2) format("woff2"),url(../../static/media/roboto-greek-ext-300-normal.b590dbe5c639944366d1.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-greek-300-normal.285f3e6261d8eb20417d.woff2) format("woff2"),url(../../static/media/roboto-greek-300-normal.889beddda1c9bd9f97df.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-vietnamese-300-normal.c96b16e5c05c7b7c3e89.woff2) format("woff2"),url(../../static/media/roboto-vietnamese-300-normal.f5e7cea32756dfe7af40.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-latin-ext-300-normal.97cbc447d4a8d41a9543.woff2) format("woff2"),url(../../static/media/roboto-latin-ext-300-normal.14982a9e4857a93b6dce.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:url(../../static/media/roboto-latin-300-normal.b850f1ff581ea232fac9.woff2) format("woff2"),url(../../static/media/roboto-latin-300-normal.c4bc0593c9954d79cb3a.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-cyrillic-ext-400-normal.5cec61a21cc20180fbe1.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-ext-400-normal.135d076fa32aa0b4d105.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-cyrillic-400-normal.a9e19870cf6c4b973427.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-400-normal.5d2930082227d172f62c.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-greek-ext-400-normal.1df4abad55796d11a0c8.woff2) format("woff2"),url(../../static/media/roboto-greek-ext-400-normal.16eb83b4a3b1ea994243.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-greek-400-normal.2c32b1315be61477013a.woff2) format("woff2"),url(../../static/media/roboto-greek-400-normal.160a791a8e4f46bca3cc.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-vietnamese-400-normal.d3f8e26d6c27de8102b6.woff2) format("woff2"),url(../../static/media/roboto-vietnamese-400-normal.0dc97c66f9b542d6fa17.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-latin-ext-400-normal.2eeae187764baf05867d.woff2) format("woff2"),url(../../static/media/roboto-latin-ext-400-normal.27da5b36b6d3a16f53f4.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:url(../../static/media/roboto-latin-400-normal.297d48e1b5a10c0831a9.woff2) format("woff2"),url(../../static/media/roboto-latin-400-normal.047a7839f69b209db815.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-cyrillic-ext-500-normal.6de16332fda843a3dc3d.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-ext-500-normal.c0a0638f90b31d6454ba.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-cyrillic-500-normal.0ae2428323939af5e1ad.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-500-normal.dd7bc8a52c6c70c5a3f5.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-greek-ext-500-normal.4a96ba31abcce0f5d52b.woff2) format("woff2"),url(../../static/media/roboto-greek-ext-500-normal.fd28d9c008bf3af1bed7.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-greek-500-normal.f95e757c5483310f9c11.woff2) format("woff2"),url(../../static/media/roboto-greek-500-normal.60810e07c7b0273013aa.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-vietnamese-500-normal.090fabef926bdc0e9b9f.woff2) format("woff2"),url(../../static/media/roboto-vietnamese-500-normal.23b7b8a2524d2d4b637b.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-latin-ext-500-normal.9a18d7bb9ff7a6af7b32.woff2) format("woff2"),url(../../static/media/roboto-latin-ext-500-normal.06c30711d588145a4541.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:url(../../static/media/roboto-latin-500-normal.7077203b1982951ecf76.woff2) format("woff2"),url(../../static/media/roboto-latin-500-normal.68d40d6d01c6f85d24ba.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-cyrillic-ext-700-normal.4750292c47fa2bc6ac1a.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-ext-700-normal.ca247189fc12d00de361.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-cyrillic-700-normal.4fdfc29a10e7d4b7c527.woff2) format("woff2"),url(../../static/media/roboto-cyrillic-700-normal.3f6e1548bd5175a8c342.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-greek-ext-700-normal.2dd6febad11502dec6a6.woff2) format("woff2"),url(../../static/media/roboto-greek-ext-700-normal.4abdc9fff4507f17d726.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-greek-700-normal.77dd370f2001e184ba0d.woff2) format("woff2"),url(../../static/media/roboto-greek-700-normal.df87b053fae3d7ad5f7a.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-vietnamese-700-normal.0a79a9fabfc32e33f360.woff2) format("woff2"),url(../../static/media/roboto-vietnamese-700-normal.35ed0597568ff6f19c16.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-latin-ext-700-normal.18841836e391d39e83a8.woff2) format("woff2"),url(../../static/media/roboto-latin-ext-700-normal.3c5bcdd0e69c4c3ffafe.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:url(../../static/media/roboto-latin-700-normal.4535474e1cf8598695ad.woff2) format("woff2"),url(../../static/media/roboto-latin-700-normal.9f6a16a7770c87b2042b.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}[frontend-theme=classic]{--main-bg-color:#c4c2c2;--main-text-color:#000;--main-grey-color:#616161;--main-light-color:#959595;--main-icon-color:#4d4d4d;--main-log-color:var(--main-text-color);--main-button-color:#fff;--main-button-bg-color:var(--primary-color);--main-menu-color:#26292d;--main-menu-bg-color:#e2e2e2;--main-menu-hover-color:#959595;--main-label-color:var(--main-grey-color);--primary-color:#009a00;--secondary-color:#92771f;--header-bg-color:var(--primary-color);--header-text-color:#fff;--footer-bg-color:var(--div-bg-color);--footer-text-color:var(--div-text-color);--ttip-bg-color:#555;--ttip-text-color:#fff;--table-border-color:#ddd;--table-text-color:#000;--table-even-bg-color:#bdbdbd;--table-odd-bg-color:var(--div-bg-color);--table-hover-bg-color:#5f8c9e;--table-selected-bg-color:#5f8c9e;--div-bg-color:#adadad;--div-text-color:#000;--div-shadow-color:#888;--div-border-color:#8b8b8b;--div-border-radius:0px;--div-title-bg-color:var(--div-bg-color);--div-title-text-color:#000;background-color:var(--main-bg-color);color:var(--main-text-color);font-family:Roboto,Helvetica,Arial,sans-serif}[frontend-theme=dark]{--main-bg-color:#26292d;--main-text-color:#fff;--main-grey-color:#616161;--main-light-color:#959595;--main-icon-color:var(--main-light-color);--main-log-color:var(--main-light-color);--main-button-color:#fff;--main-button-bg-color:var(--primary-color);--main-menu-color:var(--main-light-color);--main-menu-bg-color:var(--main-bg-color);--main-menu-hover-color:var(--div-bg-color);--main-label-color:var(--main-grey-color);--primary-color:#1976d2;--secondary-color:#a58827;--header-bg-color:var(--div-bg-color);--header-text-color:var(--primary-color);--footer-bg-color:var(--div-bg-color);--footer-text-color:var(--div-text-color);--ttip-bg-color:#555;--ttip-text-color:#fff;--table-border-color:var(--div-bg-color);--table-text-color:var(--main-light-color);--table-even-bg-color:var(--div-bg-color);--table-odd-bg-color:var(--div-bg-color);--table-hover-bg-color:var(--main-bg-color);--table-selected-bg-color:var(--main-bg-color);--div-bg-color:#1b1d21;--div-text-color:var(--main-light-color);--div-shadow-color:#34373d;--div-border-color:#1b1d21;--div-border-radius:5px;--div-title-bg-color:#1b1d21;--div-title-text-color:var(--primary-color)}[frontend-theme=dark],[frontend-theme=light]{background-color:var(--main-bg-color);color:var(--main-text-color);font-family:Roboto,Helvetica,Arial,sans-serif}[frontend-theme=light]{--main-bg-color:#f0f0f0;--main-text-color:#212121;--main-grey-color:#616161;--main-light-color:#363636;--main-icon-color:#7a7a7a;--main-log-color:var(--main-light-color);--main-button-color:#fff;--main-button-bg-color:var(--primary-color);--main-menu-color:var(--main-text-color);--main-menu-bg-color:var(--div-bg-color);--main-menu-hover-color:#85c0d8;--main-label-color:var(--main-grey-color);--primary-color:#2196f3;--secondary-color:#a58827;--header-bg-color:var(--div-bg-color);--header-text-color:var(--div-text-color);--footer-bg-color:var(--div-bg-color);--footer-text-color:var(--div-text-color);--ttip-bg-color:#555;--ttip-text-color:#fff;--table-border-color:var(--div-bg-color);--table-text-color:var(--main-light-color);--table-even-bg-color:var(--div-bg-color);--table-odd-bg-color:var(--div-bg-color);--table-hover-bg-color:#85c0d8;--table-selected-bg-color:#85c0d8;--div-bg-color:#fff;--div-text-color:#212121;--div-shadow-color:#bfbfbf;--div-border-color:var(--div-bg-color);--div-border-radius:5px;--div-title-bg-color:var(--div-bg-color);--div-title-text-color:var(--div-text-color)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:var(--primary-color);border-radius:5px}::-webkit-scrollbar-track{background:"inherit"}html{scrollbar-color:var(--primary-color) var(--div-bg-color);scrollbar-width:thin}.tooltip-container{display:inline-block;position:relative;z-index:10}.tooltip-text{background-color:var(--ttip-bg-color);border-radius:6px;bottom:calc(100% + 10px);color:var(--ttip-text-color);font-size:12px;left:50%;margin-left:-60px;opacity:0;padding:5px;position:absolute;text-align:center;transition:opacity .3s;visibility:hidden;z-index:1}.tooltip-container:hover{cursor:pointer}.tooltip-container:hover .tooltip-text{opacity:1;visibility:visible}.status-enabled{background-color:green}.status-disabled,.status-enabled{border-radius:.25rem;box-shadow:2px 2px 2px #0003;color:#fff;cursor:pointer;font-size:12px;padding:.2rem;text-align:center}.status-disabled{background-color:red}.status-information{background-color:#9e9e9e;color:#fff}.status-information,.status-warning{border-radius:.25rem;box-shadow:2px 2px 2px #0003;cursor:pointer;font-size:12px;padding:2px 10px;text-align:center}.status-warning{background-color:#e9db18;color:#000}.status-sponsor{background-color:#b6409c;padding:2px 10px}.status-blue,.status-sponsor{border-radius:.25rem;box-shadow:2px 2px 2px #0003;color:#fff;cursor:pointer;font-size:12px;text-align:center}.status-blue{background-color:#5f8c9e;padding:.2rem}.header{flex-direction:row;justify-content:space-between}.header,.sub-header{align-items:center;display:flex;gap:20px;height:40px;margin:0;padding:0}.sub-header{flex:0 0 auto;flex-direction:row}nav{align-items:center;display:flex}.nav-link{color:var(--main-icon-color);font-size:20px;margin:0 10px;text-decoration:none;transition:color .3s ease}.nav-link:hover{color:var(--primary-color)}table{border-collapse:collapse;table-layout:auto;width:100%}thead{border:1px solid var(--table-border-color);position:sticky;top:0;z-index:10}thead th{background:var(--header-bg-color);color:var(--header-text-color);z-index:10}tbody td,thead th{border:1px solid var(--table-border-color);padding:5px 10px;text-align:left}tbody td{font-size:14px;margin:0}tbody tr:hover{background-color:var(--table-hover-bg-color);color:var(--table-text-color)}.table-content-even{background-color:var(--table-even-bg-color);color:var(--table-text-color)}.table-content-odd{background-color:var(--table-odd-bg-color);color:var(--table-text-color)}.table-content-selected{background-color:var(--table-selected-bg-color);color:var(--table-text-color)}h3{margin:0}.MbfScreen{background-color:var(--main-bg-color);height:calc(100vh - 40px);padding:20px;width:calc(100vw - 40px)}.MbfPageDiv,.MbfScreen{display:flex;flex-direction:column;gap:20px;margin:0}.MbfPageDiv{height:calc(100% - 60px);padding:0;width:100%}.MbfWindowDiv{background-color:var(--div-bg-color);border:1px solid var(--table-border-color);border-radius:var(--div-border-radius);box-shadow:5px 5px 10px var(--div-shadow-color);box-sizing:border-box}.MbfWindowDiv,.MbfWindowDivTable{display:flex;flex-direction:column}.MbfWindowDivTable{display:block;flex:1 1 auto;gap:0;margin:-1px;overflow:auto;padding:0}.MbfWindowHeader{align-items:center;background-color:var(--header-bg-color);border-bottom:1px solid var(--table-border-color);box-sizing:border-box;display:"flex";padding:0;width:100%}.MbfWindowHeader,.MbfWindowHeaderText{color:var(--header-text-color);margin:0}.MbfWindowHeaderText{font-weight:700;padding:5px 10px}.MbfWindowFooter{align-items:center;display:"flex";justify-content:center;padding:0 10px 10px}.MbfWindowFooter,.MbfWindowFooterText{background-color:var(--footer-bg-color);color:var(--footer-text-color);margin:0}.MbfWindowFooterText{font-weight:700;padding:5px;text-align:center}.MbfWindowBody{display:flex;flex:1 1 auto;gap:10px;margin:0;padding:10px}.MbfWindowBodyColumn{flex:1 1 auto;flex-direction:column;padding:10px 0;width:100%}.MbfWindowBodyColumn,.MbfWindowBodyRow{display:flex;gap:0;margin:0;overflow:auto}.MbfWindowBodyRow{flex:1 1 auto;flex-direction:row;height:100%;padding:0 10px}.configSubmitButton{display:flex;flex-direction:row;justify-content:center;margin:20px;width:auto}.configSubmitButton button{width:auto}@media (max-width:1300px){.MbfScreen{height:1024px;width:1300px}.xxxheader{flex-direction:column}.xxxheader,.xxxsub-header{align-items:start;justify-content:start}}
2
+ /*# sourceMappingURL=main.e52977d6.css.map*/
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/css/main.e52977d6.css","mappings":"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","sources":["../node_modules/@fontsource/roboto/300.css","../node_modules/@fontsource/roboto/400.css","../node_modules/@fontsource/roboto/500.css","../node_modules/@fontsource/roboto/700.css","index.css","App.css"],"sourcesContent":["/* roboto-cyrillic-ext-300-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/roboto-cyrillic-ext-300-normal.woff2) format('woff2'), url(./files/roboto-cyrillic-ext-300-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* roboto-cyrillic-300-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/roboto-cyrillic-300-normal.woff2) format('woff2'), url(./files/roboto-cyrillic-300-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* roboto-greek-ext-300-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/roboto-greek-ext-300-normal.woff2) format('woff2'), url(./files/roboto-greek-ext-300-normal.woff) format('woff');\n unicode-range: U+1F00-1FFF;\n}\n\n/* roboto-greek-300-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/roboto-greek-300-normal.woff2) format('woff2'), url(./files/roboto-greek-300-normal.woff) format('woff');\n unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;\n}\n\n/* roboto-vietnamese-300-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/roboto-vietnamese-300-normal.woff2) format('woff2'), url(./files/roboto-vietnamese-300-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* roboto-latin-ext-300-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/roboto-latin-ext-300-normal.woff2) format('woff2'), url(./files/roboto-latin-ext-300-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* roboto-latin-300-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/roboto-latin-300-normal.woff2) format('woff2'), url(./files/roboto-latin-300-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}","/* roboto-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/roboto-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/roboto-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* roboto-cyrillic-400-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/roboto-cyrillic-400-normal.woff2) format('woff2'), url(./files/roboto-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* roboto-greek-ext-400-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/roboto-greek-ext-400-normal.woff2) format('woff2'), url(./files/roboto-greek-ext-400-normal.woff) format('woff');\n unicode-range: U+1F00-1FFF;\n}\n\n/* roboto-greek-400-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/roboto-greek-400-normal.woff2) format('woff2'), url(./files/roboto-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;\n}\n\n/* roboto-vietnamese-400-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/roboto-vietnamese-400-normal.woff2) format('woff2'), url(./files/roboto-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* roboto-latin-ext-400-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/roboto-latin-ext-400-normal.woff2) format('woff2'), url(./files/roboto-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* roboto-latin-400-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/roboto-latin-400-normal.woff2) format('woff2'), url(./files/roboto-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}","/* roboto-cyrillic-ext-500-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/roboto-cyrillic-ext-500-normal.woff2) format('woff2'), url(./files/roboto-cyrillic-ext-500-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* roboto-cyrillic-500-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/roboto-cyrillic-500-normal.woff2) format('woff2'), url(./files/roboto-cyrillic-500-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* roboto-greek-ext-500-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/roboto-greek-ext-500-normal.woff2) format('woff2'), url(./files/roboto-greek-ext-500-normal.woff) format('woff');\n unicode-range: U+1F00-1FFF;\n}\n\n/* roboto-greek-500-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/roboto-greek-500-normal.woff2) format('woff2'), url(./files/roboto-greek-500-normal.woff) format('woff');\n unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;\n}\n\n/* roboto-vietnamese-500-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/roboto-vietnamese-500-normal.woff2) format('woff2'), url(./files/roboto-vietnamese-500-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* roboto-latin-ext-500-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/roboto-latin-ext-500-normal.woff2) format('woff2'), url(./files/roboto-latin-ext-500-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* roboto-latin-500-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/roboto-latin-500-normal.woff2) format('woff2'), url(./files/roboto-latin-500-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}","/* roboto-cyrillic-ext-700-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/roboto-cyrillic-ext-700-normal.woff2) format('woff2'), url(./files/roboto-cyrillic-ext-700-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* roboto-cyrillic-700-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/roboto-cyrillic-700-normal.woff2) format('woff2'), url(./files/roboto-cyrillic-700-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* roboto-greek-ext-700-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/roboto-greek-ext-700-normal.woff2) format('woff2'), url(./files/roboto-greek-ext-700-normal.woff) format('woff');\n unicode-range: U+1F00-1FFF;\n}\n\n/* roboto-greek-700-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/roboto-greek-700-normal.woff2) format('woff2'), url(./files/roboto-greek-700-normal.woff) format('woff');\n unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;\n}\n\n/* roboto-vietnamese-700-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/roboto-vietnamese-700-normal.woff2) format('woff2'), url(./files/roboto-vietnamese-700-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* roboto-latin-ext-700-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/roboto-latin-ext-700-normal.woff2) format('woff2'), url(./files/roboto-latin-ext-700-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* roboto-latin-700-normal */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/roboto-latin-700-normal.woff2) format('woff2'), url(./files/roboto-latin-700-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}","body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n","/* App.css */\r\n\r\n/* Define the style for the body element */\r\n\r\n/* Classic Mode */\r\n[frontend-theme=\"classic\"] {\r\n --main-bg-color: #c4c2c2;\r\n --main-text-color: black;\r\n --main-grey-color: #616161;\r\n --main-light-color: #959595;\r\n --main-icon-color: #4d4d4d;\r\n --main-log-color: var(--main-text-color);\r\n --main-button-color: #ffffff;\r\n --main-button-bg-color: var(--primary-color);\r\n --main-menu-color: #26292d;\r\n --main-menu-bg-color: #e2e2e2;\r\n --main-menu-hover-color: #959595;\r\n --main-label-color: var(--main-grey-color);\r\n\r\n --primary-color: #009a00;\r\n --secondary-color: #92771f;\r\n\r\n --header-bg-color: var(--primary-color);\r\n --header-text-color: white;\r\n\r\n --footer-bg-color: var(--div-bg-color);\r\n --footer-text-color: var(--div-text-color);\r\n\r\n --ttip-bg-color: #555;\r\n --ttip-text-color: #fff;\r\n\r\n --table-border-color: #ddd;\r\n --table-text-color: black;\r\n --table-even-bg-color: #bdbdbd;\r\n --table-odd-bg-color: var(--div-bg-color);\r\n --table-hover-bg-color: #5f8c9e;\r\n --table-selected-bg-color: #5f8c9e;\r\n\r\n --div-bg-color: #adadad;\r\n --div-text-color: black;\r\n --div-shadow-color: #888;\r\n --div-border-color: rgb(139, 139, 139);\r\n --div-border-radius: 0px;\r\n --div-title-bg-color: var(--div-bg-color);\r\n --div-title-text-color: black;\r\n\r\n background-color: var(--main-bg-color);\r\n color: var(--main-text-color);\r\n font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;\r\n}\r\n\r\n/* Dark Mode */\r\n[frontend-theme=\"dark\"] {\r\n --main-bg-color: #26292d;\r\n --main-text-color: #ffffff;\r\n --main-grey-color: #616161;\r\n --main-light-color: #959595;\r\n --main-icon-color: var(--main-light-color);\r\n --main-log-color: var(--main-light-color);\r\n --main-button-color: #ffffff;\r\n --main-button-bg-color: var(--primary-color);\r\n --main-menu-color: var(--main-light-color);\r\n --main-menu-bg-color: var(--main-bg-color);\r\n --main-menu-hover-color: var(--div-bg-color);\r\n --main-label-color: var(--main-grey-color);\r\n\r\n --primary-color: #1976d2;\r\n --secondary-color: #a58827;\r\n\r\n --header-bg-color: var(--div-bg-color);\r\n --header-text-color: var(--primary-color);\r\n\r\n --footer-bg-color: var(--div-bg-color);\r\n --footer-text-color: var(--div-text-color);\r\n\r\n --ttip-bg-color: #555;\r\n --ttip-text-color: #fff;\r\n\r\n --table-border-color: var(--div-bg-color);\r\n --table-text-color: var(--main-light-color);\r\n --table-even-bg-color: var(--div-bg-color);\r\n --table-odd-bg-color: var(--div-bg-color);\r\n --table-hover-bg-color: var(--main-bg-color);\r\n --table-selected-bg-color: var(--main-bg-color);\r\n\r\n --div-bg-color: #1b1d21;\r\n --div-text-color: var(--main-light-color);\r\n --div-shadow-color: #34373d;\r\n --div-border-color: #1b1d21;\r\n --div-border-radius: 5px;\r\n --div-title-bg-color: #1b1d21;\r\n --div-title-text-color: var(--primary-color);\r\n\r\n background-color: var(--main-bg-color);\r\n color: var(--main-text-color);\r\n font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;\r\n}\r\n\r\n/* Light Mode */\r\n[frontend-theme=\"light\"] {\r\n --main-bg-color: #f0f0f0;\r\n --main-text-color: #212121;\r\n --main-grey-color: #616161;\r\n --main-light-color: #363636;\r\n --main-icon-color: #7a7a7a;\r\n --main-log-color: var(--main-light-color);\r\n --main-button-color: #ffffff;\r\n --main-button-bg-color: var(--primary-color);\r\n --main-menu-color: var(--main-text-color);\r\n --main-menu-bg-color: var(--div-bg-color);\r\n --main-menu-hover-color: #85c0d8;\r\n --main-label-color: var(--main-grey-color);\r\n\r\n --primary-color: #2196f3;\r\n --secondary-color: #a58827;\r\n\r\n --header-bg-color: var(--div-bg-color);\r\n --header-text-color: var(--div-text-color);\r\n\r\n --footer-bg-color: var(--div-bg-color);\r\n --footer-text-color: var(--div-text-color);\r\n\r\n --ttip-bg-color: #555;\r\n --ttip-text-color: #fff;\r\n\r\n --table-border-color: var(--div-bg-color);\r\n --table-text-color: var(--main-light-color);\r\n --table-even-bg-color: var(--div-bg-color);\r\n --table-odd-bg-color: var(--div-bg-color);\r\n --table-hover-bg-color: #85c0d8;\r\n --table-selected-bg-color: #85c0d8;\r\n\r\n --div-bg-color: #ffffff;\r\n --div-text-color: #212121;\r\n --div-shadow-color: #bfbfbf;\r\n --div-border-color: var(--div-bg-color);\r\n --div-border-radius: 5px;\r\n --div-title-bg-color: var(--div-bg-color);\r\n --div-title-text-color: var(--div-text-color);\r\n\r\n background-color: var(--main-bg-color);\r\n color: var(--main-text-color);\r\n font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;\r\n}\r\n\r\n/* For modern browsers */\r\n::-webkit-scrollbar {\r\n width: 10px;\r\n}\r\n\r\n::-webkit-scrollbar-thumb {\r\n background: var(--primary-color);\r\n border-radius: 5px;\r\n}\r\n\r\n::-webkit-scrollbar-thumb:hover {\r\n background: var(--primary-color);\r\n border-radius: 5px;\r\n}\r\n\r\n::-webkit-scrollbar-track {\r\n background: 'inherit';\r\n /* var(--div-bg-color);*/\r\n}\r\n\r\n/* For Firefox (it uses scrollbar-color and scrollbar-width) */\r\nhtml {\r\n scrollbar-color: var(--primary-color) var(--div-bg-color);\r\n /* thumb color, track color */\r\n scrollbar-width: thin;\r\n}\r\n\r\n/* Tooltip styles */\r\n.tooltip-container {\r\n position: relative;\r\n display: inline-block;\r\n z-index: 10;\r\n}\r\n\r\n.tooltip-text {\r\n visibility: hidden;\r\n background-color: var(--ttip-bg-color);\r\n color: var(--ttip-text-color);\r\n text-align: center;\r\n padding: 5px 5px;\r\n border-radius: 6px;\r\n\r\n position: absolute;\r\n z-index: 1;\r\n bottom: calc(100% + 10px);\r\n left: 50%;\r\n margin-left: -60px;\r\n\r\n opacity: 0;\r\n transition: opacity 0.3s;\r\n font-size: 12px;\r\n}\r\n\r\n.tooltip-container:hover {\r\n cursor: pointer;\r\n}\r\n\r\n.tooltip-container:hover .tooltip-text {\r\n visibility: visible;\r\n opacity: 1;\r\n}\r\n\r\n/* StatusIndicator styles */\r\n.status-enabled {\r\n background-color: green;\r\n color: white;\r\n padding: 0.2rem;\r\n border-radius: 0.25rem;\r\n text-align: center;\r\n font-size: 12px;\r\n cursor: pointer;\r\n box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);\r\n}\r\n\r\n.status-disabled {\r\n background-color: red;\r\n color: white;\r\n padding: 0.2rem;\r\n border-radius: 0.25rem;\r\n text-align: center;\r\n font-size: 12px;\r\n cursor: pointer;\r\n box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);\r\n}\r\n\r\n.status-information {\r\n background-color: #9e9e9e;\r\n color: white;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 2px;\r\n padding-top: 2px;\r\n border-radius: 0.25rem;\r\n text-align: center;\r\n font-size: 12px;\r\n cursor: pointer;\r\n box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);\r\n}\r\n\r\n.status-warning {\r\n background-color: #e9db18;\r\n color: black;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 2px;\r\n padding-top: 2px;\r\n border-radius: 0.25rem;\r\n text-align: center;\r\n font-size: 12px;\r\n cursor: pointer;\r\n box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);\r\n}\r\n\r\n.status-sponsor {\r\n background-color: #b6409c;\r\n color: white;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 2px;\r\n padding-top: 2px;\r\n border-radius: 0.25rem;\r\n text-align: center;\r\n font-size: 12px;\r\n cursor: pointer;\r\n box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);\r\n}\r\n\r\n.status-blue {\r\n background-color: #5f8c9e;\r\n color: white;\r\n padding: 0.2rem;\r\n border-radius: 0.25rem;\r\n text-align: center;\r\n font-size: 12px;\r\n cursor: pointer;\r\n box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);\r\n}\r\n\r\n/* Header styles */\r\n.header {\r\n display: flex;\r\n /*flex-wrap: 'wrap';*/\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: space-between;\r\n gap: 20px;\r\n margin: 0;\r\n padding: 0;\r\n height: 40px;\r\n}\r\n\r\n.sub-header {\r\n flex: 0 0 auto;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 20px;\r\n margin: 0;\r\n padding: 0;\r\n height: 40px;\r\n}\r\n\r\n/* Navigation style */\r\nnav {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n/* Navigation in Header.js style */\r\n.nav-link {\r\n margin: 0 10px;\r\n font-size: 20px;\r\n text-decoration: none;\r\n color: var(--main-icon-color);\r\n transition: color 0.3s ease;\r\n}\r\n\r\n.nav-link:hover {\r\n color: var(--primary-color);\r\n}\r\n\r\n/* Table styles */\r\ntable {\r\n border-collapse: collapse;\r\n width: 100%;\r\n table-layout: auto;\r\n}\r\n\r\nthead {\r\n position: sticky;\r\n top: 0;\r\n border: 1px solid var(--table-border-color);\r\n z-index: 10;\r\n}\r\n\r\nthead th {\r\n border: 1px solid var(--table-border-color);\r\n padding: 5px;\r\n padding-right: 10px;\r\n padding-left: 10px;\r\n color: var(--header-text-color);\r\n background: var(--header-bg-color);\r\n text-align: left;\r\n z-index: 10;\r\n}\r\n\r\ntbody td {\r\n border: 1px solid var(--table-border-color);\r\n margin: 0;\r\n padding: 5px;\r\n padding-right: 10px;\r\n padding-left: 10px;\r\n text-align: left;\r\n font-size: 14px;\r\n}\r\n\r\ntbody tr:hover {\r\n color: var(--table-text-color);\r\n background-color: var(--table-hover-bg-color);\r\n}\r\n\r\n.table-content-even {\r\n color: var(--table-text-color);\r\n background-color: var(--table-even-bg-color);\r\n}\r\n\r\n.table-content-odd {\r\n color: var(--table-text-color);\r\n background-color: var(--table-odd-bg-color);\r\n}\r\n\r\n.table-content-selected {\r\n color: var(--table-text-color);\r\n background-color: var(--table-selected-bg-color);\r\n}\r\n\r\nh3 {\r\n margin: 0;\r\n}\r\n\r\n/* Main screen style */\r\n.MbfScreen {\r\n display: flex;\r\n flex-direction: column;\r\n width: calc(100vw - 40px);\r\n height: calc(100vh - 40px);\r\n gap: 20px;\r\n margin: 0;\r\n padding: 20px;\r\n background-color: var(--main-bg-color);\r\n}\r\n\r\n/* Define the style for the main page element */\r\n.MbfPageDiv {\r\n display: flex;\r\n flex-direction: column;\r\n height: calc(100% - 60px);\r\n width: 100%;\r\n margin: 0px;\r\n padding: 0px;\r\n gap: 20px;\r\n}\r\n\r\n/* Define the style for the main div element */\r\n.MbfWindowDiv {\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 5px 5px 10px var(--div-shadow-color);\r\n border: 1px solid var(--table-border-color);\r\n border-radius: var(--div-border-radius);\r\n box-sizing: border-box;\r\n background-color: var(--div-bg-color);\r\n}\r\n\r\n/* Define the style for the main div element */\r\n.MbfWindowDivTable {\r\n display: flex;\r\n flex-direction: column;\r\n flex: 1 1 auto;\r\n margin: -1px;\r\n padding: 0;\r\n gap: 0;\r\n overflow: auto;\r\n display: block;\r\n}\r\n\r\n/* Define the style for the header element */\r\n.MbfWindowHeader {\r\n display: 'flex';\r\n align-items: center;\r\n width: 100%;\r\n border-bottom: 1px solid var(--table-border-color);\r\n color: var(--header-text-color);\r\n background-color: var(--header-bg-color);\r\n margin: 0px;\r\n padding: 0px;\r\n box-sizing: border-box;\r\n}\r\n\r\n/* Define the style for the header text element */\r\n.MbfWindowHeaderText {\r\n color: var(--header-text-color);\r\n font-weight: bold;\r\n margin: 0px;\r\n padding: 5px;\r\n padding-right: 10px;\r\n padding-left: 10px;\r\n}\r\n\r\n/* Define the style for the footer element */\r\n.MbfWindowFooter {\r\n display: 'flex';\r\n align-items: center;\r\n justify-content: center;\r\n color: var(--footer-text-color);\r\n background-color: var(--footer-bg-color);\r\n margin: 0px;\r\n padding: 10px;\r\n padding-top: 0px;\r\n}\r\n\r\n/* Define the style for the footer text element */\r\n.MbfWindowFooterText {\r\n color: var(--footer-text-color);\r\n background-color: var(--footer-bg-color);\r\n font-weight: bold;\r\n text-align: center;\r\n margin: 0px;\r\n padding: 5px;\r\n}\r\n\r\n/* Define the style for the body element */\r\n.MbfWindowBody {\r\n display: flex;\r\n flex: 1 1 auto;\r\n margin: 0px;\r\n padding: 10px;\r\n gap: 10px;\r\n}\r\n\r\n/* Define the style for the body element */\r\n.MbfWindowBodyColumn {\r\n display: flex;\r\n flex-direction: column;\r\n flex: 1 1 auto;\r\n width: 100%;\r\n margin: 0px;\r\n padding: 10px 0px 10px 0px;\r\n gap: 0px;\r\n overflow: auto;\r\n}\r\n\r\n/* Define the style for the body element */\r\n.MbfWindowBodyRow {\r\n display: flex;\r\n flex-direction: row;\r\n flex: 1 1 auto;\r\n height: 100%;\r\n margin: 0px;\r\n padding: 0px 10px 0px 10px;\r\n gap: 0px;\r\n overflow: auto;\r\n}\r\n\r\n/* Define the style for the config submit button */\r\n.configSubmitButton {\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n width: auto;\r\n margin: 20px;\r\n}\r\n\r\n.configSubmitButton button {\r\n width: auto;\r\n}\r\n\r\n/* Styles for mobile screens iPad Pro landscape 1366 x 1024 */\r\n@media (max-width: 1300px) {\r\n .MbfScreen {\r\n width: 1300px;\r\n height: 1024px;\r\n }\r\n\r\n .xxxheader {\r\n flex-direction: column;\r\n align-items: start;\r\n justify-content: start;\r\n }\r\n\r\n .xxxsub-header {\r\n align-items: start;\r\n justify-content: start;\r\n }\r\n}"],"names":[],"sourceRoot":""}