tnp-helpers 18.0.18 → 18.0.19

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 (90) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +54 -7
  3. package/browser/esm2022/lib/base/classes/base-vscode.mjs +26 -1
  4. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  5. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  6. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +10 -3
  7. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  8. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  9. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  10. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  11. package/browser/fesm2022/tnp-helpers.mjs +475 -62
  12. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  13. package/browser/lib/base/classes/base-cli-worker.d.ts +27 -4
  14. package/browser/lib/base/tcp-udp-ports/index.d.ts +0 -1
  15. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  16. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  17. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  18. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +54 -7
  19. package/client/esm2022/lib/base/classes/base-vscode.mjs +26 -1
  20. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  21. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  22. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +10 -3
  23. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  24. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  25. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  26. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  27. package/client/fesm2022/tnp-helpers.mjs +475 -62
  28. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  29. package/client/lib/base/classes/base-cli-worker.d.ts +27 -4
  30. package/client/lib/base/tcp-udp-ports/index.d.ts +0 -1
  31. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  32. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  33. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  34. package/lib/base/classes/base-cli-worker.d.ts +27 -4
  35. package/lib/base/classes/base-cli-worker.js +94 -28
  36. package/lib/base/classes/base-cli-worker.js.map +1 -1
  37. package/lib/base/classes/base-global-command-line.backend.d.ts +1 -0
  38. package/lib/base/classes/base-global-command-line.backend.js +12 -0
  39. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  40. package/lib/base/classes/base-vscode.js +43 -25
  41. package/lib/base/classes/base-vscode.js.map +1 -1
  42. package/lib/base/tcp-udp-ports/index.d.ts +0 -1
  43. package/lib/base/tcp-udp-ports/index.js +0 -1
  44. package/lib/base/tcp-udp-ports/index.js.map +1 -1
  45. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -6
  46. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -42
  47. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -1
  48. package/lib/base/tcp-udp-ports/ports.controller.d.ts +14 -5
  49. package/lib/base/tcp-udp-ports/ports.controller.js +227 -19
  50. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  51. package/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  52. package/lib/base/tcp-udp-ports/ports.entity.js +32 -2
  53. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -1
  54. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +1 -2
  55. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  56. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +14 -8
  57. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +293 -30
  58. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  59. package/lib/helpers/for-browser/angular.helper.js +2 -2
  60. package/lib/old/base-component.js +2 -2
  61. package/lib/old/base-formly-component.js +2 -2
  62. package/lib/old/dual-component-ctrl.js +2 -2
  63. package/migrations/1736199486472_addingNotAssignablePorts.js +33 -10
  64. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
  65. package/migrations/1736454437350_addFreePorts.js +42 -14
  66. package/migrations/1736454437350_addFreePorts.js.map +1 -1
  67. package/package.json +5 -5
  68. package/tmp-environment.json +29 -29
  69. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +54 -7
  70. package/websql/esm2022/lib/base/classes/base-vscode.mjs +26 -1
  71. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +1 -2
  72. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +169 -17
  73. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +25 -3
  74. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -3
  75. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +187 -11
  76. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +16 -8
  77. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +20 -7
  78. package/websql/fesm2022/tnp-helpers.mjs +485 -72
  79. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  80. package/websql/lib/base/classes/base-cli-worker.d.ts +27 -4
  81. package/websql/lib/base/tcp-udp-ports/index.d.ts +0 -1
  82. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +15 -6
  83. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +8 -4
  84. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +10 -8
  85. package/browser/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -19
  86. package/browser/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
  87. package/client/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -19
  88. package/client/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
  89. package/websql/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +0 -34
  90. package/websql/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -7
@@ -6,29 +6,142 @@ let PortsController = class PortsController extends BaseCliWorkerController {
6
6
  super(...arguments);
7
7
  this.START_PORT = 3000;
8
8
  this.END_PORT = 6000;
9
- this.takenByOsPorts = new Map();
10
- this.assignedPorts = new Map();
9
+ this.portsCache = new Map();
11
10
  }
12
11
  get firstFreePort() {
13
- if (!this.assignedPorts) {
14
- return null;
15
- }
16
- return Array.from(this.assignedPorts.values()).find(p => p.status === 'unassigned');
12
+ /* */
13
+ /* */
14
+ /* */
15
+ /* */
16
+ /* */
17
+ /* */
18
+ /* */
19
+ return (void 0);
17
20
  }
18
21
  firstUnassignedPortMoreThan(port) {
19
- if (!this.assignedPorts) {
20
- return null;
21
- }
22
- return Array.from(this.assignedPorts.values()).find(p => p.status === 'unassigned' && p.port > port);
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ return (void 0);
23
30
  }
24
- getPortByStatus(status) {
31
+ getFirstFreePort() {
25
32
  return async () => {
26
- if (status === 'assigned-taken-by-os') {
27
- return Array.from(this.takenByOsPorts.values());
28
- }
29
- return Array.from(this.assignedPorts.values()).filter(f => f.status === status);
33
+ return this.firstFreePort;
30
34
  };
31
35
  }
36
+ getPortByNumber(portNumber) {
37
+ return async () => {
38
+ portNumber = Number(portNumber);
39
+ return Array.from(this.portsCache.values()).find(f => f.port === portNumber);
40
+ };
41
+ }
42
+ getPortsByStatus(status) {
43
+ return async () => {
44
+ return Array.from(this.portsCache.values())
45
+ .filter(f => f.status === status)
46
+ .sort((a, b) => {
47
+ if (a.port < b.port) {
48
+ return -1;
49
+ }
50
+ if (a.port > b.port) {
51
+ return 1;
52
+ }
53
+ return 0;
54
+ });
55
+ };
56
+ }
57
+ /**
58
+ * make it unassigned
59
+ */
60
+ deletePort(portNumber) {
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
65
+ /* */
66
+ /* */
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ /* */
79
+ /* */
80
+ /* */
81
+ /* */
82
+ /* */
83
+ /* */
84
+ return (void 0);
85
+ }
86
+ /**
87
+ * make it unassigned
88
+ */
89
+ updatePortUniqueId(portNumber, serviceId) {
90
+ /* */
91
+ /* */
92
+ /* */
93
+ /* */
94
+ /* */
95
+ /* */
96
+ /* */
97
+ /* */
98
+ /* */
99
+ /* */
100
+ /* */
101
+ /* */
102
+ /* */
103
+ /* */
104
+ /* */
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ /* */
110
+ /* */
111
+ /* */
112
+ /* */
113
+ /* */
114
+ return (void 0);
115
+ }
116
+ addTakeByOsPort(portNumber, uniqueId) {
117
+ /* */
118
+ /* */
119
+ /* */
120
+ /* */
121
+ /* */
122
+ /* */
123
+ /* */
124
+ /* */
125
+ /* */
126
+ /* */
127
+ /* */
128
+ /* */
129
+ /* */
130
+ /* */
131
+ /* */
132
+ /* */
133
+ /* */
134
+ /* */
135
+ /* */
136
+ /* */
137
+ /* */
138
+ /* */
139
+ /* */
140
+ /* */
141
+ /* */
142
+ /* */
143
+ return (void 0);
144
+ }
32
145
  /**
33
146
  * @param uniqueServiceName unique service name
34
147
  * @param startFrom start searching for free port from this number
@@ -79,16 +192,55 @@ let PortsController = class PortsController extends BaseCliWorkerController {
79
192
  /* */
80
193
  /* */
81
194
  /* */
195
+ /* */
196
+ /* */
197
+ /* */
82
198
  return (void 0);
83
199
  }
