gamelet-cli 0.6.2 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/assets/common.d.ts +4 -4
  4. package/assets/gitignore.txt +65 -65
  5. package/assets/launch.json +21 -21
  6. package/assets/package.json.twig +22 -22
  7. package/assets/server/greenlock.d/config.json +25 -25
  8. package/assets/server/static/css/style.css +0 -0
  9. package/assets/server/static/js/monitor.js +0 -0
  10. package/assets/server/static/js/test.js +0 -0
  11. package/assets/server/views/error.twig +0 -0
  12. package/assets/server/views/index.twig +0 -0
  13. package/assets/server/views/monitor.twig +0 -0
  14. package/assets/server/views/test.twig +0 -0
  15. package/assets/tsconfig.json.twig +42 -42
  16. package/build/package.json +67 -67
  17. package/build/src/gamelet/download.js +736 -736
  18. package/build/src/gamelet/merges.js +143 -143
  19. package/build/src/gamelet/prepare.js +274 -274
  20. package/build/src/gamelet/upload.js +278 -278
  21. package/build/src/index.js +85 -85
  22. package/build/src/server/Constant.js +9 -9
  23. package/build/src/server/entities/Client.js +77 -77
  24. package/build/src/server/entities/ClientOwner.js +66 -66
  25. package/build/src/server/entities/ClientProject.js +83 -83
  26. package/build/src/server/entities/Gameroom.js +88 -88
  27. package/build/src/server/entities/GameroomBase.js +275 -275
  28. package/build/src/server/entities/Gamezone.js +72 -72
  29. package/build/src/server/entities/ListFilter.js +192 -192
  30. package/build/src/server/entities/Monitor.js +80 -80
  31. package/build/src/server/entities/Player.js +131 -131
  32. package/build/src/server/managers/ApiManager.js +74 -74
  33. package/build/src/server/managers/ClientManager.js +63 -63
  34. package/build/src/server/managers/Database.js +664 -594
  35. package/build/src/server/managers/GameroomManager.js +391 -391
  36. package/build/src/server/managers/ManagerBase.js +16 -16
  37. package/build/src/server/managers/MonitorManager.js +72 -72
  38. package/build/src/server/managers/PlayerManager.js +103 -103
  39. package/build/src/server/managers/SocketManager.js +55 -55
  40. package/build/src/server/managers/UserManager.js +57 -57
  41. package/build/src/server/messages/Message.js +141 -141
  42. package/build/src/server/server.js +109 -109
  43. package/build/src/server/services/ServiceBase.js +24 -24
  44. package/build/src/server/services/clientService.js +23 -23
  45. package/build/src/server/services/gameroomService.js +121 -121
  46. package/build/src/server/services/gltserver.service.js +23 -23
  47. package/build/src/server/services/playerService.js +29 -29
  48. package/build/src/server/startServer.js +32 -32
  49. package/build/src/server/types/BadgeStatus.js +24 -24
  50. package/build/src/server/types/OrderType.js +37 -37
  51. package/build/src/server/types/SubmitType.js +23 -23
  52. package/build/src/server/types/TimeRange.js +25 -25
  53. package/build/src/server/utils/ArrayUtil.js +125 -125
  54. package/build/src/server/utils/IntUtil.js +9 -9
  55. package/build/src/server/utils/ObjectUtil.js +190 -190
  56. package/build/src/server/utils/StringUtil.js +36 -36
  57. package/build/src/server/vo/Database.js +0 -0
  58. package/build/src/server/vo/Gameroom.js +0 -0
  59. package/build/src/server/vo/Gamezone.js +0 -0
  60. package/build/src/server/vo/Player.js +0 -0
  61. package/build/src/server/vo/Response.js +0 -0
  62. package/build/src/server/vo/System.js +0 -0
  63. package/build/src/utils/cli.js +48 -48
  64. package/build/src/utils/file.js +326 -326
  65. package/build/src/utils/init.js +41 -41
  66. package/build/src/utils/log.js +16 -16
  67. package/build/src/utils/net.js +38 -38
  68. package/package.json +2 -2
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ManagerBase = void 0;
4
- const MonitorManager_1 = require("./MonitorManager");
5
- class ManagerBase {
6
- constructor(name) {
7
- this.name = name;
8
- }
9
- designContract(condition, errorMsg) {
10
- if (!condition) {
11
- MonitorManager_1.monitorManager.error('', 'error', this.name, errorMsg);
12
- throw new Error(errorMsg);
13
- }
14
- }
15
- }
16
- exports.ManagerBase = ManagerBase;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ManagerBase = void 0;
4
+ const MonitorManager_1 = require("./MonitorManager");
5
+ class ManagerBase {
6
+ constructor(name) {
7
+ this.name = name;
8
+ }
9
+ designContract(condition, errorMsg) {
10
+ if (!condition) {
11
+ MonitorManager_1.monitorManager.error('', 'error', this.name, errorMsg);
12
+ throw new Error(errorMsg);
13
+ }
14
+ }
15
+ }
16
+ exports.ManagerBase = ManagerBase;
17
17
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlckJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL21hbmFnZXJzL01hbmFnZXJCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFrRDtBQUVsRCxNQUFhLFdBQVc7SUFFcEIsWUFBbUIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFFL0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUFjLEVBQUUsUUFBZ0I7UUFDM0MsSUFBRyxDQUFDLFNBQVMsRUFBRTtZQUNYLCtCQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztDQUNKO0FBWkQsa0NBWUMifQ==
@@ -1,73 +1,73 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.monitorManager = void 0;
4
- const ClientManager_1 = require("./ClientManager");
5
- const Monitor_1 = require("./../entities/Monitor");
6
- const Message_1 = require("./../messages/Message");
7
- const StringUtil_1 = require("./../utils/StringUtil");
8
- const gltserver_service_1 = require("../services/gltserver.service");
9
- class MonitorManager {
10
- constructor() {
11
- this.channel = 'monitorCh';
12
- }
13
- initialize(clientCode, io) {
14
- this.monitorIO = io.of('/monitor');
15
- this.monitorIO.on('connection', (socket) => {
16
- socket.on(Message_1.MessageType.LOGIN, (token, cb) => {
17
- gltserver_service_1.serverService.validateAccessTokenForMonitor(token)
18
- .then(user => {
19
- if (this.monitor) {
20
- this.monitor.dispose();
21
- }
22
- ClientManager_1.clientManager.getClientProject(clientCode, true)
23
- .then(project => {
24
- this.monitor = new Monitor_1.Monitor(this.generateMonitorCode(socket), socket, project, user);
25
- this.monitor.initialize();
26
- cb({ data: { user: user } });
27
- });
28
- })
29
- .catch(err => {
30
- cb({ error: 'invalid credential, ' + err });
31
- socket.disconnect();
32
- });
33
- });
34
- });
35
- }
36
- generateMonitorCode(socket) {
37
- return 'CGM' + socket.client.id;
38
- }
39
- _log(projectCode, channel, prefix, data, color, player) {
40
- let msg = Message_1.Message.forMonitorLog(projectCode, channel, prefix, data, color, player);
41
- msg.send(this.monitorIO.to(this.channel));
42
- this.monitor && msg.send(this.monitor.socket);
43
- }
44
- log(projectCode, channel, prefix, data) {
45
- this._log(projectCode, channel, prefix, data, 'black');
46
- }
47
- logIncoming(projectCode, channel, prefix, data, player) {
48
- this._log(projectCode, channel, prefix, data, 'green', player);
49
- }
50
- logOutgoing(projectCode, channel, prefix, data, player) {
51
- this._log(projectCode, channel, prefix, data, 'blue', player);
52
- }
53
- error(projectCode, channel, prefix, err) {
54
- this._log(projectCode, channel, prefix, StringUtil_1.StringUtil.errorToString(err), 'red');
55
- }
56
- _event(projectCode, event, data) {
57
- let msg = Message_1.Message.forMonitorEvent(projectCode, event, data);
58
- msg.send(this.monitorIO.to(this.channel));
59
- this.monitor && msg.send(this.monitor.socket);
60
- }
61
- eventPlayerDisconnected(player) {
62
- this._event(player.client.project.code, 'playerDisconnected', {
63
- player: player.toMonitorPlayer()
64
- });
65
- }
66
- eventPlayerConneced(player) {
67
- this._event(player.client.project.code, 'playerConnected', {
68
- player: player.toMonitorPlayer()
69
- });
70
- }
71
- }
72
- exports.monitorManager = new MonitorManager();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.monitorManager = void 0;
4
+ const ClientManager_1 = require("./ClientManager");
5
+ const Monitor_1 = require("./../entities/Monitor");
6
+ const Message_1 = require("./../messages/Message");
7
+ const StringUtil_1 = require("./../utils/StringUtil");
8
+ const gltserver_service_1 = require("../services/gltserver.service");
9
+ class MonitorManager {
10
+ constructor() {
11
+ this.channel = 'monitorCh';
12
+ }
13
+ initialize(clientCode, io) {
14
+ this.monitorIO = io.of('/monitor');
15
+ this.monitorIO.on('connection', (socket) => {
16
+ socket.on(Message_1.MessageType.LOGIN, (token, cb) => {
17
+ gltserver_service_1.serverService.validateAccessTokenForMonitor(token)
18
+ .then(user => {
19
+ if (this.monitor) {
20
+ this.monitor.dispose();
21
+ }
22
+ ClientManager_1.clientManager.getClientProject(clientCode, true)
23
+ .then(project => {
24
+ this.monitor = new Monitor_1.Monitor(this.generateMonitorCode(socket), socket, project, user);
25
+ this.monitor.initialize();
26
+ cb({ data: { user: user } });
27
+ });
28
+ })
29
+ .catch(err => {
30
+ cb({ error: 'invalid credential, ' + err });
31
+ socket.disconnect();
32
+ });
33
+ });
34
+ });
35
+ }
36
+ generateMonitorCode(socket) {
37
+ return 'CGM' + socket.client.id;
38
+ }
39
+ _log(projectCode, channel, prefix, data, color, player) {
40
+ let msg = Message_1.Message.forMonitorLog(projectCode, channel, prefix, data, color, player);
41
+ msg.send(this.monitorIO.to(this.channel));
42
+ this.monitor && msg.send(this.monitor.socket);
43
+ }
44
+ log(projectCode, channel, prefix, data) {
45
+ this._log(projectCode, channel, prefix, data, 'black');
46
+ }
47
+ logIncoming(projectCode, channel, prefix, data, player) {
48
+ this._log(projectCode, channel, prefix, data, 'green', player);
49
+ }
50
+ logOutgoing(projectCode, channel, prefix, data, player) {
51
+ this._log(projectCode, channel, prefix, data, 'blue', player);
52
+ }
53
+ error(projectCode, channel, prefix, err) {
54
+ this._log(projectCode, channel, prefix, StringUtil_1.StringUtil.errorToString(err), 'red');
55
+ }
56
+ _event(projectCode, event, data) {
57
+ let msg = Message_1.Message.forMonitorEvent(projectCode, event, data);
58
+ msg.send(this.monitorIO.to(this.channel));
59
+ this.monitor && msg.send(this.monitor.socket);
60
+ }
61
+ eventPlayerDisconnected(player) {
62
+ this._event(player.client.project.code, 'playerDisconnected', {
63
+ player: player.toMonitorPlayer()
64
+ });
65
+ }
66
+ eventPlayerConneced(player) {
67
+ this._event(player.client.project.code, 'playerConnected', {
68
+ player: player.toMonitorPlayer()
69
+ });
70
+ }
71
+ }
72
+ exports.monitorManager = new MonitorManager();
73
73
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uaXRvck1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL21hbmFnZXJzL01vbml0b3JNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRDtBQUNoRCxtREFBZ0Q7QUFDaEQsbURBQTZEO0FBQzdELHNEQUFtRDtBQUVuRCxxRUFBOEQ7QUFHOUQsTUFBTSxjQUFjO0lBQXBCO1FBSVksWUFBTyxHQUFXLFdBQVcsQ0FBQztJQXlFMUMsQ0FBQztJQXJFRyxVQUFVLENBQUMsVUFBa0IsRUFBRSxFQUFtQjtRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBdUIsRUFBRSxFQUFFO1lBQ3hELE1BQU0sQ0FBQyxFQUFFLENBQUMscUJBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBOEIsRUFBRSxFQUFFO2dCQUMzRSxpQ0FBYSxDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQztxQkFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNULElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTt3QkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO3FCQUMxQjtvQkFDRCw2QkFBYSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7eUJBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDWixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDcEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFDMUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDakMsQ0FBQyxDQUFDLENBQUE7Z0JBQ1YsQ0FBQyxDQUFDO3FCQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDVCxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDNUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN4QixDQUFDLENBQUMsQ0FBQTtZQUNWLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBdUI7UUFDdkMsT0FBTyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLElBQUksQ0FBQyxXQUFtQixFQUFFLE9BQWUsRUFBRSxNQUFjLEVBQUUsSUFBUyxFQUFFLEtBQWEsRUFBRSxNQUFlO1FBQ3hHLElBQUksR0FBRyxHQUFHLGlCQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkYsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsR0FBRyxDQUFDLFdBQW1CLEVBQUUsT0FBZSxFQUFFLE1BQWMsRUFBRSxJQUFTO1FBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxXQUFXLENBQUMsV0FBbUIsRUFBRSxPQUFlLEVBQUUsTUFBYyxFQUFFLElBQVMsRUFBRSxNQUFlO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsV0FBVyxDQUFDLFdBQW1CLEVBQUUsT0FBZSxFQUFFLE1BQWMsRUFBRSxJQUFTLEVBQUUsTUFBZTtRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFtQixFQUFFLE9BQWUsRUFBRSxNQUFjLEVBQUUsR0FBUTtRQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLHVCQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTyxNQUFNLENBQUMsV0FBbUIsRUFBRSxLQUFhLEVBQUUsSUFBUztRQUN4RCxJQUFJLEdBQUcsR0FBRyxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELHVCQUF1QixDQUFDLE1BQWM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDMUQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUU7U0FDbkMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQWM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDdkQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUU7U0FDbkMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUVKO0FBRVksUUFBQSxjQUFjLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQyJ9
@@ -1,104 +1,104 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.playerManager = void 0;
4
- const ManagerBase_1 = require("./ManagerBase");
5
- const Player_1 = require("../entities/Player");
6
- const Message_1 = require("../messages/Message");
7
- const ArrayUtil_1 = require("../utils/ArrayUtil");
8
- class PlayerManager extends ManagerBase_1.ManagerBase {
9
- constructor() {
10
- super('PlayerManager');
11
- this.players = {};
12
- this.clientUserMap = {};
13
- }
14
- initialize() {
15
- }
16
- listPlayers() {
17
- return ArrayUtil_1.ArrayUtil.listValuesOfObject(this.players);
18
- }
19
- createPlayer(socket, client, user, networkDelay) {
20
- let playerCode = this.generatePlayerCode(socket, user);
21
- this.designContract(!this.players[playerCode], 'The socket has been assigned to another user');
22
- let player = new Player_1.Player(playerCode, socket, client, user, networkDelay);
23
- this.processDuplicateLoginUser(player);
24
- this.players[player.code] = player;
25
- client.addPlayer(player);
26
- player.on(Player_1.Player.EVENT.DISCONNECTED, () => {
27
- delete this.players[player.code];
28
- (this.clientUserMap[player.clientUserKey] == player) && delete this.clientUserMap[player.clientUserKey];
29
- client.removePlayer(player);
30
- });
31
- return player;
32
- }
33
- getTotalPlayersCount() {
34
- let count = 0;
35
- for (let _key in this.players) {
36
- ++count;
37
- }
38
- return count;
39
- }
40
- getPlayerByCode(code) {
41
- return this.players[code];
42
- }
43
- generatePlayerCode(socket, user) {
44
- return 'DVP' + socket.client.id + '|' + user.username;
45
- }
46
- getPlayerByUsername(username) {
47
- for (let key in this.players) {
48
- let player = this.players[key];
49
- if (player.user.username == username) {
50
- return player;
51
- }
52
- }
53
- return null;
54
- }
55
- processDuplicateLoginUser(player) {
56
- let prevPlayer = this.clientUserMap[player.clientUserKey];
57
- if (prevPlayer && prevPlayer != player) {
58
- prevPlayer.disconnect();
59
- }
60
- this.clientUserMap[player.clientUserKey] = player;
61
- }
62
- updateNetworkDelay(player, networkDelay) {
63
- networkDelay = Math.max(10, networkDelay);
64
- player.setNetworkDelay(networkDelay);
65
- return Promise.resolve(networkDelay);
66
- }
67
- searchPlayers(player, term, length) {
68
- if (length <= 0 || !term || term.length < 2) {
69
- return Promise.resolve([]);
70
- }
71
- let list = [];
72
- for (let key in this.players) {
73
- let p = this.players[key];
74
- if (p.client == player.client && !p.user.guest) {
75
- if (p.user.nickname.includes(term) || p.user.username.includes(term)) {
76
- list.push(p);
77
- if (list.length >= length) {
78
- break;
79
- }
80
- }
81
- }
82
- }
83
- return Promise.resolve(list);
84
- }
85
- sendDataToPlayer(player, playerCode, data) {
86
- let target = this.players[playerCode];
87
- this.designContract(target, 'The player has left the game.');
88
- return target.send(Message_1.Message.forDataToPlayer(player, data));
89
- }
90
- gltReport(player, _zoneCode, _paramInt, _paramStr, _meta, disconnect) {
91
- if (disconnect) {
92
- setTimeout(() => player.disconnect(), 1);
93
- }
94
- player.addCheat();
95
- const room = player.getGameroom();
96
- if (room) {
97
- room.updateBrainer(false);
98
- room.broadcast(Message_1.Message.forPlayerCheated(player.code));
99
- }
100
- return Promise.resolve(1);
101
- }
102
- }
103
- exports.playerManager = new PlayerManager();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.playerManager = void 0;
4
+ const ManagerBase_1 = require("./ManagerBase");
5
+ const Player_1 = require("../entities/Player");
6
+ const Message_1 = require("../messages/Message");
7
+ const ArrayUtil_1 = require("../utils/ArrayUtil");
8
+ class PlayerManager extends ManagerBase_1.ManagerBase {
9
+ constructor() {
10
+ super('PlayerManager');
11
+ this.players = {};
12
+ this.clientUserMap = {};
13
+ }
14
+ initialize() {
15
+ }
16
+ listPlayers() {
17
+ return ArrayUtil_1.ArrayUtil.listValuesOfObject(this.players);
18
+ }
19
+ createPlayer(socket, client, user, networkDelay) {
20
+ let playerCode = this.generatePlayerCode(socket, user);
21
+ this.designContract(!this.players[playerCode], 'The socket has been assigned to another user');
22
+ let player = new Player_1.Player(playerCode, socket, client, user, networkDelay);
23
+ this.processDuplicateLoginUser(player);
24
+ this.players[player.code] = player;
25
+ client.addPlayer(player);
26
+ player.on(Player_1.Player.EVENT.DISCONNECTED, () => {
27
+ delete this.players[player.code];
28
+ (this.clientUserMap[player.clientUserKey] == player) && delete this.clientUserMap[player.clientUserKey];
29
+ client.removePlayer(player);
30
+ });
31
+ return player;
32
+ }
33
+ getTotalPlayersCount() {
34
+ let count = 0;
35
+ for (let _key in this.players) {
36
+ ++count;
37
+ }
38
+ return count;
39
+ }
40
+ getPlayerByCode(code) {
41
+ return this.players[code];
42
+ }
43
+ generatePlayerCode(socket, user) {
44
+ return 'DVP' + socket.client.id + '|' + user.username;
45
+ }
46
+ getPlayerByUsername(username) {
47
+ for (let key in this.players) {
48
+ let player = this.players[key];
49
+ if (player.user.username == username) {
50
+ return player;
51
+ }
52
+ }
53
+ return null;
54
+ }
55
+ processDuplicateLoginUser(player) {
56
+ let prevPlayer = this.clientUserMap[player.clientUserKey];
57
+ if (prevPlayer && prevPlayer != player) {
58
+ prevPlayer.disconnect();
59
+ }
60
+ this.clientUserMap[player.clientUserKey] = player;
61
+ }
62
+ updateNetworkDelay(player, networkDelay) {
63
+ networkDelay = Math.max(10, networkDelay);
64
+ player.setNetworkDelay(networkDelay);
65
+ return Promise.resolve(networkDelay);
66
+ }
67
+ searchPlayers(player, term, length) {
68
+ if (length <= 0 || !term || term.length < 2) {
69
+ return Promise.resolve([]);
70
+ }
71
+ let list = [];
72
+ for (let key in this.players) {
73
+ let p = this.players[key];
74
+ if (p.client == player.client && !p.user.guest) {
75
+ if (p.user.nickname.includes(term) || p.user.username.includes(term)) {
76
+ list.push(p);
77
+ if (list.length >= length) {
78
+ break;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ return Promise.resolve(list);
84
+ }
85
+ sendDataToPlayer(player, playerCode, data) {
86
+ let target = this.players[playerCode];
87
+ this.designContract(target, 'The player has left the game.');
88
+ return target.send(Message_1.Message.forDataToPlayer(player, data));
89
+ }
90
+ gltReport(player, _zoneCode, _paramInt, _paramStr, _meta, disconnect) {
91
+ if (disconnect) {
92
+ setTimeout(() => player.disconnect(), 1);
93
+ }
94
+ player.addCheat();
95
+ const room = player.getGameroom();
96
+ if (room) {
97
+ room.updateBrainer(false);
98
+ room.broadcast(Message_1.Message.forPlayerCheated(player.code));
99
+ }
100
+ return Promise.resolve(1);
101
+ }
102
+ }
103
+ exports.playerManager = new PlayerManager();
104
104
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheWVyTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFuYWdlcnMvUGxheWVyTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrQ0FBNEM7QUFDNUMsK0NBQTRDO0FBQzVDLGlEQUE4QztBQUM5QyxrREFBK0M7QUFFL0MsTUFBTSxhQUFjLFNBQVEseUJBQVc7SUFLbkM7UUFDSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFKbkIsWUFBTyxHQUE4QixFQUFFLENBQUM7UUFDeEMsa0JBQWEsR0FBOEIsRUFBRSxDQUFDO0lBSXRELENBQUM7SUFFRCxVQUFVO0lBQ1YsQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLHFCQUFTLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxZQUFZLENBQUMsTUFBdUIsRUFBRSxNQUFjLEVBQUUsSUFBYSxFQUFFLFlBQW9CO1FBQ3JGLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsOENBQThDLENBQUMsQ0FBQztRQUMvRixJQUFJLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNuQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpCLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBTSxDQUFDLEtB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
@@ -1,56 +1,56 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.socketManager = void 0;
4
- const ManagerBase_1 = require("./ManagerBase");
5
- const Message_1 = require("../messages/Message");
6
- const PlayerManager_1 = require("./PlayerManager");
7
- const gltserver_service_1 = require("../services/gltserver.service");
8
- const StringUtil_1 = require("../utils/StringUtil");
9
- const ClientManager_1 = require("./ClientManager");
10
- const MonitorManager_1 = require("./MonitorManager");
11
- class SocketManager extends ManagerBase_1.ManagerBase {
12
- constructor() {
13
- super('SocketManager');
14
- }
15
- initialize(gameIO) {
16
- gameIO.on('connection', (socket) => {
17
- //let player: Player = null;
18
- socket.on(Message_1.MessageType.ECHO, (message, cb) => {
19
- cb({ data: message });
20
- });
21
- socket.on(Message_1.MessageType.LOGIN, (token, msgVersion, networkDelay, cb) => {
22
- this.onLogin(socket, token, msgVersion, networkDelay, '', cb);
23
- });
24
- socket.on(Message_1.MessageType.LOGIN2, (token, msgVersion, networkDelay, devToken, cb) => {
25
- this.onLogin(socket, token, msgVersion, networkDelay, devToken, cb);
26
- });
27
- });
28
- }
29
- onLogin(socket, token, msgVersion, networkDelay, _devToken, cb) {
30
- gltserver_service_1.serverService.validateAccessToken(token)
31
- .then(user => {
32
- this.designContract(user, 'no user returned');
33
- if (socket.connected) {
34
- return ClientManager_1.clientManager.getClientByToken(token, msgVersion)
35
- .then(client => {
36
- MonitorManager_1.monitorManager.log(client.project.code, 'player', 'user login', user.username);
37
- let player = PlayerManager_1.playerManager.createPlayer(socket, client, user, networkDelay);
38
- cb({ data: player.toVo() });
39
- return user;
40
- });
41
- }
42
- else {
43
- return user;
44
- }
45
- })
46
- .catch(err => {
47
- console.error(err);
48
- if (socket.connected) {
49
- cb({ error: StringUtil_1.StringUtil.errorToString(err) });
50
- socket.disconnect(true);
51
- }
52
- });
53
- }
54
- }
55
- exports.socketManager = new SocketManager();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.socketManager = void 0;
4
+ const ManagerBase_1 = require("./ManagerBase");
5
+ const Message_1 = require("../messages/Message");
6
+ const PlayerManager_1 = require("./PlayerManager");
7
+ const gltserver_service_1 = require("../services/gltserver.service");
8
+ const StringUtil_1 = require("../utils/StringUtil");
9
+ const ClientManager_1 = require("./ClientManager");
10
+ const MonitorManager_1 = require("./MonitorManager");
11
+ class SocketManager extends ManagerBase_1.ManagerBase {
12
+ constructor() {
13
+ super('SocketManager');
14
+ }
15
+ initialize(gameIO) {
16
+ gameIO.on('connection', (socket) => {
17
+ //let player: Player = null;
18
+ socket.on(Message_1.MessageType.ECHO, (message, cb) => {
19
+ cb({ data: message });
20
+ });
21
+ socket.on(Message_1.MessageType.LOGIN, (token, msgVersion, networkDelay, cb) => {
22
+ this.onLogin(socket, token, msgVersion, networkDelay, '', cb);
23
+ });
24
+ socket.on(Message_1.MessageType.LOGIN2, (token, msgVersion, networkDelay, devToken, cb) => {
25
+ this.onLogin(socket, token, msgVersion, networkDelay, devToken, cb);
26
+ });
27
+ });
28
+ }
29
+ onLogin(socket, token, msgVersion, networkDelay, _devToken, cb) {
30
+ gltserver_service_1.serverService.validateAccessToken(token)
31
+ .then(user => {
32
+ this.designContract(user, 'no user returned');
33
+ if (socket.connected) {
34
+ return ClientManager_1.clientManager.getClientByToken(token, msgVersion)
35
+ .then(client => {
36
+ MonitorManager_1.monitorManager.log(client.project.code, 'player', 'user login', user.username);
37
+ let player = PlayerManager_1.playerManager.createPlayer(socket, client, user, networkDelay);
38
+ cb({ data: player.toVo() });
39
+ return user;
40
+ });
41
+ }
42
+ else {
43
+ return user;
44
+ }
45
+ })
46
+ .catch(err => {
47
+ console.error(err);
48
+ if (socket.connected) {
49
+ cb({ error: StringUtil_1.StringUtil.errorToString(err) });
50
+ socket.disconnect(true);
51
+ }
52
+ });
53
+ }
54
+ }
55
+ exports.socketManager = new SocketManager();
56
56
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29ja2V0TWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFuYWdlcnMvU29ja2V0TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBNEM7QUFDNUMsaURBQWtEO0FBQ2xELG1EQUFnRDtBQUNoRCxxRUFBOEQ7QUFDOUQsb0RBQWlEO0FBQ2pELG1EQUFnRDtBQUNoRCxxREFBa0Q7QUFFbEQsTUFBTSxhQUFjLFNBQVEseUJBQVc7SUFFbkM7UUFDSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUEwQjtRQUN4QyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQXVCLEVBQUUsRUFBRTtZQUNoRCw0QkFBNEI7WUFFNUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxxQkFBVyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUE4QixFQUFFLEVBQUU7Z0JBQ3BFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxxQkFBVyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQWEsRUFBRSxVQUFrQixFQUFFLFlBQW9CLEVBQUUsRUFBOEIsRUFBRSxFQUFFO2dCQUNySCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbEUsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsRUFBRSxDQUFDLHFCQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxRQUFnQixFQUFFLEVBQThCLEVBQUUsRUFBRTtnQkFDeEksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sT0FBTyxDQUFDLE1BQXVCLEVBQUUsS0FBYSxFQUFFLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxTQUFpQixFQUFFLEVBQThCO1FBQy9JLGlDQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO2FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNULElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFFOUMsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO2dCQUNsQixPQUFPLDZCQUFhLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQztxQkFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNYLCtCQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUMvRSxJQUFJLE1BQU0sR0FBRyw2QkFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDNUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzVCLE9BQU8sSUFBSSxDQUFDO2dCQUNoQixDQUFDLENBQUMsQ0FBQTthQUNUO2lCQUFNO2dCQUNILE9BQU8sSUFBSSxDQUFDO2FBQ2Y7UUFDTCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtnQkFDbEIsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLHVCQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDN0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQztDQUNKO0FBRVksUUFBQSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyJ9
@@ -1,58 +1,58 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.userManager = exports.UserManager = void 0;
4
- const IntUtil_1 = require("../utils/IntUtil");
5
- const StringUtil_1 = require("../utils/StringUtil");
6
- const PlayerManager_1 = require("./PlayerManager");
7
- class UserManager {
8
- constructor() {
9
- this.users = [];
10
- this.userIconColors = [
11
- 'blue',
12
- 'green',
13
- 'orange',
14
- 'pink',
15
- 'red',
16
- 'yellow',
17
- ];
18
- this.users.push({
19
- username: 'LocalServerMonitor',
20
- nickname: 'Monitor',
21
- token: 'localServerMonitor',
22
- admin: true,
23
- iconUrl: 'https://gamelet.online/img/default_usericon_red.png',
24
- ip: '1.1.1.1',
25
- });
26
- }
27
- getByToken(toiken) {
28
- return this.users.find(u => u.token == toiken);
29
- }
30
- getByUsername(username) {
31
- return this.users.find(u => u.username == username);
32
- }
33
- listByUsernames(usernames) {
34
- return this.users.filter(u => usernames.includes(u.username));
35
- }
36
- login(clientCode, guest) {
37
- let onlineUsernames = PlayerManager_1.playerManager.listPlayers().map(player => player.user.username);
38
- let user = this.users.find(u => !onlineUsernames.includes(u.username) && !u.guest == !guest && !u.admin);
39
- if (!user) {
40
- let userIndex = this.users.length + 1;
41
- let username = `DevUser_${userIndex}@devserver`;
42
- let userColor = this.userIconColors[userIndex % this.userIconColors.length];
43
- user = {
44
- username: username,
45
- nickname: `User ${userIndex}`,
46
- iconUrl: `https://gamelet.online/img/default_usericon_${userColor}.png`,
47
- token: `${username}|${clientCode}|Dev` + StringUtil_1.StringUtil.generateRandomString(3),
48
- ip: [192, 168, IntUtil_1.IntUtil.randInt(100, 200), IntUtil_1.IntUtil.randInt(100, 200)].join('.'),
49
- guest: !!guest,
50
- };
51
- this.users.push(user);
52
- }
53
- return user;
54
- }
55
- }
56
- exports.UserManager = UserManager;
57
- exports.userManager = new UserManager();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.userManager = exports.UserManager = void 0;
4
+ const IntUtil_1 = require("../utils/IntUtil");
5
+ const StringUtil_1 = require("../utils/StringUtil");
6
+ const PlayerManager_1 = require("./PlayerManager");
7
+ class UserManager {
8
+ constructor() {
9
+ this.users = [];
10
+ this.userIconColors = [
11
+ 'blue',
12
+ 'green',
13
+ 'orange',
14
+ 'pink',
15
+ 'red',
16
+ 'yellow',
17
+ ];
18
+ this.users.push({
19
+ username: 'LocalServerMonitor',
20
+ nickname: 'Monitor',
21
+ token: 'localServerMonitor',
22
+ admin: true,
23
+ iconUrl: 'https://gamelet.online/img/default_usericon_red.png',
24
+ ip: '1.1.1.1',
25
+ });
26
+ }
27
+ getByToken(toiken) {
28
+ return this.users.find(u => u.token == toiken);
29
+ }
30
+ getByUsername(username) {
31
+ return this.users.find(u => u.username == username);
32
+ }
33
+ listByUsernames(usernames) {
34
+ return this.users.filter(u => usernames.includes(u.username));
35
+ }
36
+ login(clientCode, guest) {
37
+ let onlineUsernames = PlayerManager_1.playerManager.listPlayers().map(player => player.user.username);
38
+ let user = this.users.find(u => !onlineUsernames.includes(u.username) && !u.guest == !guest && !u.admin);
39
+ if (!user) {
40
+ let userIndex = this.users.length + 1;
41
+ let username = `DevUser_${userIndex}@devserver`;
42
+ let userColor = this.userIconColors[userIndex % this.userIconColors.length];
43
+ user = {
44
+ username: username,
45
+ nickname: `User ${userIndex}`,
46
+ iconUrl: `https://gamelet.online/img/default_usericon_${userColor}.png`,
47
+ token: `${username}|${clientCode}|Dev` + StringUtil_1.StringUtil.generateRandomString(3),
48
+ ip: [192, 168, IntUtil_1.IntUtil.randInt(100, 200), IntUtil_1.IntUtil.randInt(100, 200)].join('.'),
49
+ guest: !!guest,
50
+ };
51
+ this.users.push(user);
52
+ }
53
+ return user;
54
+ }
55
+ }
56
+ exports.UserManager = UserManager;
57
+ exports.userManager = new UserManager();
58
58
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlck1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL21hbmFnZXJzL1VzZXJNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUEyQztBQUMzQyxvREFBaUQ7QUFDakQsbURBQWdEO0FBRWhELE1BQWEsV0FBVztJQWFwQjtRQVhRLFVBQUssR0FBYyxFQUFFLENBQUM7UUFFdEIsbUJBQWMsR0FBYTtZQUMvQixNQUFNO1lBQ04sT0FBTztZQUNQLFFBQVE7WUFDUixNQUFNO1lBQ04sS0FBSztZQUNMLFFBQVE7U0FDWCxDQUFDO1FBR0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDWixRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFFBQVEsRUFBRSxTQUFTO1lBQ25CLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsS0FBSyxFQUFFLElBQUk7WUFDWCxPQUFPLEVBQUUscURBQXFEO1lBQzlELEVBQUUsRUFBRSxTQUFTO1NBQ2hCLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBYztRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxlQUFlLENBQUMsU0FBbUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFrQixFQUFFLEtBQWM7UUFDcEMsSUFBSSxlQUFlLEdBQUcsNkJBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RGLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekcsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLFFBQVEsR0FBRyxXQUFXLFNBQVMsWUFBWSxDQUFDO1lBQ2hELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUUsSUFBSSxHQUFHO2dCQUNILFFBQVEsRUFBRSxRQUFRO2dCQUNsQixRQUFRLEVBQUUsUUFBUSxTQUFTLEVBQUU7Z0JBQzdCLE9BQU8sRUFBRSwrQ0FBK0MsU0FBUyxNQUFNO2dCQUN2RSxLQUFLLEVBQUUsR0FBRyxRQUFRLElBQUksVUFBVSxNQUFNLEdBQUcsdUJBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsaUJBQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLGlCQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQzlFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSzthQUNqQixDQUFBO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0o7QUFyREQsa0NBcURDO0FBQ1ksUUFBQSxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyJ9