gamelet-cli 0.7.12 → 0.7.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/package.json.twig +3 -3
- package/assets/tsconfig.json.twig +1 -1
- package/build/package.json +67 -67
- package/build/src/gamelet/download.js +773 -737
- package/build/src/gamelet/merges.js +181 -179
- package/build/src/gamelet/prepare.js +276 -277
- package/build/src/gamelet/upload.js +280 -279
- package/build/src/index.js +86 -86
- package/build/src/server/Constant.js +9 -9
- package/build/src/server/entities/Client.js +78 -78
- package/build/src/server/entities/ClientOwner.js +67 -67
- package/build/src/server/entities/ClientProject.js +84 -84
- package/build/src/server/entities/Gameroom.js +89 -89
- package/build/src/server/entities/GameroomBase.js +276 -276
- package/build/src/server/entities/Gamezone.js +73 -73
- package/build/src/server/entities/ListFilter.js +193 -193
- package/build/src/server/entities/Monitor.js +94 -94
- package/build/src/server/entities/Player.js +140 -140
- package/build/src/server/managers/ApiManager.js +75 -75
- package/build/src/server/managers/ClientManager.js +64 -64
- package/build/src/server/managers/Database.js +627 -627
- package/build/src/server/managers/GameroomManager.js +392 -392
- package/build/src/server/managers/ManagerBase.js +17 -17
- package/build/src/server/managers/MonitorManager.js +73 -73
- package/build/src/server/managers/PlayerManager.js +108 -108
- package/build/src/server/managers/SocketManager.js +60 -60
- package/build/src/server/managers/UserManager.js +58 -58
- package/build/src/server/messages/Message.js +143 -143
- package/build/src/server/server.js +112 -113
- package/build/src/server/services/ServiceBase.js +25 -25
- package/build/src/server/services/clientService.js +23 -23
- package/build/src/server/services/gameroomService.js +121 -121
- package/build/src/server/services/gltserver.service.js +23 -23
- package/build/src/server/services/playerService.js +32 -32
- package/build/src/server/startServer.js +32 -33
- package/build/src/server/types/BadgeStatus.js +25 -25
- package/build/src/server/types/OrderType.js +38 -38
- package/build/src/server/types/SubmitType.js +24 -24
- package/build/src/server/types/TimeRange.js +26 -26
- package/build/src/server/utils/ArrayUtil.js +126 -126
- package/build/src/server/utils/IntUtil.js +9 -9
- package/build/src/server/utils/ObjectUtil.js +191 -191
- package/build/src/server/utils/StringUtil.js +37 -37
- package/build/src/utils/cli.js +53 -53
- package/build/src/utils/file.js +350 -337
- package/build/src/utils/init.js +57 -42
- package/build/src/utils/log.js +18 -17
- package/build/src/utils/net.js +43 -39
- package/package.json +2 -2
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.apiManager = void 0;
|
|
7
|
-
const ManagerBase_1 = require("./ManagerBase");
|
|
8
|
-
const cors_1 = __importDefault(require("cors"));
|
|
9
|
-
const ClientManager_1 = require("./ClientManager");
|
|
10
|
-
const MaxListClientsLength = 100;
|
|
11
|
-
class ApiManager extends ManagerBase_1.ManagerBase {
|
|
12
|
-
constructor() {
|
|
13
|
-
super('ApiManager');
|
|
14
|
-
}
|
|
15
|
-
initialize(app) {
|
|
16
|
-
/**
|
|
17
|
-
* this is for gltserver to access msgserver states
|
|
18
|
-
*/
|
|
19
|
-
app.get('/clientapi/:method/:clientCode', cors_1.default(), (_req, res) => {
|
|
20
|
-
this.callMethod('clientapi_', _req.params.method, this.parseParams(_req.params.clientCode, _req.query.args))
|
|
21
|
-
.then(json => {
|
|
22
|
-
res.json(json);
|
|
23
|
-
})
|
|
24
|
-
.catch(err => {
|
|
25
|
-
res.sendStatus(500).json(err);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
parseParams(firstParam, paramsString) {
|
|
30
|
-
let params = paramsString && JSON.parse(paramsString);
|
|
31
|
-
if (!Array.isArray(params)) {
|
|
32
|
-
params = [];
|
|
33
|
-
}
|
|
34
|
-
if (firstParam !== null) {
|
|
35
|
-
params.unshift(firstParam);
|
|
36
|
-
}
|
|
37
|
-
return params;
|
|
38
|
-
}
|
|
39
|
-
callMethod(prefix, methodName, params) {
|
|
40
|
-
let method = this[prefix + methodName];
|
|
41
|
-
this.designContract(method && typeof method === 'function', 'This api is not available.');
|
|
42
|
-
return method.apply(this, params);
|
|
43
|
-
}
|
|
44
|
-
clientapi_list_players_count(_clientCode, clientCodes) {
|
|
45
|
-
if (clientCodes.length > MaxListClientsLength) {
|
|
46
|
-
clientCodes = clientCodes.slice(0, MaxListClientsLength);
|
|
47
|
-
}
|
|
48
|
-
let json = {};
|
|
49
|
-
for (let clientCode of clientCodes) {
|
|
50
|
-
let project = ClientManager_1.clientManager.getCachedClientProject(clientCode);
|
|
51
|
-
if (project) {
|
|
52
|
-
json[clientCode] = project.playersCount;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return Promise.resolve(json);
|
|
56
|
-
}
|
|
57
|
-
clientapi_get_players_count(clientCode, version, options) {
|
|
58
|
-
let project = ClientManager_1.clientManager.getCachedClientProject(clientCode);
|
|
59
|
-
return Promise.resolve({
|
|
60
|
-
count: project ? project.getPlayersCount(version, options) : 0
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
clientapi_list_clients(_clientCode, start, length) {
|
|
64
|
-
length = Math.min(length, MaxListClientsLength);
|
|
65
|
-
let projects = ClientManager_1.clientManager.listProjects().slice(start, start + length);
|
|
66
|
-
let clients = {};
|
|
67
|
-
for (let project of projects) {
|
|
68
|
-
clients[project.code] = project.playersCount;
|
|
69
|
-
;
|
|
70
|
-
}
|
|
71
|
-
return Promise.resolve(clients);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.apiManager = new ApiManager();
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.apiManager = void 0;
|
|
7
|
+
const ManagerBase_1 = require("./ManagerBase");
|
|
8
|
+
const cors_1 = __importDefault(require("cors"));
|
|
9
|
+
const ClientManager_1 = require("./ClientManager");
|
|
10
|
+
const MaxListClientsLength = 100;
|
|
11
|
+
class ApiManager extends ManagerBase_1.ManagerBase {
|
|
12
|
+
constructor() {
|
|
13
|
+
super('ApiManager');
|
|
14
|
+
}
|
|
15
|
+
initialize(app) {
|
|
16
|
+
/**
|
|
17
|
+
* this is for gltserver to access msgserver states
|
|
18
|
+
*/
|
|
19
|
+
app.get('/clientapi/:method/:clientCode', (0, cors_1.default)(), (_req, res) => {
|
|
20
|
+
this.callMethod('clientapi_', _req.params.method, this.parseParams(_req.params.clientCode, _req.query.args))
|
|
21
|
+
.then(json => {
|
|
22
|
+
res.json(json);
|
|
23
|
+
})
|
|
24
|
+
.catch(err => {
|
|
25
|
+
res.sendStatus(500).json(err);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
parseParams(firstParam, paramsString) {
|
|
30
|
+
let params = paramsString && JSON.parse(paramsString);
|
|
31
|
+
if (!Array.isArray(params)) {
|
|
32
|
+
params = [];
|
|
33
|
+
}
|
|
34
|
+
if (firstParam !== null) {
|
|
35
|
+
params.unshift(firstParam);
|
|
36
|
+
}
|
|
37
|
+
return params;
|
|
38
|
+
}
|
|
39
|
+
callMethod(prefix, methodName, params) {
|
|
40
|
+
let method = this[prefix + methodName];
|
|
41
|
+
this.designContract(method && typeof method === 'function', 'This api is not available.');
|
|
42
|
+
return method.apply(this, params);
|
|
43
|
+
}
|
|
44
|
+
clientapi_list_players_count(_clientCode, clientCodes) {
|
|
45
|
+
if (clientCodes.length > MaxListClientsLength) {
|
|
46
|
+
clientCodes = clientCodes.slice(0, MaxListClientsLength);
|
|
47
|
+
}
|
|
48
|
+
let json = {};
|
|
49
|
+
for (let clientCode of clientCodes) {
|
|
50
|
+
let project = ClientManager_1.clientManager.getCachedClientProject(clientCode);
|
|
51
|
+
if (project) {
|
|
52
|
+
json[clientCode] = project.playersCount;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return Promise.resolve(json);
|
|
56
|
+
}
|
|
57
|
+
clientapi_get_players_count(clientCode, version, options) {
|
|
58
|
+
let project = ClientManager_1.clientManager.getCachedClientProject(clientCode);
|
|
59
|
+
return Promise.resolve({
|
|
60
|
+
count: project ? project.getPlayersCount(version, options) : 0
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
clientapi_list_clients(_clientCode, start, length) {
|
|
64
|
+
length = Math.min(length, MaxListClientsLength);
|
|
65
|
+
let projects = ClientManager_1.clientManager.listProjects().slice(start, start + length);
|
|
66
|
+
let clients = {};
|
|
67
|
+
for (let project of projects) {
|
|
68
|
+
clients[project.code] = project.playersCount;
|
|
69
|
+
;
|
|
70
|
+
}
|
|
71
|
+
return Promise.resolve(clients);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.apiManager = new ApiManager();
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFuYWdlcnMvQXBpTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQ0FBNEM7QUFFNUMsZ0RBQXdCO0FBQ3hCLG1EQUFnRDtBQUdoRCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQUVqQyxNQUFNLFVBQVcsU0FBUSx5QkFBVztJQUVoQztRQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQW9CO1FBRTNCOztXQUVHO1FBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFBLGNBQUksR0FBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFjLENBQUMsQ0FBQztpQkFDakgsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDVCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBRVAsQ0FBQztJQUVPLFdBQVcsQ0FBQyxVQUFlLEVBQUUsWUFBb0I7UUFDckQsSUFBSSxNQUFNLEdBQVUsWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0QsSUFB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
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.clientManager = exports.ClientManager = void 0;
|
|
4
|
-
const ClientOwner_1 = require("./../entities/ClientOwner");
|
|
5
|
-
const ManagerBase_1 = require("./ManagerBase");
|
|
6
|
-
const gltserver_service_1 = require("../services/gltserver.service");
|
|
7
|
-
class ClientManager extends ManagerBase_1.ManagerBase {
|
|
8
|
-
constructor() {
|
|
9
|
-
super('ClientManager');
|
|
10
|
-
this.owners = {};
|
|
11
|
-
this.projects = {};
|
|
12
|
-
}
|
|
13
|
-
initialize() {
|
|
14
|
-
}
|
|
15
|
-
getClientOwner(ownername, createIfNotExist) {
|
|
16
|
-
let owner = this.owners[ownername];
|
|
17
|
-
if (!owner && createIfNotExist) {
|
|
18
|
-
owner = new ClientOwner_1.ClientOwner(ownername);
|
|
19
|
-
this.owners[ownername] = owner;
|
|
20
|
-
}
|
|
21
|
-
return owner;
|
|
22
|
-
}
|
|
23
|
-
getClientProject(clientCode, createIfNotExist) {
|
|
24
|
-
let project = this.projects[clientCode];
|
|
25
|
-
if (!project && createIfNotExist) {
|
|
26
|
-
return gltserver_service_1.serverService.getOwnernameByClient(clientCode)
|
|
27
|
-
.then(ownername => {
|
|
28
|
-
let owner = this.getClientOwner(ownername, true);
|
|
29
|
-
project = owner.getProject(clientCode);
|
|
30
|
-
this.projects[clientCode] = project;
|
|
31
|
-
return project;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
return Promise.resolve(project);
|
|
35
|
-
}
|
|
36
|
-
getCachedClientProject(clientCode) {
|
|
37
|
-
return this.projects[clientCode];
|
|
38
|
-
}
|
|
39
|
-
getClientByToken(token, msgVersion) {
|
|
40
|
-
let params = token.split('|');
|
|
41
|
-
return this.getClient(params[1], msgVersion);
|
|
42
|
-
}
|
|
43
|
-
getClient(clientCode, msgVersion) {
|
|
44
|
-
return this.getClientProject(clientCode, true)
|
|
45
|
-
.then(project => project.getClient(msgVersion));
|
|
46
|
-
}
|
|
47
|
-
listProjects() {
|
|
48
|
-
let list = [];
|
|
49
|
-
for (let key in this.projects) {
|
|
50
|
-
list.push(this.projects[key]);
|
|
51
|
-
}
|
|
52
|
-
return list;
|
|
53
|
-
}
|
|
54
|
-
get playersCount() {
|
|
55
|
-
let count = 0;
|
|
56
|
-
for (let key in this.projects) {
|
|
57
|
-
count += this.projects[key].playersCount;
|
|
58
|
-
}
|
|
59
|
-
return count;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.ClientManager = ClientManager;
|
|
63
|
-
exports.clientManager = new ClientManager();
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.clientManager = exports.ClientManager = void 0;
|
|
4
|
+
const ClientOwner_1 = require("./../entities/ClientOwner");
|
|
5
|
+
const ManagerBase_1 = require("./ManagerBase");
|
|
6
|
+
const gltserver_service_1 = require("../services/gltserver.service");
|
|
7
|
+
class ClientManager extends ManagerBase_1.ManagerBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
super('ClientManager');
|
|
10
|
+
this.owners = {};
|
|
11
|
+
this.projects = {};
|
|
12
|
+
}
|
|
13
|
+
initialize() {
|
|
14
|
+
}
|
|
15
|
+
getClientOwner(ownername, createIfNotExist) {
|
|
16
|
+
let owner = this.owners[ownername];
|
|
17
|
+
if (!owner && createIfNotExist) {
|
|
18
|
+
owner = new ClientOwner_1.ClientOwner(ownername);
|
|
19
|
+
this.owners[ownername] = owner;
|
|
20
|
+
}
|
|
21
|
+
return owner;
|
|
22
|
+
}
|
|
23
|
+
getClientProject(clientCode, createIfNotExist) {
|
|
24
|
+
let project = this.projects[clientCode];
|
|
25
|
+
if (!project && createIfNotExist) {
|
|
26
|
+
return gltserver_service_1.serverService.getOwnernameByClient(clientCode)
|
|
27
|
+
.then(ownername => {
|
|
28
|
+
let owner = this.getClientOwner(ownername, true);
|
|
29
|
+
project = owner.getProject(clientCode);
|
|
30
|
+
this.projects[clientCode] = project;
|
|
31
|
+
return project;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return Promise.resolve(project);
|
|
35
|
+
}
|
|
36
|
+
getCachedClientProject(clientCode) {
|
|
37
|
+
return this.projects[clientCode];
|
|
38
|
+
}
|
|
39
|
+
getClientByToken(token, msgVersion) {
|
|
40
|
+
let params = token.split('|');
|
|
41
|
+
return this.getClient(params[1], msgVersion);
|
|
42
|
+
}
|
|
43
|
+
getClient(clientCode, msgVersion) {
|
|
44
|
+
return this.getClientProject(clientCode, true)
|
|
45
|
+
.then(project => project.getClient(msgVersion));
|
|
46
|
+
}
|
|
47
|
+
listProjects() {
|
|
48
|
+
let list = [];
|
|
49
|
+
for (let key in this.projects) {
|
|
50
|
+
list.push(this.projects[key]);
|
|
51
|
+
}
|
|
52
|
+
return list;
|
|
53
|
+
}
|
|
54
|
+
get playersCount() {
|
|
55
|
+
let count = 0;
|
|
56
|
+
for (let key in this.projects) {
|
|
57
|
+
count += this.projects[key].playersCount;
|
|
58
|
+
}
|
|
59
|
+
return count;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.ClientManager = ClientManager;
|
|
63
|
+
exports.clientManager = new ClientManager();
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50TWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFuYWdlcnMvQ2xpZW50TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBd0Q7QUFDeEQsK0NBQTRDO0FBRzVDLHFFQUE4RDtBQUU5RCxNQUFhLGFBQWMsU0FBUSx5QkFBVztJQUsxQztRQUNJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUpuQixXQUFNLEdBQW1DLEVBQUUsQ0FBQztRQUM1QyxhQUFRLEdBQXFDLEVBQUUsQ0FBQztJQUl4RCxDQUFDO0lBRUQsVUFBVTtJQUVWLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBaUIsRUFBRSxnQkFBeUI7UUFDdkQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDN0IsS0FBSyxHQUFHLElBQUkseUJBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsZ0JBQXlCO1FBQzFELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQy9CLE9BQU8saUNBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUM7aUJBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDZCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDakQsT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDO2dCQUNwQyxPQUFPLE9BQU8sQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQTtRQUVWLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELHNCQUFzQixDQUFDLFVBQWtCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLFVBQWtCO1FBQzlDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDNUMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQzthQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksR0FBb0IsRUFBRSxDQUFDO1FBQy9CLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osSUFBSSxLQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUM3QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBbEVELHNDQWtFQztBQUVZLFFBQUEsYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUMifQ==
|