84
200
  };
201
+ __decorate([
202
+ Taon.Http.GET(),
203
+ __metadata("design:type", Function),
204
+ __metadata("design:paramtypes", []),
205
+ __metadata("design:returntype", Object)
206
+ ], PortsController.prototype, "getFirstFreePort", null);
207
+ __decorate([
208
+ Taon.Http.GET(),
209
+ __param(0, Taon.Http.Param.Query('portNumber')),
210
+ __metadata("design:type", Function),
211
+ __metadata("design:paramtypes", [Number]),
212
+ __metadata("design:returntype", Object)
213
+ ], PortsController.prototype, "getPortByNumber", null);
85
214
  __decorate([
86
215
  Taon.Http.GET(),
87
216
  __param(0, Taon.Http.Param.Query('status')),
88
217
  __metadata("design:type", Function),
89
218
  __metadata("design:paramtypes", [String]),
90
219
  __metadata("design:returntype", Object)
91
- ], PortsController.prototype, "getPortByStatus", null);
220
+ ], PortsController.prototype, "getPortsByStatus", null);
221
+ __decorate([
222
+ Taon.Http.DELETE(),
223
+ __param(0, Taon.Http.Param.Query('portNumber')),
224
+ __metadata("design:type", Function),
225
+ __metadata("design:paramtypes", [Number]),
226
+ __metadata("design:returntype", Object)
227
+ ], PortsController.prototype, "deletePort", null);
228
+ __decorate([
229
+ Taon.Http.PUT(),
230
+ __param(0, Taon.Http.Param.Query('portNumber')),
231
+ __param(1, Taon.Http.Param.Query('serviceId')),
232
+ __metadata("design:type", Function),
233
+ __metadata("design:paramtypes", [Number, String]),
234
+ __metadata("design:returntype", Object)
235
+ ], PortsController.prototype, "updatePortUniqueId", null);
236
+ __decorate([
237
+ Taon.Http.POST(),
238
+ __param(0, Taon.Http.Param.Query('portNumber')),
239
+ __param(1, Taon.Http.Param.Query('uniqueId')),
240
+ __metadata("design:type", Function),
241
+ __metadata("design:paramtypes", [Number, String]),
242
+ __metadata("design:returntype", Object)
243
+ ], PortsController.prototype, "addTakeByOsPort", null);
92
244
  __decorate([
93
245
  Taon.Http.PUT(),
94
246
  __param(0, Taon.Http.Param.Query('uniqueServiceName')),
@@ -105,4 +257,4 @@ PortsController = __decorate([
105
257
  export { PortsController };
106
258
  ;
107
259
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/ports.controller.ts
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydHMuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvdGNwLXVkcC1wb3J0cy9wb3J0cy5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBT3pFLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsdUJBQXVCO0lBQXJEOztRQUNFLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNQLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQTZCLENBQUM7UUFDdEQsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztJQThGMUQsQ0FBQztJQTVGQyxJQUFJLGFBQWE7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNqRCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVTLDJCQUEyQixDQUFDLElBQVk7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDakQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FDaEQsQ0FBQztJQUNKLENBQUM7SUFJRCxlQUFlLENBQ29CLE1BQWtCO1FBRW5ELE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDaEIsSUFBSSxNQUFNLEtBQUssc0JBQXNCLEVBQUUsQ0FBQztnQkFDdEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ25ELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQ3pCLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBSUQ7Ozs7T0FJRztJQUVILHFCQUFxQixDQUN5QixpQkFBeUIsRUFDakMsU0FBa0I7UUFFMUQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUYsQ0FBQTtBQXhFQztJQURDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO0lBRWIsV0FBQSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7Ozs7c0RBVWpDO0FBVUQ7SUFEQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUViLFdBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDMUMsV0FBQSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7Ozs7NERBK0NwQztBQWhHVSxlQUFlO0lBSDNCLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDZixTQUFTLEVBQUUsaUJBQWlCO0tBQzdCLENBQUM7R0FDVyxlQUFlLENBa0czQjs7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1GQUFtRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBUYW9uIH0gZnJvbSAndGFvbi93ZWJzcWwnO1xuaW1wb3J0IHsgXywgVXRpbHNPcyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBCYXNlQ2xpV29ya2VyQ29udHJvbGxlciB9IGZyb20gJy4uL2NsYXNzZXMvYmFzZS1jbGktd29ya2VyLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgUG9ydCwgUG9ydFN0YXR1cyB9IGZyb20gJy4vcG9ydHMuZW50aXR5JztcbmltcG9ydCB7IE5vdEFzc2lnbmFibGVQb3J0IH0gZnJvbSAnLi9ub3QtYXNzaWduYWJsZS1wb3J0LmVudGl0eSc7XG5cbkBUYW9uLkNvbnRyb2xsZXIoe1xuICBjbGFzc05hbWU6ICdQb3J0c0NvbnRyb2xsZXInLFxufSlcbmV4cG9ydCBjbGFzcyBQb3J0c0NvbnRyb2xsZXIgZXh0ZW5kcyBCYXNlQ2xpV29ya2VyQ29udHJvbGxlciB7XG4gIHB1YmxpYyBTVEFSVF9QT1JUID0gMzAwMDtcbiAgcHVibGljIEVORF9QT1JUID0gNjAwMDtcbiAgcHVibGljIHJlYWRvbmx5IHRha2VuQnlPc1BvcnRzID0gbmV3IE1hcDxudW1iZXIsIE5vdEFzc2lnbmFibGVQb3J0PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXNzaWduZWRQb3J0cyA9IG5ldyBNYXA8c3RyaW5nLCBQb3J0PigpO1xuXG4gIGdldCBmaXJzdEZyZWVQb3J0KCkge1xuICAgIGlmICghdGhpcy5hc3NpZ25lZFBvcnRzKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hc3NpZ25lZFBvcnRzLnZhbHVlcygpKS5maW5kKFxuICAgICAgcCA9PiBwLnN0YXR1cyA9PT0gJ3VuYXNzaWduZWQnLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmlyc3RVbmFzc2lnbmVkUG9ydE1vcmVUaGFuKHBvcnQ6IG51bWJlcikge1xuICAgIGlmICghdGhpcy5hc3NpZ25lZFBvcnRzKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hc3NpZ25lZFBvcnRzLnZhbHVlcygpKS5maW5kKFxuICAgICAgcCA9PiBwLnN0YXR1cyA9PT0gJ3VuYXNzaWduZWQnICYmIHAucG9ydCA+IHBvcnQsXG4gICAgKTtcbiAgfVxuXG5cbiAgQFRhb24uSHR0cC5HRVQoKVxuICBnZXRQb3J0QnlTdGF0dXMoXG4gICAgQFRhb24uSHR0cC5QYXJhbS5RdWVyeSgnc3RhdHVzJykgc3RhdHVzOiBQb3J0U3RhdHVzLFxuICApOiBUYW9uLlJlc3BvbnNlPFBvcnRbXT4ge1xuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgICBpZiAoc3RhdHVzID09PSAnYXNzaWduZWQtdGFrZW4tYnktb3MnKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMudGFrZW5CeU9zUG9ydHMudmFsdWVzKCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hc3NpZ25lZFBvcnRzLnZhbHVlcygpKS5maWx0ZXIoXG4gICAgICAgIGYgPT4gZi5zdGF0dXMgPT09IHN0YXR1cyxcbiAgICAgICk7XG4gICAgfTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQHBhcmFtIHVuaXF1ZVNlcnZpY2VOYW1lIHVuaXF1ZSBzZXJ2aWNlIG5hbWVcbiAgICogQHBhcmFtIHN0YXJ0RnJvbSBzdGFydCBzZWFyY2hpbmcgZm9yIGZyZWUgcG9ydCBmcm9tIHRoaXMgbnVtYmVyXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBAVGFvbi5IdHRwLlBVVCgpXG4gIHJlZ2lzdGVyQW5kQXNzaWduUG9ydChcbiAgICBAVGFvbi5IdHRwLlBhcmFtLlF1ZXJ5KCd1bmlxdWVTZXJ2aWNlTmFtZScpIHVuaXF1ZVNlcnZpY2VOYW1lOiBzdHJpbmcsXG4gICAgQFRhb24uSHR0cC5QYXJhbS5RdWVyeSgnc3RhcnRGcm9tJykgc3RhcnRGcm9tPzogbnVtYmVyLFxuICApOiBUYW9uLlJlc3BvbnNlPFBvcnQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS90Y3AtdWRwLXBvcnRzL3BvcnRzLmNvbnRyb2xsZXIudHMiXX0=
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydHMuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvdGNwLXVkcC1wb3J0cy9wb3J0cy5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBT3pFLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsdUJBQXVCO0lBQXJEOztRQUVFLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNQLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztJQW9RdkQsQ0FBQztJQTlQQyxJQUFjLGFBQWE7UUFDN0IsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUywyQkFBMkIsQ0FBQyxJQUFZO1FBQ3BELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBVUQsZ0JBQWdCO1FBQ2QsT0FBTyxLQUFLLElBQUksRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDNUIsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUtELGVBQWUsQ0FDd0IsVUFBa0I7UUFFdkQsT0FBTyxLQUFLLElBQUksRUFBRTtZQUNoQixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUs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QyxZQUFZLENBQUMsQ0FBQTtJQUNuQyxXQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTs7Ozt5REEyQnBDO0FBS0Q7SUFEQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtJQUVkLFdBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ25DLFdBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBOzs7O3NEQTZCbkM7QUFZRDtJQURDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO0lBRWIsV0FBQSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUMxQyxXQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTs7Ozs0REFrRHBDO0FBcFFVLGVBQWU7SUFIM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNmLFNBQVMsRUFBRSxpQkFBaUI7S0FDN0IsQ0FBQztHQUNXLGVBQWUsQ0F3UTNCOztBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUZBQW1GIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgVGFvbiB9IGZyb20gJ3Rhb24vd2Vic3FsJztcbmltcG9ydCB7IF8sIFV0aWxzT3MgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgQmFzZUNsaVdvcmtlckNvbnRyb2xsZXIgfSBmcm9tICcuLi9jbGFzc2VzL2Jhc2UtY2xpLXdvcmtlci1jb250cm9sbGVyJztcbmltcG9ydCB7IFBvcnQsIFBvcnRTdGF0dXMgfSBmcm9tICcuL3BvcnRzLmVudGl0eSc7XG5cblxuQFRhb24uQ29udHJvbGxlcih7XG4gIGNsYXNzTmFtZTogJ1BvcnRzQ29udHJvbGxlcicsXG59KVxuZXhwb3J0IGNsYXNzIFBvcnRzQ29udHJvbGxlciBleHRlbmRzIEJhc2VDbGlXb3JrZXJDb250cm9sbGVyIHtcblxuICBwdWJsaWMgU1RBUlRfUE9SVCA9IDMwMDA7XG4gIHB1YmxpYyBFTkRfUE9SVCA9IDYwMDA7XG4gIHB1YmxpYyByZWFkb25seSBwb3J0c0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFBvcnQ+KCk7XG5cblxuXG5cblxuICBwcm90ZWN0ZWQgZ2V0IGZpcnN0RnJlZVBvcnQoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgZmlyc3RVbmFzc2lnbmVkUG9ydE1vcmVUaGFuKHBvcnQ6IG51bWJlcikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuXG5cblxuXG4gIEBUYW9uLkh0dHAuR0VUKClcbiAgZ2V0Rmlyc3RGcmVlUG9ydCgpOiBUYW9uLlJlc3BvbnNlPFBvcnQ+IHtcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZmlyc3RGcmVlUG9ydDtcbiAgICB9O1xuICB9XG5cblxuXG4gIEBUYW9uLkh0dHAuR0VUKClcbiAgZ2V0UG9ydEJ5TnVtYmVyKFxuICAgIEBUYW9uLkh0dHAuUGFyYW0uUXVlcnkoJ3BvcnROdW1iZXInKSBwb3J0TnVtYmVyOiBudW1iZXIsXG4gICk6IFRhb24uUmVzcG9uc2U8UG9ydD4ge1xuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgICBwb3J0TnVtYmVyID0gTnVtYmVyKHBvcnROdW1iZXIpO1xuICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5wb3J0c0NhY2hlLnZhbHVlcygpKS5maW5kKFxuICAgICAgICBmID0+IGYucG9ydCA9PT0gcG9ydE51bWJlcixcbiAgICAgICk7XG4gICAgfTtcbiAgfVxuXG5cblxuICBAVGFvbi5IdHRwLkdFVCgpXG4gIGdldFBvcnRzQnlTdGF0dXMoXG4gICAgQFRhb24uSHR0cC5QYXJhbS5RdWVyeSgnc3RhdHVzJykgc3RhdHVzOiBQb3J0U3RhdHVzLFxuICApOiBUYW9uLlJlc3BvbnNlPFBvcnRbXT4ge1xuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnBvcnRzQ2FjaGUudmFsdWVzKCkpXG4gICAgICAgIC5maWx0ZXIoZiA9PiBmLnN0YXR1cyA9PT0gc3RhdHVzKVxuICAgICAgICAuc29ydChcblxuICAgICAgICAgIChhLCBiKSA9PiB7XG4gICAgICAgICAgICBpZiAoYS5wb3J0IDwgYi5wb3J0KSB7XG4gICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhLnBvcnQgPiBiLnBvcnQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH07XG4gIH1cblxuXG5cblxuXG5cblxuICAvKipcbiAgICogbWFrZSBpdCB1bmFzc2lnbmVkXG4gICAqL1xuICBAVGFvbi5IdHRwLkRFTEVURSgpXG4gIGRlbGV0ZVBvcnQoXG4gICAgQFRhb24uSHR0cC5QYXJhbS5RdWVyeSgncG9ydE51bWJlcicpIHBvcnROdW1iZXI6IG51bWJlcixcbiAgKTogVGFvbi5SZXNwb25zZTxQb3J0PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIG1ha2UgaXQgdW5hc3NpZ25lZFxuICAgKi9cbiAgQFRhb24uSHR0cC5QVVQoKVxuICB1cGRhdGVQb3J0VW5pcXVlSWQoXG4gICAgQFRhb24uSHR0cC5QYXJhbS5RdWVyeSgncG9ydE51bWJlcicpIHBvcnROdW1iZXI6IG51bWJlcixcbiAgICBAVGFvbi5IdHRwLlBhcmFtLlF1ZXJ5KCdzZXJ2aWNlSWQnKSBzZXJ2aWNlSWQ6IHN0cmluZyxcbiAgKTogVGFvbi5SZXNwb25zZTxQb3J0PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIEBUYW9uLkh0dHAuUE9TVCgpXG4gIGFkZFRha2VCeU9zUG9ydChcbiAgICBAVGFvbi5IdHRwLlBhcmFtLlF1ZXJ5KCdwb3J0TnVtYmVyJykgcG9ydE51bWJlcjogbnVtYmVyLFxuICAgIEBUYW9uLkh0dHAuUGFyYW0uUXVlcnkoJ3VuaXF1ZUlkJykgdW5pcXVlSWQ6IHN0cmluZyxcbiAgKTogVGFvbi5SZXNwb25zZTxQb3J0PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuXG4gIC8qKlxuICAgKiBAcGFyYW0gdW5pcXVlU2VydmljZU5hbWUgdW5pcXVlIHNlcnZpY2UgbmFtZVxuICAgKiBAcGFyYW0gc3RhcnRGcm9tIHN0YXJ0IHNlYXJjaGluZyBmb3IgZnJlZSBwb3J0IGZyb20gdGhpcyBudW1iZXJcbiAgICogQHJldHVybnNcbiAgICovXG4gIEBUYW9uLkh0dHAuUFVUKClcbiAgcmVnaXN0ZXJBbmRBc3NpZ25Qb3J0KFxuICAgIEBUYW9uLkh0dHAuUGFyYW0uUXVlcnkoJ3VuaXF1ZVNlcnZpY2VOYW1lJykgdW5pcXVlU2VydmljZU5hbWU6IHN0cmluZyxcbiAgICBAVGFvbi5IdHRwLlBhcmFtLlF1ZXJ5KCdzdGFydEZyb20nKSBzdGFydEZyb20/OiBudW1iZXIsXG4gICk6IFRhb24uUmVzcG9uc2U8UG9ydD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS90Y3AtdWRwLXBvcnRzL3BvcnRzLmNvbnRyb2xsZXIudHMiXX0=
@@ -2,18 +2,40 @@ var Port_1;
2
2
  import { __decorate, __metadata } from "tslib";
3
3
  import { Taon } from 'taon/websql';
4
4
  import { _ } from 'tnp-core/websql';
5
- import { NotAssignablePort } from './not-assignable-port.entity';
6
5
  export const PortStatusArr = [
7
6
  'unassigned',
8
7
  'assigned',
9
8
  'assigned-not-registered',
10
9
  'assigned-taken-by-os',
11
10
  ];
12
- let Port = Port_1 = class Port extends NotAssignablePort {
11
+ let Port = Port_1 = class Port extends Taon.Base.Entity {
13
12
  static from(opt) {
14
13
  return _.merge(new Port_1(), opt);
15
14
  }
15
+ static getTitleForFreePort(port) {
16
+ return `free port ${port}`;
17
+ }
18
+ get titleOnList() {
19
+ /* */
20
+ /* */
21
+ return (void 0);
22
+ }
16
23
  };
24
+ __decorate([
25
+ Taon.Orm.Column.Primary({
26
+ type: 'int',
27
+ unique: true,
28
+ }),
29
+ __metadata("design:type", Number)
30
+ ], Port.prototype, "port", void 0);
31
+ __decorate([
32
+ Taon.Orm.Column.Custom({
33
+ type: 'varchar',
34
+ length: 1000,
35
+ unique: true,
36
+ }),
37
+ __metadata("design:type", String)
38
+ ], Port.prototype, "serviceId", void 0);
17
39
  __decorate([
18
40
  Taon.Orm.Column.String500('unassigned'),
19
41
  __metadata("design:type", String)
@@ -31,4 +53,4 @@ Port = Port_1 = __decorate([
31
53
  export { Port };
32
54
  ;
33
55
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/ports.entity.ts
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydHMuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS90Y3AtdWRwLXBvcnRzL3BvcnRzLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUWpFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBaUI7SUFDekMsWUFBWTtJQUNaLFVBQVU7SUFDVix5QkFBeUI7SUFDekIsc0JBQXNCO0NBQ3ZCLENBQUM7QUFNSyxJQUFNLElBQUksWUFBVixNQUFNLElBQUssU0FBUSxpQkFBaUI7SUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUEwQztRQUNwRCxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBcUJGLENBQUE7QUFaQztJQUZDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBYSxZQUFZLENBQUM7O29DQUVoQztBQVVwQjtJQUZDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTs4QkFFRCxNQUFNO21EQUFDO0FBdEJwQixJQUFJO0lBSmhCLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDWCxTQUFTLEVBQUUsTUFBTTtRQUNqQixhQUFhLEVBQUUsTUFBTTtLQUN0QixDQUFDO0dBQ1csSUFBSSxDQXdCaEI7O0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrRUFBK0UiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgVGFvbiB9IGZyb20gJ3Rhb24vd2Vic3FsJztcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgTm90QXNzaWduYWJsZVBvcnQgfSBmcm9tICcuL25vdC1hc3NpZ25hYmxlLXBvcnQuZW50aXR5JztcblxuZXhwb3J0IHR5cGUgUG9ydFN0YXR1cyA9XG4gIHwgJ3VuYXNzaWduZWQnXG4gIHwgJ2Fzc2lnbmVkJ1xuICB8ICdhc3NpZ25lZC1ub3QtcmVnaXN0ZXJlZCdcbiAgfCAnYXNzaWduZWQtdGFrZW4tYnktb3MnO1xuXG5leHBvcnQgY29uc3QgUG9ydFN0YXR1c0FycjogUG9ydFN0YXR1c1tdID0gW1xuICAndW5hc3NpZ25lZCcsXG4gICdhc3NpZ25lZCcsXG4gICdhc3NpZ25lZC1ub3QtcmVnaXN0ZXJlZCcsXG4gICdhc3NpZ25lZC10YWtlbi1ieS1vcycsXG5dO1xuXG5AVGFvbi5FbnRpdHkoe1xuICBjbGFzc05hbWU6ICdQb3J0JyxcbiAgdW5pcXVlS2V5UHJvcDogJ3BvcnQnLFxufSlcbmV4cG9ydCBjbGFzcyBQb3J0IGV4dGVuZHMgTm90QXNzaWduYWJsZVBvcnQge1xuICBzdGF0aWMgZnJvbShvcHQ6IE9taXQ8UG9ydCwgJ3ZlcnNpb24nIHwgJ18nIHwgJ2Nsb25lJz4pIHtcbiAgICByZXR1cm4gXy5tZXJnZShuZXcgUG9ydCgpLCBvcHQpO1xuICB9XG5cblxuICAvKipcbiAgICogUG9ydCBzdGF0dXNcbiAgICovXG5cbiAgQFRhb24uT3JtLkNvbHVtbi5TdHJpbmc1MDA8UG9ydFN0YXR1cz4oJ3VuYXNzaWduZWQnKVxuXG4gIHN0YXR1cz86IFBvcnRTdGF0dXM7XG5cblxuXG4gIC8qKlxuICAgKiBXaGVuIHBvcnQgd2FzIGFzc2lnbmVkIGFzIHJlZ2lzdGVyZWQgc2VydmljZVxuICAgKi9cblxuICBAVGFvbi5Pcm0uQ29sdW1uLk51bWJlcigpXG5cbiAgd2hlbkFzc2lnbmVkVGltZXN0YW1wPzogTnVtYmVyO1xuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS90Y3AtdWRwLXBvcnRzL3BvcnRzLmVudGl0eS50cyJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydHMuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS90Y3AtdWRwLXBvcnRzL3BvcnRzLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxFQUFFLENBQUMsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBUTNDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBaUI7SUFDekMsWUFBWTtJQUNaLFVBQVU7SUFDVix5QkFBeUI7SUFDekIsc0JBQXNCO0NBQ3ZCLENBQUM7QUFNSyxJQUFNLElBQUksWUFBVixNQUFNLElBQUssU0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07SUFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUEwRDtRQUNwRSxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQVk7UUFDckMsT0FBTyxhQUFhLElBQUksRUFBRSxDQUFBO0lBQzVCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDakIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBMENGLENBQUE7QUFqQ0M7SUFMQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDdkIsSUFBSSxFQUFFLEtBQUs7UUFDWCxNQUFNLEVBQUUsSUFBSTtLQUNiLENBQUM7O2tDQUVXO0FBV2I7SUFOQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDdEIsSUFBSSxFQUFFLFNBQVM7UUFDZixNQUFNLEVBQUUsSUFBSTtRQUNaLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQzs7dUNBRWdCO0FBVWxCO0lBRkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFhLFlBQVksQ0FBQzs7b0NBRWpDO0FBVW5CO0lBRkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFOzhCQUVELE1BQU07bURBQUM7QUFyRHBCLElBQUk7SUFKaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNYLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLGFBQWEsRUFBRSxNQUFNO0tBQ3RCLENBQUM7R0FDVyxJQUFJLENBdURoQjs7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtFQUErRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBUYW9uIH0gZnJvbSAndGFvbi93ZWJzcWwnO1xuaW1wb3J0IHsgXywgY2hhbGsgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuXG5leHBvcnQgdHlwZSBQb3J0U3RhdHVzID1cbiAgfCAndW5hc3NpZ25lZCdcbiAgfCAnYXNzaWduZWQnXG4gIHwgJ2Fzc2lnbmVkLW5vdC1yZWdpc3RlcmVkJ1xuICB8ICdhc3NpZ25lZC10YWtlbi1ieS1vcyc7XG5cbmV4cG9ydCBjb25zdCBQb3J0U3RhdHVzQXJyOiBQb3J0U3RhdHVzW10gPSBbXG4gICd1bmFzc2lnbmVkJyxcbiAgJ2Fzc2lnbmVkJyxcbiAgJ2Fzc2lnbmVkLW5vdC1yZWdpc3RlcmVkJyxcbiAgJ2Fzc2lnbmVkLXRha2VuLWJ5LW9zJyxcbl07XG5cbkBUYW9uLkVudGl0eSh7XG4gIGNsYXNzTmFtZTogJ1BvcnQnLFxuICB1bmlxdWVLZXlQcm9wOiAncG9ydCcsXG59KVxuZXhwb3J0IGNsYXNzIFBvcnQgZXh0ZW5kcyBUYW9uLkJhc2UuRW50aXR5IHtcbiAgc3RhdGljIGZyb20ob3B0OiBPbWl0PFBvcnQsICd2ZXJzaW9uJyB8ICdfJyB8ICdjbG9uZScgfCAndGl0bGVPbkxpc3QnPikge1xuICAgIHJldHVybiBfLm1lcmdlKG5ldyBQb3J0KCksIG9wdCk7XG4gIH1cblxuICBzdGF0aWMgZ2V0VGl0bGVGb3JGcmVlUG9ydChwb3J0OiBOdW1iZXIpIHtcbiAgICByZXR1cm4gYGZyZWUgcG9ydCAke3BvcnR9YFxuICB9XG5cbiAgZ2V0IHRpdGxlT25MaXN0KCk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgQFRhb24uT3JtLkNvbHVtbi5QcmltYXJ5KHtcbiAgICB0eXBlOiAnaW50JyxcbiAgICB1bmlxdWU6IHRydWUsXG4gIH0pXG5cbiAgcG9ydDogbnVtYmVyO1xuXG5cblxuXG4gIEBUYW9uLk9ybS5Db2x1bW4uQ3VzdG9tKHtcbiAgICB0eXBlOiAndmFyY2hhcicsXG4gICAgbGVuZ3RoOiAxMDAwLFxuICAgIHVuaXF1ZTogdHJ1ZSxcbiAgfSlcblxuICBzZXJ2aWNlSWQ6IHN0cmluZztcblxuXG5cbiAgLyoqXG4gICAqIFBvcnQgc3RhdHVzXG4gICAqL1xuXG4gIEBUYW9uLk9ybS5Db2x1bW4uU3RyaW5nNTAwPFBvcnRTdGF0dXM+KCd1bmFzc2lnbmVkJylcblxuICBzdGF0dXM6IFBvcnRTdGF0dXM7XG5cblxuXG4gIC8qKlxuICAgKiBXaGVuIHBvcnQgd2FzIGFzc2lnbmVkIGFzIHJlZ2lzdGVyZWQgc2VydmljZVxuICAgKi9cblxuICBAVGFvbi5Pcm0uQ29sdW1uLk51bWJlcigpXG5cbiAgd2hlbkFzc2lnbmVkVGltZXN0YW1wPzogTnVtYmVyO1xuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS90Y3AtdWRwLXBvcnRzL3BvcnRzLmVudGl0eS50cyJdfQ==
@@ -3,7 +3,6 @@
3
3
  import { BaseContext, Taon } from 'taon/websql';
4
4
  import { PortsController } from './ports.controller';
5
5
  import { Port } from './ports.entity';
6
- import { NotAssignablePort } from './not-assignable-port.entity';
7
6
  import { MIGRATIONS_CLASSES_FOR_PortsContext } from '../../../migrations';
8
7
  /* */
9
8
  /* */
@@ -18,7 +17,7 @@ export const PortsContext = Taon.createContext(() => ({
18
17
  contextName: 'PortsContext',
19
18
  contexts: { BaseContext },
20
19
  controllers: { PortsController },
21
- entities: { Port, NotAssignablePort },
20
+ entities: { Port },
22
21
  migrations: { ...MIGRATIONS_CLASSES_FOR_PortsContext },
23
22
  skipWritingServerRoutes: true,
24
23
  /* */
@@ -32,4 +31,4 @@ export const PortsContext = Taon.createContext(() => ({
32
31
  }));
33
32
  ;
34
33
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/tcp-udp-ports.context.ts
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNwLXVkcC1wb3J0cy5jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS90Y3AtdWRwLXBvcnRzL3RjcC11ZHAtcG9ydHMuY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUUsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNwRCxXQUFXLEVBQUUsY0FBYztJQUMzQixRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUU7SUFDekIsV0FBVyxFQUFFLEVBQUUsZUFBZSxFQUFFO0lBQ2hDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRTtJQUNyQyxVQUFVLEVBQUUsRUFBRSxHQUFHLG1DQUFtQyxFQUFFO0lBQ3RELHVCQUF1QixFQUFFLElBQUk7SUFDL0IsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFFSCxJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsSUFBSTtLQUNqQjtDQUNGLENBQUMsQ0FBQyxDQUFDO0FBRUgsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx3RkFBd0YiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgQmFzZUNvbnRleHQsIFRhb24gfSBmcm9tICd0YW9uL3dlYnNxbCc7XG5pbXBvcnQgeyBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCwgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBQb3J0c0NvbnRyb2xsZXIgfSBmcm9tICcuL3BvcnRzLmNvbnRyb2xsZXInO1xuaW1wb3J0IHsgUG9ydCB9IGZyb20gJy4vcG9ydHMuZW50aXR5JztcbmltcG9ydCB7IE5vdEFzc2lnbmFibGVQb3J0IH0gZnJvbSAnLi9ub3QtYXNzaWduYWJsZS1wb3J0LmVudGl0eSc7XG5pbXBvcnQgeyBNSUdSQVRJT05TX0NMQVNTRVNfRk9SX1BvcnRzQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL21pZ3JhdGlvbnMnO1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5leHBvcnQgY29uc3QgUG9ydHNDb250ZXh0ID0gVGFvbi5jcmVhdGVDb250ZXh0KCgpID0+ICh7XG4gIGNvbnRleHROYW1lOiAnUG9ydHNDb250ZXh0JyxcbiAgY29udGV4dHM6IHsgQmFzZUNvbnRleHQgfSxcbiAgY29udHJvbGxlcnM6IHsgUG9ydHNDb250cm9sbGVyIH0sXG4gIGVudGl0aWVzOiB7IFBvcnQsIE5vdEFzc2lnbmFibGVQb3J0IH0sXG4gIG1pZ3JhdGlvbnM6IHsgLi4uTUlHUkFUSU9OU19DTEFTU0VTX0ZPUl9Qb3J0c0NvbnRleHQgfSxcbiAgc2tpcFdyaXRpbmdTZXJ2ZXJSb3V0ZXM6IHRydWUsXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIGxvZ3M6IHtcbiAgICBtaWdyYXRpb25zOiB0cnVlLFxuICB9LFxufSkpO1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvdGNwLXVkcC1wb3J0cy90Y3AtdWRwLXBvcnRzLmNvbnRleHQudHMiXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNwLXVkcC1wb3J0cy5jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS90Y3AtdWRwLXBvcnRzL3RjcC11ZHAtcG9ydHMuY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUUsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNwRCxXQUFXLEVBQUUsY0FBYztJQUMzQixRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUU7SUFDekIsV0FBVyxFQUFFLEVBQUUsZUFBZSxFQUFFO0lBQ2hDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRTtJQUNsQixVQUFVLEVBQUUsRUFBRSxHQUFHLG1DQUFtQyxFQUFFO0lBQ3RELHVCQUF1QixFQUFFLElBQUk7SUFDL0IsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFFSCxJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsSUFBSTtLQUNqQjtDQUNGLENBQUMsQ0FBQyxDQUFDO0FBRUgsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx3RkFBd0YiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgQmFzZUNvbnRleHQsIFRhb24gfSBmcm9tICd0YW9uL3dlYnNxbCc7XG5pbXBvcnQgeyBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCwgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBQb3J0c0NvbnRyb2xsZXIgfSBmcm9tICcuL3BvcnRzLmNvbnRyb2xsZXInO1xuaW1wb3J0IHsgUG9ydCB9IGZyb20gJy4vcG9ydHMuZW50aXR5JztcbmltcG9ydCB7IE1JR1JBVElPTlNfQ0xBU1NFU19GT1JfUG9ydHNDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vbWlncmF0aW9ucyc7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbmV4cG9ydCBjb25zdCBQb3J0c0NvbnRleHQgPSBUYW9uLmNyZWF0ZUNvbnRleHQoKCkgPT4gKHtcbiAgY29udGV4dE5hbWU6ICdQb3J0c0NvbnRleHQnLFxuICBjb250ZXh0czogeyBCYXNlQ29udGV4dCB9LFxuICBjb250cm9sbGVyczogeyBQb3J0c0NvbnRyb2xsZXIgfSxcbiAgZW50aXRpZXM6IHsgUG9ydCB9LFxuICBtaWdyYXRpb25zOiB7IC4uLk1JR1JBVElPTlNfQ0xBU1NFU19GT1JfUG9ydHNDb250ZXh0IH0sXG4gIHNraXBXcml0aW5nU2VydmVyUm91dGVzOiB0cnVlLFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICBsb2dzOiB7XG4gICAgbWlncmF0aW9uczogdHJ1ZSxcbiAgfSxcbn0pKTtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL3RjcC11ZHAtcG9ydHMvdGNwLXVkcC1wb3J0cy5jb250ZXh0LnRzIl19
@@ -1,6 +1,7 @@
1
1
  import { BaseCliWorker } from '../classes/base-cli-worker';
2
2
  import { PortsController } from '../tcp-udp-ports/ports.controller';
3
3
  import { PortsContext } from '../tcp-udp-ports/tcp-udp-ports.context';
4
+ import { UtilsTerminal } from 'tnp-core/websql';
4
5
  export class PortsWorker extends BaseCliWorker {
5
6
  async getControllerForRemoteConnection() {
6
7
  if (this.portsController) {
@@ -40,9 +41,54 @@ export class PortsWorker extends BaseCliWorker {
40
41
  /* */
41
42
  /* */
42
43
  /* */
44
+ /* */
43
45
  return (void 0);
44
46
  }
45
47
  async displayItemsForPortsStatus(status) {
48
+ /* */
49
+ /* */
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ /* */
55
+ /* */
56
+ /* */
57
+ /* */
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
65
+ return (void 0);
66
+ }
67
+ getWorkerTerminalActions(options) {
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ /* */
79
+ /* */
80
+ /* */
81
+ /* */
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
90
+ /* */
91
+ /* */
46
92
  /* */
47
93
  /* */
48
94
  /* */
@@ -64,17 +110,47 @@ export class PortsWorker extends BaseCliWorker {
64
110
  /* */
65
111
  return (void 0);
66
112
  }
67
- get backAction() {
68
- return {
69
- back: {
70
- name: 'Back',
71
- action: async () => {
72
- return true;
73
- },
74
- },
75
- };
113
+ async getNewPortToAdd() {
114
+ /* */
115
+ /* */
116
+ /* */
117
+ /* */
118
+ /* */
119
+ /* */
120
+ /* */
121
+ /* */
122
+ /* */
123
+ /* */
124
+ /* */
125
+ /* */
126
+ /* */
127
+ /* */
128
+ /* */
129
+ /* */
130
+ /* */
131
+ /* */
132
+ /* */
133
+ /* */
134
+ /* */
135
+ /* */
136
+ /* */
137
+ /* */
138
+ /* */
139
+ /* */
140
+ /* */
141
+ /* */
142
+ /* */
143
+ /* */
144
+ /* */
145
+ /* */
146
+ /* */
147
+ /* */
148
+ /* */
149
+ return (void 0);
76
150
  }
77
- getWorkerTerminalActions() {
151
+ async addPortTerminalUiProcess() {
152
+ /* */
153
+ /* */
78
154
  /* */
79
155
  /* */
80
156
  /* */
@@ -98,6 +174,10 @@ export class PortsWorker extends BaseCliWorker {
98
174
  /* */
99
175
  /* */
100
176
  /* */
177
+ /* */
178
+ return (void 0);
179
+ }
180
+ async selectPortProcess(ports, title) {
101
181
  /* */
102
182
  /* */
103
183
  /* */
@@ -116,7 +196,103 @@ export class PortsWorker extends BaseCliWorker {
116
196
  /* */
117
197
  return (void 0);
118
198
  }
199
+ async deletePortTerminalUiProcess() {
200
+ /* */
201
+ /* */
202
+ /* */
203
+ /* */
204
+ /* */
205
+ /* */
206
+ /* */
207
+ /* */
208
+ /* */
209
+ /* */
210
+ /* */
211
+ /* */
212
+ /* */
213
+ /* */
214
+ /* */
215
+ /* */
216
+ /* */
217
+ /* */
218
+ /* */
219
+ /* */
220
+ /* */
221
+ /* */
222
+ /* */
223
+ /* */
224
+ /* */
225
+ return (void 0);
226
+ }
227
+ async editPortTerminalUiProcess() {
228
+ /* */
229
+ /* */
230
+ /* */
231
+ /* */
232
+ /* */
233
+ /* */
234
+ /* */
235
+ /* */
236
+ /* */
237
+ /* */
238
+ /* */
239
+ /* */
240
+ /* */
241
+ /* */
242
+ /* */
243
+ /* */
244
+ /* */
245
+ /* */
246
+ /* */
247
+ /* */
248
+ /* */
249
+ /* */
250
+ /* */
251
+ /* */
252
+ /* */
253
+ /* */
254
+ /* */
255
+ /* */
256
+ /* */
257
+ /* */
258
+ /* */
259
+ /* */
260
+ /* */
261
+ /* */
262
+ /* */
263
+ /* */
264
+ /* */
265
+ /* */
266
+ return (void 0);
267
+ }
268
+ async crudMenuForTakeByOsPorts() {
269
+ const { selected: actionChoice } = await UtilsTerminal.selectActionAndExecute({
270
+ back: {
271
+ name: ' - back - ',
272
+ },
273
+ editPort: {
274
+ name: 'Edit port',
275
+ },
276
+ addPort: {
277
+ name: 'Add port',
278
+ },
279
+ deletePort: {
280
+ name: 'Delete port (make it unassigned)',
281
+ },
282
+ });
283
+ switch (actionChoice) {
284
+ case 'editPort':
285
+ await this.editPortTerminalUiProcess();
286
+ break;
287
+ case 'addPort':
288
+ await this.addPortTerminalUiProcess();
289
+ break;
290
+ case 'deletePort':
291
+ await this.deletePortTerminalUiProcess();
292
+ break;
293
+ }
294
+ }
119
295
  }
120
296
  ;
121
297
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/tcp-upd-ports.worker.ts
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNwLXVwZC1wb3J0cy53b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL3RjcC11ZHAtcG9ydHMvdGNwLXVwZC1wb3J0cy53b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLDRCQUE0QixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFLdEUsTUFBTSxPQUFPLFdBQVksU0FBUSxhQUE4QjtJQUc3RCxLQUFLLENBQUMsZ0NBQWdDO1FBQ3BDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUMzQyxNQUFNLFNBQVMsR0FBRyxNQUFNLFlBQVksQ0FBQyxVQUFVLENBQUM7WUFDOUMsa0JBQWtCLEVBQUUsb0JBQW9CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUU7U0FDeEUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBSVMsS0FBSyxDQUFDLFVBQVU7UUFDeEIsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBSVMsZUFBZTtRQUN2QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBSUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLDZCQUE2QjtRQUNyQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlTLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxNQUFrQjtRQUMvRCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUdELElBQUksVUFBVTtRQUNaLE9BQU87WUFDTCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFO29CQUNqQixPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUdELHdCQUF3QjtRQUMxQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHVGQUF1RiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IEJhc2VDbGlXb3JrZXIsIENmb250U3R5bGUgfSBmcm9tICcuLi9jbGFzc2VzL2Jhc2UtY2xpLXdvcmtlcic7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IEhlbHBlcnMsIFBvcnRTdGF0dXMsIFBvcnRTdGF0dXNBcnIgfSBmcm9tICcuLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBQb3J0c0NvbnRyb2xsZXIgfSBmcm9tICcuLi90Y3AtdWRwLXBvcnRzL3BvcnRzLmNvbnRyb2xsZXInO1xuaW1wb3J0IHsgUG9ydHNDb250ZXh0IH0gZnJvbSAnLi4vdGNwLXVkcC1wb3J0cy90Y3AtdWRwLXBvcnRzLmNvbnRleHQnO1xuaW1wb3J0IHsgVXRpbHNUZXJtaW5hbCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBjaGFsayB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5cblxuZXhwb3J0IGNsYXNzIFBvcnRzV29ya2VyIGV4dGVuZHMgQmFzZUNsaVdvcmtlcjxQb3J0c0NvbnRyb2xsZXI+IHtcblxuICBwcml2YXRlIHBvcnRzQ29udHJvbGxlcjogUG9ydHNDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xuICBhc3luYyBnZXRDb250cm9sbGVyRm9yUmVtb3RlQ29ubmVjdGlvbigpOiBQcm9taXNlPFBvcnRzQ29udHJvbGxlcj4ge1xuICAgIGlmICh0aGlzLnBvcnRzQ29udHJvbGxlcikge1xuICAgICAgcmV0dXJuIHRoaXMucG9ydHNDb250cm9sbGVyO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLndhaXRGb3JQcm9jZXNzUG9ydFNhdmVkVG9EaXNrKCk7XG4gICAgY29uc3QgcmVmUmVtb3RlID0gYXdhaXQgUG9ydHNDb250ZXh0LmluaXRpYWxpemUoe1xuICAgICAgb3ZlcnJpZGVSZW1vdGVIb3N0OiBgaHR0cDovL2xvY2FsaG9zdDoke3RoaXMucHJvY2Vzc0xvY2FsSW5mb09iai5wb3J0fWAsXG4gICAgfSk7XG4gICAgdGhpcy5wb3J0c0NvbnRyb2xsZXIgPSByZWZSZW1vdGUuZ2V0SW5zdGFuY2VCeShQb3J0c0NvbnRyb2xsZXIpO1xuICAgIHJldHVybiB0aGlzLnBvcnRzQ29udHJvbGxlcjtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGVhZGVyVGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAnVENQL1VEUHxQb3J0cyBEQic7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIHRleHRIZWFkZXJTdHlsZSgpOiBDZm9udFN0eWxlIHtcbiAgICByZXR1cm4gJ2Jsb2NrJztcbiAgfVxuXG5cblxuICAvKipcbiAgICogc3RhcnQgbm9ybWFsbHkgcHJvY2Vzc1xuICAgKiB0aGlzIHdpbGwgY3Jhc2ggaWYgcHJvY2VzcyBhbHJlYWR5IHN0YXJ0ZWRcbiAgICovXG4gIGFzeW5jIHN0YXJ0Tm9ybWFsbHlJbkN1cnJlbnRQcm9jZXNzKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGRpc3BsYXlJdGVtc0ZvclBvcnRzU3RhdHVzKHN0YXR1czogUG9ydFN0YXR1cykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG4gIGdldCBiYWNrQWN0aW9uKCkge1xuICAgIHJldHVybiB7XG4gICAgICBiYWNrOiB7XG4gICAgICAgIG5hbWU6ICdCYWNrJyxcbiAgICAgICAgYWN0aW9uOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuXG4gIGdldFdvcmtlclRlcm1pbmFsQWN0aW9ucygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvdGNwLXVkcC1wb3J0cy90Y3AtdXBkLXBvcnRzLndvcmtlci50cyJdfQ==
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNwLXVwZC1wb3J0cy53b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL3RjcC11ZHAtcG9ydHMvdGNwLXVwZC1wb3J0cy53b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLDRCQUE0QixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSWhELE1BQU0sT0FBTyxXQUFZLFNBQVEsYUFBOEI7SUFHN0QsS0FBSyxDQUFDLGdDQUFnQztRQUNwQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUIsQ0FBQztRQUNELE1BQU0sSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsTUFBTSxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQzlDLGtCQUFrQixFQUFFLG9CQUFvQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFO1NBQ3hFLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUlTLEtBQUssQ0FBQyxVQUFVO1FBQ3hCLE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztJQUlTLGVBQWU7UUFDdkIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUlEOzs7T0FHRztJQUNI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S0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLDJCQUEyQjtRQUM3QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlTLEtBQUssQ0FBQyx5QkFBeUI7UUFDM0MsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLHdCQUF3QjtRQUN0QyxNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxHQUM5QixNQUFNLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQztZQUN6QyxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFlBQVk7YUFDbkI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFdBQVc7YUFDbEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFVBQVU7YUFDakI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLGtDQUFrQzthQUN6QztTQUNGLENBQUMsQ0FBQztRQUVMLFFBQVEsWUFBWSxFQUFFLENBQUM7WUFDckIsS0FBSyxVQUFVO2dCQUNiLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osTUFBTSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDdEMsTUFBTTtZQUNSLEtBQUssWUFBWTtnQkFDZixNQUFNLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO2dCQUN6QyxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUZBQXVGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgQmFzZUNsaVdvcmtlciwgQ2ZvbnRTdHlsZSB9IGZyb20gJy4uL2NsYXNzZXMvYmFzZS1jbGktd29ya2VyJztcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVycywgUG9ydCwgUG9ydFN0YXR1cywgUG9ydFN0YXR1c0FyciB9IGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB7IFBvcnRzQ29udHJvbGxlciB9IGZyb20gJy4uL3RjcC11ZHAtcG9ydHMvcG9ydHMuY29udHJvbGxlcic7XG5pbXBvcnQgeyBQb3J0c0NvbnRleHQgfSBmcm9tICcuLi90Y3AtdWRwLXBvcnRzL3RjcC11ZHAtcG9ydHMuY29udGV4dCc7XG5pbXBvcnQgeyBVdGlsc1Rlcm1pbmFsIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IGNoYWxrIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcblxuXG5leHBvcnQgY2xhc3MgUG9ydHNXb3JrZXIgZXh0ZW5kcyBCYXNlQ2xpV29ya2VyPFBvcnRzQ29udHJvbGxlcj4ge1xuXG4gIHByaXZhdGUgcG9ydHNDb250cm9sbGVyOiBQb3J0c0NvbnRyb2xsZXIgfCB1bmRlZmluZWQ7XG4gIGFzeW5jIGdldENvbnRyb2xsZXJGb3JSZW1vdGVDb25uZWN0aW9uKCk6IFByb21pc2U8UG9ydHNDb250cm9sbGVyPiB7XG4gICAgaWYgKHRoaXMucG9ydHNDb250cm9sbGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5wb3J0c0NvbnRyb2xsZXI7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMud2FpdEZvclByb2Nlc3NQb3J0U2F2ZWRUb0Rpc2soKTtcbiAgICBjb25zdCByZWZSZW1vdGUgPSBhd2FpdCBQb3J0c0NvbnRleHQuaW5pdGlhbGl6ZSh7XG4gICAgICBvdmVycmlkZVJlbW90ZUhvc3Q6IGBodHRwOi8vbG9jYWxob3N0OiR7dGhpcy5wcm9jZXNzTG9jYWxJbmZvT2JqLnBvcnR9YCxcbiAgICB9KTtcbiAgICB0aGlzLnBvcnRzQ29udHJvbGxlciA9IHJlZlJlbW90ZS5nZXRJbnN0YW5jZUJ5KFBvcnRzQ29udHJvbGxlcik7XG4gICAgcmV0dXJuIHRoaXMucG9ydHNDb250cm9sbGVyO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBoZWFkZXJUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuICdUQ1AvVURQfFBvcnRzIERCJztcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgdGV4dEhlYWRlclN0eWxlKCk6IENmb250U3R5bGUge1xuICAgIHJldHVybiAnYmxvY2snO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBzdGFydCBub3JtYWxseSBwcm9jZXNzXG4gICAqIHRoaXMgd2lsbCBjcmFzaCBpZiBwcm9jZXNzIGFscmVhZHkgc3RhcnRlZFxuICAgKi9cbiAgYXN5bmMgc3RhcnROb3JtYWxseUluQ3VycmVudFByb2Nlc3MoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGRpc3BsYXlJdGVtc0ZvclBvcnRzU3RhdHVzKHN0YXR1czogUG9ydFN0YXR1cykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldFdvcmtlclRlcm1pbmFsQWN0aW9ucyhvcHRpb25zPzogeyBleGl0SXNPbmx5UmV0dXJuPzogYm9vbGVhbiB9KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0TmV3UG9ydFRvQWRkKCk6IFByb21pc2U8bnVtYmVyPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGFkZFBvcnRUZXJtaW5hbFVpUHJvY2VzcygpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgc2VsZWN0UG9ydFByb2Nlc3MoXG4gICAgcG9ydHM6IFBvcnRbXSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICApOiBQcm9taXNlPFBvcnQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBhc3luYyBkZWxldGVQb3J0VGVybWluYWxVaVByb2Nlc3MoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgZWRpdFBvcnRUZXJtaW5hbFVpUHJvY2VzcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgY3J1ZE1lbnVGb3JUYWtlQnlPc1BvcnRzKCkge1xuICAgIGNvbnN0IHsgc2VsZWN0ZWQ6IGFjdGlvbkNob2ljZSB9ID1cbiAgICAgIGF3YWl0IFV0aWxzVGVybWluYWwuc2VsZWN0QWN0aW9uQW5kRXhlY3V0ZSh7XG4gICAgICAgIGJhY2s6IHtcbiAgICAgICAgICBuYW1lOiAnIC0gYmFjayAtICcsXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXRQb3J0OiB7XG4gICAgICAgICAgbmFtZTogJ0VkaXQgcG9ydCcsXG4gICAgICAgIH0sXG4gICAgICAgIGFkZFBvcnQ6IHtcbiAgICAgICAgICBuYW1lOiAnQWRkIHBvcnQnLFxuICAgICAgICB9LFxuICAgICAgICBkZWxldGVQb3J0OiB7XG4gICAgICAgICAgbmFtZTogJ0RlbGV0ZSBwb3J0IChtYWtlIGl0IHVuYXNzaWduZWQpJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgc3dpdGNoIChhY3Rpb25DaG9pY2UpIHtcbiAgICAgIGNhc2UgJ2VkaXRQb3J0JzpcbiAgICAgICAgYXdhaXQgdGhpcy5lZGl0UG9ydFRlcm1pbmFsVWlQcm9jZXNzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWRkUG9ydCc6XG4gICAgICAgIGF3YWl0IHRoaXMuYWRkUG9ydFRlcm1pbmFsVWlQcm9jZXNzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVsZXRlUG9ydCc6XG4gICAgICAgIGF3YWl0IHRoaXMuZGVsZXRlUG9ydFRlcm1pbmFsVWlQcm9jZXNzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS90Y3AtdWRwLXBvcnRzL3RjcC11cGQtcG9ydHMud29ya2VyLnRzIl19