Completed login token support.
Ylian Saint-Hilaire committed
Apr 16, 2021 at 18:55 UTC
8ce24152f4fbf6a55822cbb98a785c96fcf7bb40
6 files changed
+2396
-2168
meshuser.js
+98
-4
@@ -95,6 +95,13 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
95
const Wsman = require('./amt/amt-wsman.js');
96
const Amt = require('./amt/amt.js');
97
98
+ // If this session has an expire time, setup a timer now.
99
+ if ((req.session != null) && (typeof req.session.expire == 'number')) {
100
+ var delta = (req.session.expire - Date.now());
101
+ if (delta <= 0) { req.session = {}; try { ws.close(); } catch (ex) { } return; } // Session is already expired, close now.
102
+ obj.expireTimer = setTimeout(function () { for (var i in req.session) { delete req.session[i]; } obj.close(); }, delta);
103
+ }
104
+
105
// Send a message to the user
106
//obj.send = function (data) { try { if (typeof data == 'string') { ws.send(Buffer.from(data, 'binary')); } else { ws.send(data); } } catch (e) { } }
107
@@ -118,6 +125,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
125
if (obj.pingtimer) { clearInterval(obj.pingtimer); delete obj.pingtimer; }
126
if (obj.pongtimer) { clearInterval(obj.pongtimer); delete obj.pongtimer; }
127
128
+ // Clear expire timeout
129
+ if (obj.expireTimer != null) { clearTimeout(obj.expireTimer); delete obj.expireTimer; }
130
+
131
// Perform cleanup
132
parent.parent.RemoveAllEventDispatch(ws);
133
if (obj.serverStatsTimer != null) { clearInterval(obj.serverStatsTimer); delete obj.serverStatsTimer; }
@@ -340,6 +350,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
350
351
// Handle events
352
ws.HandleEvent = function (source, event, ids, id) {
353
+ // If this session is logged in using a loginToken and the token is removed, disconnect.
354
+ if ((req.session.loginToken != null) && (typeof event == 'object') && (event.action == 'loginTokenChanged') && (event.removed != null) && (event.removed.indexOf(req.session.loginToken) >= 0)) { delete req.session; obj.close(); return; }
355
+
356
// Normally, only allow this user to receive messages from it's own domain.
357
// If the user is a cross domain administrator, allow some select messages from different domains.
358
if ((event.domain == null) || (event.domain == domain.id) || ((obj.crossDomain === true) && (allowedCrossDomainMessages.indexOf(event.action) >= 0))) {
@@ -874,6 +887,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
887
}
888
case 'serverconsole':
889
{
890
+ // Do not allow this command when logged in using a login token
891
+ if (req.session.loginToken != null) break;
892
+
893
// This is a server console message, only process this if full administrator
894
if (user.siteadmin != SITERIGHT_ADMIN) break;
895
@@ -1573,6 +1589,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1589
}
1590
case 'changelang':
1591
{
1592
+ // Do not allow this command when logged in using a login token
1593
+ if (req.session.loginToken != null) break;
1594
+
1595
// If this account is settings locked, return here.
1596
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return;
1597
@@ -1599,6 +1618,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1618
}
1619
case 'changeemail':
1620
{
1621
+ // Do not allow this command when logged in using a login token
1622
+ if (req.session.loginToken != null) break;
1623
+
1624
// If the email is the username, this command is not allowed.
1625
if (domain.usernameisemail) return;
1626
@@ -1650,6 +1672,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1672
}
1673
case 'verifyemail':
1674
{
1675
+ // Do not allow this command when logged in using a login token
1676
+ if (req.session.loginToken != null) break;
1677
+
1678
// If this account is settings locked, return here.
1679
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return;
1680
@@ -1795,6 +1820,11 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1820
db.Remove('ntp' + deluser._id); // Remove personal notes for this user
1821
db.Remove('im' + deluser._id); // Remove image for this user
1822
1823
+ // Delete any login tokens
1824
+ parent.parent.db.GetAllTypeNodeFiltered(['logintoken-' + deluser._id], domain.id, 'logintoken', null, function (err, docs) {
1825
+ if ((err == null) && (docs != null)) { for (var i = 0; i < docs.length; i++) { parent.parent.db.Remove(docs[i]._id, function () { }); } }
1826
+ });
1827
+
1828
// Delete all files on the server for this account
1829
try {
1830
var deluserpath = parent.getServerRootFilePath(deluser);
@@ -2209,6 +2239,8 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2239
}
2240
case 'updateUserImage':
2241
{
2242
+ if (req.session.loginToken != null) break; // Do not allow this command when logged in using a login token
2243
+
2244
var uid = user._id;
2245
if ((typeof command.userid == 'string') && ((user.siteadmin & SITERIGHT_MANAGEUSERS) != 0)) { uid = command.userid; }
2246
@@ -2653,6 +2685,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2685
}
2686
case 'changepassword':
2687
{
2688
+ // Do not allow this command when logged in using a login token
2689
+ if (req.session.loginToken != null) break;
2690
+
2691
// If this account is settings locked, return here.
2692
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return;
2693
@@ -2878,6 +2913,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2913
}
2914
case 'serverversion':
2915
{
2916
+ // Do not allow this command when logged in using a login token
2917
+ if (req.session.loginToken != null) break;
2918
+
2919
// Check the server version
2920
if ((user.siteadmin & 16) == 0) break;
2921
if ((domain.myserver === false) || ((domain.myserver != null) && (domain.myserver !== true) && (domain.myserver.upgrade !== true))) break;
@@ -2887,6 +2925,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2925
}
2926
case 'serverupdate':
2927
{
2928
+ // Do not allow this command when logged in using a login token
2929
+ if (req.session.loginToken != null) break;
2930
+
2931
// Perform server update
2932
if ((user.siteadmin & 16) == 0) break;
2933
if ((domain.myserver === false) || ((domain.myserver != null) && (domain.myserver !== true) && (domain.myserver.upgrade !== true))) break;
@@ -4357,6 +4398,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4398
}
4399
case 'otpemail':
4400
{
4401
+ // Do not allow this command when logged in using a login token
4402
+ if (req.session.loginToken != null) break;
4403
+
4404
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4405
4406
// Check input
@@ -4381,6 +4425,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4425
}
4426
case 'otpauth-request':
4427
{
4428
+ // Do not allow this command when logged in using a login token
4429
+ if (req.session.loginToken != null) break;
4430
+
4431
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4432
4433
// Check if 2-step login is supported
@@ -4400,6 +4447,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4447
}
4448
case 'otpauth-setup':
4449
{
4450
+ // Do not allow this command when logged in using a login token
4451
+ if (req.session.loginToken != null) break;
4452
+
4453
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4454
4455
// Check if 2-step login is supported
@@ -4430,6 +4480,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4480
}
4481
case 'otpauth-clear':
4482
{
4483
+ // Do not allow this command when logged in using a login token
4484
+ if (req.session.loginToken != null) break;
4485
+
4486
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4487
4488
// Check if 2-step login is supported
@@ -4455,6 +4508,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4508
}
4509
case 'otpauth-getpasswords':
4510
{
4511
+ // Do not allow this command when logged in using a login token
4512
+ if (req.session.loginToken != null) break;
4513
+
4514
// Check if 2-step login is supported
4515
const twoStepLoginSupported = ((parent.parent.config.settings.no2factorauth !== true) && (domain.auth != 'sspi') && (parent.parent.certificates.CommonName.indexOf('.') != -1) && (args.nousers !== true));
4516
if (twoStepLoginSupported == false) break;
@@ -4500,6 +4556,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4556
}
4557
case 'otp-hkey-get':
4558
{
4559
+ // Do not allow this command when logged in using a login token
4560
+ if (req.session.loginToken != null) break;
4561
+
4562
// Check if 2-step login is supported
4563
const twoStepLoginSupported = ((parent.parent.config.settings.no2factorauth !== true) && (domain.auth != 'sspi') && (parent.parent.certificates.CommonName.indexOf('.') != -1) && (args.nousers !== true));
4564
if (twoStepLoginSupported == false) break;
@@ -4513,6 +4572,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4572
}
4573
case 'otp-hkey-remove':
4574
{
4575
+ // Do not allow this command when logged in using a login token
4576
+ if (req.session.loginToken != null) break;
4577
+
4578
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4579
4580
// Check if 2-step login is supported
@@ -4537,6 +4599,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4599
}
4600
case 'otp-hkey-yubikey-add':
4601
{
4602
+ // Do not allow this command when logged in using a login token
4603
+ if (req.session.loginToken != null) break;
4604
+
4605
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4606
4607
// Yubico API id and signature key can be requested from https://upgrade.yubico.com/getapikey/
@@ -4592,6 +4657,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4657
}
4658
case 'otpdev-clear':
4659
{
4660
+ // Do not allow this command when logged in using a login token
4661
+ if (req.session.loginToken != null) break;
4662
+
4663
// Remove the authentication push notification device
4664
if (user.otpdev != null) {
4665
// Change the user
@@ -4609,6 +4677,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4677
}
4678
case 'otpdev-set':
4679
{
4680
+ // Do not allow this command when logged in using a login token
4681
+ if (req.session.loginToken != null) break;
4682
+
4683
// Attempt to add a authentication push notification device
4684
// This will only send a push notification to the device, the device needs to confirm for the auth device to be added.
4685
if (common.validateString(command.nodeid, 1, 1024) == false) break; // Check nodeid
@@ -4635,6 +4706,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4706
}
4707
case 'webauthn-startregister':
4708
{
4709
+ // Do not allow this command when logged in using a login token
4710
+ if (req.session.loginToken != null) break;
4711
+
4712
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4713
4714
// Check if 2-step login is supported
@@ -4649,6 +4723,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4723
}
4724
case 'webauthn-endregister':
4725
{
4726
+ // Do not allow this command when logged in using a login token
4727
+ if (req.session.loginToken != null) break;
4728
+
4729
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4730
const twoStepLoginSupported = ((parent.parent.config.settings.no2factorauth !== true) && (domain.auth != 'sspi') && (parent.parent.certificates.CommonName.indexOf('.') != -1) && (args.nousers !== true));
4731
if ((twoStepLoginSupported == false) || (obj.webAuthnReqistrationRequest == null)) return;
@@ -4689,6 +4766,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4766
break;
4767
}
4768
case 'verifyPhone': {
4769
+ // Do not allow this command when logged in using a login token
4770
+ if (req.session.loginToken != null) break;
4771
+
4772
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4773
if (parent.parent.smsserver == null) return;
4774
if (common.validateString(command.phone, 1, 18) == false) break; // Check phone length
@@ -4702,6 +4782,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4782
break;
4783
}
4784
case 'confirmPhone': {
4785
+ // Do not allow this command when logged in using a login token
4786
+ if (req.session.loginToken != null) break;
4787
+
4788
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4789
if ((parent.parent.smsserver == null) || (typeof command.cookie != 'string') || (typeof command.code != 'string') || (obj.failedSmsCookieCheck == 1)) break; // Input checks
4790
var cookie = parent.parent.decodeCookie(command.cookie);
@@ -4729,6 +4812,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4812
break;
4813
}
4814
case 'removePhone': {
4815
+ // Do not allow this command when logged in using a login token
4816
+ if (req.session.loginToken != null) break;
4817
+
4818
if ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1024) != 0)) return; // If this account is settings locked, return here.
4819
if (user.phone == null) break;
4820
@@ -5381,6 +5467,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5467
break;
5468
}
5469
case 'serverBackup': {
5470
+ // Do not allow this command when logged in using a login token
5471
+ if (req.session.loginToken != null) break;
5472
+
5473
if ((user.siteadmin != SITERIGHT_ADMIN) || (typeof parent.parent.config.settings.autobackup.googledrive != 'object')) return;
5474
if (command.service == 'googleDrive') {
5475
if (command.state == 0) {
@@ -5403,6 +5492,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5492
break;
5493
}
5494
case 'twoFactorCookie': {
5495
+ // Do not allow this command when logged in using a login token
5496
+ if (req.session.loginToken != null) break;
5497
+
5498
// Generate a two-factor cookie
5499
if (((domain.twofactorcookiedurationdays == null) || (domain.twofactorcookiedurationdays > 0))) {
5500
var maxCookieAge = domain.twofactorcookiedurationdays;
@@ -5611,6 +5703,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5703
break;
5704
}
5705
case 'loginTokens': { // Respond with the list of currently valid login tokens
5706
+ if (req.session.loginToken != null) break; // Do not allow this command when logged in using a login token
5707
if ((typeof domain.passwordrequirements != 'object') && (domain.passwordrequirements.logintokens == false)) break; // Login tokens are not supported on this server
5708
5709
// If remove is an array or strings, we are going to be removing these and returning the results.
@@ -5618,12 +5711,12 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5711
5712
parent.db.GetAllTypeNodeFiltered(['logintoken-' + user._id], domain.id, 'logintoken', null, function (err, docs) {
5713
if (err != null) return;
5621
- var now = Date.now(), removed = 0, okDocs = [];
5714
+ var now = Date.now(), removed = [], okDocs = [];
5715
for (var i = 0; i < docs.length; i++) {
5716
const doc = docs[i];
5717
if (((doc.expire != 0) && (doc.expire < now)) || (doc.tokenUser == null) || ((command.remove != null) && (command.remove.indexOf(doc.tokenUser) >= 0))) {
5718
// This share is expired.
5626
- parent.db.Remove(doc._id, function () { }); removed++;
5719
+ parent.db.Remove(doc._id, function () { }); removed.push(doc.tokenUser);
5720
} else {
5721
// This share is ok, remove extra data we don't need to send.
5722
delete doc._id; delete doc.domain; delete doc.nodeid; delete doc.type; delete doc.userid; delete doc.salt; delete doc.hash;
@@ -5633,17 +5726,18 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5726
try { ws.send(JSON.stringify({ action: 'loginTokens', loginTokens: okDocs })); } catch (ex) { }
5727
5728
// If any login tokens where removed, event the change.
5636
- if (removed > 0) {
5729
+ if (removed.length > 0) {
5730
// Dispatch the new event
5731
var targets = ['*', 'server-users', user._id];
5732
if (user.groups) { for (var i in user.groups) { targets.push('server-users:' + i); } }
5640
- var event = { etype: 'user', userid: user._id, username: user.name, action: 'loginTokenChanged', domain: domain.id, loginTokens: okDocs, nolog: 1 };
5733
+ var event = { etype: 'user', userid: user._id, username: user.name, action: 'loginTokenChanged', domain: domain.id, loginTokens: okDocs, removed: removed, nolog: 1 };
5734
parent.parent.DispatchEvent(targets, obj, event);
5735
}
5736
});
5737
break;
5738
}
5739
case 'createLoginToken': { // Create a new login token
5740
+ if (req.session.loginToken != null) break; // Do not allow this command when logged in using a login token
5741
if ((typeof domain.passwordrequirements != 'object') && (domain.passwordrequirements.logintokens == false)) break; // Login tokens are not supported on this server
5742
if (common.validateString(command.name, 1, 100) == false) break; // Check name
5743
if ((typeof command.expire != 'number') || (command.expire < 0)) break; // Check expire
public/scripts/agent-desktop-0.0.2-min.js
+1
-1
@@ -1 +1 @@
1
-Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:function(e,t){return new Uint8Array(Array.prototype.slice.call(this,e,t))}});var CreateAgentRemoteDesktop=function(e,t){var d={};"string"==typeof(d.CanvasId=e)&&(d.CanvasId=Q(e)),d.Canvas=d.CanvasId.getContext("2d"),d.scrolldiv=t,d.State=0,d.PendingOperations=[],d.tilesReceived=0,d.TilesDrawn=0,d.KillDraw=0,d.ipad=!1,d.tabletKeyboardVisible=!1,d.LastX=0,d.LastY=0,d.touchenabled=0,d.submenuoffset=0,d.touchtimer=null,d.TouchArray={},d.connectmode=0,d.connectioncount=0,d.rotation=0,d.protocol=2,d.debugmode=0,d.firstUpKeys=[],d.stopInput=!1,d.localKeyMap=!0,d.remoteKeyMap=!1,d.pressedKeys=[],d.sessionid=0,d.username,d.oldie=!1,d.CompressionLevel=50,d.ScalingLevel=1024,d.FrameRateTimer=100,d.SwapMouse=!1,d.FirstDraw=!1,d.ScreenWidth=960,d.ScreenHeight=701,d.width=960,d.height=960,d.displays=null,d.selectedDisplay=null,d.onScreenSizeChange=null,d.onMessage=null,d.onConnectCountChanged=null,d.onDebugMessage=null,d.onTouchEnabledChanged=null,d.onDisplayinfo=null;var h=!(d.accumulator=null),g="default";d.mouseCursorActive=function(e){h!=e&&(h=e,d.CanvasId.style.cursor=1==e?g:"default")};var p=["default","progress","crosshair","pointer","help","text","no-drop","move","nesw-resize","ns-resize","nwse-resize","w-resize","alias","wait","none","not-allowed","col-resize","row-resize","copy","zoom-in","zoom-out"];d.Start=function(){d.State=0,d.accumulator=null},d.Stop=function(){d.setRotation(0),d.UnGrabKeyInput(),d.UnGrabMouseInput(),d.touchenabled=0,null!=d.onScreenSizeChange&&d.onScreenSizeChange(d,d.ScreenWidth,d.ScreenHeight,d.CanvasId),d.Canvas.clearRect(0,0,d.CanvasId.width,d.CanvasId.height)},d.xxStateChange=function(e){d.State!=e&&(d.State=e,d.CanvasId.style.cursor="default",0===e&&d.Stop())},d.send=function(e){2<d.debugmode&&console.log("KSend("+e.length+"): "+rstr2hex(e)),null!=d.parent&&d.parent.send(e)},d.ProcessPictureMsg=function(e,t,n){var o=new Image;o.xcount=d.tilesReceived++;for(var a=d.tilesReceived,r=e.slice(4),s=0,i=[];5e4<r.byteLength-s;)i.push(String.fromCharCode.apply(null,r.slice(s,s+5e4))),s+=5e4;0<s?i.push(String.fromCharCode.apply(null,r.slice(s))):i.push(String.fromCharCode.apply(null,r)),o.src="data:image/jpeg;base64,"+btoa(i.join("")),o.onload=function(){if(null!=d.Canvas&&d.KillDraw<a&&0!=d.State)for(d.PendingOperations.push([a,2,o,t,n]);d.DoPendingOperations(););else d.PendingOperations.push([a,0])},o.error=function(){console.log("DecodeTileError")}},d.DoPendingOperations=function(){if(0==d.PendingOperations.length)return!1;for(var e=0;e<d.PendingOperations.length;e++){var t=d.PendingOperations[e];if(t[0]==d.TilesDrawn+1)return 1==t[1]?d.ProcessCopyRectMsg(t[2]):2==t[1]&&(d.Canvas.drawImage(t[2],d.rotX(t[3],t[4]),d.rotY(t[3],t[4])),delete t[2]),d.PendingOperations.splice(e,1),delete t,d.TilesDrawn++,d.TilesDrawn==d.tilesReceived&&d.KillDraw<d.TilesDrawn&&(d.KillDraw=d.TilesDrawn=d.tilesReceived=0),!0}return d.oldie&&0<d.PendingOperations.length&&d.TilesDrawn++,!1},d.ProcessCopyRectMsg=function(e){var t=((255&e.charCodeAt(0))<<8)+(255&e.charCodeAt(1)),n=((255&e.charCodeAt(2))<<8)+(255&e.charCodeAt(3)),o=((255&e.charCodeAt(4))<<8)+(255&e.charCodeAt(5)),a=((255&e.charCodeAt(6))<<8)+(255&e.charCodeAt(7)),r=((255&e.charCodeAt(8))<<8)+(255&e.charCodeAt(9)),e=((255&e.charCodeAt(10))<<8)+(255&e.charCodeAt(11));d.Canvas.drawImage(Canvas.canvas,t,n,r,e,o,a,r,e)},d.SendUnPause=function(){1<d.debugmode&&console.log("SendUnPause"),d.send(String.fromCharCode(0,8,0,5,0))},d.SendPause=function(){1<d.debugmode&&console.log("SendPause"),d.send(String.fromCharCode(0,8,0,5,1))},d.SendCompressionLevel=function(e,t,n,o){t&&(d.CompressionLevel=t),n&&(d.ScalingLevel=n),o&&(d.FrameRateTimer=o),d.send(String.fromCharCode(0,5,0,10,e,d.CompressionLevel)+d.shortToStr(d.ScalingLevel)+d.shortToStr(d.FrameRateTimer))},d.SendRefresh=function(){d.send(String.fromCharCode(0,6,0,4))},d.ProcessScreenMsg=function(e,t){if(0<d.debugmode&&console.log("ScreenSize: "+e+" x "+t),d.ScreenWidth!=e||d.ScreenHeight!=t){for(d.Canvas.setTransform(1,0,0,1,0,0),d.rotation=0,d.FirstDraw=!0,d.ScreenWidth=d.width=e,d.ScreenHeight=d.height=t,d.KillDraw=d.tilesReceived;0<d.PendingOperations.length;)d.PendingOperations.shift();d.SendCompressionLevel(1),d.SendUnPause(),null!=d.onScreenSizeChange&&d.onScreenSizeChange(d,d.ScreenWidth,d.ScreenHeight,d.CanvasId)}},d.ProcessBinaryCommand=function(e,t,n){var o,a;switch(3!=e&&4!=e&&7!=e||(o=(n[4]<<8)+n[5],a=(n[6]<<8)+n[7]),2<d.debugmode&&console.log("CMD",e,t,o,a),null!=d.recordedData&&(65e3<t?d.recordedData.push(S(2,1,d.shortToStr(27)+d.shortToStr(8)+d.intToStr(t)+d.shortToStr(e)+d.shortToStr(0)+d.shortToStr(0)+d.shortToStr(0)+String.fromCharCode.apply(null,n))):d.recordedData.push(S(2,1,String.fromCharCode.apply(null,n)))),e){case 3:d.FirstDraw&&d.onResize(),d.ProcessPictureMsg(n.slice(4),o,a);break;case 7:d.ProcessScreenMsg(o,a),d.SendKeyMsgKC(d.KeyAction.UP,16),d.SendKeyMsgKC(d.KeyAction.UP,17),d.SendKeyMsgKC(d.KeyAction.UP,18),d.SendKeyMsgKC(d.KeyAction.UP,91),d.SendKeyMsgKC(d.KeyAction.UP,92),d.SendKeyMsgKC(d.KeyAction.UP,16),d.send(String.fromCharCode(0,14,0,4));break;case 11:var r=0,s={},i=(n[4]<<8)+n[5];if(0<i)for(var r=(n[6+2*i]<<8)+n[7+2*i],c=0;c<i;c++){var u=(n[6+2*c]<<8)+n[7+2*c];s[u]=65535==u?"All Displays":"Display "+u}d.displays=s,d.selectedDisplay=r,null!=d.onDisplayinfo&&d.onDisplayinfo(d,s,r);break;case 12:break;case 14:d.touchenabled=1,d.TouchArray={},null!=d.onTouchEnabledChanged&&d.onTouchEnabledChanged(d.touchenabled);break;case 15:d.TouchArray={};break;case 17:var l=String.fromCharCode.apply(null,n.slice(4));console.log("Got KVM Message: "+l),null!=d.onMessage&&d.onMessage(l,d);break;case 65:"."!=(l=String.fromCharCode.apply(null,n.slice(4)))[0]?(console.log(l),d.parent&&d.parent.setConsoleMessage&&d.parent.setConsoleMessage(l)):console.log("KVM: "+l.substring(1));break;case 88:if(5!=t||d.stopInput)break;l=n[4];g=p[l=p.length<l?0:l],h&&(d.CanvasId.style.cursor=g);break;default:console.log("Unknown command",e,t)}},d.MouseButton={NONE:0,LEFT:2,RIGHT:8,MIDDLE:32},d.KeyAction={NONE:0,DOWN:1,UP:2,SCROLL:3,EXUP:4,EXDOWN:5,DBLCLICK:6},d.InputType={KEY:1,MOUSE:2,CTRLALTDEL:10,TOUCH:15,KEYUNICODE:85},d.Alternate=0;var o={Pause:19,CapsLock:20,Space:32,Quote:222,Minus:189,NumpadMultiply:106,NumpadAdd:107,PrintScreen:44,Comma:188,NumpadSubtract:109,NumpadDecimal:110,Period:190,Slash:191,NumpadDivide:111,Semicolon:186,Equal:187,OSLeft:91,BracketLeft:219,OSRight:91,Backslash:220,BracketRight:221,ContextMenu:93,Backquote:192,NumLock:144,ScrollLock:145,Backspace:8,Tab:9,Enter:13,NumpadEnter:13,Escape:27,Delete:46,Home:36,PageUp:33,PageDown:34,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,End:35,Insert:45,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,ShiftLeft:16,ShiftRight:16,ControlLeft:17,ControlRight:17,AltLeft:18,AltRight:18,MetaLeft:91,MetaRight:92,VolumeMute:181};function S(e,t,n){var o=Date.now();return"number"==typeof n?(d.recordedSize+=n,d.shortToStr(e)+d.shortToStr(t)+d.intToStr(n)+d.intToStr(o>>32)+d.intToStr(32&o)):(d.recordedSize+=n.length,d.shortToStr(e)+d.shortToStr(t)+d.intToStr(n.length)+d.intToStr(o>>32)+d.intToStr(32&o)+n)}return d.SendKeyMsg=function(e,t){var n;null!=e&&((t=t||window.event).code&&0==d.localKeyMap?null!=(n=(n=t).code.startsWith("Key")&&4==n.code.length?n.code.charCodeAt(3):n.code.startsWith("Digit")&&6==n.code.length?n.code.charCodeAt(5):n.code.startsWith("Numpad")&&7==n.code.length?n.code.charCodeAt(6)+48:o[n.code])&&d.SendKeyMsgKC(e,n):(59==(n=t.keyCode)?n=186:173==n?n=189:61==n&&(n=187),d.SendKeyMsgKC(e,n)))},d.SendMessage=function(e){3==d.State&&d.send(String.fromCharCode(0,17)+d.shortToStr(4+e.length)+e)},d.SendKeyMsgKC=function(e,t){if(3==d.State)if("object"==typeof e)for(var n in e)d.SendKeyMsgKC(e[n][0],e[n][1]);else 1==e?-1==d.pressedKeys.indexOf(t)&&d.pressedKeys.unshift(t):2==e&&-1!=(n=d.pressedKeys.indexOf(t))&&d.pressedKeys.splice(n,1),0<d.debugmode&&console.log("Sending Key "+t+", action "+e),d.send(String.fromCharCode(0,d.InputType.KEY,0,6,e-1,t))},d.SendStringUnicode=function(e){if(3==d.State)for(var t=0;t<e.length;t++)d.send(String.fromCharCode(0,d.InputType.KEYUNICODE,0,7,0)+ShortToStr(e.charCodeAt(t)))},d.SendKeyUnicode=function(e,t){3==d.State&&(0<d.debugmode&&console.log("Sending UnicodeKey "+t),d.send(String.fromCharCode(0,d.InputType.KEYUNICODE,0,7,e-1)+ShortToStr(t)))},d.sendcad=function(){d.SendCtrlAltDelMsg()},d.SendCtrlAltDelMsg=function(){3==d.State&&d.send(String.fromCharCode(0,d.InputType.CTRLALTDEL,0,4))},d.SendEscKey=function(){3==d.State&&d.send(String.fromCharCode(0,d.InputType.KEY,0,6,0,27,0,d.InputType.KEY,0,6,1,27))},d.SendStartMsg=function(){d.SendKeyMsgKC(d.KeyAction.EXDOWN,91),d.SendKeyMsgKC(d.KeyAction.EXUP,91)},d.SendCharmsMsg=function(){d.SendKeyMsgKC(d.KeyAction.EXDOWN,91),d.SendKeyMsgKC(d.KeyAction.DOWN,67),d.SendKeyMsgKC(d.KeyAction.UP,67),d.SendKeyMsgKC(d.KeyAction.EXUP,91)},d.SendTouchMsg1=function(e,t,n,o){3==d.State&&d.send(String.fromCharCode(0,d.InputType.TOUCH)+d.shortToStr(14)+String.fromCharCode(1,e)+d.intToStr(t)+d.shortToStr(n)+d.shortToStr(o))},d.SendTouchMsg2=function(e,t){var n,o,a="";for(o in d.TouchArray)o==e?n=t:1==d.TouchArray[o].f?(n=65542,d.TouchArray[o].f=3,0):2==d.TouchArray[o].f?(n=262144,0):n=131078,a+=String.fromCharCode(o)+d.intToStr(n)+d.shortToStr(d.TouchArray[o].x)+d.shortToStr(d.TouchArray[o].y),2==d.TouchArray[o].f&&delete d.TouchArray[o];3==d.State&&d.send(String.fromCharCode(0,d.InputType.TOUCH)+d.shortToStr(5+a.length)+String.fromCharCode(2)+a),0==Object.keys(d.TouchArray).length&&null!=d.touchtimer&&(clearInterval(d.touchtimer),d.touchtimer=null)},d.SendMouseMsg=function(e,t){var n,o,a,r,s,i;3==d.State&&null!=e&&null!=d.Canvas&&(t=t||window.event,s=d.Canvas.canvas.height/d.CanvasId.clientHeight,r=d.Canvas.canvas.width/d.CanvasId.clientWidth,i=d.GetPositionOfControl(d.Canvas.canvas),n=(t.pageX-i[0])*r,o=(t.pageY-i[1])*s,t.addx&&(n+=t.addx),t.addy&&(o+=t.addy),0<=n&&n<=d.Canvas.canvas.width&&0<=o&&o<=d.Canvas.canvas.height&&(r=a=0,e==d.KeyAction.UP||e==d.KeyAction.DOWN?t.which?a=1==t.which?d.MouseButton.LEFT:2==t.which?d.MouseButton.MIDDLE:d.MouseButton.RIGHT:t.button&&(a=0==t.button?d.MouseButton.LEFT:1==t.button?d.MouseButton.MIDDLE:d.MouseButton.RIGHT):e==d.KeyAction.SCROLL&&(t.detail?r=120*t.detail*-1:t.wheelDelta&&(r=3*t.wheelDelta)),!0===d.SwapMouse&&(a==d.MouseButton.LEFT?a=d.MouseButton.RIGHT:a==d.MouseButton.RIGHT&&(a=d.MouseButton.LEFT)),i="",i=e==d.KeyAction.DBLCLICK?String.fromCharCode(0,d.InputType.MOUSE,0,10,0,136,n/256&255,255&n,o/256&255,255&o):e==d.KeyAction.SCROLL?(t=r<(t=s=0)?(s=255-(Math.abs(r)>>8),255-(255&Math.abs(r))):(s=r>>8,255&r),String.fromCharCode(0,d.InputType.MOUSE,0,12,0,0,n/256&255,255&n,o/256&255,255&o,s,t)):String.fromCharCode(0,d.InputType.MOUSE,0,10,0,e==d.KeyAction.DOWN?a:2*a&255,n/256&255,255&n,o/256&255,255&o),d.Action==d.KeyAction.NONE?0==d.Alternate||d.ipad?(d.send(i),d.Alternate=1):d.Alternate=0:d.send(i)))},d.GetDisplayNumbers=function(){d.send(String.fromCharCode(0,11,0,4))},d.SetDisplay=function(e){d.send(String.fromCharCode(0,12,0,6,e>>8,255&e))},d.intToStr=function(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)},d.shortToStr=function(e){return String.fromCharCode(e>>8&255,255&e)},d.onResize=function(){0!=d.ScreenWidth&&0!=d.ScreenHeight&&(d.Canvas.canvas.width==d.ScreenWidth&&d.Canvas.canvas.height==d.ScreenHeight||(d.FirstDraw&&(d.Canvas.canvas.width=d.ScreenWidth,d.Canvas.canvas.height=d.ScreenHeight,d.Canvas.fillRect(0,0,d.ScreenWidth,d.ScreenHeight),null!=d.onScreenSizeChange&&d.onScreenSizeChange(d,d.ScreenWidth,d.ScreenHeight,d.CanvasId)),d.FirstDraw=!1,1<d.debugmode&&console.log("onResize: "+d.ScreenWidth+" x "+d.ScreenHeight)))},d.xxMouseInputGrab=!1,d.xxKeyInputGrab=!1,d.xxMouseMove=function(e){return 3==d.State&&d.SendMouseMsg(d.KeyAction.NONE,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},d.xxMouseUp=function(e){return 3==d.State&&d.SendMouseMsg(d.KeyAction.UP,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},d.xxMouseDown=function(e){return 3==d.State&&d.SendMouseMsg(d.KeyAction.DOWN,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},d.xxMouseDblClick=function(e){return 3==d.State&&d.SendMouseMsg(d.KeyAction.DBLCLICK,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},d.xxDOMMouseScroll=function(e){return 3!=d.State||(d.SendMouseMsg(d.KeyAction.SCROLL,e),!1)},d.xxMouseWheel=function(e){return 3!=d.State||(d.SendMouseMsg(d.KeyAction.SCROLL,e),!1)},d.xxKeyUp=function(e){return"Dead"!=e.key&&3==d.State&&("string"==typeof e.key&&1==e.key.length&&1!=e.ctrlKey&&1!=e.altKey&&(0==d.remoteKeyMap||0<d.debugmode)?d.SendKeyUnicode(d.KeyAction.UP,e.key.charCodeAt(0)):d.SendKeyMsg(d.KeyAction.UP,e)),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},d.xxKeyDown=function(e){if("Dead"!=e.key&&3==d.State&&("string"!=typeof e.key||1!=e.key.length||1==e.ctrlKey||1==e.altKey||!(0==d.remoteKeyMap||0<d.debugmode)))return d.SendKeyMsg(d.KeyAction.DOWN,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},d.xxKeyPress=function(e){return"Dead"!=e.key&&3==d.State&&"string"==typeof e.key&&1==e.key.length&&1!=e.ctrlKey&&1!=e.altKey&&(0==d.remoteKeyMap||0<d.debugmode)&&d.SendKeyUnicode(d.KeyAction.DOWN,e.key.charCodeAt(0)),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},d.handleKeys=function(e){return 1!=d.stopInput&&3==desktop.State&&d.xxKeyPress(e)},d.handleKeyUp=function(e){return 1!=d.stopInput&&3==desktop.State&&(d.firstUpKeys.length<5&&(d.firstUpKeys.push(e.keyCode),5==d.firstUpKeys.length&&("16,17,91,91,16"!=(t=d.firstUpKeys.join(","))&&"16,17,18,91,92"!=t||(d.stopInput=!0))),d.xxKeyUp(e));var t},d.handleKeyDown=function(e){return 1!=d.stopInput&&3==desktop.State&&d.xxKeyDown(e)},d.handleReleaseKeys=function(){var e,t=JSON.parse(JSON.stringify(d.pressedKeys));for(e in t)d.SendKeyMsgKC(d.KeyAction.UP,t[e])},d.mousedblclick=function(e){return 1!=d.stopInput&&d.xxMouseDblClick(e)},d.mousedown=function(e){return 1!=d.stopInput&&d.xxMouseDown(e)},d.mouseup=function(e){return 1!=d.stopInput&&d.xxMouseUp(e)},d.mousemove=function(e){return 1!=d.stopInput&&d.xxMouseMove(e)},d.mousewheel=function(e){return 1!=d.stopInput&&d.xxMouseWheel(e)},d.xxMsTouchEvent=function(e){var t,n,o,a;if(4!=e.originalEvent.pointerType)return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),"MSPointerDown"==e.type||"MSPointerMove"==e.type||"MSPointerUp"==e.type?(t=0,n=e.originalEvent.pointerId%256,o=e.offsetX*(Canvas.canvas.width/d.CanvasId.clientWidth),a=e.offsetY*(Canvas.canvas.height/d.CanvasId.clientHeight),"MSPointerDown"==e.type?t=65542:"MSPointerMove"==e.type?t=131078:"MSPointerUp"==e.type&&(t=262144),d.TouchArray[n]||(d.TouchArray[n]={x:o,y:a}),d.SendTouchMsg2(n,t),"MSPointerUp"==e.type&&delete d.TouchArray[n]):alert(e.type),!0},d.xxTouchStart=function(e){if(3==d.State)if(e.preventDefault&&e.preventDefault(),0==d.touchenabled||1==d.touchenabled){var t;1<e.originalEvent.touches.length||(t=e.originalEvent.touches[0],e.which=1,d.LastX=e.pageX=t.pageX,d.LastY=e.pageY=t.pageY,d.SendMouseMsg(KeyAction.DOWN,e))}else{var n,o,a=d.GetPositionOfControl(Canvas.canvas);for(n in e.originalEvent.changedTouches)e.originalEvent.changedTouches[n].identifier&&(o=e.originalEvent.changedTouches[n].identifier%256,d.TouchArray[o]||(d.TouchArray[o]={x:(e.originalEvent.touches[n].pageX-a[0])*(Canvas.canvas.width/d.CanvasId.clientWidth),y:(e.originalEvent.touches[n].pageY-a[1])*(Canvas.canvas.height/d.CanvasId.clientHeight),f:1}));0<Object.keys(d.TouchArray).length&&null==touchtimer&&(d.touchtimer=setInterval(function(){d.SendTouchMsg2(256,0)},50))}},d.xxTouchMove=function(e){if(3==d.State)if(e.preventDefault&&e.preventDefault(),0==d.touchenabled||1==d.touchenabled){var t;1<e.originalEvent.touches.length||(t=e.originalEvent.touches[0],e.which=1,d.LastX=e.pageX=t.pageX,d.LastY=e.pageY=t.pageY,d.SendMouseMsg(d.KeyAction.NONE,e))}else{var n,o,a=d.GetPositionOfControl(Canvas.canvas);for(n in e.originalEvent.changedTouches)e.originalEvent.changedTouches[n].identifier&&(o=e.originalEvent.changedTouches[n].identifier%256,d.TouchArray[o]&&(d.TouchArray[o].x=(e.originalEvent.touches[n].pageX-a[0])*(d.Canvas.canvas.width/d.CanvasId.clientWidth),d.TouchArray[o].y=(e.originalEvent.touches[n].pageY-a[1])*(d.Canvas.canvas.height/d.CanvasId.clientHeight)))}},d.xxTouchEnd=function(e){if(3==d.State)if(e.preventDefault&&e.preventDefault(),0==d.touchenabled||1==d.touchenabled)1<e.originalEvent.touches.length||(e.which=1,e.pageX=LastX,e.pageY=LastY,d.SendMouseMsg(KeyAction.UP,e));else for(var t in e.originalEvent.changedTouches)e.originalEvent.changedTouches[t].identifier&&(t=e.originalEvent.changedTouches[t].identifier%256,d.TouchArray[t]&&(d.TouchArray[t].f=2))},d.GrabMouseInput=function(){var e;1!=d.xxMouseInputGrab&&((e=d.CanvasId).onmousemove=d.xxMouseMove,e.onmouseup=d.xxMouseUp,e.onmousedown=d.xxMouseDown,e.touchstart=d.xxTouchStart,e.touchmove=d.xxTouchMove,e.touchend=d.xxTouchEnd,e.MSPointerDown=d.xxMsTouchEvent,e.MSPointerMove=d.xxMsTouchEvent,e.MSPointerUp=d.xxMsTouchEvent,navigator.userAgent.match(/mozilla/i)?e.DOMMouseScroll=d.xxDOMMouseScroll:e.onmousewheel=d.xxMouseWheel,d.xxMouseInputGrab=!0)},d.UnGrabMouseInput=function(){var e;0!=d.xxMouseInputGrab&&((e=d.CanvasId).onmousemove=null,e.onmouseup=null,e.onmousedown=null,e.touchstart=null,e.touchmove=null,e.touchend=null,e.MSPointerDown=null,e.MSPointerMove=null,e.MSPointerUp=null,navigator.userAgent.match(/mozilla/i)?e.DOMMouseScroll=null:e.onmousewheel=null,d.xxMouseInputGrab=!1)},d.GrabKeyInput=function(){1!=d.xxKeyInputGrab&&(document.onkeyup=d.xxKeyUp,document.onkeydown=d.xxKeyDown,document.onkeypress=d.xxKeyPress,d.xxKeyInputGrab=!0)},d.UnGrabKeyInput=function(){0!=d.xxKeyInputGrab&&(document.onkeyup=null,document.onkeydown=null,document.onkeypress=null,d.xxKeyInputGrab=!1)},d.GetPositionOfControl=function(e){var t=Array(2);for(t[0]=t[1]=0;e;)t[0]+=e.offsetLeft,t[1]+=e.offsetTop,e=e.offsetParent;return t},d.crotX=function(e,t){return 0==d.rotation?e:1==d.rotation?t:2==d.rotation?d.Canvas.canvas.width-e:3==d.rotation?d.Canvas.canvas.height-t:void 0},d.crotY=function(e,t){return 0==d.rotation?t:1==d.rotation?d.Canvas.canvas.width-e:2==d.rotation?d.Canvas.canvas.height-t:3==d.rotation?e:void 0},d.rotX=function(e,t){return 0==d.rotation||1==d.rotation?e:2==d.rotation?e-d.Canvas.canvas.width:3==d.rotation?e-d.Canvas.canvas.height:void 0},d.rotY=function(e,t){return 0==d.rotation||3==d.rotation?t:1==d.rotation?t-d.Canvas.canvas.width:2==d.rotation?t-d.Canvas.canvas.height:void 0},d.tcanvas=null,d.setRotation=function(e){for(;e<0;)e+=4;var t=e%4;if(t==d.rotation)return!0;var n=d.Canvas.canvas.width,o=d.Canvas.canvas.height;1!=d.rotation&&3!=d.rotation||(n=d.Canvas.canvas.height,o=d.Canvas.canvas.width),null==d.tcanvas&&(d.tcanvas=document.createElement("canvas"));var a=d.tcanvas.getContext("2d");return a.setTransform(1,0,0,1,0,0),a.canvas.width=n,a.canvas.height=o,a.rotate(-90*d.rotation*Math.PI/180),0==d.rotation&&a.drawImage(d.Canvas.canvas,0,0),1==d.rotation&&a.drawImage(d.Canvas.canvas,-d.Canvas.canvas.width,0),2==d.rotation&&a.drawImage(d.Canvas.canvas,-d.Canvas.canvas.width,-d.Canvas.canvas.height),3==d.rotation&&a.drawImage(d.Canvas.canvas,0,-d.Canvas.canvas.height),0!=d.rotation&&2!=d.rotation||(d.Canvas.canvas.height=n,d.Canvas.canvas.width=o),1!=d.rotation&&3!=d.rotation||(d.Canvas.canvas.height=o,d.Canvas.canvas.width=n),d.Canvas.setTransform(1,0,0,1,0,0),d.Canvas.rotate(90*t*Math.PI/180),d.rotation=t,d.Canvas.drawImage(d.tcanvas,d.rotX(0,0),d.rotY(0,0)),d.ScreenWidth=d.Canvas.canvas.width,d.ScreenHeight=d.Canvas.canvas.height,null!=d.onScreenSizeChange&&(console.log("s4",d.ScreenWidth,d.ScreenHeight),d.onScreenSizeChange(d,d.ScreenWidth,d.ScreenHeight,d.CanvasId)),!0},d.StartRecording=function(){null==d.recordedData&&d.CanvasId.toBlob(function(e){var s=new FileReader;s.readAsArrayBuffer(e),s.onload=function(e){for(var t="",n=new Uint8Array(s.result),o=n.byteLength,a=0;a<o;a++)t+=String.fromCharCode(n[a]);d.recordedData=[],d.recordedStart=Date.now(),d.recordedSize=0,d.recordedData.push(S(1,0,JSON.stringify({magic:"MeshCentralRelaySession",ver:1,time:(new Date).toLocaleString(),protocol:2}))),d.recordedData.push(S(2,1,d.shortToStr(7)+d.shortToStr(8)+d.shortToStr(d.ScreenWidth)+d.shortToStr(d.ScreenHeight)));var r=8+t.length;65e3<r?d.recordedData.push(S(2,1,d.shortToStr(27)+d.shortToStr(8)+d.intToStr(r)+d.shortToStr(3)+d.shortToStr(0)+d.shortToStr(0)+d.shortToStr(0)+t)):d.recordedData.push(S(2,1,d.shortToStr(3)+d.shortToStr(r)+d.shortToStr(0)+d.shortToStr(0)+t))}})},d.StopRecording=function(){if(null!=d.recordedData){var e=d.recordedData;return e.push(S(3,0,"MeshCentralMCREC")),delete d.recordedData,delete d.recordedStart,delete d.recordedSize,e}},d.MuchTheSame=function(e,t){return Math.abs(e-t)<4},d.Debug=function(e){console.log(e)},d.getIEVersion=function(){var e,t=-1;return"Microsoft Internet Explorer"==navigator.appName&&(e=navigator.userAgent,null!=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})").exec(e)&&(t=parseFloat(RegExp.$1))),t},d.haltEvent=function(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},d}
\ No newline at end of file
1
+Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:function(e,t){return new Uint8Array(Array.prototype.slice.call(this,e,t))}});var CreateAgentRemoteDesktop=function(e,t){var l={};"string"==typeof(l.CanvasId=e)&&(l.CanvasId=Q(e)),l.Canvas=l.CanvasId.getContext("2d"),l.scrolldiv=t,l.State=0,l.PendingOperations=[],l.tilesReceived=0,l.TilesDrawn=0,l.KillDraw=0,l.ipad=!1,l.tabletKeyboardVisible=!1,l.LastX=0,l.LastY=0,l.touchenabled=0,l.submenuoffset=0,l.touchtimer=null,l.TouchArray={},l.connectmode=0,l.connectioncount=0,l.rotation=0,l.protocol=2,l.debugmode=0,l.firstUpKeys=[],l.stopInput=!1,l.localKeyMap=!0,l.remoteKeyMap=!1,l.pressedKeys=[],l.sessionid=0,l.username,l.oldie=!1,l.CompressionLevel=50,l.ScalingLevel=1024,l.FrameRateTimer=100,l.SwapMouse=!1,l.FirstDraw=!1,l.ScreenWidth=960,l.ScreenHeight=701,l.width=960,l.height=960,l.displays=null,l.selectedDisplay=null,l.onScreenSizeChange=null,l.onMessage=null,l.onConnectCountChanged=null,l.onDebugMessage=null,l.onTouchEnabledChanged=null,l.onDisplayinfo=null;var h=!(l.accumulator=null),g="default";l.mouseCursorActive=function(e){h!=e&&(h=e,l.CanvasId.style.cursor=1==e?g:"default")};var p=["default","progress","crosshair","pointer","help","text","no-drop","move","nesw-resize","ns-resize","nwse-resize","w-resize","alias","wait","none","not-allowed","col-resize","row-resize","copy","zoom-in","zoom-out"];l.Start=function(){l.State=0,l.accumulator=null},l.Stop=function(){l.setRotation(0),l.UnGrabKeyInput(),l.UnGrabMouseInput(),l.touchenabled=0,null!=l.onScreenSizeChange&&l.onScreenSizeChange(l,l.ScreenWidth,l.ScreenHeight,l.CanvasId),l.Canvas.clearRect(0,0,l.CanvasId.width,l.CanvasId.height)},l.xxStateChange=function(e){l.State!=e&&(l.State=e,l.CanvasId.style.cursor="default",0===e&&l.Stop())},l.send=function(e){2<l.debugmode&&console.log("KSend("+e.length+"): "+rstr2hex(e)),null!=l.parent&&l.parent.send(e)},l.ProcessPictureMsg=function(e,t,n){var o=new Image;o.xcount=l.tilesReceived++;for(var a=l.tilesReceived,r=e.slice(4),s=0,i=[];5e4<r.byteLength-s;)i.push(String.fromCharCode.apply(null,r.slice(s,s+5e4))),s+=5e4;0<s?i.push(String.fromCharCode.apply(null,r.slice(s))):i.push(String.fromCharCode.apply(null,r)),o.src="data:image/jpeg;base64,"+btoa(i.join("")),o.onload=function(){if(null!=l.Canvas&&l.KillDraw<a&&0!=l.State)for(l.PendingOperations.push([a,2,o,t,n]);l.DoPendingOperations(););else l.PendingOperations.push([a,0])},o.error=function(){console.log("DecodeTileError")}},l.DoPendingOperations=function(){if(0==l.PendingOperations.length)return!1;for(var e=0;e<l.PendingOperations.length;e++){var t=l.PendingOperations[e];if(t[0]==l.TilesDrawn+1)return 1==t[1]?l.ProcessCopyRectMsg(t[2]):2==t[1]&&(l.Canvas.drawImage(t[2],l.rotX(t[3],t[4]),l.rotY(t[3],t[4])),delete t[2]),l.PendingOperations.splice(e,1),delete t,l.TilesDrawn++,l.TilesDrawn==l.tilesReceived&&l.KillDraw<l.TilesDrawn&&(l.KillDraw=l.TilesDrawn=l.tilesReceived=0),!0}return l.oldie&&0<l.PendingOperations.length&&l.TilesDrawn++,!1},l.ProcessCopyRectMsg=function(e){var t=((255&e.charCodeAt(0))<<8)+(255&e.charCodeAt(1)),n=((255&e.charCodeAt(2))<<8)+(255&e.charCodeAt(3)),o=((255&e.charCodeAt(4))<<8)+(255&e.charCodeAt(5)),a=((255&e.charCodeAt(6))<<8)+(255&e.charCodeAt(7)),r=((255&e.charCodeAt(8))<<8)+(255&e.charCodeAt(9)),e=((255&e.charCodeAt(10))<<8)+(255&e.charCodeAt(11));l.Canvas.drawImage(Canvas.canvas,t,n,r,e,o,a,r,e)},l.SendUnPause=function(){1<l.debugmode&&console.log("SendUnPause"),l.send(String.fromCharCode(0,8,0,5,0))},l.SendPause=function(){1<l.debugmode&&console.log("SendPause"),l.send(String.fromCharCode(0,8,0,5,1))},l.SendCompressionLevel=function(e,t,n,o){t&&(l.CompressionLevel=t),n&&(l.ScalingLevel=n),o&&(l.FrameRateTimer=o),l.send(String.fromCharCode(0,5,0,10,e,l.CompressionLevel)+l.shortToStr(l.ScalingLevel)+l.shortToStr(l.FrameRateTimer))},l.SendRefresh=function(){l.send(String.fromCharCode(0,6,0,4))},l.ProcessScreenMsg=function(e,t){if(0<l.debugmode&&console.log("ScreenSize: "+e+" x "+t),l.ScreenWidth!=e||l.ScreenHeight!=t){for(l.Canvas.setTransform(1,0,0,1,0,0),l.rotation=0,l.FirstDraw=!0,l.ScreenWidth=l.width=e,l.ScreenHeight=l.height=t,l.KillDraw=l.tilesReceived;0<l.PendingOperations.length;)l.PendingOperations.shift();l.SendCompressionLevel(1),l.SendUnPause(),null!=l.onScreenSizeChange&&l.onScreenSizeChange(l,l.ScreenWidth,l.ScreenHeight,l.CanvasId)}},l.ProcessBinaryCommand=function(e,t,n){var o,a;switch(3!=e&&4!=e&&7!=e||(o=(n[4]<<8)+n[5],a=(n[6]<<8)+n[7]),2<l.debugmode&&console.log("CMD",e,t,o,a),null!=l.recordedData&&(65e3<t?l.recordedData.push(S(2,1,l.shortToStr(27)+l.shortToStr(8)+l.intToStr(t)+l.shortToStr(e)+l.shortToStr(0)+l.shortToStr(0)+l.shortToStr(0)+String.fromCharCode.apply(null,n))):l.recordedData.push(S(2,1,String.fromCharCode.apply(null,n)))),e){case 3:l.FirstDraw&&l.onResize(),l.ProcessPictureMsg(n.slice(4),o,a);break;case 7:l.ProcessScreenMsg(o,a),l.SendKeyMsgKC(l.KeyAction.UP,16),l.SendKeyMsgKC(l.KeyAction.UP,17),l.SendKeyMsgKC(l.KeyAction.UP,18),l.SendKeyMsgKC(l.KeyAction.UP,91),l.SendKeyMsgKC(l.KeyAction.UP,92),l.SendKeyMsgKC(l.KeyAction.UP,16),l.send(String.fromCharCode(0,14,0,4));break;case 11:var r=0,s={},i=(n[4]<<8)+n[5];if(0<i)for(var r=(n[6+2*i]<<8)+n[7+2*i],c=0;c<i;c++){var u=(n[6+2*c]<<8)+n[7+2*c];s[u]=65535==u?"All Displays":"Display "+u}l.displays=s,l.selectedDisplay=r,null!=l.onDisplayinfo&&l.onDisplayinfo(l,s,r);break;case 12:break;case 14:l.touchenabled=1,l.TouchArray={},null!=l.onTouchEnabledChanged&&l.onTouchEnabledChanged(l.touchenabled);break;case 15:l.TouchArray={};break;case 17:var d=String.fromCharCode.apply(null,n.slice(4));console.log("Got KVM Message: "+d),null!=l.onMessage&&l.onMessage(d,l);break;case 65:"."!=(d=String.fromCharCode.apply(null,n.slice(4)))[0]?(console.log(d),l.parent&&l.parent.setConsoleMessage&&l.parent.setConsoleMessage(d)):console.log("KVM: "+d.substring(1));break;case 88:if(5!=t||l.stopInput)break;d=n[4];g=p[d=p.length<d?0:d],h&&(l.CanvasId.style.cursor=g);break;default:console.log("Unknown command",e,t)}},l.MouseButton={NONE:0,LEFT:2,RIGHT:8,MIDDLE:32},l.KeyAction={NONE:0,DOWN:1,UP:2,SCROLL:3,EXUP:4,EXDOWN:5,DBLCLICK:6},l.InputType={KEY:1,MOUSE:2,CTRLALTDEL:10,TOUCH:15,KEYUNICODE:85},l.Alternate=0;var o={Pause:19,CapsLock:20,Space:32,Quote:222,Minus:189,NumpadMultiply:106,NumpadAdd:107,PrintScreen:44,Comma:188,NumpadSubtract:109,NumpadDecimal:110,Period:190,Slash:191,NumpadDivide:111,Semicolon:186,Equal:187,OSLeft:91,BracketLeft:219,OSRight:91,Backslash:220,BracketRight:221,ContextMenu:93,Backquote:192,NumLock:144,ScrollLock:145,Backspace:8,Tab:9,Enter:13,NumpadEnter:13,Escape:27,Delete:46,Home:36,PageUp:33,PageDown:34,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,End:35,Insert:45,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,ShiftLeft:16,ShiftRight:16,ControlLeft:17,ControlRight:17,AltLeft:18,AltRight:18,MetaLeft:91,MetaRight:92,VolumeMute:181};function S(e,t,n){var o=Date.now();return"number"==typeof n?(l.recordedSize+=n,l.shortToStr(e)+l.shortToStr(t)+l.intToStr(n)+l.intToStr(o>>32)+l.intToStr(32&o)):(l.recordedSize+=n.length,l.shortToStr(e)+l.shortToStr(t)+l.intToStr(n.length)+l.intToStr(o>>32)+l.intToStr(32&o)+n)}return l.SendKeyMsg=function(e,t){var n;null!=e&&((t=t||window.event).code&&0==l.localKeyMap?null!=(n=(n=t).code.startsWith("Key")&&4==n.code.length?n.code.charCodeAt(3):n.code.startsWith("Digit")&&6==n.code.length?n.code.charCodeAt(5):n.code.startsWith("Numpad")&&7==n.code.length?n.code.charCodeAt(6)+48:o[n.code])&&l.SendKeyMsgKC(e,n):(59==(n=t.keyCode)?n=186:173==n?n=189:61==n&&(n=187),l.SendKeyMsgKC(e,n)))},l.SendMessage=function(e){3==l.State&&l.send(String.fromCharCode(0,17)+l.shortToStr(4+e.length)+e)},l.SendKeyMsgKC=function(e,t){if(3==l.State)if("object"==typeof e)for(var n in e)l.SendKeyMsgKC(e[n][0],e[n][1]);else 1==e?-1==l.pressedKeys.indexOf(t)&&l.pressedKeys.unshift(t):2==e&&-1!=(n=l.pressedKeys.indexOf(t))&&l.pressedKeys.splice(n,1),0<l.debugmode&&console.log("Sending Key "+t+", action "+e),l.send(String.fromCharCode(0,l.InputType.KEY,0,6,e-1,t))},l.SendStringUnicode=function(e){if(3==l.State)for(var t=0;t<e.length;t++)l.send(String.fromCharCode(0,l.InputType.KEYUNICODE,0,7,0)+ShortToStr(e.charCodeAt(t))),l.send(String.fromCharCode(0,l.InputType.KEYUNICODE,0,7,1)+ShortToStr(e.charCodeAt(t)))},l.SendKeyUnicode=function(e,t){3==l.State&&(0<l.debugmode&&console.log("Sending UnicodeKey "+t),l.send(String.fromCharCode(0,l.InputType.KEYUNICODE,0,7,e-1)+ShortToStr(t)))},l.sendcad=function(){l.SendCtrlAltDelMsg()},l.SendCtrlAltDelMsg=function(){3==l.State&&l.send(String.fromCharCode(0,l.InputType.CTRLALTDEL,0,4))},l.SendEscKey=function(){3==l.State&&l.send(String.fromCharCode(0,l.InputType.KEY,0,6,0,27,0,l.InputType.KEY,0,6,1,27))},l.SendStartMsg=function(){l.SendKeyMsgKC(l.KeyAction.EXDOWN,91),l.SendKeyMsgKC(l.KeyAction.EXUP,91)},l.SendCharmsMsg=function(){l.SendKeyMsgKC(l.KeyAction.EXDOWN,91),l.SendKeyMsgKC(l.KeyAction.DOWN,67),l.SendKeyMsgKC(l.KeyAction.UP,67),l.SendKeyMsgKC(l.KeyAction.EXUP,91)},l.SendTouchMsg1=function(e,t,n,o){3==l.State&&l.send(String.fromCharCode(0,l.InputType.TOUCH)+l.shortToStr(14)+String.fromCharCode(1,e)+l.intToStr(t)+l.shortToStr(n)+l.shortToStr(o))},l.SendTouchMsg2=function(e,t){var n,o,a="";for(o in l.TouchArray)o==e?n=t:1==l.TouchArray[o].f?(n=65542,l.TouchArray[o].f=3,0):2==l.TouchArray[o].f?(n=262144,0):n=131078,a+=String.fromCharCode(o)+l.intToStr(n)+l.shortToStr(l.TouchArray[o].x)+l.shortToStr(l.TouchArray[o].y),2==l.TouchArray[o].f&&delete l.TouchArray[o];3==l.State&&l.send(String.fromCharCode(0,l.InputType.TOUCH)+l.shortToStr(5+a.length)+String.fromCharCode(2)+a),0==Object.keys(l.TouchArray).length&&null!=l.touchtimer&&(clearInterval(l.touchtimer),l.touchtimer=null)},l.SendMouseMsg=function(e,t){var n,o,a,r,s,i;3==l.State&&null!=e&&null!=l.Canvas&&(t=t||window.event,s=l.Canvas.canvas.height/l.CanvasId.clientHeight,r=l.Canvas.canvas.width/l.CanvasId.clientWidth,i=l.GetPositionOfControl(l.Canvas.canvas),n=(t.pageX-i[0])*r,o=(t.pageY-i[1])*s,t.addx&&(n+=t.addx),t.addy&&(o+=t.addy),0<=n&&n<=l.Canvas.canvas.width&&0<=o&&o<=l.Canvas.canvas.height&&(r=a=0,e==l.KeyAction.UP||e==l.KeyAction.DOWN?t.which?a=1==t.which?l.MouseButton.LEFT:2==t.which?l.MouseButton.MIDDLE:l.MouseButton.RIGHT:t.button&&(a=0==t.button?l.MouseButton.LEFT:1==t.button?l.MouseButton.MIDDLE:l.MouseButton.RIGHT):e==l.KeyAction.SCROLL&&(t.detail?r=120*t.detail*-1:t.wheelDelta&&(r=3*t.wheelDelta)),!0===l.SwapMouse&&(a==l.MouseButton.LEFT?a=l.MouseButton.RIGHT:a==l.MouseButton.RIGHT&&(a=l.MouseButton.LEFT)),i="",i=e==l.KeyAction.DBLCLICK?String.fromCharCode(0,l.InputType.MOUSE,0,10,0,136,n/256&255,255&n,o/256&255,255&o):e==l.KeyAction.SCROLL?(t=r<(t=s=0)?(s=255-(Math.abs(r)>>8),255-(255&Math.abs(r))):(s=r>>8,255&r),String.fromCharCode(0,l.InputType.MOUSE,0,12,0,0,n/256&255,255&n,o/256&255,255&o,s,t)):String.fromCharCode(0,l.InputType.MOUSE,0,10,0,e==l.KeyAction.DOWN?a:2*a&255,n/256&255,255&n,o/256&255,255&o),l.Action==l.KeyAction.NONE?0==l.Alternate||l.ipad?(l.send(i),l.Alternate=1):l.Alternate=0:l.send(i)))},l.GetDisplayNumbers=function(){l.send(String.fromCharCode(0,11,0,4))},l.SetDisplay=function(e){l.send(String.fromCharCode(0,12,0,6,e>>8,255&e))},l.intToStr=function(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)},l.shortToStr=function(e){return String.fromCharCode(e>>8&255,255&e)},l.onResize=function(){0!=l.ScreenWidth&&0!=l.ScreenHeight&&(l.Canvas.canvas.width==l.ScreenWidth&&l.Canvas.canvas.height==l.ScreenHeight||(l.FirstDraw&&(l.Canvas.canvas.width=l.ScreenWidth,l.Canvas.canvas.height=l.ScreenHeight,l.Canvas.fillRect(0,0,l.ScreenWidth,l.ScreenHeight),null!=l.onScreenSizeChange&&l.onScreenSizeChange(l,l.ScreenWidth,l.ScreenHeight,l.CanvasId)),l.FirstDraw=!1,1<l.debugmode&&console.log("onResize: "+l.ScreenWidth+" x "+l.ScreenHeight)))},l.xxMouseInputGrab=!1,l.xxKeyInputGrab=!1,l.xxMouseMove=function(e){return 3==l.State&&l.SendMouseMsg(l.KeyAction.NONE,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},l.xxMouseUp=function(e){return 3==l.State&&l.SendMouseMsg(l.KeyAction.UP,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},l.xxMouseDown=function(e){return 3==l.State&&l.SendMouseMsg(l.KeyAction.DOWN,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},l.xxMouseDblClick=function(e){return 3==l.State&&l.SendMouseMsg(l.KeyAction.DBLCLICK,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},l.xxDOMMouseScroll=function(e){return 3!=l.State||(l.SendMouseMsg(l.KeyAction.SCROLL,e),!1)},l.xxMouseWheel=function(e){return 3!=l.State||(l.SendMouseMsg(l.KeyAction.SCROLL,e),!1)},l.xxKeyUp=function(e){return"Dead"!=e.key&&3==l.State&&("string"==typeof e.key&&1==e.key.length&&1!=e.ctrlKey&&1!=e.altKey&&(0==l.remoteKeyMap||0<l.debugmode)?l.SendKeyUnicode(l.KeyAction.UP,e.key.charCodeAt(0)):l.SendKeyMsg(l.KeyAction.UP,e)),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},l.xxKeyDown=function(e){if("Dead"!=e.key&&3==l.State&&("string"!=typeof e.key||1!=e.key.length||1==e.ctrlKey||1==e.altKey||!(0==l.remoteKeyMap||0<l.debugmode)))return l.SendKeyMsg(l.KeyAction.DOWN,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},l.xxKeyPress=function(e){return"Dead"!=e.key&&3==l.State&&"string"==typeof e.key&&1==e.key.length&&1!=e.ctrlKey&&1!=e.altKey&&(0==l.remoteKeyMap||0<l.debugmode)&&l.SendKeyUnicode(l.KeyAction.DOWN,e.key.charCodeAt(0)),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},l.handleKeys=function(e){return 1!=l.stopInput&&3==desktop.State&&l.xxKeyPress(e)},l.handleKeyUp=function(e){return 1!=l.stopInput&&3==desktop.State&&(l.firstUpKeys.length<5&&(l.firstUpKeys.push(e.keyCode),5==l.firstUpKeys.length&&("16,17,91,91,16"!=(t=l.firstUpKeys.join(","))&&"16,17,18,91,92"!=t||(l.stopInput=!0))),l.xxKeyUp(e));var t},l.handleKeyDown=function(e){return 1!=l.stopInput&&3==desktop.State&&l.xxKeyDown(e)},l.handleReleaseKeys=function(){var e,t=JSON.parse(JSON.stringify(l.pressedKeys));for(e in t)l.SendKeyMsgKC(l.KeyAction.UP,t[e])},l.mousedblclick=function(e){return 1!=l.stopInput&&l.xxMouseDblClick(e)},l.mousedown=function(e){return 1!=l.stopInput&&l.xxMouseDown(e)},l.mouseup=function(e){return 1!=l.stopInput&&l.xxMouseUp(e)},l.mousemove=function(e){return 1!=l.stopInput&&l.xxMouseMove(e)},l.mousewheel=function(e){return 1!=l.stopInput&&l.xxMouseWheel(e)},l.xxMsTouchEvent=function(e){var t,n,o,a;if(4!=e.originalEvent.pointerType)return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),"MSPointerDown"==e.type||"MSPointerMove"==e.type||"MSPointerUp"==e.type?(t=0,n=e.originalEvent.pointerId%256,o=e.offsetX*(Canvas.canvas.width/l.CanvasId.clientWidth),a=e.offsetY*(Canvas.canvas.height/l.CanvasId.clientHeight),"MSPointerDown"==e.type?t=65542:"MSPointerMove"==e.type?t=131078:"MSPointerUp"==e.type&&(t=262144),l.TouchArray[n]||(l.TouchArray[n]={x:o,y:a}),l.SendTouchMsg2(n,t),"MSPointerUp"==e.type&&delete l.TouchArray[n]):alert(e.type),!0},l.xxTouchStart=function(e){if(3==l.State)if(e.preventDefault&&e.preventDefault(),0==l.touchenabled||1==l.touchenabled){var t;1<e.originalEvent.touches.length||(t=e.originalEvent.touches[0],e.which=1,l.LastX=e.pageX=t.pageX,l.LastY=e.pageY=t.pageY,l.SendMouseMsg(KeyAction.DOWN,e))}else{var n,o,a=l.GetPositionOfControl(Canvas.canvas);for(n in e.originalEvent.changedTouches)e.originalEvent.changedTouches[n].identifier&&(o=e.originalEvent.changedTouches[n].identifier%256,l.TouchArray[o]||(l.TouchArray[o]={x:(e.originalEvent.touches[n].pageX-a[0])*(Canvas.canvas.width/l.CanvasId.clientWidth),y:(e.originalEvent.touches[n].pageY-a[1])*(Canvas.canvas.height/l.CanvasId.clientHeight),f:1}));0<Object.keys(l.TouchArray).length&&null==touchtimer&&(l.touchtimer=setInterval(function(){l.SendTouchMsg2(256,0)},50))}},l.xxTouchMove=function(e){if(3==l.State)if(e.preventDefault&&e.preventDefault(),0==l.touchenabled||1==l.touchenabled){var t;1<e.originalEvent.touches.length||(t=e.originalEvent.touches[0],e.which=1,l.LastX=e.pageX=t.pageX,l.LastY=e.pageY=t.pageY,l.SendMouseMsg(l.KeyAction.NONE,e))}else{var n,o,a=l.GetPositionOfControl(Canvas.canvas);for(n in e.originalEvent.changedTouches)e.originalEvent.changedTouches[n].identifier&&(o=e.originalEvent.changedTouches[n].identifier%256,l.TouchArray[o]&&(l.TouchArray[o].x=(e.originalEvent.touches[n].pageX-a[0])*(l.Canvas.canvas.width/l.CanvasId.clientWidth),l.TouchArray[o].y=(e.originalEvent.touches[n].pageY-a[1])*(l.Canvas.canvas.height/l.CanvasId.clientHeight)))}},l.xxTouchEnd=function(e){if(3==l.State)if(e.preventDefault&&e.preventDefault(),0==l.touchenabled||1==l.touchenabled)1<e.originalEvent.touches.length||(e.which=1,e.pageX=LastX,e.pageY=LastY,l.SendMouseMsg(KeyAction.UP,e));else for(var t in e.originalEvent.changedTouches)e.originalEvent.changedTouches[t].identifier&&(t=e.originalEvent.changedTouches[t].identifier%256,l.TouchArray[t]&&(l.TouchArray[t].f=2))},l.GrabMouseInput=function(){var e;1!=l.xxMouseInputGrab&&((e=l.CanvasId).onmousemove=l.xxMouseMove,e.onmouseup=l.xxMouseUp,e.onmousedown=l.xxMouseDown,e.touchstart=l.xxTouchStart,e.touchmove=l.xxTouchMove,e.touchend=l.xxTouchEnd,e.MSPointerDown=l.xxMsTouchEvent,e.MSPointerMove=l.xxMsTouchEvent,e.MSPointerUp=l.xxMsTouchEvent,navigator.userAgent.match(/mozilla/i)?e.DOMMouseScroll=l.xxDOMMouseScroll:e.onmousewheel=l.xxMouseWheel,l.xxMouseInputGrab=!0)},l.UnGrabMouseInput=function(){var e;0!=l.xxMouseInputGrab&&((e=l.CanvasId).onmousemove=null,e.onmouseup=null,e.onmousedown=null,e.touchstart=null,e.touchmove=null,e.touchend=null,e.MSPointerDown=null,e.MSPointerMove=null,e.MSPointerUp=null,navigator.userAgent.match(/mozilla/i)?e.DOMMouseScroll=null:e.onmousewheel=null,l.xxMouseInputGrab=!1)},l.GrabKeyInput=function(){1!=l.xxKeyInputGrab&&(document.onkeyup=l.xxKeyUp,document.onkeydown=l.xxKeyDown,document.onkeypress=l.xxKeyPress,l.xxKeyInputGrab=!0)},l.UnGrabKeyInput=function(){0!=l.xxKeyInputGrab&&(document.onkeyup=null,document.onkeydown=null,document.onkeypress=null,l.xxKeyInputGrab=!1)},l.GetPositionOfControl=function(e){var t=Array(2);for(t[0]=t[1]=0;e;)t[0]+=e.offsetLeft,t[1]+=e.offsetTop,e=e.offsetParent;return t},l.crotX=function(e,t){return 0==l.rotation?e:1==l.rotation?t:2==l.rotation?l.Canvas.canvas.width-e:3==l.rotation?l.Canvas.canvas.height-t:void 0},l.crotY=function(e,t){return 0==l.rotation?t:1==l.rotation?l.Canvas.canvas.width-e:2==l.rotation?l.Canvas.canvas.height-t:3==l.rotation?e:void 0},l.rotX=function(e,t){return 0==l.rotation||1==l.rotation?e:2==l.rotation?e-l.Canvas.canvas.width:3==l.rotation?e-l.Canvas.canvas.height:void 0},l.rotY=function(e,t){return 0==l.rotation||3==l.rotation?t:1==l.rotation?t-l.Canvas.canvas.width:2==l.rotation?t-l.Canvas.canvas.height:void 0},l.tcanvas=null,l.setRotation=function(e){for(;e<0;)e+=4;var t=e%4;if(t==l.rotation)return!0;var n=l.Canvas.canvas.width,o=l.Canvas.canvas.height;1!=l.rotation&&3!=l.rotation||(n=l.Canvas.canvas.height,o=l.Canvas.canvas.width),null==l.tcanvas&&(l.tcanvas=document.createElement("canvas"));var a=l.tcanvas.getContext("2d");return a.setTransform(1,0,0,1,0,0),a.canvas.width=n,a.canvas.height=o,a.rotate(-90*l.rotation*Math.PI/180),0==l.rotation&&a.drawImage(l.Canvas.canvas,0,0),1==l.rotation&&a.drawImage(l.Canvas.canvas,-l.Canvas.canvas.width,0),2==l.rotation&&a.drawImage(l.Canvas.canvas,-l.Canvas.canvas.width,-l.Canvas.canvas.height),3==l.rotation&&a.drawImage(l.Canvas.canvas,0,-l.Canvas.canvas.height),0!=l.rotation&&2!=l.rotation||(l.Canvas.canvas.height=n,l.Canvas.canvas.width=o),1!=l.rotation&&3!=l.rotation||(l.Canvas.canvas.height=o,l.Canvas.canvas.width=n),l.Canvas.setTransform(1,0,0,1,0,0),l.Canvas.rotate(90*t*Math.PI/180),l.rotation=t,l.Canvas.drawImage(l.tcanvas,l.rotX(0,0),l.rotY(0,0)),l.ScreenWidth=l.Canvas.canvas.width,l.ScreenHeight=l.Canvas.canvas.height,null!=l.onScreenSizeChange&&(console.log("s4",l.ScreenWidth,l.ScreenHeight),l.onScreenSizeChange(l,l.ScreenWidth,l.ScreenHeight,l.CanvasId)),!0},l.StartRecording=function(){null==l.recordedData&&l.CanvasId.toBlob(function(e){var s=new FileReader;s.readAsArrayBuffer(e),s.onload=function(e){for(var t="",n=new Uint8Array(s.result),o=n.byteLength,a=0;a<o;a++)t+=String.fromCharCode(n[a]);l.recordedData=[],l.recordedStart=Date.now(),l.recordedSize=0,l.recordedData.push(S(1,0,JSON.stringify({magic:"MeshCentralRelaySession",ver:1,time:(new Date).toLocaleString(),protocol:2}))),l.recordedData.push(S(2,1,l.shortToStr(7)+l.shortToStr(8)+l.shortToStr(l.ScreenWidth)+l.shortToStr(l.ScreenHeight)));var r=8+t.length;65e3<r?l.recordedData.push(S(2,1,l.shortToStr(27)+l.shortToStr(8)+l.intToStr(r)+l.shortToStr(3)+l.shortToStr(0)+l.shortToStr(0)+l.shortToStr(0)+t)):l.recordedData.push(S(2,1,l.shortToStr(3)+l.shortToStr(r)+l.shortToStr(0)+l.shortToStr(0)+t))}})},l.StopRecording=function(){if(null!=l.recordedData){var e=l.recordedData;return e.push(S(3,0,"MeshCentralMCREC")),delete l.recordedData,delete l.recordedStart,delete l.recordedSize,e}},l.MuchTheSame=function(e,t){return Math.abs(e-t)<4},l.Debug=function(e){console.log(e)},l.getIEVersion=function(){var e,t=-1;return"Microsoft Internet Explorer"==navigator.appName&&(e=navigator.userAgent,null!=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})").exec(e)&&(t=parseFloat(RegExp.$1))),t},l.haltEvent=function(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},l}
\ No newline at end of file
translate/translate.json
+2264
-2158
@@ -17,8 +17,8 @@
17
"zh-chs": " + CIRA",
18
"zh-cht": " + CIRA",
19
"xloc": [
20
- "default.handlebars->31->1533",
21
- "default.handlebars->31->1535"
20
+ "default.handlebars->31->1572",
21
+ "default.handlebars->31->1574"
22
]
23
},
24
{
@@ -204,7 +204,7 @@
204
"zh-chs": " 可以使用密码提示,但不建议使用。",
205
"zh-cht": " 可以使用密碼提示,但不建議使用。",
206
"xloc": [
207
- "default.handlebars->31->1446"
207
+ "default.handlebars->31->1475"
208
]
209
},
210
{
@@ -224,8 +224,8 @@
224
"zh-chs": " 用户需要先登录到该服务器一次,然后才能将其添加到设备组。",
225
"zh-cht": " 用戶需要先登入到該伺服器一次,然後才能將其新增到裝置群。",
226
"xloc": [
227
- "default.handlebars->31->1610",
228
- "default.handlebars->31->2096"
227
+ "default.handlebars->31->1649",
228
+ "default.handlebars->31->2137"
229
]
230
},
231
{
@@ -374,8 +374,7 @@
374
"pt": "(",
375
"ru": "(",
376
"xloc": [
377
- "default-mobile.handlebars->container->page_content->column_l->p3->p3info->3->p3createMeshLink1",
378
- "default.handlebars->container->column_l->p2->p2info->p2createMeshLink1"
377
+ "default-mobile.handlebars->container->page_content->column_l->p3->p3info->3->p3createMeshLink1"
378
]
379
},
380
{
@@ -395,7 +394,7 @@
394
"zh-chs": "(可选的)",
395
"zh-cht": "(可選的)",
396
"xloc": [
398
- "default.handlebars->31->382"
397
+ "default.handlebars->31->391"
398
]
399
},
400
{
@@ -411,8 +410,7 @@
410
"pt": ")",
411
"ru": ")",
412
"xloc": [
414
- "default-mobile.handlebars->container->page_content->column_l->p3->p3info->3->p3createMeshLink1",
415
- "default.handlebars->container->column_l->p2->p2info->p2createMeshLink1"
413
+ "default-mobile.handlebars->container->page_content->column_l->p3->p3info->3->p3createMeshLink1"
414
]
415
},
416
{
@@ -432,8 +430,8 @@
430
"zh-chs": "* 8个字符,1个大写,1个小写,1个数字,1个非字母数字。",
431
"zh-cht": "* 8個字符,1個大寫,1個小寫,1個數字,1個非字母數字。",
432
"xloc": [
435
- "default.handlebars->31->1579",
436
- "default.handlebars->31->348"
433
+ "default.handlebars->31->1618",
434
+ "default.handlebars->31->357"
435
]
436
},
437
{
@@ -453,7 +451,7 @@
451
"zh-chs": "*对于BSD,首先运行“ pkg install wget sudo bash ”。",
452
"zh-cht": "*對於BSD,首先運行“ pkg install wget sudo bash ”。",
453
"xloc": [
456
- "default.handlebars->31->422"
454
+ "default.handlebars->31->431"
455
]
456
},
457
{
@@ -508,7 +506,7 @@
506
"zh-cht": ",",
507
"xloc": [
508
"default-mobile.handlebars->11->598",
511
- "default.handlebars->31->1681"
509
+ "default.handlebars->31->1720"
510
]
511
},
512
{
@@ -529,7 +527,7 @@
527
"zh-cht": ",只適用於Intel®AMT",
528
"xloc": [
529
"default-mobile.handlebars->11->178",
532
- "default.handlebars->31->242"
530
+ "default.handlebars->31->251"
531
]
532
},
533
{
@@ -550,7 +548,7 @@
548
"zh-cht": ",MQTT在線",
549
"xloc": [
550
"default-mobile.handlebars->11->515",
553
- "default.handlebars->31->1176"
551
+ "default.handlebars->31->1185"
552
]
553
},
554
{
@@ -559,7 +557,7 @@
557
"nl": ", Geen toestemming",
558
"de": ", keine Zustimmung",
559
"xloc": [
562
- "default.handlebars->31->761"
560
+ "default.handlebars->31->770"
561
]
562
},
563
{
@@ -579,7 +577,7 @@
577
"zh-chs": ",提示同意",
578
"zh-cht": ",提示同意",
579
"xloc": [
582
- "default.handlebars->31->762"
580
+ "default.handlebars->31->771"
581
]
582
},
583
{
@@ -599,7 +597,7 @@
597
"zh-chs": ",软体KVM",
598
"zh-cht": ",軟體KVM",
599
"xloc": [
602
- "default.handlebars->31->958",
600
+ "default.handlebars->31->967",
601
"desktop.handlebars->3->12",
602
"sharing.handlebars->11->12"
603
]
@@ -609,7 +607,7 @@
607
"fr": ", barre d'outils",
608
"nl": ", Werkbalk",
609
"xloc": [
612
- "default.handlebars->31->763"
610
+ "default.handlebars->31->772"
611
]
612
},
613
{
@@ -618,7 +616,7 @@
616
"fr": ", Visualisation seulement",
617
"de": ", nur ansehen",
618
"xloc": [
621
- "default.handlebars->31->760"
619
+ "default.handlebars->31->769"
620
]
621
},
622
{
@@ -641,9 +639,9 @@
639
"default-mobile.handlebars->11->353",
640
"default-mobile.handlebars->11->385",
641
"default-mobile.handlebars->11->389",
644
- "default.handlebars->31->1027",
645
- "default.handlebars->31->1039",
646
- "default.handlebars->31->965",
642
+ "default.handlebars->31->1036",
643
+ "default.handlebars->31->1048",
644
+ "default.handlebars->31->974",
645
"desktop.handlebars->3->19",
646
"sharing.handlebars->11->19",
647
"sharing.handlebars->11->27",
@@ -770,7 +768,7 @@
768
"zh-chs": ",{0}观看",
769
"zh-cht": ",{0}觀看",
770
"xloc": [
773
- "default.handlebars->31->959",
771
+ "default.handlebars->31->968",
772
"desktop.handlebars->3->13",
773
"sharing.handlebars->11->13"
774
]
@@ -788,6 +786,7 @@
786
"pt": "-",
787
"ru": "-",
788
"xloc": [
789
+ "default.handlebars->container->column_l->p2->p2info->p2createMeshLink1",
790
"xterm.handlebars->p11->deskarea0->deskarea1->3"
791
]
792
},
@@ -836,9 +835,9 @@
835
"xloc": [
836
"default-mobile.handlebars->11->131",
837
"default-mobile.handlebars->11->391",
839
- "default.handlebars->31->1045",
840
- "default.handlebars->31->1733",
841
- "default.handlebars->31->2265",
838
+ "default.handlebars->31->1054",
839
+ "default.handlebars->31->1772",
840
+ "default.handlebars->31->2306",
841
"sharing.handlebars->11->50"
842
]
843
},
@@ -896,7 +895,7 @@
895
"zh-chs": "1个活跃时段",
896
"zh-cht": "1個活躍時段",
897
"xloc": [
899
- "default.handlebars->31->2169"
898
+ "default.handlebars->31->2210"
899
]
900
},
901
{
@@ -918,7 +917,7 @@
917
"xloc": [
918
"default-mobile.handlebars->11->141",
919
"default-mobile.handlebars->11->641",
921
- "default.handlebars->31->1757",
920
+ "default.handlebars->31->1796",
921
"download.handlebars->3->1",
922
"download2.handlebars->5->1",
923
"sharing.handlebars->11->96"
@@ -941,7 +940,7 @@
940
"zh-chs": "1条连接",
941
"zh-cht": "1位聯絡文",
942
"xloc": [
944
- "default.handlebars->31->961",
943
+ "default.handlebars->31->970",
944
"desktop.handlebars->3->15",
945
"sharing.handlebars->11->15"
946
]
@@ -964,8 +963,8 @@
963
"zh-cht": "1天",
964
"xloc": [
965
"default.handlebars->31->196",
967
- "default.handlebars->31->373",
968
- "default.handlebars->31->387"
966
+ "default.handlebars->31->382",
967
+ "default.handlebars->31->396"
968
]
969
},
970
{
@@ -985,7 +984,7 @@
984
"zh-chs": "1组",
985
"zh-cht": "1群",
986
"xloc": [
988
- "default.handlebars->31->2130"
987
+ "default.handlebars->31->2171"
988
]
989
},
990
{
@@ -1006,8 +1005,8 @@
1005
"zh-cht": "1小時",
1006
"xloc": [
1007
"default.handlebars->31->194",
1009
- "default.handlebars->31->371",
1010
- "default.handlebars->31->385"
1008
+ "default.handlebars->31->380",
1009
+ "default.handlebars->31->394"
1010
]
1011
},
1012
{
@@ -1027,7 +1026,8 @@
1026
"zh-chs": "1分钟",
1027
"zh-cht": "1分鐘",
1028
"xloc": [
1030
- "default.handlebars->31->823"
1029
+ "default.handlebars->31->1441",
1030
+ "default.handlebars->31->832"
1031
]
1032
},
1033
{
@@ -1068,8 +1068,8 @@
1068
"zh-cht": "1個月",
1069
"xloc": [
1070
"default.handlebars->31->198",
1071
- "default.handlebars->31->375",
1072
- "default.handlebars->31->389"
1071
+ "default.handlebars->31->384",
1072
+ "default.handlebars->31->398"
1073
]
1074
},
1075
{
@@ -1089,7 +1089,7 @@
1089
"zh-chs": "有1个用户没有显示,请使用搜索框查找用户...",
1090
"zh-cht": "有1個用戶沒有顯示,請使用搜尋框搜尋用戶...",
1091
"xloc": [
1092
- "default.handlebars->31->1920"
1092
+ "default.handlebars->31->1961"
1093
]
1094
},
1095
{
@@ -1109,7 +1109,7 @@
1109
"zh-chs": "1个节点",
1110
"zh-cht": "1個節點",
1111
"xloc": [
1112
- "default.handlebars->31->446"
1112
+ "default.handlebars->31->455"
1113
]
1114
},
1115
{
@@ -1117,7 +1117,7 @@
1117
"nl": "1 seconde",
1118
"xloc": [
1119
"default-mobile.handlebars->11->307",
1120
- "default.handlebars->31->851"
1120
+ "default.handlebars->31->860"
1121
]
1122
},
1123
{
@@ -1163,13 +1163,13 @@
1163
"default-mobile.handlebars->11->203",
1164
"default-mobile.handlebars->11->206",
1165
"default-mobile.handlebars->11->209",
1166
- "default.handlebars->31->1924",
1167
- "default.handlebars->31->292",
1168
- "default.handlebars->31->295",
1169
- "default.handlebars->31->298",
1166
+ "default.handlebars->31->1965",
1167
"default.handlebars->31->301",
1168
"default.handlebars->31->304",
1172
- "default.handlebars->31->307"
1169
+ "default.handlebars->31->307",
1170
+ "default.handlebars->31->310",
1171
+ "default.handlebars->31->313",
1172
+ "default.handlebars->31->316"
1173
]
1174
},
1175
{
@@ -1190,8 +1190,8 @@
1190
"zh-cht": "1週",
1191
"xloc": [
1192
"default.handlebars->31->197",
1193
- "default.handlebars->31->374",
1194
- "default.handlebars->31->388"
1193
+ "default.handlebars->31->383",
1194
+ "default.handlebars->31->397"
1195
]
1196
},
1197
{
@@ -1295,7 +1295,8 @@
1295
"zh-chs": "10分钟",
1296
"zh-cht": "10分鐘",
1297
"xloc": [
1298
- "default.handlebars->31->825"
1298
+ "default.handlebars->31->1443",
1299
+ "default.handlebars->31->834"
1300
]
1301
},
1302
{
@@ -1303,7 +1304,7 @@
1304
"nl": "10 seconden",
1305
"xloc": [
1306
"default-mobile.handlebars->11->309",
1306
- "default.handlebars->31->853"
1307
+ "default.handlebars->31->862"
1308
]
1309
},
1310
{
@@ -1388,7 +1389,8 @@
1389
"zh-chs": "12小时",
1390
"zh-cht": "12小時",
1391
"xloc": [
1391
- "default.handlebars->31->833"
1392
+ "default.handlebars->31->1451",
1393
+ "default.handlebars->31->842"
1394
]
1395
},
1396
{
@@ -1431,7 +1433,8 @@
1433
"zh-chs": "15分钟",
1434
"zh-cht": "15分鐘",
1435
"xloc": [
1434
- "default.handlebars->31->826"
1436
+ "default.handlebars->31->1444",
1437
+ "default.handlebars->31->835"
1438
]
1439
},
1440
{
@@ -1451,7 +1454,8 @@
1454
"zh-chs": "16小时",
1455
"zh-cht": "16小時",
1456
"xloc": [
1454
- "default.handlebars->31->834"
1457
+ "default.handlebars->31->1452",
1458
+ "default.handlebars->31->843"
1459
]
1460
},
1461
{
@@ -1471,7 +1475,8 @@
1475
"zh-chs": "2天",
1476
"zh-cht": "2天",
1477
"xloc": [
1474
- "default.handlebars->31->836"
1478
+ "default.handlebars->31->1454",
1479
+ "default.handlebars->31->845"
1480
]
1481
},
1482
{
@@ -1491,7 +1496,8 @@
1496
"zh-chs": "2小时",
1497
"zh-cht": "2小時",
1498
"xloc": [
1494
- "default.handlebars->31->830"
1499
+ "default.handlebars->31->1448",
1500
+ "default.handlebars->31->839"
1501
]
1502
},
1503
{
@@ -1595,7 +1601,8 @@
1601
"zh-chs": "24小时",
1602
"zh-cht": "24小時",
1603
"xloc": [
1598
- "default.handlebars->31->835"
1604
+ "default.handlebars->31->1453",
1605
+ "default.handlebars->31->844"
1606
]
1607
},
1608
{
@@ -1658,7 +1665,7 @@
1665
"zh-chs": "2FA备份代码已清除",
1666
"zh-cht": "2FA備份代碼已清除",
1667
"xloc": [
1661
- "default.handlebars->31->1868"
1668
+ "default.handlebars->31->1907"
1669
]
1670
},
1671
{
@@ -1678,8 +1685,8 @@
1685
"zh-chs": "启用第二因素身份验证",
1686
"zh-cht": "啟用第二因素身份驗證",
1687
"xloc": [
1681
- "default.handlebars->31->1937",
1682
- "default.handlebars->31->2152"
1688
+ "default.handlebars->31->1978",
1689
+ "default.handlebars->31->2193"
1690
]
1691
},
1692
{
@@ -1798,7 +1805,8 @@
1805
"zh-chs": "30分钟",
1806
"zh-cht": "30分鐘",
1807
"xloc": [
1801
- "default.handlebars->31->827"
1808
+ "default.handlebars->31->1445",
1809
+ "default.handlebars->31->836"
1810
]
1811
},
1812
{
@@ -1818,8 +1826,8 @@
1826
"zh-chs": "MeshAgent的32位版本",
1827
"zh-cht": "MeshAgent的32位版本",
1828
"xloc": [
1821
- "default.handlebars->31->412",
1822
- "default.handlebars->31->432"
1829
+ "default.handlebars->31->421",
1830
+ "default.handlebars->31->441"
1831
]
1832
},
1833
{
@@ -1862,7 +1870,8 @@
1870
"zh-chs": "4天",
1871
"zh-cht": "4天",
1872
"xloc": [
1865
- "default.handlebars->31->837"
1873
+ "default.handlebars->31->1455",
1874
+ "default.handlebars->31->846"
1875
]
1876
},
1877
{
@@ -1882,7 +1891,8 @@
1891
"zh-chs": "4个小时",
1892
"zh-cht": "4個小時",
1893
"xloc": [
1885
- "default.handlebars->31->831"
1894
+ "default.handlebars->31->1449",
1895
+ "default.handlebars->31->840"
1896
]
1897
},
1898
{
@@ -1965,7 +1975,8 @@
1975
"zh-chs": "45分钟",
1976
"zh-cht": "45分鐘",
1977
"xloc": [
1968
- "default.handlebars->31->828"
1978
+ "default.handlebars->31->1446",
1979
+ "default.handlebars->31->837"
1980
]
1981
},
1982
{
@@ -2005,7 +2016,8 @@
2016
"zh-chs": "5分钟",
2017
"zh-cht": "5分鐘",
2018
"xloc": [
2008
- "default.handlebars->31->824"
2019
+ "default.handlebars->31->1442",
2020
+ "default.handlebars->31->833"
2021
]
2022
},
2023
{
@@ -2013,7 +2025,7 @@
2025
"nl": "5 seconden",
2026
"xloc": [
2027
"default-mobile.handlebars->11->308",
2016
- "default.handlebars->31->852"
2028
+ "default.handlebars->31->861"
2029
]
2030
},
2031
{
@@ -2140,7 +2152,8 @@
2152
"zh-chs": "60分钟",
2153
"zh-cht": "60分鐘",
2154
"xloc": [
2143
- "default.handlebars->31->829"
2155
+ "default.handlebars->31->1447",
2156
+ "default.handlebars->31->838"
2157
]
2158
},
2159
{
@@ -2183,7 +2196,7 @@
2196
"zh-chs": "64位版本的macOS Mesh Agent",
2197
"zh-cht": "64位版本的macOS Mesh Agent",
2198
"xloc": [
2186
- "default.handlebars->31->426"
2199
+ "default.handlebars->31->435"
2200
]
2201
},
2202
{
@@ -2203,8 +2216,8 @@
2216
"zh-chs": "MeshAgent的64位版本",
2217
"zh-cht": "MeshAgent的64位版本",
2218
"xloc": [
2206
- "default.handlebars->31->416",
2207
- "default.handlebars->31->435"
2219
+ "default.handlebars->31->425",
2220
+ "default.handlebars->31->444"
2221
]
2222
},
2223
{
@@ -2261,7 +2274,7 @@
2274
"zh-chs": "7天电源状态",
2275
"zh-cht": "7天電源狀態",
2276
"xloc": [
2264
- "default.handlebars->31->886"
2277
+ "default.handlebars->31->895"
2278
]
2279
},
2280
{
@@ -2325,9 +2338,10 @@
2338
"zh-chs": "8小時",
2339
"zh-cht": "8小時",
2340
"xloc": [
2328
- "default.handlebars->31->372",
2329
- "default.handlebars->31->386",
2330
- "default.handlebars->31->832"
2341
+ "default.handlebars->31->1450",
2342
+ "default.handlebars->31->381",
2343
+ "default.handlebars->31->395",
2344
+ "default.handlebars->31->841"
2345
]
2346
},
2347
{
@@ -2400,7 +2414,7 @@
2414
"nl": "</div><div><a rel=\\\"noreferrer noopener\\\" target=_blank href=\\\"https://play.google.com/store/apps/details?id=com.meshcentral.agent2\\\"><img style=margin-top:20px;margin-left:5px;cursor:pointer width=40 height=40 src=\\\"images/android-40.png\\\" srcset=\\\"images/android-80.png 2x\\\" /></a></div></div>",
2415
"fr": "</div><div><a rel=\\\"noreferrer noopener\\\" target=_blank href=\\\"https://play.google.com/store/apps/details?id=com.meshcentral.agent2\\\"><img style=margin-top:20px;margin-left:5px;cursor:pointer width=40 height=40 src=\\\"images/android-40.png\\\" srcset=\\\"images/android-80.png 2x\\\" /></a></div></div>",
2416
"xloc": [
2403
- "default.handlebars->31->429"
2417
+ "default.handlebars->31->438"
2418
]
2419
},
2420
{
@@ -2561,8 +2575,8 @@
2575
"zh-cht": "ACM",
2576
"xloc": [
2577
"default-mobile.handlebars->11->267",
2564
- "default.handlebars->31->1549",
2565
- "default.handlebars->31->631"
2578
+ "default.handlebars->31->1588",
2579
+ "default.handlebars->31->640"
2580
]
2581
},
2582
{
@@ -2616,8 +2630,8 @@
2630
"zh-chs": "AMT",
2631
"zh-cht": "AMT",
2632
"xloc": [
2619
- "default.handlebars->31->279",
2620
- "default.handlebars->31->474"
2633
+ "default.handlebars->31->288",
2634
+ "default.handlebars->31->483"
2635
]
2636
},
2637
{
@@ -2732,8 +2746,8 @@
2746
"xloc": [
2747
"default-mobile.handlebars->11->427",
2748
"default-mobile.handlebars->11->429",
2735
- "default.handlebars->31->650",
2736
- "default.handlebars->31->652"
2749
+ "default.handlebars->31->659",
2750
+ "default.handlebars->31->661"
2751
]
2752
},
2753
{
@@ -2754,7 +2768,7 @@
2768
"zh-cht": "拒絕存取",
2769
"xloc": [
2770
"default-mobile.handlebars->11->516",
2757
- "default.handlebars->31->1177"
2771
+ "default.handlebars->31->1186"
2772
]
2773
},
2774
{
@@ -2802,7 +2816,7 @@
2816
"zh-chs": "访问服务器档案",
2817
"zh-cht": "存取伺服器檔案",
2818
"xloc": [
2805
- "default.handlebars->31->2102"
2819
+ "default.handlebars->31->2143"
2820
]
2821
},
2822
{
@@ -2891,11 +2905,11 @@
2905
"default-mobile.handlebars->11->242",
2906
"default-mobile.handlebars->11->244",
2907
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->3->p3AccountActions->p2AccountSecurity->1->0",
2894
- "default.handlebars->31->1455",
2895
- "default.handlebars->31->1457",
2896
- "default.handlebars->31->2381",
2897
- "default.handlebars->31->600",
2898
- "default.handlebars->31->602"
2908
+ "default.handlebars->31->1484",
2909
+ "default.handlebars->31->1486",
2910
+ "default.handlebars->31->2422",
2911
+ "default.handlebars->31->609",
2912
+ "default.handlebars->31->611"
2913
]
2914
},
2915
{
@@ -2905,7 +2919,7 @@
2919
"de": "Konto Einstellungen",
2920
"xloc": [
2921
"default-mobile.handlebars->11->609",
2908
- "default.handlebars->31->2273"
2922
+ "default.handlebars->31->2314"
2923
]
2924
},
2925
{
@@ -2966,7 +2980,7 @@
2980
"zh-chs": "帐户已更改:{0}",
2981
"zh-cht": "帳戶已更改:{0}",
2982
"xloc": [
2969
- "default.handlebars->31->1841"
2983
+ "default.handlebars->31->1880"
2984
]
2985
},
2986
{
@@ -2986,7 +3000,7 @@
3000
"zh-chs": "创建帐户,电子邮件为{0}",
3001
"zh-cht": "創建帳戶,電子郵件為{0}",
3002
"xloc": [
2989
- "default.handlebars->31->1840"
3003
+ "default.handlebars->31->1879"
3004
]
3005
},
3006
{
@@ -3006,7 +3020,7 @@
3020
"zh-chs": "创建帐户,用户名是{0}",
3021
"zh-cht": "帳戶已創建,用戶名是{0}",
3022
"xloc": [
3009
- "default.handlebars->31->1839"
3023
+ "default.handlebars->31->1878"
3024
]
3025
},
3026
{
@@ -3026,8 +3040,8 @@
3040
"zh-chs": "帐户已被锁定",
3041
"zh-cht": "帳戶已被鎖定",
3042
"xloc": [
3029
- "default.handlebars->31->1939",
3030
- "default.handlebars->31->2099"
3043
+ "default.handlebars->31->1980",
3044
+ "default.handlebars->31->2140"
3045
]
3046
},
3047
{
@@ -3048,7 +3062,7 @@
3062
"zh-cht": "達到帳戶限制。",
3063
"xloc": [
3064
"default-mobile.handlebars->11->621",
3051
- "default.handlebars->31->2285",
3065
+ "default.handlebars->31->2326",
3066
"login-mobile.handlebars->5->6",
3067
"login.handlebars->5->6",
3068
"login2.handlebars->7->8"
@@ -3093,7 +3107,7 @@
3107
"zh-chs": "帐号登录",
3108
"zh-cht": "帳號登錄",
3109
"xloc": [
3096
- "default.handlebars->31->1776"
3110
+ "default.handlebars->31->1815"
3111
]
3112
},
3113
{
@@ -3102,7 +3116,7 @@
3116
"fr": "Connexion de {0}, {1}, {2}",
3117
"de": "Konto Login von {0}, {1}, {2}",
3118
"xloc": [
3105
- "default.handlebars->31->1882"
3119
+ "default.handlebars->31->1921"
3120
]
3121
},
3122
{
@@ -3122,7 +3136,7 @@
3136
"zh-chs": "帐户登出",
3137
"zh-cht": "帳戶登出",
3138
"xloc": [
3125
- "default.handlebars->31->1777"
3139
+ "default.handlebars->31->1816"
3140
]
3141
},
3142
{
@@ -3164,7 +3178,7 @@
3178
"zh-chs": "帐户密码已更改:{0}",
3179
"zh-cht": "帳戶密碼已更改:{0}",
3180
"xloc": [
3167
- "default.handlebars->31->1849"
3181
+ "default.handlebars->31->1888"
3182
]
3183
},
3184
{
@@ -3184,7 +3198,7 @@
3198
"zh-chs": "帐户已删除",
3199
"zh-cht": "帳戶已刪除",
3200
"xloc": [
3187
- "default.handlebars->31->1838"
3201
+ "default.handlebars->31->1877"
3202
]
3203
},
3204
{
@@ -3225,7 +3239,7 @@
3239
"zh-cht": "指令",
3240
"xloc": [
3241
"default-mobile.handlebars->11->522",
3228
- "default.handlebars->31->1183",
3242
+ "default.handlebars->31->1192",
3243
"default.handlebars->container->column_l->p42->p42tbl->1->0->8"
3244
]
3245
},
@@ -3246,8 +3260,8 @@
3260
"zh-chs": "动作档案",
3261
"zh-cht": "動作檔案",
3262
"xloc": [
3249
- "default.handlebars->31->932",
3250
- "default.handlebars->31->934"
3263
+ "default.handlebars->31->941",
3264
+ "default.handlebars->31->943"
3265
]
3266
},
3267
{
@@ -3271,7 +3285,7 @@
3285
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea4->1->3",
3286
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->1",
3287
"default-mobile.handlebars->container->page_content->column_l->p10->p10terminal->termTable->termarea4->1->3",
3274
- "default.handlebars->31->693",
3288
+ "default.handlebars->31->702",
3289
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->1",
3290
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->1",
3291
"default.handlebars->container->column_l->p13->p13toolbar->1->0->1->1"
@@ -3294,7 +3308,7 @@
3308
"zh-chs": "使用FAT格式的USB密钥在管理控制模式(ACM)中激活英特尔®AMT。将setup.bin放在其上,然后使用此键引导一台或多台计算机。",
3309
"zh-cht": "使用FAT格式的USB密鑰在管理控制模式(ACM)中激活英特爾®AMT。將setup.bin放在其上,然後使用此鍵引導一台或多台計算機。",
3310
"xloc": [
3297
- "default.handlebars->31->342"
3311
+ "default.handlebars->31->351"
3312
]
3313
},
3314
{
@@ -3354,7 +3368,7 @@
3368
"zh-chs": "如果ACM失败,则激活到CCM",
3369
"zh-cht": "如果ACM失敗,則激活到CCM",
3370
"xloc": [
3357
- "default.handlebars->31->1570"
3371
+ "default.handlebars->31->1609"
3372
]
3373
},
3374
{
@@ -3377,9 +3391,9 @@
3391
"default-mobile.handlebars->11->262",
3392
"default-mobile.handlebars->11->264",
3393
"default-mobile.handlebars->11->478",
3380
- "default.handlebars->31->1138",
3381
- "default.handlebars->31->624",
3382
- "default.handlebars->31->626"
3394
+ "default.handlebars->31->1147",
3395
+ "default.handlebars->31->633",
3396
+ "default.handlebars->31->635"
3397
]
3398
},
3399
{
@@ -3419,7 +3433,13 @@
3433
"zh-chs": "主动设备共享",
3434
"zh-cht": "主動設備共享",
3435
"xloc": [
3422
- "default.handlebars->31->749"
3436
+ "default.handlebars->31->758"
3437
+ ]
3438
+ },
3439
+ {
3440
+ "en": "Active Login Tokens",
3441
+ "xloc": [
3442
+ "default.handlebars->31->1504"
3443
]
3444
},
3445
{
@@ -3446,7 +3466,7 @@
3466
"de": "hinzufügen",
3467
"xloc": [
3468
"default-mobile.handlebars->11->380",
3449
- "default.handlebars->31->996"
3469
+ "default.handlebars->31->1005"
3470
]
3471
},
3472
{
@@ -3466,8 +3486,8 @@
3486
"zh-chs": "添加代理",
3487
"zh-cht": "新增代理",
3488
"xloc": [
3469
- "default.handlebars->31->1545",
3470
- "default.handlebars->31->325"
3489
+ "default.handlebars->31->1584",
3490
+ "default.handlebars->31->334"
3491
]
3492
},
3493
{
@@ -3504,8 +3524,8 @@
3524
"zh-chs": "添加设备",
3525
"zh-cht": "新增裝置",
3526
"xloc": [
3507
- "default.handlebars->31->2076",
3508
- "default.handlebars->31->2206"
3527
+ "default.handlebars->31->2117",
3528
+ "default.handlebars->31->2247"
3529
]
3530
},
3531
{
@@ -3525,7 +3545,7 @@
3545
"zh-chs": "添加设备日志",
3546
"zh-cht": "新增裝置日誌",
3547
"xloc": [
3528
- "default.handlebars->31->805"
3548
+ "default.handlebars->31->814"
3549
]
3550
},
3551
{
@@ -3545,10 +3565,10 @@
3565
"zh-chs": "添加设备组",
3566
"zh-cht": "新增裝置群",
3567
"xloc": [
3548
- "default.handlebars->31->1645",
3549
- "default.handlebars->31->2070",
3550
- "default.handlebars->31->2194",
3551
- "default.handlebars->31->259"
3568
+ "default.handlebars->31->1684",
3569
+ "default.handlebars->31->2111",
3570
+ "default.handlebars->31->2235",
3571
+ "default.handlebars->31->268"
3572
]
3573
},
3574
{
@@ -3568,7 +3588,7 @@
3588
"zh-chs": "添加设备组权限",
3589
"zh-cht": "新增裝置群權限",
3590
"xloc": [
3571
- "default.handlebars->31->1642"
3591
+ "default.handlebars->31->1681"
3592
]
3593
},
3594
{
@@ -3588,8 +3608,8 @@
3608
"zh-chs": "添加设备权限",
3609
"zh-cht": "新增裝置權限",
3610
"xloc": [
3591
- "default.handlebars->31->1647",
3592
- "default.handlebars->31->1649"
3611
+ "default.handlebars->31->1686",
3612
+ "default.handlebars->31->1688"
3613
]
3614
},
3615
{
@@ -3626,7 +3646,7 @@
3646
"zh-chs": "添加英特尔®AMT设备",
3647
"zh-cht": "新增Intel® AMT裝置",
3648
"xloc": [
3629
- "default.handlebars->31->338"
3649
+ "default.handlebars->31->347"
3650
]
3651
},
3652
{
@@ -3666,7 +3686,7 @@
3686
"zh-chs": "添加本地",
3687
"zh-cht": "新增本地",
3688
"xloc": [
3669
- "default.handlebars->31->319"
3689
+ "default.handlebars->31->328"
3690
]
3691
},
3692
{
@@ -3686,7 +3706,7 @@
3706
"zh-chs": "添加成员身份",
3707
"zh-cht": "新增成員身份",
3708
"xloc": [
3689
- "default.handlebars->31->2226"
3709
+ "default.handlebars->31->2267"
3710
]
3711
},
3712
{
@@ -3706,7 +3726,7 @@
3726
"zh-chs": "添加 Mesh Agent",
3727
"zh-cht": "新增 Mesh Agent",
3728
"xloc": [
3709
- "default.handlebars->31->445"
3729
+ "default.handlebars->31->454"
3730
]
3731
},
3732
{
@@ -3726,8 +3746,8 @@
3746
"zh-chs": "添加安全密钥",
3747
"zh-cht": "新增安全密鑰",
3748
"xloc": [
3729
- "default.handlebars->31->1222",
3730
- "default.handlebars->31->1223",
3749
+ "default.handlebars->31->1231",
3750
+ "default.handlebars->31->1232",
3751
"default.handlebars->31->164",
3752
"default.handlebars->31->166",
3753
"default.handlebars->31->169",
@@ -3752,7 +3772,7 @@
3772
"zh-cht": "新增用戶",
3773
"xloc": [
3774
"default-mobile.handlebars->11->538",
3755
- "default.handlebars->31->741"
3775
+ "default.handlebars->31->750"
3776
]
3777
},
3778
{
@@ -3772,7 +3792,7 @@
3792
"zh-chs": "添加用户设备权限",
3793
"zh-cht": "新增用戶裝置權限",
3794
"xloc": [
3775
- "default.handlebars->31->1652"
3795
+ "default.handlebars->31->1691"
3796
]
3797
},
3798
{
@@ -3792,10 +3812,10 @@
3812
"zh-chs": "添加用户组",
3813
"zh-cht": "新增用戶群",
3814
"xloc": [
3795
- "default.handlebars->31->1541",
3796
- "default.handlebars->31->1644",
3797
- "default.handlebars->31->2200",
3798
- "default.handlebars->31->742"
3815
+ "default.handlebars->31->1580",
3816
+ "default.handlebars->31->1683",
3817
+ "default.handlebars->31->2241",
3818
+ "default.handlebars->31->751"
3819
]
3820
},
3821
{
@@ -3815,7 +3835,7 @@
3835
"zh-chs": "添加用户组设备权限",
3836
"zh-cht": "新增用戶群裝置權限",
3837
"xloc": [
3818
- "default.handlebars->31->1654"
3838
+ "default.handlebars->31->1693"
3839
]
3840
},
3841
{
@@ -3872,8 +3892,8 @@
3892
"zh-chs": "添加用户",
3893
"zh-cht": "新增用戶",
3894
"xloc": [
3875
- "default.handlebars->31->1540",
3876
- "default.handlebars->31->2065"
3895
+ "default.handlebars->31->1579",
3896
+ "default.handlebars->31->2106"
3897
]
3898
},
3899
{
@@ -3893,7 +3913,7 @@
3913
"zh-chs": "将用户添加到设备组",
3914
"zh-cht": "將用戶新增到裝置群",
3915
"xloc": [
3896
- "default.handlebars->31->1641"
3916
+ "default.handlebars->31->1680"
3917
]
3918
},
3919
{
@@ -3913,7 +3933,7 @@
3933
"zh-chs": "将用户添加到用户组",
3934
"zh-cht": "將用戶新增到用戶群",
3935
"xloc": [
3916
- "default.handlebars->31->2098"
3936
+ "default.handlebars->31->2139"
3937
]
3938
},
3939
{
@@ -3953,7 +3973,7 @@
3973
"zh-chs": "通过扫描本地网络添加新的英特尔®AMT计算机。",
3974
"zh-cht": "通過掃描本地網絡新增新的Intel® AMT電腦。",
3975
"xloc": [
3956
- "default.handlebars->31->320"
3976
+ "default.handlebars->31->329"
3977
]
3978
},
3979
{
@@ -3990,7 +4010,7 @@
4010
"zh-chs": "添加位于本地网络上的新英特尔®AMT计算机。",
4011
"zh-cht": "新增位於本地網絡上的新Intel® AMT電腦。",
4012
"xloc": [
3993
- "default.handlebars->31->318"
4013
+ "default.handlebars->31->327"
4014
]
4015
},
4016
{
@@ -4010,7 +4030,7 @@
4030
"zh-chs": "将新的英特尔®AMT设备添加到设备组“{0}”。",
4031
"zh-cht": "將新的Intel® AMT裝置新增到裝置群“{0}”。",
4032
"xloc": [
4013
- "default.handlebars->31->328"
4033
+ "default.handlebars->31->337"
4034
]
4035
},
4036
{
@@ -4030,8 +4050,8 @@
4050
"zh-chs": "通过安装Mesh Agent将新计算机添加到该设备组。",
4051
"zh-cht": "通過安裝Mesh Agent將新電腦新增到該裝置群。",
4052
"xloc": [
4033
- "default.handlebars->31->1544",
4034
- "default.handlebars->31->324"
4053
+ "default.handlebars->31->1583",
4054
+ "default.handlebars->31->333"
4055
]
4056
},
4057
{
@@ -4051,7 +4071,7 @@
4071
"zh-chs": "添加标签",
4072
"zh-cht": "新增標籤",
4073
"xloc": [
4054
- "default.handlebars->31->514"
4074
+ "default.handlebars->31->523"
4075
]
4076
},
4077
{
@@ -4071,7 +4091,7 @@
4091
"zh-chs": "通过定期在远程设备上以管理员身份运行MeshCmd,添加,激活和配置Intel®AMT以将“{0}”分组。",
4092
"zh-cht": "通過定期在遠程設備上以管理員身份運行MeshCmd,添加,激活和配置Intel®AMT以將“{0}”分組。",
4093
"xloc": [
4074
- "default.handlebars->31->339"
4094
+ "default.handlebars->31->348"
4095
]
4096
},
4097
{
@@ -4091,7 +4111,7 @@
4111
"zh-chs": "添加了身份验证应用程序",
4112
"zh-cht": "添加了身份驗證應用程序",
4113
"xloc": [
4094
- "default.handlebars->31->1865"
4114
+ "default.handlebars->31->1904"
4115
]
4116
},
4117
{
@@ -4111,7 +4131,7 @@
4131
"zh-chs": "已将设备共享{0}从{1}添加到{2}",
4132
"zh-cht": "已將設備共享{0}從{1}添加到{2}",
4133
"xloc": [
4114
- "default.handlebars->31->1876"
4134
+ "default.handlebars->31->1915"
4135
]
4136
},
4137
{
@@ -4131,15 +4151,21 @@
4151
"zh-chs": "已将设备{0}添加到设备组{1}",
4152
"zh-cht": "已將設備{0}添加到設備組{1}",
4153
"xloc": [
4134
- "default.handlebars->31->1832",
4135
- "default.handlebars->31->1859"
4154
+ "default.handlebars->31->1871",
4155
+ "default.handlebars->31->1898"
4156
+ ]
4157
+ },
4158
+ {
4159
+ "en": "Added login token",
4160
+ "xloc": [
4161
+ "default.handlebars->31->1929"
4162
]
4163
},
4164
{
4165
"en": "Added push notification authentication device",
4166
"nl": "Verificatie apparaat voor pushmeldingen toegevoegd",
4167
"xloc": [
4142
- "default.handlebars->31->1888"
4168
+ "default.handlebars->31->1927"
4169
]
4170
},
4171
{
@@ -4159,7 +4185,7 @@
4185
"zh-chs": "添加了安全密钥",
4186
"zh-cht": "添加了安全密鑰",
4187
"xloc": [
4162
- "default.handlebars->31->1870"
4188
+ "default.handlebars->31->1909"
4189
]
4190
},
4191
{
@@ -4179,7 +4205,7 @@
4205
"zh-chs": "已将用户组{0}添加到设备组{1}",
4206
"zh-cht": "已將用戶組{0}添加到設備組{1}",
4207
"xloc": [
4182
- "default.handlebars->31->1843"
4208
+ "default.handlebars->31->1882"
4209
]
4210
},
4211
{
@@ -4199,8 +4225,8 @@
4225
"zh-chs": "已将用户{0}添加到用户组{1}",
4226
"zh-cht": "已將用戶{0}添加到用戶組{1}",
4227
"xloc": [
4202
- "default.handlebars->31->1846",
4203
- "default.handlebars->31->1855"
4228
+ "default.handlebars->31->1885",
4229
+ "default.handlebars->31->1894"
4230
]
4231
},
4232
{
@@ -4220,7 +4246,7 @@
4246
"zh-chs": "地址",
4247
"zh-cht": "地址",
4248
"xloc": [
4223
- "default.handlebars->31->255"
4249
+ "default.handlebars->31->264"
4250
]
4251
},
4252
{
@@ -4261,7 +4287,7 @@
4287
"zh-cht": "管理員控制模式(ACM)",
4288
"xloc": [
4289
"default-mobile.handlebars->11->480",
4264
- "default.handlebars->31->1140"
4290
+ "default.handlebars->31->1149"
4291
]
4292
},
4293
{
@@ -4282,7 +4308,7 @@
4308
"zh-cht": "管理員憑證",
4309
"xloc": [
4310
"default-mobile.handlebars->11->486",
4285
- "default.handlebars->31->1146"
4311
+ "default.handlebars->31->1155"
4312
]
4313
},
4314
{
@@ -4323,7 +4349,7 @@
4349
"zh-chs": "管理领域",
4350
"zh-cht": "管理領域",
4351
"xloc": [
4326
- "default.handlebars->31->2134"
4352
+ "default.handlebars->31->2175"
4353
]
4354
},
4355
{
@@ -4364,7 +4390,7 @@
4390
"zh-chs": "管理领域",
4391
"zh-cht": "管理領域",
4392
"xloc": [
4367
- "default.handlebars->31->2002"
4393
+ "default.handlebars->31->2043"
4394
]
4395
},
4396
{
@@ -4384,7 +4410,7 @@
4410
"zh-chs": "管理员",
4411
"zh-cht": "管理員",
4412
"xloc": [
4387
- "default.handlebars->31->1931"
4413
+ "default.handlebars->31->1972"
4414
]
4415
},
4416
{
@@ -4404,7 +4430,7 @@
4430
"zh-chs": "南非文",
4431
"zh-cht": "南非文",
4432
"xloc": [
4407
- "default.handlebars->31->1225"
4433
+ "default.handlebars->31->1234"
4434
]
4435
},
4436
{
@@ -4429,10 +4455,10 @@
4455
"default-mobile.handlebars->11->259",
4456
"default-mobile.handlebars->11->281",
4457
"default-mobile.handlebars->container->page_content->column_l->p10->p10console->consoleTable->1->4->1->1->1->0->p15outputselecttd->p15outputselect->p15outputselect1",
4432
- "default.handlebars->31->1708",
4433
- "default.handlebars->31->1721",
4434
- "default.handlebars->31->275",
4435
- "default.handlebars->31->470",
4458
+ "default.handlebars->31->1747",
4459
+ "default.handlebars->31->1760",
4460
+ "default.handlebars->31->284",
4461
+ "default.handlebars->31->479",
4462
"default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->p15outputselecttd->p15outputselect->p15outputselect1"
4463
]
4464
},
@@ -4453,8 +4479,8 @@
4479
"zh-chs": "代理+英特尔AMT",
4480
"zh-cht": "代理+Intel® AMT",
4481
"xloc": [
4456
- "default.handlebars->31->1710",
4457
- "default.handlebars->31->1723"
4482
+ "default.handlebars->31->1749",
4483
+ "default.handlebars->31->1762"
4484
]
4485
},
4486
{
@@ -4496,7 +4522,7 @@
4522
"zh-cht": "代理控制台",
4523
"xloc": [
4524
"default-mobile.handlebars->11->580",
4499
- "default.handlebars->31->1662"
4525
+ "default.handlebars->31->1701"
4526
]
4527
},
4528
{
@@ -4516,7 +4542,7 @@
4542
"zh-chs": "代理错误计数器",
4543
"zh-cht": "代理錯誤計數器",
4544
"xloc": [
4519
- "default.handlebars->31->2310"
4545
+ "default.handlebars->31->2351"
4546
]
4547
},
4548
{
@@ -4524,7 +4550,7 @@
4550
"nl": "IP-adres agent",
4551
"de": "Agent IP Adresse",
4552
"xloc": [
4527
- "default.handlebars->31->239"
4553
+ "default.handlebars->31->248"
4554
]
4555
},
4556
{
@@ -4565,7 +4591,7 @@
4591
"zh-cht": "代理訊息",
4592
"xloc": [
4593
"default-mobile.handlebars->11->212",
4568
- "default.handlebars->31->310"
4594
+ "default.handlebars->31->319"
4595
]
4596
},
4597
{
@@ -4628,7 +4654,7 @@
4654
"zh-chs": "代理时段",
4655
"zh-cht": "代理時段",
4656
"xloc": [
4631
- "default.handlebars->31->2326"
4657
+ "default.handlebars->31->2367"
4658
]
4659
},
4660
{
@@ -4649,7 +4675,7 @@
4675
"zh-cht": "代理標籤",
4676
"xloc": [
4677
"default-mobile.handlebars->11->280",
4652
- "default.handlebars->31->647"
4678
+ "default.handlebars->31->656"
4679
]
4680
},
4681
{
@@ -4669,7 +4695,7 @@
4695
"zh-chs": "代理类型",
4696
"zh-cht": "代理類型",
4697
"xloc": [
4672
- "default.handlebars->31->1719",
4698
+ "default.handlebars->31->1758",
4699
"default.handlebars->container->column_l->p21->p21main->1->1->meshOsChartDiv->1"
4700
]
4701
},
@@ -4690,7 +4716,7 @@
4716
"zh-chs": "代理关闭了与服务器压缩的{0}%代理会话。已发送:{1},已压缩:{2}",
4717
"zh-cht": "代理關閉了與{0}%代理到服務器壓縮的會話。已發送:{1},已壓縮:{2}",
4718
"xloc": [
4693
- "default.handlebars->31->1829"
4719
+ "default.handlebars->31->1868"
4720
]
4721
},
4722
{
@@ -4711,8 +4737,8 @@
4737
"zh-cht": "代理已連接",
4738
"xloc": [
4739
"default.handlebars->31->178",
4714
- "default.handlebars->31->732",
4715
- "default.handlebars->31->733"
4740
+ "default.handlebars->31->741",
4741
+ "default.handlebars->31->742"
4742
]
4743
},
4744
{
@@ -4753,7 +4779,7 @@
4779
"zh-cht": "代理離線",
4780
"xloc": [
4781
"default-mobile.handlebars->11->514",
4756
- "default.handlebars->31->1175"
4782
+ "default.handlebars->31->1184"
4783
]
4784
},
4785
{
@@ -4774,7 +4800,7 @@
4800
"zh-cht": "代理在線",
4801
"xloc": [
4802
"default-mobile.handlebars->11->513",
4777
- "default.handlebars->31->1174"
4803
+ "default.handlebars->31->1183"
4804
]
4805
},
4806
{
@@ -4795,7 +4821,7 @@
4821
"zh-cht": "代理在特權降低的遠程設備上運行。",
4822
"xloc": [
4823
"default.handlebars->31->176",
4798
- "default.handlebars->31->730"
4824
+ "default.handlebars->31->739"
4825
]
4826
},
4827
{
@@ -4815,7 +4841,7 @@
4841
"zh-chs": "代理",
4842
"zh-cht": "代理",
4843
"xloc": [
4818
- "default.handlebars->31->2342"
4844
+ "default.handlebars->31->2383"
4845
]
4846
},
4847
{
@@ -4835,7 +4861,7 @@
4861
"zh-chs": "阿尔巴尼亚文",
4862
"zh-cht": "阿爾巴尼亞文",
4863
"xloc": [
4838
- "default.handlebars->31->1226"
4864
+ "default.handlebars->31->1235"
4865
]
4866
},
4867
{
@@ -4878,7 +4904,7 @@
4904
"zh-chs": "全部可用",
4905
"zh-cht": "全部可用",
4906
"xloc": [
4881
- "default.handlebars->31->1894"
4907
+ "default.handlebars->31->1935"
4908
]
4909
},
4910
{
@@ -4898,7 +4924,7 @@
4924
"zh-chs": "所有显示",
4925
"zh-cht": "所有顯示",
4926
"xloc": [
4901
- "default.handlebars->31->1021"
4927
+ "default.handlebars->31->1030"
4928
]
4929
},
4930
{
@@ -4918,7 +4944,7 @@
4944
"zh-chs": "所有事件",
4945
"zh-cht": "所有事件",
4946
"xloc": [
4921
- "default.handlebars->31->1892"
4947
+ "default.handlebars->31->1933"
4948
]
4949
},
4950
{
@@ -4938,9 +4964,9 @@
4964
"zh-chs": "全部聚焦",
4965
"zh-cht": "全部聚焦",
4966
"xloc": [
4941
- "default.handlebars->31->966",
4942
- "default.handlebars->31->968",
4943
- "default.handlebars->31->969"
4967
+ "default.handlebars->31->975",
4968
+ "default.handlebars->31->977",
4969
+ "default.handlebars->31->978"
4970
]
4971
},
4972
{
@@ -4960,8 +4986,8 @@
4986
"zh-chs": "允许用户管理此设备组和该组中的设备。",
4987
"zh-cht": "允許用戶管理此裝置群和該群中的裝置。",
4988
"xloc": [
4963
- "default.handlebars->31->1608",
4964
- "default.handlebars->31->2095"
4989
+ "default.handlebars->31->1647",
4990
+ "default.handlebars->31->2136"
4991
]
4992
},
4993
{
@@ -4981,7 +5007,7 @@
5007
"zh-chs": "允许用户管理此设备。",
5008
"zh-cht": "允許用戶管理此裝置。",
5009
"xloc": [
4984
- "default.handlebars->31->1609"
5010
+ "default.handlebars->31->1648"
5011
]
5012
},
5013
{
@@ -5021,8 +5047,8 @@
5047
"xloc": [
5048
"default-mobile.handlebars->11->373",
5049
"default-mobile.handlebars->11->377",
5024
- "default.handlebars->31->989",
5025
- "default.handlebars->31->993"
5050
+ "default.handlebars->31->1002",
5051
+ "default.handlebars->31->998"
5052
]
5053
},
5054
{
@@ -5086,7 +5112,7 @@
5112
"zh-chs": "备用(F10 = ESC + 0)",
5113
"zh-cht": "備用(F10 = ESC + 0)",
5114
"xloc": [
5089
- "default.handlebars->31->1032",
5115
+ "default.handlebars->31->1041",
5116
"sharing.handlebars->11->37",
5117
"terminal.handlebars->3->19"
5118
]
@@ -5129,10 +5155,10 @@
5155
"zh-chs": "一直通知",
5156
"zh-cht": "一直通知",
5157
"xloc": [
5132
- "default.handlebars->31->1520",
5133
- "default.handlebars->31->2056",
5134
- "default.handlebars->31->2143",
5135
- "default.handlebars->31->675"
5158
+ "default.handlebars->31->1559",
5159
+ "default.handlebars->31->2097",
5160
+ "default.handlebars->31->2184",
5161
+ "default.handlebars->31->684"
5162
]
5163
},
5164
{
@@ -5152,10 +5178,10 @@
5178
"zh-chs": "一直提示",
5179
"zh-cht": "一直提示",
5180
"xloc": [
5155
- "default.handlebars->31->1521",
5156
- "default.handlebars->31->2057",
5157
- "default.handlebars->31->2144",
5158
- "default.handlebars->31->676"
5181
+ "default.handlebars->31->1560",
5182
+ "default.handlebars->31->2098",
5183
+ "default.handlebars->31->2185",
5184
+ "default.handlebars->31->685"
5185
]
5186
},
5187
{
@@ -5302,8 +5328,8 @@
5328
"fr": "Antivirus désactivé",
5329
"de": "Anti-virus ist nicht aktiv",
5330
"xloc": [
5305
- "default.handlebars->31->1712",
5306
- "default.handlebars->31->1726"
5331
+ "default.handlebars->31->1751",
5332
+ "default.handlebars->31->1765"
5333
]
5334
},
5335
{
@@ -5324,7 +5350,7 @@
5350
"zh-cht": "防毒軟體",
5351
"xloc": [
5352
"default-mobile.handlebars->11->443",
5327
- "default.handlebars->31->666"
5353
+ "default.handlebars->31->675"
5354
]
5355
},
5356
{
@@ -5344,7 +5370,7 @@
5370
"zh-chs": "任何可支持的",
5371
"zh-cht": "任何可支持的",
5372
"xloc": [
5347
- "default.handlebars->31->366"
5373
+ "default.handlebars->31->375"
5374
]
5375
},
5376
{
@@ -5385,7 +5411,7 @@
5411
"zh-chs": "苹果macOS",
5412
"zh-cht": "蘋果macOS",
5413
"xloc": [
5388
- "default.handlebars->31->400"
5414
+ "default.handlebars->31->409"
5415
]
5416
},
5417
{
@@ -5405,7 +5431,7 @@
5431
"zh-chs": "仅限Apple macOS",
5432
"zh-cht": "僅限Apple macOS",
5433
"xloc": [
5408
- "default.handlebars->31->368"
5434
+ "default.handlebars->31->377"
5435
]
5436
},
5437
{
@@ -5445,7 +5471,7 @@
5471
"zh-chs": "阿拉伯文(阿尔及利亚)",
5472
"zh-cht": "阿拉伯文(阿爾及利亞)",
5473
"xloc": [
5448
- "default.handlebars->31->1228"
5474
+ "default.handlebars->31->1237"
5475
]
5476
},
5477
{
@@ -5465,7 +5491,7 @@
5491
"zh-chs": "阿拉伯文(巴林)",
5492
"zh-cht": "阿拉伯文(巴林)",
5493
"xloc": [
5468
- "default.handlebars->31->1229"
5494
+ "default.handlebars->31->1238"
5495
]
5496
},
5497
{
@@ -5485,7 +5511,7 @@
5511
"zh-chs": "阿拉伯文(埃及)",
5512
"zh-cht": "阿拉伯文(埃及)",
5513
"xloc": [
5488
- "default.handlebars->31->1230"
5514
+ "default.handlebars->31->1239"
5515
]
5516
},
5517
{
@@ -5505,7 +5531,7 @@
5531
"zh-chs": "阿拉伯文(伊拉克)",
5532
"zh-cht": "阿拉伯文(伊拉克)",
5533
"xloc": [
5508
- "default.handlebars->31->1231"
5534
+ "default.handlebars->31->1240"
5535
]
5536
},
5537
{
@@ -5525,7 +5551,7 @@
5551
"zh-chs": "阿拉伯文(约旦)",
5552
"zh-cht": "阿拉伯文(約旦)",
5553
"xloc": [
5528
- "default.handlebars->31->1232"
5554
+ "default.handlebars->31->1241"
5555
]
5556
},
5557
{
@@ -5545,7 +5571,7 @@
5571
"zh-chs": "阿拉伯文(科威特)",
5572
"zh-cht": "阿拉伯文(科威特)",
5573
"xloc": [
5548
- "default.handlebars->31->1233"
5574
+ "default.handlebars->31->1242"
5575
]
5576
},
5577
{
@@ -5565,7 +5591,7 @@
5591
"zh-chs": "阿拉伯文(黎巴嫩)",
5592
"zh-cht": "阿拉伯文(黎巴嫩)",
5593
"xloc": [
5568
- "default.handlebars->31->1234"
5594
+ "default.handlebars->31->1243"
5595
]
5596
},
5597
{
@@ -5585,7 +5611,7 @@
5611
"zh-chs": "阿拉伯文(利比亚)",
5612
"zh-cht": "阿拉伯文(利比亞)",
5613
"xloc": [
5588
- "default.handlebars->31->1235"
5614
+ "default.handlebars->31->1244"
5615
]
5616
},
5617
{
@@ -5605,7 +5631,7 @@
5631
"zh-chs": "阿拉伯文(摩洛哥)",
5632
"zh-cht": "阿拉伯文(摩洛哥)",
5633
"xloc": [
5608
- "default.handlebars->31->1236"
5634
+ "default.handlebars->31->1245"
5635
]
5636
},
5637
{
@@ -5625,7 +5651,7 @@
5651
"zh-chs": "阿拉伯文(阿曼)",
5652
"zh-cht": "阿拉伯文(阿曼)",
5653
"xloc": [
5628
- "default.handlebars->31->1237"
5654
+ "default.handlebars->31->1246"
5655
]
5656
},
5657
{
@@ -5645,7 +5671,7 @@
5671
"zh-chs": "阿拉伯文(卡塔尔)",
5672
"zh-cht": "阿拉伯文(卡塔爾)",
5673
"xloc": [
5648
- "default.handlebars->31->1238"
5674
+ "default.handlebars->31->1247"
5675
]
5676
},
5677
{
@@ -5665,7 +5691,7 @@
5691
"zh-chs": "阿拉伯文(沙特阿拉伯)",
5692
"zh-cht": "阿拉伯文(沙特阿拉伯)",
5693
"xloc": [
5668
- "default.handlebars->31->1239"
5694
+ "default.handlebars->31->1248"
5695
]
5696
},
5697
{
@@ -5685,7 +5711,7 @@
5711
"zh-chs": "阿拉伯文(标准)",
5712
"zh-cht": "阿拉伯文(標準)",
5713
"xloc": [
5688
- "default.handlebars->31->1227"
5714
+ "default.handlebars->31->1236"
5715
]
5716
},
5717
{
@@ -5705,7 +5731,7 @@
5731
"zh-chs": "阿拉伯文(叙利亚)",
5732
"zh-cht": "阿拉伯文(敘利亞)",
5733
"xloc": [
5708
- "default.handlebars->31->1240"
5734
+ "default.handlebars->31->1249"
5735
]
5736
},
5737
{
@@ -5725,7 +5751,7 @@
5751
"zh-chs": "阿拉伯文(突尼斯)",
5752
"zh-cht": "阿拉伯文(突尼斯)",
5753
"xloc": [
5728
- "default.handlebars->31->1241"
5754
+ "default.handlebars->31->1250"
5755
]
5756
},
5757
{
@@ -5745,7 +5771,7 @@
5771
"zh-chs": "阿拉伯文(阿联酋)",
5772
"zh-cht": "阿拉伯文(阿聯酋)",
5773
"xloc": [
5748
- "default.handlebars->31->1242"
5774
+ "default.handlebars->31->1251"
5775
]
5776
},
5777
{
@@ -5765,7 +5791,7 @@
5791
"zh-chs": "阿拉伯文(也门)",
5792
"zh-cht": "阿拉伯文(也門)",
5793
"xloc": [
5768
- "default.handlebars->31->1243"
5794
+ "default.handlebars->31->1252"
5795
]
5796
},
5797
{
@@ -5785,7 +5811,7 @@
5811
"zh-chs": "阿拉贡文",
5812
"zh-cht": "阿拉貢文",
5813
"xloc": [
5788
- "default.handlebars->31->1244"
5814
+ "default.handlebars->31->1253"
5815
]
5816
},
5817
{
@@ -5806,7 +5832,7 @@
5832
"zh-cht": "結構",
5833
"xloc": [
5834
"default-mobile.handlebars->11->426",
5809
- "default.handlebars->31->1093"
5835
+ "default.handlebars->31->1102"
5836
]
5837
},
5838
{
@@ -5826,7 +5852,7 @@
5852
"zh-chs": "您确定要连接到{0}设备吗?",
5853
"zh-cht": "你確定要連接到{0}裝置嗎?",
5854
"xloc": [
5829
- "default.handlebars->31->313"
5855
+ "default.handlebars->31->322"
5856
]
5857
},
5858
{
@@ -5847,7 +5873,7 @@
5873
"zh-cht": "你確定要刪除群{0}嗎?刪除裝置群還將刪除該群中有關裝置的所有訊息。",
5874
"xloc": [
5875
"default-mobile.handlebars->11->545",
5850
- "default.handlebars->31->1584"
5876
+ "default.handlebars->31->1623"
5877
]
5878
},
5879
{
@@ -5867,7 +5893,7 @@
5893
"zh-chs": "您确定要删除节点{0}吗?",
5894
"zh-cht": "你確定要刪除節點{0}嗎?",
5895
"xloc": [
5870
- "default.handlebars->31->908"
5896
+ "default.handlebars->31->917"
5897
]
5898
},
5899
{
@@ -5887,7 +5913,7 @@
5913
"zh-chs": "您确定要卸载所选代理吗?",
5914
"zh-cht": "你確定要卸載所選代理嗎?",
5915
"xloc": [
5890
- "default.handlebars->31->897"
5916
+ "default.handlebars->31->906"
5917
]
5918
},
5919
{
@@ -5907,7 +5933,7 @@
5933
"zh-chs": "您确定要卸载所选的{0}代理吗?",
5934
"zh-cht": "你確定要卸載所選的{0}代理嗎?",
5935
"xloc": [
5910
- "default.handlebars->31->896"
5936
+ "default.handlebars->31->905"
5937
]
5938
},
5939
{
@@ -5927,7 +5953,7 @@
5953
"zh-chs": "您确定要{0}插件吗:{1}",
5954
"zh-cht": "你確定要{0}外掛嗎:{1}",
5955
"xloc": [
5930
- "default.handlebars->31->2390"
5956
+ "default.handlebars->31->2431"
5957
]
5958
},
5959
{
@@ -5947,7 +5973,7 @@
5973
"zh-chs": "亚美尼亚文",
5974
"zh-cht": "亞美尼亞文",
5975
"xloc": [
5950
- "default.handlebars->31->1245"
5976
+ "default.handlebars->31->1254"
5977
]
5978
},
5979
{
@@ -6007,7 +6033,7 @@
6033
"zh-chs": "阿萨姆文",
6034
"zh-cht": "阿薩姆文",
6035
"xloc": [
6010
- "default.handlebars->31->1246"
6036
+ "default.handlebars->31->1255"
6037
]
6038
},
6039
{
@@ -6027,7 +6053,7 @@
6053
"zh-chs": "阿斯图里亚斯文",
6054
"zh-cht": "阿斯圖里亞斯文",
6055
"xloc": [
6030
- "default.handlebars->31->1247"
6056
+ "default.handlebars->31->1256"
6057
]
6058
},
6059
{
@@ -6047,7 +6073,7 @@
6073
"zh-chs": "尝试激活英特尔(R)AMT ACM模式",
6074
"zh-cht": "嘗試激活英特爾(R)AMT ACM模式",
6075
"xloc": [
6050
- "default.handlebars->31->1798"
6076
+ "default.handlebars->31->1837"
6077
]
6078
},
6079
{
@@ -6067,16 +6093,16 @@
6093
"zh-chs": "认证软件",
6094
"zh-cht": "認證軟體",
6095
"xloc": [
6070
- "default.handlebars->31->2147"
6096
+ "default.handlebars->31->2188"
6097
]
6098
},
6099
{
6100
"en": "Authentication Device",
6101
"nl": "Verificatieapparaat",
6102
"xloc": [
6077
- "default.handlebars->31->1208",
6078
- "default.handlebars->31->1210",
6079
- "default.handlebars->31->1214"
6103
+ "default.handlebars->31->1217",
6104
+ "default.handlebars->31->1219",
6105
+ "default.handlebars->31->1223"
6106
]
6107
},
6108
{
@@ -6100,8 +6126,8 @@
6126
"default-mobile.handlebars->11->63",
6127
"default-mobile.handlebars->11->94",
6128
"default-mobile.handlebars->11->96",
6103
- "default.handlebars->31->1204",
6104
- "default.handlebars->31->1206",
6129
+ "default.handlebars->31->1213",
6130
+ "default.handlebars->31->1215",
6131
"default.handlebars->31->140",
6132
"default.handlebars->31->145"
6133
]
@@ -6183,7 +6209,7 @@
6209
"zh-chs": "自动删除",
6210
"zh-cht": "自動刪除",
6211
"xloc": [
6186
- "default.handlebars->31->1507"
6212
+ "default.handlebars->31->1546"
6213
]
6214
},
6215
{
@@ -6228,7 +6254,7 @@
6254
"zh-chs": "自动下载代理程序核心转储文件:“{0}”",
6255
"zh-cht": "自動下載代理程序核心轉儲文件:“{0}”",
6256
"xloc": [
6231
- "default.handlebars->31->1879"
6257
+ "default.handlebars->31->1918"
6258
]
6259
},
6260
{
@@ -6268,7 +6294,7 @@
6294
"zh-chs": "可用內存",
6295
"zh-cht": "可用內存",
6296
"xloc": [
6271
- "default.handlebars->31->2335"
6297
+ "default.handlebars->31->2376"
6298
]
6299
},
6300
{
@@ -6288,7 +6314,7 @@
6314
"zh-chs": "阿塞拜疆文",
6315
"zh-cht": "阿塞拜疆文",
6316
"xloc": [
6291
- "default.handlebars->31->1248"
6317
+ "default.handlebars->31->1257"
6318
]
6319
},
6320
{
@@ -6300,9 +6326,9 @@
6326
"default-mobile.handlebars->11->430",
6327
"default-mobile.handlebars->11->434",
6328
"default-mobile.handlebars->11->438",
6303
- "default.handlebars->31->653",
6304
- "default.handlebars->31->657",
6305
- "default.handlebars->31->661"
6329
+ "default.handlebars->31->662",
6330
+ "default.handlebars->31->666",
6331
+ "default.handlebars->31->670"
6332
]
6333
},
6334
{
@@ -6323,7 +6349,7 @@
6349
"zh-cht": "的BIOS",
6350
"xloc": [
6351
"default-mobile.handlebars->11->492",
6326
- "default.handlebars->31->1152"
6352
+ "default.handlebars->31->1161"
6353
]
6354
},
6355
{
@@ -6409,7 +6435,7 @@
6435
"de": "Rücktaste",
6436
"xloc": [
6437
"default-mobile.handlebars->11->356",
6412
- "default.handlebars->31->972"
6438
+ "default.handlebars->31->981"
6439
]
6440
},
6441
{
@@ -6429,7 +6455,7 @@
6455
"zh-chs": "背景与互动",
6456
"zh-cht": "背景與互動",
6457
"xloc": [
6432
- "default.handlebars->31->407"
6458
+ "default.handlebars->31->416"
6459
]
6460
},
6461
{
@@ -6449,10 +6475,10 @@
6475
"zh-chs": "背景与互动",
6476
"zh-cht": "背景與互動",
6477
"xloc": [
6452
- "default.handlebars->31->1691",
6453
- "default.handlebars->31->1698",
6454
- "default.handlebars->31->378",
6455
- "default.handlebars->31->392"
6478
+ "default.handlebars->31->1730",
6479
+ "default.handlebars->31->1737",
6480
+ "default.handlebars->31->387",
6481
+ "default.handlebars->31->401"
6482
]
6483
},
6484
{
@@ -6472,11 +6498,11 @@
6498
"zh-chs": "仅背景",
6499
"zh-cht": "僅背景",
6500
"xloc": [
6475
- "default.handlebars->31->1692",
6476
- "default.handlebars->31->1699",
6477
- "default.handlebars->31->379",
6478
- "default.handlebars->31->393",
6479
- "default.handlebars->31->408"
6501
+ "default.handlebars->31->1731",
6502
+ "default.handlebars->31->1738",
6503
+ "default.handlebars->31->388",
6504
+ "default.handlebars->31->402",
6505
+ "default.handlebars->31->417"
6506
]
6507
},
6508
{
@@ -6518,7 +6544,7 @@
6544
"zh-chs": "备用码",
6545
"zh-cht": "備用碼",
6546
"xloc": [
6521
- "default.handlebars->31->2149"
6547
+ "default.handlebars->31->2190"
6548
]
6549
},
6550
{
@@ -6538,7 +6564,7 @@
6564
"zh-chs": "错误的签名",
6565
"zh-cht": "錯誤的簽名",
6566
"xloc": [
6541
- "default.handlebars->31->2317"
6567
+ "default.handlebars->31->2358"
6568
]
6569
},
6570
{
@@ -6558,7 +6584,7 @@
6584
"zh-chs": "错误的网络证书",
6585
"zh-cht": "錯誤的網絡憑證",
6586
"xloc": [
6561
- "default.handlebars->31->2316"
6587
+ "default.handlebars->31->2357"
6588
]
6589
},
6590
{
@@ -6578,7 +6604,7 @@
6604
"zh-chs": "巴斯克",
6605
"zh-cht": "巴斯克",
6606
"xloc": [
6581
- "default.handlebars->31->1249"
6607
+ "default.handlebars->31->1258"
6608
]
6609
},
6610
{
@@ -6598,7 +6624,7 @@
6624
"zh-chs": "批处理文件上传",
6625
"zh-cht": "批處理文件上傳",
6626
"xloc": [
6601
- "default.handlebars->31->530"
6627
+ "default.handlebars->31->539"
6628
]
6629
},
6630
{
@@ -6638,7 +6664,7 @@
6664
"zh-chs": "将{0}个文件批量上传到文件夹{1}",
6665
"zh-cht": "將{0}個文件批量上傳到文件夾{1}",
6666
"xloc": [
6641
- "default.handlebars->31->1878"
6667
+ "default.handlebars->31->1917"
6668
]
6669
},
6670
{
@@ -6658,7 +6684,7 @@
6684
"zh-chs": "白俄罗斯文",
6685
"zh-cht": "白俄羅斯文",
6686
"xloc": [
6661
- "default.handlebars->31->1251"
6687
+ "default.handlebars->31->1260"
6688
]
6689
},
6690
{
@@ -6678,7 +6704,7 @@
6704
"zh-chs": "孟加拉",
6705
"zh-cht": "孟加拉",
6706
"xloc": [
6681
- "default.handlebars->31->1252"
6707
+ "default.handlebars->31->1261"
6708
]
6709
},
6710
{
@@ -6710,7 +6736,7 @@
6736
"fr": "Chargeur de démarrage",
6737
"xloc": [
6738
"default-mobile.handlebars->11->456",
6713
- "default.handlebars->31->1106"
6739
+ "default.handlebars->31->1115"
6740
]
6741
},
6742
{
@@ -6730,7 +6756,7 @@
6756
"zh-chs": "波斯尼亚文",
6757
"zh-cht": "波斯尼亞文",
6758
"xloc": [
6733
- "default.handlebars->31->1253"
6759
+ "default.handlebars->31->1262"
6760
]
6761
},
6762
{
@@ -6750,7 +6776,7 @@
6776
"zh-chs": "布列塔尼",
6777
"zh-cht": "布列塔尼",
6778
"xloc": [
6753
- "default.handlebars->31->1254"
6779
+ "default.handlebars->31->1263"
6780
]
6781
},
6782
{
@@ -6770,7 +6796,7 @@
6796
"zh-chs": "广播",
6797
"zh-cht": "廣播",
6798
"xloc": [
6773
- "default.handlebars->31->2063",
6799
+ "default.handlebars->31->2104",
6800
"default.handlebars->container->column_l->p4->3->1->0->3->1"
6801
]
6802
},
@@ -6791,7 +6817,7 @@
6817
"zh-chs": "广播消息",
6818
"zh-cht": "廣播消息",
6819
"xloc": [
6794
- "default.handlebars->31->1984"
6820
+ "default.handlebars->31->2025"
6821
]
6822
},
6823
{
@@ -6811,7 +6837,7 @@
6837
"zh-chs": "向所有连接的用户广播消息。",
6838
"zh-cht": "向所有連接的用戶廣播消息。",
6839
"xloc": [
6814
- "default.handlebars->31->1979"
6840
+ "default.handlebars->31->2020"
6841
]
6842
},
6843
{
@@ -6841,7 +6867,7 @@
6867
"zh-chs": "保加利亚文",
6868
"zh-cht": "保加利亞文",
6869
"xloc": [
6844
- "default.handlebars->31->1250"
6870
+ "default.handlebars->31->1259"
6871
]
6872
},
6873
{
@@ -6861,7 +6887,7 @@
6887
"zh-chs": "缅甸文",
6888
"zh-cht": "緬甸文",
6889
"xloc": [
6864
- "default.handlebars->31->1255"
6890
+ "default.handlebars->31->1264"
6891
]
6892
},
6893
{
@@ -6882,7 +6908,7 @@
6908
"zh-cht": "CCM",
6909
"xloc": [
6910
"default-mobile.handlebars->11->266",
6885
- "default.handlebars->31->629"
6911
+ "default.handlebars->31->638"
6912
]
6913
},
6914
{
@@ -6902,7 +6928,7 @@
6928
"zh-chs": "CCM模式",
6929
"zh-cht": "CCM模式",
6930
"xloc": [
6905
- "default.handlebars->31->1567"
6931
+ "default.handlebars->31->1606"
6932
]
6933
},
6934
{
@@ -6923,8 +6949,8 @@
6949
"zh-cht": "CIRA",
6950
"xloc": [
6951
"default-mobile.handlebars->11->235",
6926
- "default.handlebars->31->277",
6927
- "default.handlebars->31->472"
6952
+ "default.handlebars->31->286",
6953
+ "default.handlebars->31->481"
6954
]
6955
},
6956
{
@@ -6944,7 +6970,7 @@
6970
"zh-chs": "CIRA服务器",
6971
"zh-cht": "CIRA伺服器",
6972
"xloc": [
6947
- "default.handlebars->31->2374"
6973
+ "default.handlebars->31->2415"
6974
]
6975
},
6976
{
@@ -6964,7 +6990,7 @@
6990
"zh-chs": "CIRA服务器命令",
6991
"zh-cht": "CIRA伺服器指令",
6992
"xloc": [
6967
- "default.handlebars->31->2375"
6993
+ "default.handlebars->31->2416"
6994
]
6995
},
6996
{
@@ -6984,7 +7010,7 @@
7010
"zh-chs": "CIRA设置",
7011
"zh-cht": "CIRA設置",
7012
"xloc": [
6987
- "default.handlebars->31->1575"
7013
+ "default.handlebars->31->1614"
7014
]
7015
},
7016
{
@@ -7005,7 +7031,7 @@
7031
"zh-cht": "CPU",
7032
"xloc": [
7033
"default-mobile.handlebars->11->498",
7008
- "default.handlebars->31->1158"
7034
+ "default.handlebars->31->1167"
7035
]
7036
},
7037
{
@@ -7025,7 +7051,7 @@
7051
"zh-chs": "CPU负载",
7052
"zh-cht": "CPU負載",
7053
"xloc": [
7028
- "default.handlebars->31->2331"
7054
+ "default.handlebars->31->2372"
7055
]
7056
},
7057
{
@@ -7045,7 +7071,7 @@
7071
"zh-chs": "最近15分钟的CPU负载",
7072
"zh-cht": "最近15分鐘的CPU負載",
7073
"xloc": [
7048
- "default.handlebars->31->2334"
7074
+ "default.handlebars->31->2375"
7075
]
7076
},
7077
{
@@ -7065,7 +7091,7 @@
7091
"zh-chs": "最近5分钟的CPU负载",
7092
"zh-cht": "最近5分鐘的CPU負載",
7093
"xloc": [
7068
- "default.handlebars->31->2333"
7094
+ "default.handlebars->31->2374"
7095
]
7096
},
7097
{
@@ -7085,7 +7111,7 @@
7111
"zh-chs": "最近一分钟的CPU负载",
7112
"zh-cht": "最近一分鐘的CPU負載",
7113
"xloc": [
7088
- "default.handlebars->31->2332"
7114
+ "default.handlebars->31->2373"
7115
]
7116
},
7117
{
@@ -7105,8 +7131,8 @@
7131
"zh-chs": "CR+LF",
7132
"zh-cht": "CR+LF",
7133
"xloc": [
7108
- "default.handlebars->31->1025",
7134
"default.handlebars->31->1034",
7135
+ "default.handlebars->31->1043",
7136
"default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons",
7137
"sharing.handlebars->11->25",
7138
"sharing.handlebars->11->39",
@@ -7133,7 +7159,7 @@
7159
"zh-chs": "CSV",
7160
"zh-cht": "CSV",
7161
"xloc": [
7136
- "default.handlebars->31->1902"
7162
+ "default.handlebars->31->1943"
7163
]
7164
},
7165
{
@@ -7153,9 +7179,9 @@
7179
"zh-chs": "CSV格式",
7180
"zh-cht": "CSV格式",
7181
"xloc": [
7156
- "default.handlebars->31->1906",
7157
- "default.handlebars->31->1971",
7158
- "default.handlebars->31->538"
7182
+ "default.handlebars->31->1947",
7183
+ "default.handlebars->31->2012",
7184
+ "default.handlebars->31->547"
7185
]
7186
},
7187
{
@@ -7192,7 +7218,7 @@
7218
"zh-chs": "呼叫错误",
7219
"zh-cht": "呼叫錯誤",
7220
"xloc": [
7195
- "default.handlebars->31->2391"
7221
+ "default.handlebars->31->2432"
7222
]
7223
},
7224
{
@@ -7215,8 +7241,8 @@
7241
"agent-translations.json",
7242
"default-mobile.handlebars->11->105",
7243
"default-mobile.handlebars->dialog->idx_dlgButtonBar",
7218
- "default.handlebars->31->1485",
7219
- "default.handlebars->31->2380",
7244
+ "default.handlebars->31->1524",
7245
+ "default.handlebars->31->2421",
7246
"default.handlebars->container->dialog->idx_dlgButtonBar",
7247
"desktop.handlebars->p11->dialog->idx_dlgButtonBar",
7248
"login-mobile.handlebars->dialog->idx_dlgButtonBar",
@@ -7248,9 +7274,9 @@
7274
"default-mobile.handlebars->11->503",
7275
"default-mobile.handlebars->11->508",
7276
"default-mobile.handlebars->11->510",
7251
- "default.handlebars->31->1163",
7252
- "default.handlebars->31->1168",
7253
- "default.handlebars->31->1170"
7277
+ "default.handlebars->31->1172",
7278
+ "default.handlebars->31->1177",
7279
+ "default.handlebars->31->1179"
7280
]
7281
},
7282
{
@@ -7271,7 +7297,7 @@
7297
"zh-cht": "容量/速度",
7298
"xloc": [
7299
"default-mobile.handlebars->11->501",
7274
- "default.handlebars->31->1161"
7300
+ "default.handlebars->31->1170"
7301
]
7302
},
7303
{
@@ -7291,7 +7317,7 @@
7317
"zh-chs": "加泰罗尼亚文",
7318
"zh-cht": "加泰羅尼亞文",
7319
"xloc": [
7294
- "default.handlebars->31->1256"
7320
+ "default.handlebars->31->1265"
7321
]
7322
},
7323
{
@@ -7311,7 +7337,7 @@
7337
"zh-chs": "在这里为中心显示地图",
7338
"zh-cht": "在這裡為中心顯示地圖",
7339
"xloc": [
7314
- "default.handlebars->31->591"
7340
+ "default.handlebars->31->600"
7341
]
7342
},
7343
{
@@ -7331,7 +7357,7 @@
7357
"zh-chs": "查莫罗",
7358
"zh-cht": "查莫羅",
7359
"xloc": [
7334
- "default.handlebars->31->1257"
7360
+ "default.handlebars->31->1266"
7361
]
7362
},
7363
{
@@ -7373,7 +7399,7 @@
7399
"zh-chs": "更改{0}的电邮",
7400
"zh-cht": "更改{0}的電郵",
7401
"xloc": [
7376
- "default.handlebars->31->2181"
7402
+ "default.handlebars->31->2222"
7403
]
7404
},
7405
{
@@ -7393,9 +7419,9 @@
7419
"zh-chs": "更改组",
7420
"zh-cht": "更改群",
7421
"xloc": [
7396
- "default.handlebars->31->706",
7397
- "default.handlebars->31->905",
7398
- "default.handlebars->31->906"
7422
+ "default.handlebars->31->715",
7423
+ "default.handlebars->31->914",
7424
+ "default.handlebars->31->915"
7425
]
7426
},
7427
{
@@ -7416,8 +7442,8 @@
7442
"zh-cht": "更改密碼",
7443
"xloc": [
7444
"default-mobile.handlebars->11->113",
7419
- "default.handlebars->31->1452",
7420
- "default.handlebars->31->2166"
7445
+ "default.handlebars->31->1481",
7446
+ "default.handlebars->31->2207"
7447
]
7448
},
7449
{
@@ -7437,7 +7463,7 @@
7463
"zh-chs": "更改{0}的密码",
7464
"zh-cht": "更改{0}的密碼",
7465
"xloc": [
7440
- "default.handlebars->31->2190"
7466
+ "default.handlebars->31->2231"
7467
]
7468
},
7469
{
@@ -7457,7 +7483,7 @@
7483
"zh-chs": "更改{0}的真实名称",
7484
"zh-cht": "更改{0}的真實名稱",
7485
"xloc": [
7460
- "default.handlebars->31->2176"
7486
+ "default.handlebars->31->2217"
7487
]
7488
},
7489
{
@@ -7548,7 +7574,7 @@
7574
"zh-chs": "更改该用户的密码",
7575
"zh-cht": "更改該用戶的密碼",
7576
"xloc": [
7551
- "default.handlebars->31->2165"
7577
+ "default.handlebars->31->2206"
7578
]
7579
},
7580
{
@@ -7588,7 +7614,7 @@
7614
"zh-chs": "在此处更改您的帐户电邮地址。",
7615
"zh-cht": "在此處更改你的帳戶電郵地址。",
7616
"xloc": [
7591
- "default.handlebars->31->1439"
7617
+ "default.handlebars->31->1468"
7618
]
7619
},
7620
{
@@ -7608,7 +7634,7 @@
7634
"zh-chs": "在下面的框中两次输入旧密码和新密码,以更改帐户密码。",
7635
"zh-cht": "在下面的框中兩次輸入舊密碼和新密碼,以更改帳戶密碼。",
7636
"xloc": [
7611
- "default.handlebars->31->1445"
7637
+ "default.handlebars->31->1474"
7638
]
7639
},
7640
{
@@ -7628,7 +7654,7 @@
7654
"zh-chs": "更改帐户凭据",
7655
"zh-cht": "帳戶憑證已更改",
7656
"xloc": [
7631
- "default.handlebars->31->1850"
7657
+ "default.handlebars->31->1889"
7658
]
7659
},
7660
{
@@ -7648,7 +7674,7 @@
7674
"zh-chs": "{1}组中的设备{0}已更改:{2}",
7675
"zh-cht": "{1}組中的設備{0}已更改:{2}",
7676
"xloc": [
7651
- "default.handlebars->31->1834"
7677
+ "default.handlebars->31->1873"
7678
]
7679
},
7680
{
@@ -7668,7 +7694,7 @@
7694
"zh-chs": "语言从{1}更改为{2}",
7695
"zh-cht": "語言從{1}更改為{2}",
7696
"xloc": [
7671
- "default.handlebars->31->1778"
7697
+ "default.handlebars->31->1817"
7698
]
7699
},
7700
{
@@ -7688,8 +7714,8 @@
7714
"zh-chs": "已更改{0}的用户设备权限",
7715
"zh-cht": "已更改{0}的用戶設備權限",
7716
"xloc": [
7691
- "default.handlebars->31->1836",
7692
- "default.handlebars->31->1857"
7717
+ "default.handlebars->31->1875",
7718
+ "default.handlebars->31->1896"
7719
]
7720
},
7721
{
@@ -7709,7 +7735,7 @@
7735
"zh-chs": "更改语言将需要刷新页面。",
7736
"zh-cht": "更改語言將需要刷新頁面。",
7737
"xloc": [
7712
- "default.handlebars->31->1424"
7738
+ "default.handlebars->31->1433"
7739
]
7740
},
7741
{
@@ -7729,12 +7755,12 @@
7755
"zh-chs": "聊天",
7756
"zh-cht": "聊天",
7757
"xloc": [
7732
- "default.handlebars->31->1923",
7733
- "default.handlebars->31->2161",
7734
- "default.handlebars->31->2162",
7735
- "default.handlebars->31->701",
7736
- "default.handlebars->31->778",
7737
- "default.handlebars->31->800"
7758
+ "default.handlebars->31->1964",
7759
+ "default.handlebars->31->2202",
7760
+ "default.handlebars->31->2203",
7761
+ "default.handlebars->31->710",
7762
+ "default.handlebars->31->787",
7763
+ "default.handlebars->31->809"
7764
]
7765
},
7766
{
@@ -7756,8 +7782,8 @@
7782
"xloc": [
7783
"default-mobile.handlebars->11->570",
7784
"default-mobile.handlebars->11->590",
7759
- "default.handlebars->31->1637",
7760
- "default.handlebars->31->1673"
7785
+ "default.handlebars->31->1676",
7786
+ "default.handlebars->31->1712"
7787
]
7788
},
7789
{
@@ -7767,7 +7793,7 @@
7793
"de": "Chat Anfrage, Drücke hier zum annehmen.",
7794
"xloc": [
7795
"default-mobile.handlebars->11->622",
7770
- "default.handlebars->31->2286"
7796
+ "default.handlebars->31->2327"
7797
]
7798
},
7799
{
@@ -7807,7 +7833,7 @@
7833
"zh-chs": "车臣",
7834
"zh-cht": "車臣",
7835
"xloc": [
7810
- "default.handlebars->31->1258"
7836
+ "default.handlebars->31->1267"
7837
]
7838
},
7839
{
@@ -7907,8 +7933,8 @@
7933
"zh-chs": "检查...",
7934
"zh-cht": "檢查...",
7935
"xloc": [
7910
- "default.handlebars->31->1224",
7911
- "default.handlebars->31->2385"
7936
+ "default.handlebars->31->1233",
7937
+ "default.handlebars->31->2426"
7938
]
7939
},
7940
{
@@ -7928,7 +7954,7 @@
7954
"zh-chs": "中文",
7955
"zh-cht": "中文",
7956
"xloc": [
7931
- "default.handlebars->31->1259"
7957
+ "default.handlebars->31->1268"
7958
]
7959
},
7960
{
@@ -7948,7 +7974,7 @@
7974
"zh-chs": "中文(香港)",
7975
"zh-cht": "中文(香港)",
7976
"xloc": [
7951
- "default.handlebars->31->1260"
7977
+ "default.handlebars->31->1269"
7978
]
7979
},
7980
{
@@ -7968,7 +7994,7 @@
7994
"zh-chs": "中文(中国)",
7995
"zh-cht": "中文(中國)",
7996
"xloc": [
7971
- "default.handlebars->31->1261"
7997
+ "default.handlebars->31->1270"
7998
]
7999
},
8000
{
@@ -7988,7 +8014,7 @@
8014
"zh-chs": "简体中文",
8015
"zh-cht": "簡體中文",
8016
"xloc": [
7991
- "default.handlebars->31->1421"
8017
+ "default.handlebars->31->1430"
8018
]
8019
},
8020
{
@@ -8008,7 +8034,7 @@
8034
"zh-chs": "中文(新加坡)",
8035
"zh-cht": "中文(新加坡)",
8036
"xloc": [
8011
- "default.handlebars->31->1262"
8037
+ "default.handlebars->31->1271"
8038
]
8039
},
8040
{
@@ -8028,7 +8054,7 @@
8054
"zh-chs": "中文(台湾)",
8055
"zh-cht": "中文(台灣)",
8056
"xloc": [
8031
- "default.handlebars->31->1263"
8057
+ "default.handlebars->31->1272"
8058
]
8059
},
8060
{
@@ -8048,7 +8074,7 @@
8074
"zh-chs": "繁体中文",
8075
"zh-cht": "繁體中文",
8076
"xloc": [
8051
- "default.handlebars->31->1422"
8077
+ "default.handlebars->31->1431"
8078
]
8079
},
8080
{
@@ -8089,7 +8115,7 @@
8115
"zh-chs": "楚瓦什",
8116
"zh-cht": "楚瓦什",
8117
"xloc": [
8092
- "default.handlebars->31->1264"
8118
+ "default.handlebars->31->1273"
8119
]
8120
},
8121
{
@@ -8133,11 +8159,11 @@
8159
"default-mobile.handlebars->11->416",
8160
"default-mobile.handlebars->11->70",
8161
"default-mobile.handlebars->container->page_content->column_l->p10->p10console->consoleTable->1->4->1->1->1->0->5",
8136
- "default.handlebars->31->1070",
8137
- "default.handlebars->31->1072",
8138
- "default.handlebars->31->1074",
8139
- "default.handlebars->31->1076",
8140
- "default.handlebars->31->1772",
8162
+ "default.handlebars->31->1079",
8163
+ "default.handlebars->31->1081",
8164
+ "default.handlebars->31->1083",
8165
+ "default.handlebars->31->1085",
8166
+ "default.handlebars->31->1811",
8167
"default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->7",
8168
"default.handlebars->container->column_l->p41->3->1",
8169
"messenger.handlebars->xbottom->1->1->0->5",
@@ -8173,8 +8199,8 @@
8199
"fr": "Nettoyer l'agent",
8200
"de": "Entferne Agent.",
8201
"xloc": [
8176
- "default.handlebars->31->495",
8177
- "default.handlebars->31->534"
8202
+ "default.handlebars->31->504",
8203
+ "default.handlebars->31->543"
8204
]
8205
},
8206
{
@@ -8183,7 +8209,7 @@
8209
"fr": "Nettoyer l'agent sur les appareils sélectionnés ?",
8210
"de": "Agent auf ausgewählten Geräten löschen?",
8211
"xloc": [
8186
- "default.handlebars->31->533"
8212
+ "default.handlebars->31->542"
8213
]
8214
},
8215
{
@@ -8204,7 +8230,7 @@
8230
"zh-cht": "全部清除",
8231
"xloc": [
8232
"default-mobile.handlebars->11->605",
8207
- "default.handlebars->31->2269"
8233
+ "default.handlebars->31->2310"
8234
]
8235
},
8236
{
@@ -8225,7 +8251,7 @@
8251
"zh-cht": "清除搜索過濾器",
8252
"xloc": [
8253
"default-mobile.handlebars->11->185",
8228
- "default.handlebars->31->248"
8254
+ "default.handlebars->31->257"
8255
]
8256
},
8257
{
@@ -8246,7 +8272,7 @@
8272
"zh-cht": "清除核心",
8273
"xloc": [
8274
"default-mobile.handlebars->11->524",
8249
- "default.handlebars->31->1185"
8275
+ "default.handlebars->31->1194"
8276
]
8277
},
8278
{
@@ -8287,7 +8313,7 @@
8313
"zh-cht": "清除此通知",
8314
"xloc": [
8315
"default-mobile.handlebars->11->604",
8290
- "default.handlebars->31->2268"
8316
+ "default.handlebars->31->2309"
8317
]
8318
},
8319
{
@@ -8347,8 +8373,8 @@
8373
"zh-chs": "单击此处编辑设备组名称",
8374
"zh-cht": "單擊此處編輯裝置群名稱",
8375
"xloc": [
8350
- "default.handlebars->31->1496",
8351
- "default.handlebars->31->1717"
8376
+ "default.handlebars->31->1535",
8377
+ "default.handlebars->31->1756"
8378
]
8379
},
8380
{
@@ -8368,7 +8394,7 @@
8394
"zh-chs": "单击此处编辑服务器端设备名称",
8395
"zh-cht": "單擊此處編輯伺服器端裝置名稱",
8396
"xloc": [
8371
- "default.handlebars->31->607"
8397
+ "default.handlebars->31->616"
8398
]
8399
},
8400
{
@@ -8388,7 +8414,7 @@
8414
"zh-chs": "单击此处编辑用户组名称",
8415
"zh-cht": "單擊此處編輯用戶群名稱",
8416
"xloc": [
8391
- "default.handlebars->31->2040"
8417
+ "default.handlebars->31->2081"
8418
]
8419
},
8420
{
@@ -8460,7 +8486,7 @@
8486
"zh-cht": "單擊確定將驗證電郵發送到:",
8487
"xloc": [
8488
"default-mobile.handlebars->11->98",
8463
- "default.handlebars->31->1436"
8489
+ "default.handlebars->31->1465"
8490
]
8491
},
8492
{
@@ -8522,7 +8548,7 @@
8548
"zh-cht": "客戶端控制模式(CCM)",
8549
"xloc": [
8550
"default-mobile.handlebars->11->479",
8525
- "default.handlebars->31->1139"
8551
+ "default.handlebars->31->1148"
8552
]
8553
},
8554
{
@@ -8542,7 +8568,7 @@
8568
"zh-chs": "客户编号",
8569
"zh-cht": "客戶編號",
8570
"xloc": [
8545
- "default.handlebars->31->1478"
8571
+ "default.handlebars->31->1517"
8572
]
8573
},
8574
{
@@ -8562,7 +8588,7 @@
8588
"zh-chs": "客户端启动的远程访问",
8589
"zh-cht": "客戶端啟動的遠程訪問",
8590
"xloc": [
8565
- "default.handlebars->31->1574"
8591
+ "default.handlebars->31->1613"
8592
]
8593
},
8594
{
@@ -8582,7 +8608,7 @@
8608
"zh-chs": "客户机密",
8609
"zh-cht": "客戶機密",
8610
"xloc": [
8585
- "default.handlebars->31->1479"
8611
+ "default.handlebars->31->1518"
8612
]
8613
},
8614
{
@@ -8625,11 +8651,11 @@
8651
"zh-cht": "關",
8652
"xloc": [
8653
"default-mobile.handlebars->11->68",
8628
- "default.handlebars->31->1014",
8629
- "default.handlebars->31->1047",
8654
+ "default.handlebars->31->1023",
8655
+ "default.handlebars->31->1056",
8656
"default.handlebars->31->152",
8657
"default.handlebars->31->160",
8632
- "default.handlebars->31->2379",
8658
+ "default.handlebars->31->2420",
8659
"sharing.handlebars->11->52"
8660
]
8661
},
@@ -8650,7 +8676,7 @@
8676
"zh-chs": "封闭式桌面多路复用会话,{0}秒",
8677
"zh-cht": "封閉式桌面多路復用會話,{0}秒",
8678
"xloc": [
8653
- "default.handlebars->31->1783"
8679
+ "default.handlebars->31->1822"
8680
]
8681
},
8682
{
@@ -8752,7 +8778,7 @@
8778
"zh-chs": "命令",
8779
"zh-cht": "命令",
8780
"xloc": [
8755
- "default.handlebars->31->443"
8781
+ "default.handlebars->31->452"
8782
]
8783
},
8784
{
@@ -8773,9 +8799,9 @@
8799
"zh-cht": "指令",
8800
"xloc": [
8801
"default-mobile.handlebars->11->592",
8776
- "default.handlebars->31->1675",
8777
- "default.handlebars->31->780",
8778
- "default.handlebars->31->802"
8802
+ "default.handlebars->31->1714",
8803
+ "default.handlebars->31->789",
8804
+ "default.handlebars->31->811"
8805
]
8806
},
8807
{
@@ -8795,8 +8821,8 @@
8821
"zh-chs": "通用设备组",
8822
"zh-cht": "通用裝置群",
8823
"xloc": [
8798
- "default.handlebars->31->2071",
8799
- "default.handlebars->31->2195"
8824
+ "default.handlebars->31->2112",
8825
+ "default.handlebars->31->2236"
8826
]
8827
},
8828
{
@@ -8816,8 +8842,8 @@
8842
"zh-chs": "通用设备",
8843
"zh-cht": "通用裝置",
8844
"xloc": [
8819
- "default.handlebars->31->2077",
8820
- "default.handlebars->31->2207"
8845
+ "default.handlebars->31->2118",
8846
+ "default.handlebars->31->2248"
8847
]
8848
},
8849
{
@@ -8827,7 +8853,7 @@
8853
"de": "Kompilierungszeit",
8854
"xloc": [
8855
"default-mobile.handlebars->11->452",
8830
- "default.handlebars->31->1102"
8856
+ "default.handlebars->31->1111"
8857
]
8858
},
8859
{
@@ -8847,7 +8873,7 @@
8873
"zh-chs": "压缩档案...",
8874
"zh-cht": "壓縮檔案...",
8875
"xloc": [
8850
- "default.handlebars->31->1042",
8876
+ "default.handlebars->31->1051",
8877
"sharing.handlebars->11->47"
8878
]
8879
},
@@ -8870,14 +8896,14 @@
8896
"xloc": [
8897
"default-mobile.handlebars->11->340",
8898
"default-mobile.handlebars->11->546",
8873
- "default.handlebars->31->1585",
8874
- "default.handlebars->31->1951",
8875
- "default.handlebars->31->2030",
8876
- "default.handlebars->31->2091",
8877
- "default.handlebars->31->2193",
8878
- "default.handlebars->31->502",
8879
- "default.handlebars->31->900",
8880
- "default.handlebars->31->909"
8899
+ "default.handlebars->31->1624",
8900
+ "default.handlebars->31->1992",
8901
+ "default.handlebars->31->2071",
8902
+ "default.handlebars->31->2132",
8903
+ "default.handlebars->31->2234",
8904
+ "default.handlebars->31->511",
8905
+ "default.handlebars->31->909",
8906
+ "default.handlebars->31->918"
8907
]
8908
},
8909
{
@@ -8898,7 +8924,7 @@
8924
"zh-cht": "確認將1個副本複製到此位置?",
8925
"xloc": [
8926
"default-mobile.handlebars->11->405",
8901
- "default.handlebars->31->1065",
8927
+ "default.handlebars->31->1074",
8928
"sharing.handlebars->11->70"
8929
]
8930
},
@@ -8919,7 +8945,7 @@
8945
"zh-chs": "确认{0}个条目的复制到此位置?",
8946
"zh-cht": "確認{0}個條目的複製到此位置?",
8947
"xloc": [
8922
- "default.handlebars->31->1064",
8948
+ "default.handlebars->31->1073",
8949
"sharing.handlebars->11->69"
8950
]
8951
},
@@ -8960,7 +8986,7 @@
8986
"zh-chs": "确认删除选定的帐户?",
8987
"zh-cht": "確認刪除所選帳戶?",
8988
"xloc": [
8963
- "default.handlebars->31->1950"
8989
+ "default.handlebars->31->1991"
8990
]
8991
},
8992
{
@@ -8980,7 +9006,7 @@
9006
"zh-chs": "确认删除选定的设备?",
9007
"zh-cht": "確認刪除所選裝置?",
9008
"xloc": [
8983
- "default.handlebars->31->501"
9009
+ "default.handlebars->31->510"
9010
]
9011
},
9012
{
@@ -9000,7 +9026,7 @@
9026
"zh-chs": "确认删除选定的用户组?",
9027
"zh-cht": "確認刪除所選用戶群?",
9028
"xloc": [
9003
- "default.handlebars->31->2029"
9029
+ "default.handlebars->31->2070"
9030
]
9031
},
9032
{
@@ -9020,7 +9046,7 @@
9046
"zh-chs": "确认删除用户{0}?",
9047
"zh-cht": "確認刪除用戶{0}?",
9048
"xloc": [
9023
- "default.handlebars->31->2192"
9049
+ "default.handlebars->31->2233"
9050
]
9051
},
9052
{
@@ -9040,7 +9066,7 @@
9066
"zh-chs": "确认删除用户“ {0} ”的成员身份?",
9067
"zh-cht": "確認刪除用戶“ {0} ”的成員身份?",
9068
"xloc": [
9043
- "default.handlebars->31->2094"
9069
+ "default.handlebars->31->2135"
9070
]
9071
},
9072
{
@@ -9060,7 +9086,7 @@
9086
"zh-chs": "确认删除用户组“ {0} ”的成员身份?",
9087
"zh-cht": "確認刪除用戶群“ {0} ”的成員身份?",
9088
"xloc": [
9063
- "default.handlebars->31->2224"
9089
+ "default.handlebars->31->2265"
9090
]
9091
},
9092
{
@@ -9081,7 +9107,7 @@
9107
"zh-cht": "確認將1個條目移動到此位置?",
9108
"xloc": [
9109
"default-mobile.handlebars->11->407",
9084
- "default.handlebars->31->1067",
9110
+ "default.handlebars->31->1076",
9111
"sharing.handlebars->11->72"
9112
]
9113
},
@@ -9102,7 +9128,7 @@
9128
"zh-chs": "确认将{0}个条目移到此位置?",
9129
"zh-cht": "確認將{0}個條目移到該位置?",
9130
"xloc": [
9105
- "default.handlebars->31->1066",
9131
+ "default.handlebars->31->1075",
9132
"sharing.handlebars->11->71"
9133
]
9134
},
@@ -9143,7 +9169,7 @@
9169
"zh-chs": "确认覆盖?",
9170
"zh-cht": "確認覆蓋?",
9171
"xloc": [
9146
- "default.handlebars->31->1766"
9172
+ "default.handlebars->31->1805"
9173
]
9174
},
9175
{
@@ -9163,8 +9189,8 @@
9189
"zh-chs": "确认删除设备“ {0} ”的访问权限?",
9190
"zh-cht": "確認刪除裝置“ {0} ”的訪問權限?",
9191
"xloc": [
9166
- "default.handlebars->31->2084",
9167
- "default.handlebars->31->2215"
9192
+ "default.handlebars->31->2125",
9193
+ "default.handlebars->31->2256"
9194
]
9195
},
9196
{
@@ -9184,8 +9210,8 @@
9210
"zh-chs": "确认删除设备组“ {0} ”的访问权限?",
9211
"zh-cht": "確認刪除裝置群“ {0} ”的訪問權限?",
9212
"xloc": [
9187
- "default.handlebars->31->2086",
9188
- "default.handlebars->31->2228"
9213
+ "default.handlebars->31->2127",
9214
+ "default.handlebars->31->2269"
9215
]
9216
},
9217
{
@@ -9205,7 +9231,7 @@
9231
"zh-chs": "确认删除用户“ {0} ”的访问权限?",
9232
"zh-cht": "確認刪除用戶“ {0} ”的訪問權限?",
9233
"xloc": [
9208
- "default.handlebars->31->2217"
9234
+ "default.handlebars->31->2258"
9235
]
9236
},
9237
{
@@ -9225,7 +9251,7 @@
9251
"zh-chs": "确认删除用户组“ {0} ”的访问权限?",
9252
"zh-cht": "確認刪除用戶群“ {0} ”的訪問權限?",
9253
"xloc": [
9228
- "default.handlebars->31->2220"
9254
+ "default.handlebars->31->2261"
9255
]
9256
},
9257
{
@@ -9245,8 +9271,8 @@
9271
"zh-chs": "确认删除访问权限?",
9272
"zh-cht": "確認刪除訪問權限?",
9273
"xloc": [
9248
- "default.handlebars->31->2218",
9249
- "default.handlebars->31->2221"
9274
+ "default.handlebars->31->2259",
9275
+ "default.handlebars->31->2262"
9276
]
9277
},
9278
{
@@ -9267,7 +9293,7 @@
9293
"zh-cht": "確認刪除身份驗證軟體兩步登入?",
9294
"xloc": [
9295
"default-mobile.handlebars->11->97",
9270
- "default.handlebars->31->1207"
9296
+ "default.handlebars->31->1216"
9297
]
9298
},
9299
{
@@ -9304,7 +9330,7 @@
9330
"zh-chs": "确认删除设备共享“{0}”?",
9331
"zh-cht": "確認刪除設備共享“{0}”?",
9332
"xloc": [
9307
- "default.handlebars->31->2213"
9333
+ "default.handlebars->31->2254"
9334
]
9335
},
9336
{
@@ -9345,7 +9371,7 @@
9371
"en": "Confirm removal of push authentication device?",
9372
"nl": "Verwijderen van push-authenticatieapparaat bevestigen?",
9373
"xloc": [
9348
- "default.handlebars->31->1209"
9374
+ "default.handlebars->31->1218"
9375
]
9376
},
9377
{
@@ -9365,7 +9391,7 @@
9391
"zh-chs": "确认删除用户“ {0} ”的权限?",
9392
"zh-cht": "確認刪除用戶“ {0} ”的權限?",
9393
"xloc": [
9368
- "default.handlebars->31->1684"
9394
+ "default.handlebars->31->1723"
9395
]
9396
},
9397
{
@@ -9385,7 +9411,13 @@
9411
"zh-chs": "确认删除用户组“ {0} ”的权限?",
9412
"zh-cht": "確認刪除用戶群“ {0} ”的權限?",
9413
"xloc": [
9388
- "default.handlebars->31->1686"
9414
+ "default.handlebars->31->1725"
9415
+ ]
9416
+ },
9417
+ {
9418
+ "en": "Confirm removal of this login token?",
9419
+ "xloc": [
9420
+ "default.handlebars->31->1510"
9421
]
9422
},
9423
{
@@ -9443,7 +9475,7 @@
9475
"zh-cht": "將{1}入口{2}中的{0}限製到此位置?",
9476
"xloc": [
9477
"default-mobile.handlebars->11->150",
9446
- "default.handlebars->31->1767"
9478
+ "default.handlebars->31->1806"
9479
]
9480
},
9481
{
@@ -9468,8 +9500,8 @@
9500
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3",
9501
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3",
9502
"default-mobile.handlebars->container->page_content->column_l->p10->p10terminal->termTable->termarea1->1->3->connectbutton2span",
9471
- "default.handlebars->31->1037",
9472
- "default.handlebars->31->1524",
9503
+ "default.handlebars->31->1046",
9504
+ "default.handlebars->31->1563",
9505
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->connectbutton1span",
9506
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->connectbutton2span",
9507
"default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3",
@@ -9500,7 +9532,7 @@
9532
"zh-chs": "全部连接",
9533
"zh-cht": "全部連接",
9534
"xloc": [
9503
- "default.handlebars->31->312",
9535
+ "default.handlebars->31->321",
9536
"default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar"
9537
]
9538
},
@@ -9521,7 +9553,7 @@
9553
"zh-chs": "连接到服务器",
9554
"zh-cht": "連接到伺服器",
9555
"xloc": [
9524
- "default.handlebars->31->1578"
9556
+ "default.handlebars->31->1617"
9557
]
9558
},
9559
{
@@ -9645,7 +9677,7 @@
9677
"zh-chs": "已连接的英特尔®AMT",
9678
"zh-cht": "已連接的Intel® AMT",
9679
"xloc": [
9648
- "default.handlebars->31->2322"
9680
+ "default.handlebars->31->2363"
9681
]
9682
},
9683
{
@@ -9665,7 +9697,7 @@
9697
"zh-chs": "已连接的用户",
9698
"zh-cht": "已连接的用户",
9699
"xloc": [
9668
- "default.handlebars->31->2327"
9700
+ "default.handlebars->31->2368"
9701
]
9702
},
9703
{
@@ -9686,7 +9718,7 @@
9718
"zh-cht": "現在已連接",
9719
"xloc": [
9720
"default-mobile.handlebars->11->447",
9689
- "default.handlebars->31->1097"
9721
+ "default.handlebars->31->1106"
9722
]
9723
},
9724
{
@@ -9729,10 +9761,10 @@
9761
"default-mobile.handlebars->11->2",
9762
"default-mobile.handlebars->11->423",
9763
"default-mobile.handlebars->11->48",
9732
- "default.handlebars->31->1088",
9733
- "default.handlebars->31->265",
9734
- "default.handlebars->31->268",
9735
- "default.handlebars->31->315",
9764
+ "default.handlebars->31->1097",
9765
+ "default.handlebars->31->274",
9766
+ "default.handlebars->31->277",
9767
+ "default.handlebars->31->324",
9768
"default.handlebars->31->9",
9769
"desktop.handlebars->3->2",
9770
"sharing.handlebars->11->2",
@@ -9758,7 +9790,7 @@
9790
"zh-chs": "连接数量",
9791
"zh-cht": "連接數量",
9792
"xloc": [
9761
- "default.handlebars->31->2341"
9793
+ "default.handlebars->31->2382"
9794
]
9795
},
9796
{
@@ -9784,7 +9816,7 @@
9816
"zh-chs": "连接转发器",
9817
"zh-cht": "連接轉發器",
9818
"xloc": [
9787
- "default.handlebars->31->2373"
9819
+ "default.handlebars->31->2414"
9820
]
9821
},
9822
{
@@ -9845,9 +9877,9 @@
9877
"zh-cht": "連接性",
9878
"xloc": [
9879
"default-mobile.handlebars->11->286",
9848
- "default.handlebars->31->1724",
9849
- "default.handlebars->31->256",
9850
- "default.handlebars->31->689",
9880
+ "default.handlebars->31->1763",
9881
+ "default.handlebars->31->265",
9882
+ "default.handlebars->31->698",
9883
"default.handlebars->container->column_l->p21->p21main->1->1->meshConnChartDiv->1"
9884
]
9885
},
@@ -9869,8 +9901,8 @@
9901
"zh-cht": "控制台",
9902
"xloc": [
9903
"default-mobile.handlebars->11->302",
9872
- "default.handlebars->31->773",
9873
- "default.handlebars->31->795",
9904
+ "default.handlebars->31->782",
9905
+ "default.handlebars->31->804",
9906
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevConsole",
9907
"default.handlebars->container->topbar->1->1->ServerSubMenuSpan->ServerSubMenu->1->0->ServerConsole",
9908
"default.handlebars->contextMenu->cxconsole"
@@ -9893,7 +9925,7 @@
9925
"zh-chs": "控制台 -",
9926
"zh-cht": "控制台 -",
9927
"xloc": [
9896
- "default.handlebars->31->608"
9928
+ "default.handlebars->31->617"
9929
]
9930
},
9931
{
@@ -9913,8 +9945,8 @@
9945
"zh-chs": "控制",
9946
"zh-cht": "控制",
9947
"xloc": [
9916
- "default.handlebars->31->772",
9917
- "default.handlebars->31->794",
9948
+ "default.handlebars->31->781",
9949
+ "default.handlebars->31->803",
9950
"messenger.handlebars->remoteImage->3->2"
9951
]
9952
},
@@ -9935,7 +9967,7 @@
9967
"zh-chs": "Cookie编码器",
9968
"zh-cht": "Cookie編碼器",
9969
"xloc": [
9938
- "default.handlebars->31->2357"
9970
+ "default.handlebars->31->2398"
9971
]
9972
},
9973
{
@@ -10001,7 +10033,7 @@
10033
"zh-chs": "将Windows 32位代理URL复制到剪贴板",
10034
"zh-cht": "將Windows 32位代理URL複製到剪貼板",
10035
"xloc": [
10004
- "default.handlebars->31->414"
10036
+ "default.handlebars->31->423"
10037
]
10038
},
10039
{
@@ -10021,7 +10053,7 @@
10053
"zh-chs": "将Windows 64位代理URL复制到剪贴板",
10054
"zh-cht": "將Windows 64位代理URL複製到剪貼板",
10055
"xloc": [
10024
- "default.handlebars->31->418"
10056
+ "default.handlebars->31->427"
10057
]
10058
},
10059
{
@@ -10072,8 +10104,8 @@
10104
"zh-chs": "将代理URL复制到剪贴板",
10105
"zh-cht": "將代理URL複製到剪貼板",
10106
"xloc": [
10075
- "default.handlebars->31->442",
10076
- "default.handlebars->31->444"
10107
+ "default.handlebars->31->451",
10108
+ "default.handlebars->31->453"
10109
]
10110
},
10111
{
@@ -10093,10 +10125,12 @@
10125
"zh-chs": "复制连结到剪贴板",
10126
"zh-cht": "複製連結到剪貼板",
10127
"xloc": [
10096
- "default.handlebars->31->1735",
10097
- "default.handlebars->31->1754",
10128
+ "default.handlebars->31->1774",
10129
+ "default.handlebars->31->1793",
10130
"default.handlebars->31->220",
10099
- "default.handlebars->31->395"
10131
+ "default.handlebars->31->242",
10132
+ "default.handlebars->31->244",
10133
+ "default.handlebars->31->404"
10134
]
10135
},
10136
{
@@ -10116,7 +10150,7 @@
10150
"zh-chs": "将macOS代理URL复制到剪贴板",
10151
"zh-cht": "將macOS代理URL複製到剪貼板",
10152
"xloc": [
10119
- "default.handlebars->31->427"
10153
+ "default.handlebars->31->436"
10154
]
10155
},
10156
{
@@ -10158,8 +10192,8 @@
10192
"xloc": [
10193
"agentinvite.handlebars->container->column_l->5->linuxtab",
10194
"agentinvite.handlebars->container->column_l->5->linuxtab",
10161
- "default.handlebars->31->423",
10162
- "default.handlebars->31->438"
10195
+ "default.handlebars->31->432",
10196
+ "default.handlebars->31->447"
10197
]
10198
},
10199
{
@@ -10199,7 +10233,7 @@
10233
"zh-chs": "复制:“{0}”到“{1}”",
10234
"zh-cht": "複製:“{0}”到“{1}”",
10235
"xloc": [
10202
- "default.handlebars->31->1826"
10236
+ "default.handlebars->31->1865"
10237
]
10238
},
10239
{
@@ -10345,7 +10379,7 @@
10379
"zh-chs": "核心服务器",
10380
"zh-cht": "核心伺服器",
10381
"xloc": [
10348
- "default.handlebars->31->2356"
10382
+ "default.handlebars->31->2397"
10383
]
10384
},
10385
{
@@ -10365,7 +10399,7 @@
10399
"zh-chs": "科西嘉文",
10400
"zh-cht": "科西嘉文",
10401
"xloc": [
10368
- "default.handlebars->31->1265"
10402
+ "default.handlebars->31->1274"
10403
]
10404
},
10405
{
@@ -10385,7 +10419,7 @@
10419
"zh-chs": "创建帐号",
10420
"zh-cht": "創建帳號",
10421
"xloc": [
10388
- "default.handlebars->31->1998",
10422
+ "default.handlebars->31->2039",
10423
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->12->1->1",
10424
"login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->12->1->1",
10425
"login2.handlebars->centralTable->1->0->logincell->createpanel->1->9->1->12->1->1"
@@ -10411,6 +10445,13 @@
10445
"default-mobile.handlebars->11->125"
10446
]
10447
},
10448
+ {
10449
+ "en": "Create Login Token",
10450
+ "xloc": [
10451
+ "default.handlebars->31->1458",
10452
+ "default.handlebars->31->245"
10453
+ ]
10454
+ },
10455
{
10456
"cs": "Vytvořit skupinu uživatelů",
10457
"de": "Benutzergruppe erstellen",
@@ -10428,7 +10469,7 @@
10469
"zh-chs": "创建用户组",
10470
"zh-cht": "創建用戶群",
10471
"xloc": [
10431
- "default.handlebars->31->2037"
10472
+ "default.handlebars->31->2078"
10473
]
10474
},
10475
{
@@ -10448,7 +10489,7 @@
10489
"zh-chs": "创建连结以与访客共享此设备",
10490
"zh-cht": "創建鏈結以與訪客共享此裝置",
10491
"xloc": [
10451
- "default.handlebars->31->704"
10492
+ "default.handlebars->31->713"
10493
]
10494
},
10495
{
@@ -10468,7 +10509,7 @@
10509
"zh-chs": "使用以下选项创建一个新的设备组。",
10510
"zh-cht": "使用以下選項創建一個新的裝置群。",
10511
"xloc": [
10471
- "default.handlebars->31->1459"
10512
+ "default.handlebars->31->1488"
10513
]
10514
},
10515
{
@@ -10488,7 +10529,13 @@
10529
"zh-chs": "创建一个新的设备组。",
10530
"zh-cht": "創建一個新的裝置群。",
10531
"xloc": [
10491
- "default.handlebars->31->258"
10532
+ "default.handlebars->31->267"
10533
+ ]
10534
+ },
10535
+ {
10536
+ "en": "Create a temporary username and password that can be used as alternative login to your account. This is useful for allowing tools or other services to access your account.",
10537
+ "xloc": [
10538
+ "default.handlebars->31->1439"
10539
]
10540
},
10541
{
@@ -10508,7 +10555,7 @@
10555
"zh-chs": "创建文件夹(如果不存在)?",
10556
"zh-cht": "創建文件夾(如果不存在)?",
10557
"xloc": [
10511
- "default.handlebars->31->528"
10558
+ "default.handlebars->31->537"
10559
]
10560
},
10561
{
@@ -10528,7 +10575,13 @@
10575
"zh-chs": "创建文件夹:“{0}”",
10576
"zh-cht": "創建文件夾:“{0}”",
10577
"xloc": [
10531
- "default.handlebars->31->1819"
10578
+ "default.handlebars->31->1858"
10579
+ ]
10580
+ },
10581
+ {
10582
+ "en": "Create login token",
10583
+ "xloc": [
10584
+ "default.handlebars->container->column_l->p2->p2info->p2AccountActions->3->accountCreateLoginTokenSpan->0"
10585
]
10586
},
10587
{
@@ -10548,7 +10601,7 @@
10601
"zh-chs": "通过导入以下格式的JSON档案一次创建多个帐户:",
10602
"zh-cht": "通過導入以下格式的JSON檔案一次創建多個帳戶:",
10603
"xloc": [
10551
- "default.handlebars->31->1962"
10604
+ "default.handlebars->31->2003"
10605
]
10606
},
10607
{
@@ -10590,7 +10643,7 @@
10643
"zh-chs": "创建的设备组:{0}",
10644
"zh-cht": "創建的設備組:{0}",
10645
"xloc": [
10593
- "default.handlebars->31->1830"
10646
+ "default.handlebars->31->1869"
10647
]
10648
},
10649
{
@@ -10610,7 +10663,7 @@
10663
"zh-chs": "创建一个链接,该链接允许没有帐户的访客在有限的时间内远程控制此设备。",
10664
"zh-cht": "創建一個鏈接,該鏈接允許沒有帳戶的訪客在有限的時間內遠程控制此設備。",
10665
"xloc": [
10613
- "default.handlebars->31->813"
10666
+ "default.handlebars->31->822"
10667
]
10668
},
10669
{
@@ -10664,7 +10717,7 @@
10717
"zh-chs": "创建",
10718
"zh-cht": "創建",
10719
"xloc": [
10667
- "default.handlebars->31->2123"
10720
+ "default.handlebars->31->2164"
10721
]
10722
},
10723
{
@@ -10684,7 +10737,7 @@
10737
"zh-chs": "创建时间",
10738
"zh-cht": "創作時間",
10739
"xloc": [
10687
- "default.handlebars->31->1506"
10740
+ "default.handlebars->31->1545"
10741
]
10742
},
10743
{
@@ -10726,8 +10779,8 @@
10779
"zh-chs": "创建者",
10780
"zh-cht": "創作者",
10781
"xloc": [
10729
- "default.handlebars->31->1504",
10730
- "default.handlebars->31->1505"
10782
+ "default.handlebars->31->1543",
10783
+ "default.handlebars->31->1544"
10784
]
10785
},
10786
{
@@ -10747,7 +10800,7 @@
10800
"zh-chs": "证书",
10801
"zh-cht": "證書",
10802
"xloc": [
10750
- "default.handlebars->31->1476"
10803
+ "default.handlebars->31->1515"
10804
]
10805
},
10806
{
@@ -10767,7 +10820,7 @@
10820
"zh-chs": "克里语",
10821
"zh-cht": "克里語",
10822
"xloc": [
10770
- "default.handlebars->31->1266"
10823
+ "default.handlebars->31->1275"
10824
]
10825
},
10826
{
@@ -10787,7 +10840,7 @@
10840
"zh-chs": "克罗地亚文",
10841
"zh-cht": "克羅地亞文",
10842
"xloc": [
10790
- "default.handlebars->31->1267"
10843
+ "default.handlebars->31->1276"
10844
]
10845
},
10846
{
@@ -10853,9 +10906,9 @@
10906
"xloc": [
10907
"default-mobile.handlebars->11->374",
10908
"default-mobile.handlebars->11->378",
10909
+ "default.handlebars->31->1003",
10910
"default.handlebars->31->57",
10857
- "default.handlebars->31->990",
10858
- "default.handlebars->31->994",
10911
+ "default.handlebars->31->999",
10912
"sharing.handlebars->11->24",
10913
"terminal.handlebars->3->6"
10914
]
@@ -10975,7 +11028,7 @@
11028
"de": "Aktuelles Password nicht in korrekt.",
11029
"xloc": [
11030
"default-mobile.handlebars->11->632",
10978
- "default.handlebars->31->2296"
11031
+ "default.handlebars->31->2337"
11032
]
11033
},
11034
{
@@ -11037,7 +11090,7 @@
11090
"zh-chs": "捷克文",
11091
"zh-cht": "捷克文",
11092
"xloc": [
11040
- "default.handlebars->31->1268"
11093
+ "default.handlebars->31->1277"
11094
]
11095
},
11096
{
@@ -11077,7 +11130,7 @@
11130
"zh-chs": "丹麦文",
11131
"zh-cht": "丹麥文",
11132
"xloc": [
11080
- "default.handlebars->31->1269"
11133
+ "default.handlebars->31->1278"
11134
]
11135
},
11136
{
@@ -11107,7 +11160,7 @@
11160
"zh-chs": "数据通道",
11161
"zh-cht": "數據通道",
11162
"xloc": [
11110
- "default.handlebars->31->957",
11163
+ "default.handlebars->31->966",
11164
"desktop.handlebars->3->11",
11165
"sharing.handlebars->11->11"
11166
]
@@ -11129,7 +11182,7 @@
11182
"zh-chs": "日期和时间",
11183
"zh-cht": "日期和時間",
11184
"xloc": [
11132
- "default.handlebars->31->1427"
11185
+ "default.handlebars->31->1436"
11186
]
11187
},
11188
{
@@ -11150,7 +11203,7 @@
11203
"zh-cht": "天",
11204
"xloc": [
11205
"default-mobile.handlebars->11->330",
11153
- "default.handlebars->31->884"
11206
+ "default.handlebars->31->893"
11207
]
11208
},
11209
{
@@ -11170,7 +11223,7 @@
11223
"zh-chs": "停用",
11224
"zh-cht": "停用",
11225
"xloc": [
11173
- "default.handlebars->31->1557"
11226
+ "default.handlebars->31->1596"
11227
]
11228
},
11229
{
@@ -11190,7 +11243,7 @@
11243
"zh-chs": "如果设置停用CCM",
11244
"zh-cht": "如果設置停用CCM",
11245
"xloc": [
11193
- "default.handlebars->31->1569"
11246
+ "default.handlebars->31->1608"
11247
]
11248
},
11249
{
@@ -11228,7 +11281,7 @@
11281
"zh-cht": "沉睡",
11282
"xloc": [
11283
"default-mobile.handlebars->11->223",
11231
- "default.handlebars->31->455"
11284
+ "default.handlebars->31->464"
11285
]
11286
},
11287
{
@@ -11248,10 +11301,10 @@
11301
"zh-chs": "默认",
11302
"zh-cht": "默認",
11303
"xloc": [
11251
- "default.handlebars->31->1985",
11252
- "default.handlebars->31->2033",
11253
- "default.handlebars->31->2044",
11254
- "default.handlebars->31->2112"
11304
+ "default.handlebars->31->2026",
11305
+ "default.handlebars->31->2074",
11306
+ "default.handlebars->31->2085",
11307
+ "default.handlebars->31->2153"
11308
]
11309
},
11310
{
@@ -11261,7 +11314,7 @@
11314
"de": "Löschen",
11315
"xloc": [
11316
"default-mobile.handlebars->11->362",
11264
- "default.handlebars->31->978"
11317
+ "default.handlebars->31->987"
11318
]
11319
},
11320
{
@@ -11286,9 +11339,9 @@
11339
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->1",
11340
"default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->1",
11341
"default-mobile.handlebars->dialog->idx_dlgButtonBar->5",
11289
- "default.handlebars->31->1056",
11290
- "default.handlebars->31->1761",
11291
- "default.handlebars->31->578",
11342
+ "default.handlebars->31->1065",
11343
+ "default.handlebars->31->1800",
11344
+ "default.handlebars->31->587",
11345
"default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
11346
"default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
11347
"default.handlebars->container->dialog->idx_dlgButtonBar->5",
@@ -11320,7 +11373,7 @@
11373
"zh-cht": "刪除帳戶",
11374
"xloc": [
11375
"default-mobile.handlebars->11->107",
11323
- "default.handlebars->31->1444"
11376
+ "default.handlebars->31->1473"
11377
]
11378
},
11379
{
@@ -11340,7 +11393,7 @@
11393
"zh-chs": "删除帐户",
11394
"zh-cht": "刪除帳戶",
11395
"xloc": [
11343
- "default.handlebars->31->1952"
11396
+ "default.handlebars->31->1993"
11397
]
11398
},
11399
{
@@ -11361,7 +11414,7 @@
11414
"zh-cht": "刪除裝置",
11415
"xloc": [
11416
"default-mobile.handlebars->11->291",
11364
- "default.handlebars->31->708"
11417
+ "default.handlebars->31->717"
11418
]
11419
},
11420
{
@@ -11383,8 +11436,8 @@
11436
"xloc": [
11437
"default-mobile.handlebars->11->544",
11438
"default-mobile.handlebars->11->547",
11386
- "default.handlebars->31->1553",
11387
- "default.handlebars->31->1586"
11439
+ "default.handlebars->31->1592",
11440
+ "default.handlebars->31->1625"
11441
]
11442
},
11443
{
@@ -11405,7 +11458,7 @@
11458
"zh-cht": "刪除節點",
11459
"xloc": [
11460
"default-mobile.handlebars->11->338",
11408
- "default.handlebars->31->910"
11461
+ "default.handlebars->31->919"
11462
]
11463
},
11464
{
@@ -11425,7 +11478,7 @@
11478
"zh-chs": "删除节点",
11479
"zh-cht": "刪除節點",
11480
"xloc": [
11428
- "default.handlebars->31->503"
11481
+ "default.handlebars->31->512"
11482
]
11483
},
11484
{
@@ -11445,7 +11498,7 @@
11498
"zh-chs": "删除用户",
11499
"zh-cht": "刪除用戶",
11500
"xloc": [
11448
- "default.handlebars->31->2164"
11501
+ "default.handlebars->31->2205"
11502
]
11503
},
11504
{
@@ -11465,8 +11518,8 @@
11518
"zh-chs": "删除用户群组",
11519
"zh-cht": "刪除用戶群組",
11520
"xloc": [
11468
- "default.handlebars->31->2082",
11469
- "default.handlebars->31->2092"
11521
+ "default.handlebars->31->2123",
11522
+ "default.handlebars->31->2133"
11523
]
11524
},
11525
{
@@ -11486,7 +11539,7 @@
11539
"zh-chs": "删除用户群组",
11540
"zh-cht": "刪除用戶群組",
11541
"xloc": [
11489
- "default.handlebars->31->2031"
11542
+ "default.handlebars->31->2072"
11543
]
11544
},
11545
{
@@ -11506,7 +11559,7 @@
11559
"zh-chs": "删除用户{0}",
11560
"zh-cht": "刪除用戶{0}",
11561
"xloc": [
11509
- "default.handlebars->31->2191"
11562
+ "default.handlebars->31->2232"
11563
]
11564
},
11565
{
@@ -11527,7 +11580,7 @@
11580
"zh-cht": "刪除帳戶",
11581
"xloc": [
11582
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->3->p3AccountActions->p2AccountActions->3->9->0",
11530
- "default.handlebars->31->1948",
11583
+ "default.handlebars->31->1989",
11584
"default.handlebars->container->column_l->p2->p2info->p2AccountActions->3->p2AccountPassActions->7"
11585
]
11586
},
@@ -11548,7 +11601,7 @@
11601
"zh-chs": "删除设备",
11602
"zh-cht": "刪除裝置",
11603
"xloc": [
11551
- "default.handlebars->31->493"
11604
+ "default.handlebars->31->502"
11605
]
11606
},
11607
{
@@ -11568,7 +11621,7 @@
11621
"zh-chs": "删除群组",
11622
"zh-cht": "刪除群組",
11623
"xloc": [
11571
- "default.handlebars->31->2027"
11624
+ "default.handlebars->31->2068"
11625
]
11626
},
11627
{
@@ -11588,7 +11641,7 @@
11641
"zh-chs": "删除项目?",
11642
"zh-cht": "刪除項目?",
11643
"xloc": [
11591
- "default.handlebars->31->579"
11644
+ "default.handlebars->31->588"
11645
]
11646
},
11647
{
@@ -11608,7 +11661,7 @@
11661
"zh-chs": "递归删除:“{0}”,{1}个元素已删除",
11662
"zh-cht": "遞歸刪除:“{0}”,{1}個元素已刪除",
11663
"xloc": [
11611
- "default.handlebars->31->1821"
11664
+ "default.handlebars->31->1860"
11665
]
11666
},
11667
{
@@ -11630,8 +11683,8 @@
11683
"xloc": [
11684
"default-mobile.handlebars->11->147",
11685
"default-mobile.handlebars->11->399",
11633
- "default.handlebars->31->1058",
11634
- "default.handlebars->31->1763",
11686
+ "default.handlebars->31->1067",
11687
+ "default.handlebars->31->1802",
11688
"sharing.handlebars->11->63"
11689
]
11690
},
@@ -11652,7 +11705,7 @@
11705
"zh-chs": "删除用户群组{0}?",
11706
"zh-cht": "刪除用戶群組{0}?",
11707
"xloc": [
11655
- "default.handlebars->31->2090"
11708
+ "default.handlebars->31->2131"
11709
]
11710
},
11711
{
@@ -11674,8 +11727,8 @@
11727
"xloc": [
11728
"default-mobile.handlebars->11->146",
11729
"default-mobile.handlebars->11->398",
11677
- "default.handlebars->31->1057",
11678
- "default.handlebars->31->1762",
11730
+ "default.handlebars->31->1066",
11731
+ "default.handlebars->31->1801",
11732
"sharing.handlebars->11->62"
11733
]
11734
},
@@ -11716,7 +11769,7 @@
11769
"zh-chs": "删除:“{0}”",
11770
"zh-cht": "刪除:“{0}”",
11771
"xloc": [
11719
- "default.handlebars->31->1820"
11772
+ "default.handlebars->31->1859"
11773
]
11774
},
11775
{
@@ -11736,7 +11789,7 @@
11789
"zh-chs": "删除:“{0}”,{1}个元素已删除",
11790
"zh-cht": "刪除:“{0}”,已刪除{1}個元素",
11791
"xloc": [
11739
- "default.handlebars->31->1822"
11792
+ "default.handlebars->31->1861"
11793
]
11794
},
11795
{
@@ -11757,7 +11810,7 @@
11810
"zh-cht": "被拒絕",
11811
"xloc": [
11812
"default-mobile.handlebars->11->349",
11760
- "default.handlebars->31->953",
11813
+ "default.handlebars->31->962",
11814
"desktop.handlebars->3->7",
11815
"sharing.handlebars->11->29",
11816
"sharing.handlebars->11->7",
@@ -11860,19 +11913,19 @@
11913
"default-mobile.handlebars->11->460",
11914
"default-mobile.handlebars->11->535",
11915
"default-mobile.handlebars->11->549",
11863
- "default.handlebars->31->1110",
11864
- "default.handlebars->31->1120",
11865
- "default.handlebars->31->1464",
11866
- "default.handlebars->31->1501",
11867
- "default.handlebars->31->1588",
11868
- "default.handlebars->31->2036",
11869
- "default.handlebars->31->2046",
11870
- "default.handlebars->31->2047",
11916
+ "default.handlebars->31->1119",
11917
+ "default.handlebars->31->1129",
11918
+ "default.handlebars->31->1493",
11919
+ "default.handlebars->31->1540",
11920
+ "default.handlebars->31->1627",
11921
+ "default.handlebars->31->2077",
11922
+ "default.handlebars->31->2087",
11923
"default.handlebars->31->2088",
11872
- "default.handlebars->31->619",
11873
- "default.handlebars->31->620",
11924
+ "default.handlebars->31->2129",
11925
+ "default.handlebars->31->628",
11926
+ "default.handlebars->31->629",
11927
"default.handlebars->31->92",
11875
- "default.handlebars->31->948",
11928
+ "default.handlebars->31->957",
11929
"default.handlebars->container->column_l->p42->p42tbl->1->0->3"
11930
]
11931
},
@@ -11911,12 +11964,12 @@
11964
"zh-cht": "桌面",
11965
"xloc": [
11966
"default-mobile.handlebars->11->298",
11914
- "default.handlebars->31->1020",
11915
- "default.handlebars->31->1594",
11916
- "default.handlebars->31->2246",
11917
- "default.handlebars->31->584",
11918
- "default.handlebars->31->753",
11919
- "default.handlebars->31->815",
11967
+ "default.handlebars->31->1029",
11968
+ "default.handlebars->31->1633",
11969
+ "default.handlebars->31->2287",
11970
+ "default.handlebars->31->593",
11971
+ "default.handlebars->31->762",
11972
+ "default.handlebars->31->824",
11973
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevDesktop",
11974
"default.handlebars->contextMenu->cxdesktop",
11975
"desktop.handlebars->3->23",
@@ -11928,23 +11981,23 @@
11981
"en": "Desktop + Files",
11982
"nl": "Desktop + Bestanden",
11983
"xloc": [
11931
- "default.handlebars->31->757",
11932
- "default.handlebars->31->818"
11984
+ "default.handlebars->31->766",
11985
+ "default.handlebars->31->827"
11986
]
11987
},
11988
{
11989
"en": "Desktop + Terminal",
11990
"nl": "Desktop + Terminal",
11991
"xloc": [
11939
- "default.handlebars->31->754"
11992
+ "default.handlebars->31->763"
11993
]
11994
},
11995
{
11996
"en": "Desktop + Terminal + Files",
11997
"nl": "Desktop + Terminal + Bestanden",
11998
"xloc": [
11946
- "default.handlebars->31->758",
11947
- "default.handlebars->31->820"
11999
+ "default.handlebars->31->767",
12000
+ "default.handlebars->31->829"
12001
]
12002
},
12003
{
@@ -11984,10 +12037,10 @@
12037
"zh-chs": "桌面通知",
12038
"zh-cht": "桌面通知",
12039
"xloc": [
11987
- "default.handlebars->31->1515",
11988
- "default.handlebars->31->2051",
11989
- "default.handlebars->31->2138",
11990
- "default.handlebars->31->670"
12040
+ "default.handlebars->31->1554",
12041
+ "default.handlebars->31->2092",
12042
+ "default.handlebars->31->2179",
12043
+ "default.handlebars->31->679"
12044
]
12045
},
12046
{
@@ -12007,10 +12060,10 @@
12060
"zh-chs": "桌面提示",
12061
"zh-cht": "桌面提示",
12062
"xloc": [
12010
- "default.handlebars->31->1514",
12011
- "default.handlebars->31->2050",
12012
- "default.handlebars->31->2137",
12013
- "default.handlebars->31->669"
12063
+ "default.handlebars->31->1553",
12064
+ "default.handlebars->31->2091",
12065
+ "default.handlebars->31->2178",
12066
+ "default.handlebars->31->678"
12067
]
12068
},
12069
{
@@ -12030,17 +12083,17 @@
12083
"zh-chs": "桌面提示+工具栏",
12084
"zh-cht": "桌面提示+工具欄",
12085
"xloc": [
12033
- "default.handlebars->31->1512",
12034
- "default.handlebars->31->2048",
12035
- "default.handlebars->31->2135",
12036
- "default.handlebars->31->667"
12086
+ "default.handlebars->31->1551",
12087
+ "default.handlebars->31->2089",
12088
+ "default.handlebars->31->2176",
12089
+ "default.handlebars->31->676"
12090
]
12091
},
12092
{
12093
"en": "Desktop Session",
12094
"nl": "Desktop sessie",
12095
"xloc": [
12043
- "default.handlebars->31->2239"
12096
+ "default.handlebars->31->2280"
12097
]
12098
},
12099
{
@@ -12103,10 +12156,10 @@
12156
"zh-chs": "桌面工具栏",
12157
"zh-cht": "桌面工具欄",
12158
"xloc": [
12106
- "default.handlebars->31->1513",
12107
- "default.handlebars->31->2049",
12108
- "default.handlebars->31->2136",
12109
- "default.handlebars->31->668"
12159
+ "default.handlebars->31->1552",
12160
+ "default.handlebars->31->2090",
12161
+ "default.handlebars->31->2177",
12162
+ "default.handlebars->31->677"
12163
]
12164
},
12165
{
@@ -12115,7 +12168,7 @@
12168
"fr": "Bureau en visualisation seulement",
12169
"de": "Desktop, nur Ansehen",
12170
"xloc": [
12118
- "default.handlebars->31->821"
12171
+ "default.handlebars->31->830"
12172
]
12173
},
12174
{
@@ -12135,7 +12188,7 @@
12188
"zh-chs": "桌面时段",
12189
"zh-cht": "桌面時段",
12190
"xloc": [
12138
- "default.handlebars->31->1019"
12191
+ "default.handlebars->31->1028"
12192
]
12193
},
12194
{
@@ -12229,11 +12282,11 @@
12282
"zh-cht": "裝置",
12283
"xloc": [
12284
"default-mobile.handlebars->11->455",
12232
- "default.handlebars->31->1105",
12233
- "default.handlebars->31->1213",
12234
- "default.handlebars->31->1617",
12285
+ "default.handlebars->31->1114",
12286
+ "default.handlebars->31->1222",
12287
+ "default.handlebars->31->1656",
12288
"default.handlebars->31->201",
12236
- "default.handlebars->31->2210",
12289
+ "default.handlebars->31->2251",
12290
"default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->5"
12291
]
12292
},
@@ -12256,7 +12309,7 @@
12309
"xloc": [
12310
"default-mobile.handlebars->11->319",
12311
"default-mobile.handlebars->11->328",
12259
- "default.handlebars->31->867"
12312
+ "default.handlebars->31->876"
12313
]
12314
},
12315
{
@@ -12306,15 +12359,15 @@
12359
"xloc": [
12360
"agent-translations.json",
12361
"default-mobile.handlebars->11->610",
12309
- "default.handlebars->31->1612",
12310
- "default.handlebars->31->1615",
12311
- "default.handlebars->31->1616",
12312
- "default.handlebars->31->1899",
12313
- "default.handlebars->31->2074",
12314
- "default.handlebars->31->2080",
12315
- "default.handlebars->31->2198",
12316
- "default.handlebars->31->2255",
12317
- "default.handlebars->31->2274"
12362
+ "default.handlebars->31->1651",
12363
+ "default.handlebars->31->1654",
12364
+ "default.handlebars->31->1655",
12365
+ "default.handlebars->31->1940",
12366
+ "default.handlebars->31->2115",
12367
+ "default.handlebars->31->2121",
12368
+ "default.handlebars->31->2239",
12369
+ "default.handlebars->31->2296",
12370
+ "default.handlebars->31->2315"
12371
]
12372
},
12373
{
@@ -12335,7 +12388,7 @@
12388
"zh-cht": "裝置群用戶",
12389
"xloc": [
12390
"default-mobile.handlebars->11->599",
12338
- "default.handlebars->31->1682"
12391
+ "default.handlebars->31->1721"
12392
]
12393
},
12394
{
@@ -12356,12 +12409,12 @@
12409
"zh-cht": "裝置群",
12410
"xloc": [
12411
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->3->3",
12359
- "default.handlebars->31->1915",
12360
- "default.handlebars->31->2021",
12361
- "default.handlebars->31->2061",
12362
- "default.handlebars->31->2132",
12363
- "default.handlebars->31->2325",
12364
- "default.handlebars->container->column_l->p2->p2info->7"
12412
+ "default.handlebars->31->1956",
12413
+ "default.handlebars->31->2062",
12414
+ "default.handlebars->31->2102",
12415
+ "default.handlebars->31->2173",
12416
+ "default.handlebars->31->2366",
12417
+ "default.handlebars->container->column_l->p2->p2info->9"
12418
]
12419
},
12420
{
@@ -12381,7 +12434,7 @@
12434
"zh-chs": "设备信息导出",
12435
"zh-cht": "裝置訊息輸出",
12436
"xloc": [
12384
- "default.handlebars->31->543"
12437
+ "default.handlebars->31->552"
12438
]
12439
},
12440
{
@@ -12401,7 +12454,7 @@
12454
"zh-chs": "设备位置",
12455
"zh-cht": "裝置位置",
12456
"xloc": [
12404
- "default.handlebars->31->911"
12457
+ "default.handlebars->31->920"
12458
]
12459
},
12460
{
@@ -12421,7 +12474,7 @@
12474
"zh-chs": "设备消息",
12475
"zh-cht": "裝置訊息",
12476
"xloc": [
12424
- "default.handlebars->31->810"
12477
+ "default.handlebars->31->819"
12478
]
12479
},
12480
{
@@ -12442,9 +12495,9 @@
12495
"zh-cht": "裝置名稱",
12496
"xloc": [
12497
"default-mobile.handlebars->11->342",
12445
- "default.handlebars->31->2254",
12446
- "default.handlebars->31->329",
12447
- "default.handlebars->31->946",
12498
+ "default.handlebars->31->2295",
12499
+ "default.handlebars->31->338",
12500
+ "default.handlebars->31->955",
12501
"player.handlebars->3->9"
12502
]
12503
},
@@ -12465,8 +12518,8 @@
12518
"zh-chs": "设备通知",
12519
"zh-cht": "裝置通知",
12520
"xloc": [
12468
- "default.handlebars->31->524",
12469
- "default.handlebars->31->812"
12521
+ "default.handlebars->31->533",
12522
+ "default.handlebars->31->821"
12523
]
12524
},
12525
{
@@ -12512,7 +12565,7 @@
12565
"zh-chs": "设备共享链接",
12566
"zh-cht": "設備共享鏈接",
12567
"xloc": [
12515
- "default.handlebars->31->750"
12568
+ "default.handlebars->31->759"
12569
]
12570
},
12571
{
@@ -12540,7 +12593,7 @@
12593
"nl": "Kolomweergave apparaat",
12594
"de": "Aufteilen der Geräteansicht",
12595
"xloc": [
12543
- "default.handlebars->31->241"
12596
+ "default.handlebars->31->250"
12597
]
12598
},
12599
{
@@ -12560,8 +12613,8 @@
12613
"zh-chs": "设备连接。",
12614
"zh-cht": "裝置連接。",
12615
"xloc": [
12563
- "default.handlebars->31->1432",
12564
- "default.handlebars->31->1703"
12616
+ "default.handlebars->31->1461",
12617
+ "default.handlebars->31->1742"
12618
]
12619
},
12620
{
@@ -12581,8 +12634,8 @@
12634
"zh-chs": "设备断开连接。",
12635
"zh-cht": "裝置斷開連接。",
12636
"xloc": [
12584
- "default.handlebars->31->1433",
12585
- "default.handlebars->31->1704"
12637
+ "default.handlebars->31->1462",
12638
+ "default.handlebars->31->1743"
12639
]
12640
},
12641
{
@@ -12602,7 +12655,7 @@
12655
"zh-chs": "创建的设备组:{0}",
12656
"zh-cht": "設備組已創建:{0}",
12657
"xloc": [
12605
- "default.handlebars->31->1851"
12658
+ "default.handlebars->31->1890"
12659
]
12660
},
12661
{
@@ -12622,7 +12675,7 @@
12675
"zh-chs": "设备组已删除:{0}",
12676
"zh-cht": "設備組已刪除:{0}",
12677
"xloc": [
12625
- "default.handlebars->31->1852"
12678
+ "default.handlebars->31->1891"
12679
]
12680
},
12681
{
@@ -12642,7 +12695,7 @@
12695
"zh-chs": "设备组成员身份已更改:{0}",
12696
"zh-cht": "設備組成員身份已更改:{0}",
12697
"xloc": [
12645
- "default.handlebars->31->1853"
12698
+ "default.handlebars->31->1892"
12699
]
12700
},
12701
{
@@ -12663,7 +12716,7 @@
12716
"zh-cht": "其他裝置群管理員可以查看和更改裝置群註釋。",
12717
"xloc": [
12718
"default-mobile.handlebars->11->326",
12666
- "default.handlebars->31->807"
12719
+ "default.handlebars->31->816"
12720
]
12721
},
12722
{
@@ -12683,7 +12736,7 @@
12736
"zh-chs": "设备组通知已更改",
12737
"zh-cht": "設備組通知已更改",
12738
"xloc": [
12686
- "default.handlebars->31->1848"
12739
+ "default.handlebars->31->1887"
12740
]
12741
},
12742
{
@@ -12703,7 +12756,7 @@
12756
"zh-chs": "未删除的设备组:{0}",
12757
"zh-cht": "未刪除的設備組:{0}",
12758
"xloc": [
12706
- "default.handlebars->31->1831"
12759
+ "default.handlebars->31->1870"
12760
]
12761
},
12762
{
@@ -12725,8 +12778,8 @@
12778
"xloc": [
12779
"default-mobile.handlebars->11->191",
12780
"default-mobile.handlebars->11->247",
12728
- "default.handlebars->31->273",
12729
- "default.handlebars->31->605"
12781
+ "default.handlebars->31->282",
12782
+ "default.handlebars->31->614"
12783
]
12784
},
12785
{
@@ -12746,7 +12799,7 @@
12799
"zh-chs": "检测到设备,但无法获得电源状态。",
12800
"zh-cht": "檢測到裝置,但無法獲得電源狀態。",
12801
"xloc": [
12749
- "default.handlebars->31->460"
12802
+ "default.handlebars->31->469"
12803
]
12804
},
12805
{
@@ -12767,7 +12820,7 @@
12820
"zh-cht": "裝置正在休眠(S4)",
12821
"xloc": [
12822
"default-mobile.handlebars->11->231",
12770
- "default.handlebars->31->466"
12823
+ "default.handlebars->31->475"
12824
]
12825
},
12826
{
@@ -12788,7 +12841,7 @@
12841
"zh-cht": "裝置處於深度睡眠狀態(S3)",
12842
"xloc": [
12843
"default-mobile.handlebars->11->230",
12791
- "default.handlebars->31->465"
12844
+ "default.handlebars->31->474"
12845
]
12846
},
12847
{
@@ -12808,7 +12861,7 @@
12861
"zh-chs": "设备处于深度睡眠状态(S3)。",
12862
"zh-cht": "裝置處於深度睡眠狀態(S3)。",
12863
"xloc": [
12811
- "default.handlebars->31->454"
12864
+ "default.handlebars->31->463"
12865
]
12866
},
12867
{
@@ -12828,7 +12881,7 @@
12881
"zh-chs": "设备处于休眠状态(S4)。",
12882
"zh-cht": "裝置處於休眠狀態(S4)。",
12883
"xloc": [
12831
- "default.handlebars->31->456"
12884
+ "default.handlebars->31->465"
12885
]
12886
},
12887
{
@@ -12848,7 +12901,7 @@
12901
"zh-chs": "设备处于关机状态(S5)。",
12902
"zh-cht": "裝置處於關機狀態(S5)。",
12903
"xloc": [
12851
- "default.handlebars->31->458"
12904
+ "default.handlebars->31->467"
12905
]
12906
},
12907
{
@@ -12869,7 +12922,7 @@
12922
"zh-cht": "裝置處於睡眠狀態(S1)",
12923
"xloc": [
12924
"default-mobile.handlebars->11->228",
12872
- "default.handlebars->31->463"
12925
+ "default.handlebars->31->472"
12926
]
12927
},
12928
{
@@ -12889,7 +12942,7 @@
12942
"zh-chs": "设备处于睡眠状态(S1)。",
12943
"zh-cht": "裝置處於睡眠狀態(S1)。",
12944
"xloc": [
12892
- "default.handlebars->31->450"
12945
+ "default.handlebars->31->459"
12946
]
12947
},
12948
{
@@ -12910,7 +12963,7 @@
12963
"zh-cht": "裝置處於睡眠狀態(S2)",
12964
"xloc": [
12965
"default-mobile.handlebars->11->229",
12913
- "default.handlebars->31->464"
12966
+ "default.handlebars->31->473"
12967
]
12968
},
12969
{
@@ -12930,7 +12983,7 @@
12983
"zh-chs": "设备处于睡眠状态(S2)。",
12984
"zh-cht": "裝置處於睡眠狀態(S2)。",
12985
"xloc": [
12933
- "default.handlebars->31->452"
12986
+ "default.handlebars->31->461"
12987
]
12988
},
12989
{
@@ -12951,7 +13004,7 @@
13004
"zh-cht": "裝置處於軟關機狀態(S5)",
13005
"xloc": [
13006
"default-mobile.handlebars->11->232",
12954
- "default.handlebars->31->467"
13007
+ "default.handlebars->31->476"
13008
]
13009
},
13010
{
@@ -12973,8 +13026,8 @@
13026
"xloc": [
13027
"default-mobile.handlebars->11->190",
13028
"default-mobile.handlebars->11->246",
12976
- "default.handlebars->31->272",
12977
- "default.handlebars->31->604"
13029
+ "default.handlebars->31->281",
13030
+ "default.handlebars->31->613"
13031
]
13032
},
13033
{
@@ -12995,7 +13048,7 @@
13048
"zh-cht": "裝置已連接電源",
13049
"xloc": [
13050
"default-mobile.handlebars->11->227",
12998
- "default.handlebars->31->462"
13051
+ "default.handlebars->31->471"
13052
]
13053
},
13054
{
@@ -13015,7 +13068,7 @@
13068
"zh-chs": "设备已连接电源。",
13069
"zh-cht": "裝置已連接電源。",
13070
"xloc": [
13018
- "default.handlebars->31->448"
13071
+ "default.handlebars->31->457"
13072
]
13073
},
13074
{
@@ -13036,7 +13089,7 @@
13089
"zh-cht": "裝置存在,但無法確定電源狀態",
13090
"xloc": [
13091
"default-mobile.handlebars->11->233",
13039
- "default.handlebars->31->468"
13092
+ "default.handlebars->31->477"
13093
]
13094
},
13095
{
@@ -13056,7 +13109,7 @@
13109
"zh-chs": "设备名称",
13110
"zh-cht": "裝置名稱",
13111
"xloc": [
13059
- "default.handlebars->31->596"
13112
+ "default.handlebars->31->605"
13113
]
13114
},
13115
{
@@ -13076,7 +13129,7 @@
13129
"zh-chs": "设备通知",
13130
"zh-cht": "設備通知",
13131
"xloc": [
13079
- "default.handlebars->31->490"
13132
+ "default.handlebars->31->499"
13133
]
13134
},
13135
{
@@ -13085,7 +13138,7 @@
13138
"fr": "L'appareil a demandé l'activation d'Intel (R) AMT ACM TLS, nom de domaine complet: {0} ",
13139
"de": "Gerät angefordert Intel(R) AMT ACM TLS activation, FQDN: {0}",
13140
"xloc": [
13088
- "default.handlebars->31->1886"
13141
+ "default.handlebars->31->1925"
13142
]
13143
},
13144
{
@@ -13105,7 +13158,7 @@
13158
"zh-chs": "设备请求激活Intel(R)AMT ACM,FQDN:{0}",
13159
"zh-cht": "設備請求激活Intel(R)AMT ACM,FQDN:{0}",
13160
"xloc": [
13108
- "default.handlebars->31->1833"
13161
+ "default.handlebars->31->1872"
13162
]
13163
},
13164
{
@@ -13142,8 +13195,8 @@
13195
"zh-chs": "设备",
13196
"zh-cht": "裝置",
13197
"xloc": [
13145
- "default.handlebars->31->2022",
13146
- "default.handlebars->31->2062"
13198
+ "default.handlebars->31->2063",
13199
+ "default.handlebars->31->2103"
13200
]
13201
},
13202
{
@@ -13164,7 +13217,7 @@
13217
"zh-cht": "已禁用",
13218
"xloc": [
13219
"default-mobile.handlebars->11->440",
13167
- "default.handlebars->31->663"
13220
+ "default.handlebars->31->672"
13221
]
13222
},
13223
{
@@ -13184,7 +13237,7 @@
13237
"zh-chs": "禁用的电子邮件两因素身份验证",
13238
"zh-cht": "禁用的電子郵件兩因素身份驗證",
13239
"xloc": [
13187
- "default.handlebars->31->1864"
13240
+ "default.handlebars->31->1903"
13241
]
13242
},
13243
{
@@ -13208,8 +13261,8 @@
13261
"default-mobile.handlebars->11->388",
13262
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3",
13263
"default-mobile.handlebars->container->page_content->column_l->p10->p10terminal->termTable->termarea1->1->3->disconnectbutton2span",
13211
- "default.handlebars->31->1038",
13212
- "default.handlebars->31->1525",
13264
+ "default.handlebars->31->1047",
13265
+ "default.handlebars->31->1564",
13266
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->disconnectbutton1span",
13267
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->disconnectbutton2span",
13268
"desktop.handlebars->p11->deskarea0->deskarea1->3->disconnectbutton1span",
@@ -13261,10 +13314,10 @@
13314
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3->deskstatus",
13315
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3->p13Status",
13316
"default-mobile.handlebars->container->page_content->column_l->p10->p10terminal->termTable->termarea1->1->3->termstatus",
13264
- "default.handlebars->31->264",
13265
- "default.handlebars->31->267",
13266
- "default.handlebars->31->284",
13267
- "default.handlebars->31->314",
13317
+ "default.handlebars->31->273",
13318
+ "default.handlebars->31->276",
13319
+ "default.handlebars->31->293",
13320
+ "default.handlebars->31->323",
13321
"default.handlebars->31->8",
13322
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->deskstatus",
13323
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->termstatus",
@@ -13297,7 +13350,7 @@
13350
"zh-chs": "解雇",
13351
"zh-cht": "解僱",
13352
"xloc": [
13300
- "default.handlebars->31->288"
13353
+ "default.handlebars->31->297"
13354
]
13355
},
13356
{
@@ -13317,7 +13370,7 @@
13370
"zh-chs": "在远程设备上显示一个消息框。",
13371
"zh-cht": "在遠程裝置上顯示一個訊息框。",
13372
"xloc": [
13320
- "default.handlebars->31->811"
13373
+ "default.handlebars->31->820"
13374
]
13375
},
13376
{
@@ -13357,7 +13410,7 @@
13410
"zh-chs": "在远程设备上显示短信",
13411
"zh-cht": "在遠程裝置上顯示短信",
13412
"xloc": [
13360
- "default.handlebars->31->700"
13413
+ "default.handlebars->31->709"
13414
]
13415
},
13416
{
@@ -13377,7 +13430,7 @@
13430
"zh-chs": "显示设备组名称",
13431
"zh-cht": "顯示裝置群名稱",
13432
"xloc": [
13380
- "default.handlebars->31->1431"
13433
+ "default.handlebars->31->1460"
13434
]
13435
},
13436
{
@@ -13397,7 +13450,7 @@
13450
"zh-chs": "显示名称",
13451
"zh-cht": "顯示名稱",
13452
"xloc": [
13400
- "default.handlebars->31->1005"
13453
+ "default.handlebars->31->1014"
13454
]
13455
},
13456
{
@@ -13417,7 +13470,7 @@
13470
"zh-chs": "显示公共连结",
13471
"zh-cht": "顯示公共鏈結",
13472
"xloc": [
13420
- "default.handlebars->31->1734"
13473
+ "default.handlebars->31->1773"
13474
]
13475
},
13476
{
@@ -13425,7 +13478,7 @@
13478
"nl": "Scherm {0}",
13479
"fr": "Affichage {0}",
13480
"xloc": [
13428
- "default.handlebars->31->1022"
13481
+ "default.handlebars->31->1031"
13482
]
13483
},
13484
{
@@ -13445,7 +13498,7 @@
13498
"zh-chs": "显示消息框,标题= “{0}”,消息= “{1}”",
13499
"zh-cht": "顯示消息框,標題= “{0}”,消息= “{1}”",
13500
"xloc": [
13448
- "default.handlebars->31->1793"
13501
+ "default.handlebars->31->1832"
13502
]
13503
},
13504
{
@@ -13465,7 +13518,7 @@
13518
"zh-chs": "显示吐司消息,标题= “{0}”,消息= “{1}”",
13519
"zh-cht": "顯示吐司消息,標題= “{0}”,消息= “{1}”",
13520
"xloc": [
13468
- "default.handlebars->31->1801"
13521
+ "default.handlebars->31->1840"
13522
]
13523
},
13524
{
@@ -13485,8 +13538,8 @@
13538
"zh-chs": "什么都不做",
13539
"zh-cht": "什麼都不做",
13540
"xloc": [
13488
- "default.handlebars->31->1572",
13489
- "default.handlebars->31->1576"
13541
+ "default.handlebars->31->1611",
13542
+ "default.handlebars->31->1615"
13543
]
13544
},
13545
{
@@ -13506,10 +13559,10 @@
13559
"zh-chs": "域",
13560
"zh-cht": "域",
13561
"xloc": [
13509
- "default.handlebars->31->1986",
13510
- "default.handlebars->31->2034",
13511
- "default.handlebars->31->2043",
13512
- "default.handlebars->31->2111",
13562
+ "default.handlebars->31->2027",
13563
+ "default.handlebars->31->2075",
13564
+ "default.handlebars->31->2084",
13565
+ "default.handlebars->31->2152",
13566
"mstsc.handlebars->main->1->3->1->2->1->0",
13567
"mstsc.handlebars->main->1->3->1->2->3"
13568
]
@@ -13531,7 +13584,7 @@
13584
"zh-chs": "请勿更改,如果设置请保留CCM",
13585
"zh-cht": "請勿更改,如果設置請保留CCM",
13586
"xloc": [
13534
- "default.handlebars->31->1568"
13587
+ "default.handlebars->31->1607"
13588
]
13589
},
13590
{
@@ -13568,7 +13621,7 @@
13621
"zh-chs": "不要连接到服务器",
13622
"zh-cht": "不要連接到伺服器",
13623
"xloc": [
13571
- "default.handlebars->31->1577"
13624
+ "default.handlebars->31->1616"
13625
]
13626
},
13627
{
@@ -13634,7 +13687,7 @@
13687
"de": "runter",
13688
"xloc": [
13689
"default-mobile.handlebars->11->370",
13637
- "default.handlebars->31->986"
13690
+ "default.handlebars->31->995"
13691
]
13692
},
13693
{
@@ -13698,7 +13751,7 @@
13751
"zh-cht": "下載檔案",
13752
"xloc": [
13753
"default-mobile.handlebars->11->418",
13701
- "default.handlebars->31->1077",
13754
+ "default.handlebars->31->1086",
13755
"sharing.handlebars->11->82"
13756
]
13757
},
@@ -13719,7 +13772,7 @@
13772
"zh-chs": "下载MeshCentral Router,一个TCP端口映射工具。",
13773
"zh-cht": "下載MeshCentral Router,一個TCP端口映射工具。",
13774
"xloc": [
13722
- "default.handlebars->31->262"
13775
+ "default.handlebars->31->271"
13776
]
13777
},
13778
{
@@ -13739,7 +13792,7 @@
13792
"zh-chs": "下载MeshCmd",
13793
"zh-cht": "下載MeshCmd",
13794
"xloc": [
13742
- "default.handlebars->31->936"
13795
+ "default.handlebars->31->945"
13796
]
13797
},
13798
{
@@ -13759,7 +13812,7 @@
13812
"zh-chs": "下载MeshCmd,这是一个多功能的指令执行工具。",
13813
"zh-cht": "下載MeshCmd,這是一個多功能的指令執行工具。",
13814
"xloc": [
13762
- "default.handlebars->31->260"
13815
+ "default.handlebars->31->269"
13816
]
13817
},
13818
{
@@ -13799,7 +13852,7 @@
13852
"zh-chs": "下载报告",
13853
"zh-cht": "下載報告",
13854
"xloc": [
13802
- "default.handlebars->31->1904",
13855
+ "default.handlebars->31->1945",
13856
"default.handlebars->container->column_l->p3->3->1->0->3"
13857
]
13858
},
@@ -13820,7 +13873,7 @@
13873
"zh-chs": "下载带有指令档案的“ meshcmd”,以通过此服务器将网络讯息发送到该设备。紧记编辑meshaction.txt并添加您的帐户密码或进行任何必要的更改。",
13874
"zh-cht": "下載帶有指令檔案的“ meshcmd”,以通過此服務器將網絡讯息發送到該裝置。緊記編輯meshaction.txt並新增你的帳戶密碼或進行任何必要的更改。",
13875
"xloc": [
13823
- "default.handlebars->31->929"
13876
+ "default.handlebars->31->938"
13877
]
13878
},
13879
{
@@ -13900,7 +13953,7 @@
13953
"zh-chs": "下载电源事件",
13954
"zh-cht": "下載電源事件",
13955
"xloc": [
13903
- "default.handlebars->31->885"
13956
+ "default.handlebars->31->894"
13957
]
13958
},
13959
{
@@ -13989,7 +14042,7 @@
14042
"zh-chs": "使用以下一种档案格式下载设备列表。",
14043
"zh-cht": "使用以下一種檔案格式下載裝置列表。",
14044
"xloc": [
13992
- "default.handlebars->31->537"
14045
+ "default.handlebars->31->546"
14046
]
14047
},
14048
{
@@ -14009,7 +14062,7 @@
14062
"zh-chs": "使用以下一种档案格式下载事件列表。",
14063
"zh-cht": "使用以下一種檔案格式下載事件列表。",
14064
"xloc": [
14012
- "default.handlebars->31->1905"
14065
+ "default.handlebars->31->1946"
14066
]
14067
},
14068
{
@@ -14029,7 +14082,7 @@
14082
"zh-chs": "使用以下一种档案格式下载用户列表。",
14083
"zh-cht": "使用以下一種檔案格式下載用戶列表。",
14084
"xloc": [
14032
- "default.handlebars->31->1970"
14085
+ "default.handlebars->31->2011"
14086
]
14087
},
14088
{
@@ -14110,7 +14163,7 @@
14163
"zh-chs": "下载:“{0}”",
14164
"zh-cht": "下載:“{0}”",
14165
"xloc": [
14113
- "default.handlebars->31->1824"
14166
+ "default.handlebars->31->1863"
14167
]
14168
},
14169
{
@@ -14119,7 +14172,7 @@
14172
"fr": "Téléchargement : \\\"{0}\\\", Taille : {1}",
14173
"de": "Download: \\\"{0}\\\", Größe: {1}",
14174
"xloc": [
14122
- "default.handlebars->31->1881"
14175
+ "default.handlebars->31->1920"
14176
]
14177
},
14178
{
@@ -14159,7 +14212,7 @@
14212
"zh-chs": "代理重复",
14213
"zh-cht": "代理重複",
14214
"xloc": [
14162
- "default.handlebars->31->2321"
14215
+ "default.handlebars->31->2362"
14216
]
14217
},
14218
{
@@ -14199,7 +14252,7 @@
14252
"zh-chs": "复制用户组",
14253
"zh-cht": "複製用戶群",
14254
"xloc": [
14202
- "default.handlebars->31->2038"
14255
+ "default.handlebars->31->2079"
14256
]
14257
},
14258
{
@@ -14236,8 +14289,8 @@
14289
"zh-chs": "持续时间",
14290
"zh-cht": "持續時間",
14291
"xloc": [
14239
- "default.handlebars->31->2234",
14240
- "default.handlebars->31->2260",
14292
+ "default.handlebars->31->2275",
14293
+ "default.handlebars->31->2301",
14294
"player.handlebars->3->2"
14295
]
14296
},
@@ -14275,7 +14328,7 @@
14328
"zh-chs": "荷兰文(比利时)",
14329
"zh-cht": "荷蘭文(比利時)",
14330
"xloc": [
14278
- "default.handlebars->31->1271"
14331
+ "default.handlebars->31->1280"
14332
]
14333
},
14334
{
@@ -14295,7 +14348,7 @@
14348
"zh-chs": "荷兰文(标准)",
14349
"zh-cht": "荷蘭文(標準)",
14350
"xloc": [
14298
- "default.handlebars->31->1270"
14351
+ "default.handlebars->31->1279"
14352
]
14353
},
14354
{
@@ -14586,7 +14639,7 @@
14639
"zh-cht": "編輯裝置",
14640
"xloc": [
14641
"default-mobile.handlebars->11->347",
14589
- "default.handlebars->31->951"
14642
+ "default.handlebars->31->960"
14643
]
14644
},
14645
{
@@ -14609,10 +14662,10 @@
14662
"default-mobile.handlebars->11->550",
14663
"default-mobile.handlebars->11->556",
14664
"default-mobile.handlebars->11->576",
14612
- "default.handlebars->31->1589",
14613
- "default.handlebars->31->1621",
14614
- "default.handlebars->31->1646",
14615
- "default.handlebars->31->1658"
14665
+ "default.handlebars->31->1628",
14666
+ "default.handlebars->31->1660",
14667
+ "default.handlebars->31->1685",
14668
+ "default.handlebars->31->1697"
14669
]
14670
},
14671
{
@@ -14632,7 +14685,7 @@
14685
"zh-chs": "编辑设备组功能",
14686
"zh-cht": "編輯裝置群功能",
14687
"xloc": [
14635
- "default.handlebars->31->1607"
14688
+ "default.handlebars->31->1646"
14689
]
14690
},
14691
{
@@ -14652,8 +14705,8 @@
14705
"zh-chs": "编辑设备组权限",
14706
"zh-cht": "編輯裝置群權限",
14707
"xloc": [
14655
- "default.handlebars->31->1643",
14656
- "default.handlebars->31->1655"
14708
+ "default.handlebars->31->1682",
14709
+ "default.handlebars->31->1694"
14710
]
14711
},
14712
{
@@ -14673,7 +14726,7 @@
14726
"zh-chs": "编辑设备组用户同意",
14727
"zh-cht": "編輯裝置群用戶同意",
14728
"xloc": [
14676
- "default.handlebars->31->1590"
14729
+ "default.handlebars->31->1629"
14730
]
14731
},
14732
{
@@ -14694,7 +14747,7 @@
14747
"zh-cht": "編輯裝置筆記",
14748
"xloc": [
14749
"default-mobile.handlebars->11->568",
14697
- "default.handlebars->31->1635"
14750
+ "default.handlebars->31->1674"
14751
]
14752
},
14753
{
@@ -14714,8 +14767,8 @@
14767
"zh-chs": "编辑设备权限",
14768
"zh-cht": "編輯裝置權限",
14769
"xloc": [
14717
- "default.handlebars->31->1648",
14718
- "default.handlebars->31->1650"
14770
+ "default.handlebars->31->1687",
14771
+ "default.handlebars->31->1689"
14772
]
14773
},
14774
{
@@ -14735,7 +14788,7 @@
14788
"zh-chs": "编辑设备标签",
14789
"zh-cht": "編輯裝置標籤",
14790
"xloc": [
14738
- "default.handlebars->31->519"
14791
+ "default.handlebars->31->528"
14792
]
14793
},
14794
{
@@ -14755,7 +14808,7 @@
14808
"zh-chs": "编辑设备用户同意",
14809
"zh-cht": "編輯裝置用戶同意",
14810
"xloc": [
14758
- "default.handlebars->31->1592"
14811
+ "default.handlebars->31->1631"
14812
]
14813
},
14814
{
@@ -14775,7 +14828,7 @@
14828
"zh-chs": "编辑群组",
14829
"zh-cht": "編輯群組",
14830
"xloc": [
14778
- "default.handlebars->31->784"
14831
+ "default.handlebars->31->793"
14832
]
14833
},
14834
{
@@ -14799,10 +14852,10 @@
14852
"default-mobile.handlebars->11->275",
14853
"default-mobile.handlebars->11->276",
14854
"default-mobile.handlebars->11->337",
14802
- "default.handlebars->31->634",
14803
- "default.handlebars->31->639",
14804
- "default.handlebars->31->640",
14805
- "default.handlebars->31->892"
14855
+ "default.handlebars->31->643",
14856
+ "default.handlebars->31->648",
14857
+ "default.handlebars->31->649",
14858
+ "default.handlebars->31->901"
14859
]
14860
},
14861
{
@@ -14823,7 +14876,7 @@
14876
"zh-cht": "編輯筆記",
14877
"xloc": [
14878
"default-mobile.handlebars->11->583",
14826
- "default.handlebars->31->1665"
14879
+ "default.handlebars->31->1704"
14880
]
14881
},
14882
{
@@ -14843,7 +14896,7 @@
14896
"zh-chs": "编辑用户同意",
14897
"zh-cht": "編輯用戶同意",
14898
"xloc": [
14846
- "default.handlebars->31->1591"
14899
+ "default.handlebars->31->1630"
14900
]
14901
},
14902
{
@@ -14863,7 +14916,7 @@
14916
"zh-chs": "编辑用户设备组权限",
14917
"zh-cht": "編輯用戶裝置群權限",
14918
"xloc": [
14866
- "default.handlebars->31->1656"
14919
+ "default.handlebars->31->1695"
14920
]
14921
},
14922
{
@@ -14883,7 +14936,7 @@
14936
"zh-chs": "编辑用户设备权限",
14937
"zh-cht": "編輯用戶裝置權限",
14938
"xloc": [
14886
- "default.handlebars->31->1651"
14939
+ "default.handlebars->31->1690"
14940
]
14941
},
14942
{
@@ -14903,7 +14956,7 @@
14956
"zh-chs": "编辑用户组",
14957
"zh-cht": "編輯用戶群",
14958
"xloc": [
14906
- "default.handlebars->31->2089"
14959
+ "default.handlebars->31->2130"
14960
]
14961
},
14962
{
@@ -14923,7 +14976,7 @@
14976
"zh-chs": "编辑用户组设备权限",
14977
"zh-cht": "編輯用戶群裝置權限",
14978
"xloc": [
14926
- "default.handlebars->31->1653"
14979
+ "default.handlebars->31->1692"
14980
]
14981
},
14982
{
@@ -14943,7 +14996,7 @@
14996
"zh-chs": "编辑用户组用户同意",
14997
"zh-cht": "編輯用戶組用戶同意",
14998
"xloc": [
14946
- "default.handlebars->31->1593"
14999
+ "default.handlebars->31->1632"
15000
]
15001
},
15002
{
@@ -14985,7 +15038,7 @@
15038
"zh-chs": "编辑标签",
15039
"zh-cht": "編輯標籤",
15040
"xloc": [
14988
- "default.handlebars->31->491"
15041
+ "default.handlebars->31->500"
15042
]
15043
},
15044
{
@@ -15026,12 +15079,12 @@
15079
"zh-cht": "電郵",
15080
"xloc": [
15081
"default-mobile.handlebars->11->101",
15029
- "default.handlebars->31->1988",
15030
- "default.handlebars->31->2115",
15031
- "default.handlebars->31->2117",
15032
- "default.handlebars->31->2157",
15033
- "default.handlebars->31->2177",
15034
- "default.handlebars->31->362",
15082
+ "default.handlebars->31->2029",
15083
+ "default.handlebars->31->2156",
15084
+ "default.handlebars->31->2158",
15085
+ "default.handlebars->31->2198",
15086
+ "default.handlebars->31->2218",
15087
+ "default.handlebars->31->371",
15088
"login-mobile.handlebars->5->42",
15089
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->7->1->4->1->3",
15090
"login.handlebars->5->44",
@@ -15063,7 +15116,7 @@
15116
"zh-cht": "電郵地址變更",
15117
"xloc": [
15118
"default-mobile.handlebars->11->102",
15066
- "default.handlebars->31->1440"
15119
+ "default.handlebars->31->1469"
15120
]
15121
},
15122
{
@@ -15084,7 +15137,7 @@
15137
"zh-cht": "電郵認證",
15138
"xloc": [
15139
"default-mobile.handlebars->11->91",
15087
- "default.handlebars->31->1201"
15140
+ "default.handlebars->31->1210"
15141
]
15142
},
15143
{
@@ -15144,7 +15197,7 @@
15197
"zh-cht": "電郵驗證",
15198
"xloc": [
15199
"default-mobile.handlebars->11->100",
15147
- "default.handlebars->31->1438"
15200
+ "default.handlebars->31->1467"
15201
]
15202
},
15203
{
@@ -15164,7 +15217,7 @@
15217
"zh-chs": "电邮邀请",
15218
"zh-cht": "電郵邀請",
15219
"xloc": [
15167
- "default.handlebars->31->359"
15220
+ "default.handlebars->31->368"
15221
]
15222
},
15223
{
@@ -15184,7 +15237,7 @@
15237
"zh-chs": "电邮未验证",
15238
"zh-cht": "電郵未驗證",
15239
"xloc": [
15187
- "default.handlebars->31->1934"
15240
+ "default.handlebars->31->1975"
15241
]
15242
},
15243
{
@@ -15204,8 +15257,8 @@
15257
"zh-chs": "电子邮件已验证",
15258
"zh-cht": "電子郵件已驗證",
15259
"xloc": [
15207
- "default.handlebars->31->1935",
15208
- "default.handlebars->31->2109"
15260
+ "default.handlebars->31->1976",
15261
+ "default.handlebars->31->2150"
15262
]
15263
},
15264
{
@@ -15225,7 +15278,7 @@
15278
"zh-chs": "电邮已验证。",
15279
"zh-cht": "電郵已驗證。",
15280
"xloc": [
15228
- "default.handlebars->31->1994"
15281
+ "default.handlebars->31->2035"
15282
]
15283
},
15284
{
@@ -15245,7 +15298,7 @@
15298
"zh-chs": "电邮未验证",
15299
"zh-cht": "電郵未驗證",
15300
"xloc": [
15248
- "default.handlebars->31->2110"
15301
+ "default.handlebars->31->2151"
15302
]
15303
},
15304
{
@@ -15266,7 +15319,7 @@
15319
"zh-cht": "電郵已發送。",
15320
"xloc": [
15321
"default-mobile.handlebars->11->625",
15269
- "default.handlebars->31->2289",
15322
+ "default.handlebars->31->2330",
15323
"login-mobile.handlebars->5->2",
15324
"login.handlebars->5->2",
15325
"login2.handlebars->7->3"
@@ -15311,7 +15364,7 @@
15364
"zh-chs": "已通过电邮验证,并且需要重置密码。",
15365
"zh-cht": "已通過電郵驗證,並且需要重置密碼。",
15366
"xloc": [
15314
- "default.handlebars->31->1995"
15367
+ "default.handlebars->31->2036"
15368
]
15369
},
15370
{
@@ -15336,7 +15389,7 @@
15389
"nl": "Email/SMS/Push verkeer",
15390
"de": "Email/SMS/Push-Verkehr",
15391
"xloc": [
15339
- "default.handlebars->31->2365"
15392
+ "default.handlebars->31->2406"
15393
]
15394
},
15395
{
@@ -15382,7 +15435,7 @@
15435
"zh-chs": "启用邀请代码",
15436
"zh-cht": "啟用邀請代碼",
15437
"xloc": [
15385
- "default.handlebars->31->1688"
15438
+ "default.handlebars->31->1727"
15439
]
15440
},
15441
{
@@ -15423,7 +15476,7 @@
15476
"zh-cht": "啟用電郵二因子鑑別。",
15477
"xloc": [
15478
"default-mobile.handlebars->11->93",
15426
- "default.handlebars->31->1203"
15479
+ "default.handlebars->31->1212"
15480
]
15481
},
15482
{
@@ -15463,7 +15516,7 @@
15516
"zh-chs": "已启用",
15517
"zh-cht": "已啟用",
15518
"xloc": [
15466
- "default.handlebars->31->2262"
15519
+ "default.handlebars->31->2303"
15520
]
15521
},
15522
{
@@ -15483,7 +15536,7 @@
15536
"zh-chs": "启用电子邮件两因素身份验证",
15537
"zh-cht": "啟用電子郵件兩因素身份驗證",
15538
"xloc": [
15486
- "default.handlebars->31->1863"
15539
+ "default.handlebars->31->1902"
15540
]
15541
},
15542
{
@@ -15513,7 +15566,7 @@
15566
"de": "Ende",
15567
"xloc": [
15568
"default-mobile.handlebars->11->364",
15516
- "default.handlebars->31->980"
15569
+ "default.handlebars->31->989"
15570
]
15571
},
15572
{
@@ -15533,7 +15586,7 @@
15586
"zh-chs": "时间结束",
15587
"zh-cht": "時間結束",
15588
"xloc": [
15536
- "default.handlebars->31->2259"
15589
+ "default.handlebars->31->2300"
15590
]
15591
},
15592
{
@@ -15553,7 +15606,7 @@
15606
"zh-chs": "从{1}到{2},{3}秒结束了桌面会话“{0}”",
15607
"zh-cht": "從{1}到{2},{3}秒結束了桌面會話“{0}”",
15608
"xloc": [
15556
- "default.handlebars->31->1786"
15609
+ "default.handlebars->31->1825"
15610
]
15611
},
15612
{
@@ -15573,14 +15626,14 @@
15626
"zh-chs": "从{1}到{2},{3}秒结束了文件管理会话“{0}”",
15627
"zh-cht": "從{1}到{2},{3}秒結束了文件管理會話“{0}”",
15628
"xloc": [
15576
- "default.handlebars->31->1787"
15629
+ "default.handlebars->31->1826"
15630
]
15631
},
15632
{
15633
"en": "Ended messenger session \\\"{0}\\\" from {1} to {2}, {3} second(s)",
15634
"nl": "Beëindigde messengersessie \\\"{0}\\\" van {1} naar {2}, {3} second(s)",
This file is too large to show in full.
views/default-mobile.handlebars
+3
-3
@@ -1349,12 +1349,12 @@
1349
}
1350
1351
function updateSelf() {
1352
- var accountSettingsLocked = false;
1353
- if (userinfo) { accountSettingsLocked = ((userinfo.siteadmin != 0xFFFFFFFF) && ((userinfo.siteadmin & 1024) != 0)); }
1352
+ var accountSettingsLocked = ((features2 & 0x100) != 0);
1353
+ if (userinfo) { accountSettingsLocked = ((userinfo.siteadmin != 0xFFFFFFFF) && ((userinfo.siteadmin & 1024) != 0)) || ((features2 & 0x100) != 0); } // Not admin and have account features locked, or using a loginToken
1354
QV('p3AccountActions', ((features & 4) == 0) && (serverinfo.domainauth == false) && (accountSettingsLocked == false)); // Hide Account Actions if in single user mode or domain authentication
1355
QV('logoutMenuOption', ((features & 4) == 0) && (serverinfo.domainauth == false)); // Hide logout if in single user mode or domain authentication
1356
QV('p2AccountSecurity', ((features & 4) == 0) && (serverinfo.domainauth == false) && ((features & 4096) != 0) && (accountSettingsLocked == false)); // Hide Account Security if in single user mode or domain authentication, 2 factor auth not supported.
1357
-
1357
+ QV('p2AccountImage', !accountSettingsLocked);
1358
QV('verifyEmailId', (userinfo.emailVerified !== true) && (userinfo.email != null) && (serverinfo.emailcheck == true));
1359
QV('manageAuthApp', features & 4096);
1360
QV('manageOtp', ((features & 4096) != 0) && ((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0)));
views/default.handlebars
+3
-2
@@ -1928,7 +1928,7 @@
1928
function updateSiteAdmin() {
1929
var serverFeatures = parseInt('{{{serverfeatures}}}');
1930
var siteRights = userinfo.siteadmin;
1931
- var accountSettingsLocked = ((siteRights != 0xFFFFFFFF) && ((siteRights & 1024) != 0));
1931
+ var accountSettingsLocked = ((siteRights != 0xFFFFFFFF) && ((siteRights & 1024) != 0)) || ((features2 & 0x100) != 0); // Not admin and have account features locked, or using a loginToken
1932
1933
// Update account actions
1934
QV('p2AccountSecurity', ((features & 4) == 0) && (serverinfo.domainauth == false) && ((features & 4096) != 0) && (accountSettingsLocked == false)); // Hide Account Security if in single user mode or domain authentication, 2 factor auth not supported.
@@ -1939,7 +1939,7 @@
1939
QV('p2AccountPassActions', ((features & 4) == 0) && (serverinfo.domainauth == false) && (userinfo != null) && (userinfo._id.split('/')[2].startsWith('~') == false)); // Hide Account Actions if in single user mode or domain authentication
1940
//QV('p2AccountImage', ((features & 4) == 0) && (serverinfo.domainauth == false)); // If account actions are not visible, also remove the image on that panel
1941
QV('accountCreateLoginTokenSpan', features2 & 0x00000080);
1942
- QV('p2AccountImage', !accountSettingsLocked)
1942
+ QV('p2AccountImageFrame', !accountSettingsLocked)
1943
QV('p2ServerActions', (siteRights & 21) && ((serverFeatures & 15) != 0));
1944
QV('LeftMenuMyServer', (siteRights & 21) && ((serverFeatures & 64) != 0)); // 16 + 4 + 1
1945
QV('MainMenuMyServer', siteRights & 21);
@@ -10211,6 +10211,7 @@
10211
x += addHtmlValue("Expire Time", '<select id=d2tokenExpire style=width:250px>' + y + '</select>');
10212
setDialogMode(2, "Create Login Token", 3, account_createLoginTokenEx, x);
10213
QE('idx_dlgOkButton', false);
10214
+ Q('d2tokenName').focus();
10215
}
10216
10217
function account_createLoginTokenValidate() {
webserver.js
+27
@@ -1164,6 +1164,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1164
delete req.session.messageid;
1165
delete req.session.passhint;
1166
delete req.session.cuserid;
1167
+ delete req.session.expire;
1168
req.session.userid = userid;
1169
req.session.domainid = domain.id;
1170
req.session.currentNode = '';
@@ -1205,6 +1206,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1206
if (domain == null) { return; }
1207
if ((domain.auth == 'sspi') || (domain.auth == 'ldap')) { parent.debug('web', 'handleCreateAccountRequest: failed checks.'); res.sendStatus(404); return; }
1208
if ((domain.loginkey != null) && (domain.loginkey.indexOf(req.query.key) == -1)) { res.sendStatus(404); return; } // Check 3FA URL key
1209
+ if (req.session.loginToken != null) { res.sendStatus(404); return; } // Do not allow this command when logged in using a login token
1210
1211
// Check if we are in maintenance mode
1212
if (parent.config.settings.maintenancemode != null) {
@@ -1359,6 +1361,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1361
const domain = checkUserIpAddress(req, res);
1362
if (domain == null) { return; }
1363
if ((domain.loginkey != null) && (domain.loginkey.indexOf(req.query.key) == -1)) { res.sendStatus(404); return; } // Check 3FA URL key
1364
+ if (req.session.loginToken != null) { res.sendStatus(404); return; } // Do not allow this command when logged in using a login token
1365
1366
// Check everything is ok
1367
if ((domain == null) || (domain.auth == 'sspi') || (domain.auth == 'ldap') || (typeof req.body.rpassword1 != 'string') || (typeof req.body.rpassword2 != 'string') || (req.body.rpassword1 != req.body.rpassword2) || (typeof req.body.rpasswordhint != 'string') || (req.session == null) || (typeof req.session.resettokenusername != 'string') || (typeof req.session.resettokenpassword != 'string')) {
@@ -1472,6 +1475,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1475
if (domain == null) { return; }
1476
if ((domain.auth == 'sspi') || (domain.auth == 'ldap') || (obj.args.lanonly == true) || (obj.parent.certificates.CommonName == null) || (obj.parent.certificates.CommonName.indexOf('.') == -1)) { parent.debug('web', 'handleResetAccountRequest: check failed'); res.sendStatus(404); return; }
1477
if ((domain.loginkey != null) && (domain.loginkey.indexOf(req.query.key) == -1)) { res.sendStatus(404); return; } // Check 3FA URL key
1478
+ if (req.session.loginToken != null) { res.sendStatus(404); return; } // Do not allow this command when logged in using a login token
1479
1480
// Always lowercase the email address
1481
if (req.body.email) { req.body.email = req.body.email.toLowerCase(); }
@@ -1591,6 +1595,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1595
if (domain == null) { return; }
1596
if ((domain.mailserver == null) || (domain.auth == 'sspi') || (domain.auth == 'ldap') || (typeof req.session.cuserid != 'string') || (obj.users[req.session.cuserid] == null) || (!obj.common.validateEmail(req.body.email, 1, 256))) { parent.debug('web', 'handleCheckAccountEmailRequest: failed checks.'); res.sendStatus(404); return; }
1597
if ((domain.loginkey != null) && (domain.loginkey.indexOf(req.query.key) == -1)) { res.sendStatus(404); return; } // Check 3FA URL key
1598
+ if (req.session.loginToken != null) { res.sendStatus(404); return; } // Do not allow this command when logged in using a login token
1599
1600
// Always lowercase the email address
1601
if (req.body.email) { req.body.email = req.body.email.toLowerCase(); }
@@ -1980,6 +1985,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1985
if (domain == null) { return; }
1986
if ((domain.auth == 'sspi') || (domain.auth == 'ldap')) { parent.debug('web', 'handleDeleteAccountRequest: failed checks.'); res.sendStatus(404); return; }
1987
if ((domain.loginkey != null) && (domain.loginkey.indexOf(req.query.key) == -1)) { res.sendStatus(404); return; } // Check 3FA URL key
1988
+ if (req.session.loginToken != null) { res.sendStatus(404); return; } // Do not allow this command when logged in using a login token
1989
1990
var user = null;
1991
if (req.body.authcookie) {
@@ -2056,6 +2062,17 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
2062
obj.db.Remove('ntp' + deluser._id); // Remove personal notes for this user
2063
obj.db.Remove('im' + deluser._id); // Remove image for this user
2064
2065
+ // Delete any login tokens
2066
+ parent.db.GetAllTypeNodeFiltered(['logintoken-' + deluser._id], domain.id, 'logintoken', null, function (err, docs) {
2067
+ if ((err == null) && (docs != null)) { for (var i = 0; i < docs.length; i++) { parent.db.Remove(docs[i]._id, function () { }); } }
2068
+ });
2069
+
2070
+ // Delete all files on the server for this account
2071
+ try {
2072
+ var deluserpath = obj.getServerRootFilePath(deluser);
2073
+ if (deluserpath != null) { obj.deleteFolderRec(deluserpath); }
2074
+ } catch (e) { }
2075
+
2076
// Remove the user
2077
obj.db.Remove(deluser._id);
2078
delete obj.users[deluser._id];
@@ -2151,6 +2168,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
2168
if (domain == null) { return; }
2169
if ((domain.auth == 'sspi') || (domain.auth == 'ldap')) { parent.debug('web', 'handlePasswordChangeRequest: failed checks (1).'); res.sendStatus(404); return; }
2170
if ((domain.loginkey != null) && (domain.loginkey.indexOf(req.query.key) == -1)) { res.sendStatus(404); return; } // Check 3FA URL key
2171
+ if (req.session.loginToken != null) { res.sendStatus(404); return; } // Do not allow this command when logged in using a login token
2172
2173
// Check if the user is logged and we have all required parameters
2174
if (!req.session || !req.session.userid || !req.body.apassword0 || !req.body.apassword1 || (req.body.apassword1 != req.body.apassword2) || (req.session.domainid != domain.id)) {
@@ -2325,6 +2343,9 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
2343
if ((domain.loginkey != null) && (domain.loginkey.indexOf(req.query.key) == -1)) { res.sendStatus(404); return; } // Check 3FA URL key
2344
if (!obj.args) { parent.debug('web', 'handleRootRequest: no obj.args.'); res.sendStatus(500); return; }
2345
2346
+ // If the session is expired, clear it.
2347
+ if ((req.session != null) && (typeof req.session.expire == 'number') && ((req.session.expire - Date.now()) <= 0)) { for (var i in req.session) { delete req.session[i]; } }
2348
+
2349
// Check if we are in maintenance mode
2350
if ((parent.config.settings.maintenancemode != null) && (req.query.admin !== '1')) {
2351
parent.debug('web', 'handleLoginRequest: Server under maintenance.');
@@ -2584,6 +2605,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
2605
if (parent.amtProvisioningServer != null) { features2 += 0x00000020; } // Intel AMT LAN provisioning server
2606
if (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.push2factor != false)) && (obj.parent.firebase != null)) { features2 += 0x00000040; } // Indicates device push notification 2FA is enabled
2607
if ((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.logintokens != false)) { features2 += 0x00000080; } // Indicates login tokens are allowed
2608
+ if (req.session.loginToken != null) { features2 += 0x00000100; } // LoginToken mode, no account changes.
2609
2610
// Create a authentication cookie
2611
const authCookie = obj.parent.encodeCookie({ userid: dbGetFunc.user._id, domainid: domain.id, ip: req.clientIp }, obj.parent.loginCookieEncryptionKey);
@@ -6095,6 +6117,11 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
6117
6118
// Authenticates a session and forwards
6119
function PerformWSSessionAuth(ws, req, noAuthOk, func) {
6120
+ // Check if the session expired
6121
+ if ((req.session != null) && (typeof req.session.expire == 'number') && (req.session.expire <= Date.now())) {
6122
+ parent.debug('web', 'WSERROR: Session expired.'); try { ws.send(JSON.stringify({ action: 'close', cause: 'expired', msg: 'expired-1' })); ws.close(); } catch (e) { } return;
6123
+ }
6124
+
6125
// Check if this is a banned ip address
6126
if (obj.checkAllowLogin(req) == false) { parent.debug('web', 'WSERROR: Banned connection.'); try { ws.send(JSON.stringify({ action: 'close', cause: 'banned', msg: 'banned-1' })); ws.close(); } catch (e) { } return; }
6127
try {