@ragemp-mango/core 2.0.6-beta.0

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/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/dist/app/constants/index.d.ts +26 -0
  4. package/dist/app/constants/index.js +49 -0
  5. package/dist/app/controller/index.d.ts +70 -0
  6. package/dist/app/controller/index.js +24 -0
  7. package/dist/app/enums/index.d.ts +27 -0
  8. package/dist/app/enums/index.js +16 -0
  9. package/dist/app/index.d.ts +138 -0
  10. package/dist/app/index.js +132 -0
  11. package/dist/app/interfaces/index.d.ts +157 -0
  12. package/dist/app/interfaces/index.js +2 -0
  13. package/dist/app/module/index.d.ts +27 -0
  14. package/dist/app/module/index.js +16 -0
  15. package/dist/app/module-tree/index.d.ts +56 -0
  16. package/dist/app/module-tree/index.js +25 -0
  17. package/dist/app/pipeline/index.d.ts +5 -0
  18. package/dist/app/pipeline/index.js +14 -0
  19. package/dist/app/services/index.d.ts +37 -0
  20. package/dist/app/services/index.js +14 -0
  21. package/dist/app/utils/index.d.ts +16 -0
  22. package/dist/app/utils/index.js +10 -0
  23. package/dist/call-handler.interface-DVdaknsB.d.ts +52 -0
  24. package/dist/chunk-2ADQZWQE.js +170 -0
  25. package/dist/chunk-6YEWPMZJ.js +69 -0
  26. package/dist/chunk-73LIJA6X.js +176 -0
  27. package/dist/chunk-7QVYU63E.js +7 -0
  28. package/dist/chunk-AO6BXG54.js +139 -0
  29. package/dist/chunk-CFHBJ5MV.js +1906 -0
  30. package/dist/chunk-CW7WAA3P.js +1906 -0
  31. package/dist/chunk-DEPJRTVT.js +1 -0
  32. package/dist/chunk-DJZCOYB3.js +17 -0
  33. package/dist/chunk-DXPVUDXD.js +81 -0
  34. package/dist/chunk-E6IQL4S6.js +40 -0
  35. package/dist/chunk-HK7QTFPA.js +81 -0
  36. package/dist/chunk-ITEHLEIP.js +29 -0
  37. package/dist/chunk-M55YEQ7J.js +1 -0
  38. package/dist/chunk-PGWRESZG.js +790 -0
  39. package/dist/chunk-PQK4E654.js +1 -0
  40. package/dist/chunk-RYOUF322.js +68 -0
  41. package/dist/chunk-SKPH3K2M.js +570 -0
  42. package/dist/chunk-TBWHLT75.js +61 -0
  43. package/dist/constants/index.d.ts +8 -0
  44. package/dist/constants/index.js +18 -0
  45. package/dist/controller-Ss0TVrxQ.d.ts +30 -0
  46. package/dist/custom-decorator.type-BHRvXIGz.d.ts +5 -0
  47. package/dist/decorators/index.d.ts +90 -0
  48. package/dist/decorators/index.js +91 -0
  49. package/dist/enums/index.d.ts +66 -0
  50. package/dist/enums/index.js +12 -0
  51. package/dist/errors/index.d.ts +23 -0
  52. package/dist/errors/index.js +17 -0
  53. package/dist/event-destination.enum-DT8jJFwR.d.ts +7 -0
  54. package/dist/event-emmiter.interface-7Ne9W8SM.d.ts +10 -0
  55. package/dist/event-metadata.interface-CREizDNq.d.ts +89 -0
  56. package/dist/execution-context-type.enum-fwYPtPvp.d.ts +6 -0
  57. package/dist/execution-context.interface-DpRN4oVj.d.ts +56 -0
  58. package/dist/index.d.ts +33 -0
  59. package/dist/index.js +190 -0
  60. package/dist/injectable-options.interface-8Gp9oRY6.d.ts +10 -0
  61. package/dist/injectable-scope.enum-CjyQMpW2.d.ts +7 -0
  62. package/dist/injection-token.type-dQTkkP6p.d.ts +5 -0
  63. package/dist/interfaces/index.d.ts +38 -0
  64. package/dist/interfaces/index.js +2 -0
  65. package/dist/logger-service.interface-BGV-o_Fx.d.ts +8 -0
  66. package/dist/method-param-type.enum-BfrJ8zqa.d.ts +11 -0
  67. package/dist/module-metadata.interface-B3bn1vqq.d.ts +59 -0
  68. package/dist/multiplayer-timers.interface-CFDTWwAT.d.ts +22 -0
  69. package/dist/newable.type-BdhG3MZC.d.ts +5 -0
  70. package/dist/nullable.type-C-lE7JU4.d.ts +3 -0
  71. package/dist/pipe-transform.interface-BlzOrUy3.d.ts +14 -0
  72. package/dist/pipes/index.d.ts +12 -0
  73. package/dist/pipes/index.js +9 -0
  74. package/dist/reflectable-decorator.interface-CLOGdtEQ.d.ts +14 -0
  75. package/dist/rpc-call-options.interface-BJ5mHrvT.d.ts +5 -0
  76. package/dist/rpc-error.interface-CeaZLqzE.d.ts +6 -0
  77. package/dist/rpc-metadata.interface-DS-GqgqA.d.ts +11 -0
  78. package/dist/rpc-result.interface-C758heM0.d.ts +10 -0
  79. package/dist/schemas/index.d.ts +189 -0
  80. package/dist/schemas/index.js +39 -0
  81. package/dist/script-event-handler.interface-B-Th4Ssg.d.ts +24 -0
  82. package/dist/script-event-handler.interface-vUr_v6tV.d.ts +5 -0
  83. package/dist/script-rpc-handler.interface-DBpD9-yk.d.ts +8 -0
  84. package/dist/services/index.d.ts +45 -0
  85. package/dist/services/index.js +23 -0
  86. package/dist/types/index.d.ts +9 -0
  87. package/dist/types/index.js +2 -0
  88. package/dist/utils/index.d.ts +16 -0
  89. package/dist/utils/index.js +32 -0
  90. package/package.json +133 -0
@@ -0,0 +1,170 @@
1
+ import {
2
+ RPC_RESULT_HANDLER_NOT_FOUND,
3
+ RPC_RESULT_TIMEOUT,
4
+ RPC_RESULT_UNKNOWN
5
+ } from "./chunk-HK7QTFPA.js";
6
+ import {
7
+ LOGGER_SERVICE
8
+ } from "./chunk-DJZCOYB3.js";
9
+ import {
10
+ MangoError
11
+ } from "./chunk-6YEWPMZJ.js";
12
+ import {
13
+ ErrorMessage,
14
+ RPCResultStatus
15
+ } from "./chunk-DXPVUDXD.js";
16
+ import {
17
+ __name
18
+ } from "./chunk-7QVYU63E.js";
19
+
20
+ // src/app/services/base-event.service.ts
21
+ import { injectable } from "inversify";
22
+ function _ts_decorate(decorators, target, key, desc) {
23
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
24
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
25
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
26
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
27
+ }
28
+ __name(_ts_decorate, "_ts_decorate");
29
+ function _ts_metadata(k, v) {
30
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
31
+ }
32
+ __name(_ts_metadata, "_ts_metadata");
33
+ var BaseEventService = class {
34
+ static {
35
+ __name(this, "BaseEventService");
36
+ }
37
+ $eventEmmiter;
38
+ $localHandlers = /* @__PURE__ */ new Set();
39
+ $internalHandlers = /* @__PURE__ */ new Set();
40
+ $remoteHandlers = /* @__PURE__ */ new Set();
41
+ $internalEventNames = /* @__PURE__ */ new Set();
42
+ constructor($eventEmmiter) {
43
+ this.$eventEmmiter = $eventEmmiter;
44
+ }
45
+ on(eventName, callback) {
46
+ const wrapper = /* @__PURE__ */ __name((...args) => callback(args[0]), "wrapper");
47
+ const eventHandler = this.$eventEmmiter.on(eventName, wrapper);
48
+ this.$localHandlers.add(eventHandler);
49
+ return eventHandler;
50
+ }
51
+ once(eventName, callback) {
52
+ const wrapper = /* @__PURE__ */ __name((...args) => callback(args[0]), "wrapper");
53
+ const eventHandler = this.$eventEmmiter.once(eventName, wrapper);
54
+ this.$localHandlers.add(eventHandler);
55
+ return eventHandler;
56
+ }
57
+ emit(eventName, body) {
58
+ this.$eventEmmiter.emit(eventName, body);
59
+ }
60
+ $onInternal(eventName, handler) {
61
+ if (!this.$internalEventNames.has(eventName)) {
62
+ throw new Error(ErrorMessage.InvalidInternalEventName);
63
+ }
64
+ const eventHandler = this.$eventEmmiter.on(eventName, handler);
65
+ this.$internalHandlers.add(eventHandler);
66
+ return eventHandler;
67
+ }
68
+ $onceInternal(eventName, handler) {
69
+ if (!this.$internalEventNames.has(eventName)) {
70
+ throw new Error(ErrorMessage.InvalidInternalEventName);
71
+ }
72
+ const eventHandler = this.$eventEmmiter.once(eventName, handler);
73
+ this.$internalHandlers.add(eventHandler);
74
+ return eventHandler;
75
+ }
76
+ };
77
+ BaseEventService = _ts_decorate([
78
+ injectable(),
79
+ _ts_metadata("design:type", Function),
80
+ _ts_metadata("design:paramtypes", [
81
+ typeof EventEmmiter === "undefined" ? Object : EventEmmiter
82
+ ])
83
+ ], BaseEventService);
84
+
85
+ // src/app/services/base-rpc.service.ts
86
+ import { inject, injectable as injectable2 } from "inversify";
87
+ function _ts_decorate2(decorators, target, key, desc) {
88
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
89
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
90
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
91
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
92
+ }
93
+ __name(_ts_decorate2, "_ts_decorate");
94
+ function _ts_metadata2(k, v) {
95
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
96
+ }
97
+ __name(_ts_metadata2, "_ts_metadata");
98
+ var BaseRPCService = class {
99
+ static {
100
+ __name(this, "BaseRPCService");
101
+ }
102
+ $loggerService;
103
+ $TIMEOUT = 2e3;
104
+ $localHandlers = /* @__PURE__ */ new Map();
105
+ async call(rpcName, body, options = {
106
+ timeout: this.$TIMEOUT
107
+ }) {
108
+ return new Promise(async (resolve) => {
109
+ const handler = this.$localHandlers.get(rpcName)?.handler;
110
+ if (!handler) {
111
+ return resolve(RPC_RESULT_HANDLER_NOT_FOUND);
112
+ }
113
+ const timeoutId = setTimeout(() => {
114
+ resolve(RPC_RESULT_TIMEOUT);
115
+ }, options.timeout ?? this.$TIMEOUT);
116
+ try {
117
+ const result = await handler(body);
118
+ clearTimeout(timeoutId);
119
+ resolve({
120
+ success: true,
121
+ status: RPCResultStatus.Success,
122
+ body: result
123
+ });
124
+ } catch (error) {
125
+ clearTimeout(timeoutId);
126
+ if (error instanceof MangoError) {
127
+ return resolve({
128
+ success: false,
129
+ status: error.status,
130
+ error: {
131
+ message: error.message,
132
+ details: error.details
133
+ }
134
+ });
135
+ }
136
+ resolve(RPC_RESULT_UNKNOWN);
137
+ }
138
+ });
139
+ }
140
+ onRequest(rpcName, handler) {
141
+ if (this.$localHandlers.has(rpcName)) {
142
+ this.$loggerService.error("An error occurred while trying to register RPC.");
143
+ throw new Error(ErrorMessage.RPCHandlerAlreadyExists);
144
+ }
145
+ const rpcHandler = {
146
+ destroy: /* @__PURE__ */ __name(() => {
147
+ rpcHandler.valid = false;
148
+ this.$localHandlers.delete(rpcName);
149
+ }, "destroy"),
150
+ rpcName,
151
+ handler,
152
+ valid: true
153
+ };
154
+ this.$localHandlers.set(rpcName, rpcHandler);
155
+ return rpcHandler;
156
+ }
157
+ };
158
+ _ts_decorate2([
159
+ inject(LOGGER_SERVICE),
160
+ _ts_metadata2("design:type", typeof LoggerService === "undefined" ? Object : LoggerService)
161
+ ], BaseRPCService.prototype, "$loggerService", void 0);
162
+ BaseRPCService = _ts_decorate2([
163
+ injectable2()
164
+ ], BaseRPCService);
165
+
166
+ export {
167
+ BaseEventService,
168
+ BaseRPCService
169
+ };
170
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2FwcC9zZXJ2aWNlcy9iYXNlLWV2ZW50LnNlcnZpY2UudHMiLCAiLi4vc3JjL2FwcC9zZXJ2aWNlcy9iYXNlLXJwYy5zZXJ2aWNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSAnaW52ZXJzaWZ5JztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB0eXBlIHsgRXZlbnRFbW1pdGVyLCBTY3JpcHRFdmVudEhhbmRsZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB0eXBlIHsgRXZlbnRIYW5kbGVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRXZlbnRTZXJ2aWNlPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5ICRsb2NhbEhhbmRsZXJzOiBTZXQ8U2NyaXB0RXZlbnRIYW5kbGVyPiA9IG5ldyBTZXQoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgJGludGVybmFsSGFuZGxlcnM6IFNldDxTY3JpcHRFdmVudEhhbmRsZXI+ID0gbmV3IFNldCgpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSAkcmVtb3RlSGFuZGxlcnM6IFNldDxTY3JpcHRFdmVudEhhbmRsZXI+ID0gbmV3IFNldCgpO1xuICAgIHByb3RlY3RlZCAkaW50ZXJuYWxFdmVudE5hbWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkICRldmVudEVtbWl0ZXI6IEV2ZW50RW1taXRlcikge31cblxuICAgIHB1YmxpYyBvbjxFIGV4dGVuZHMga2V5b2YgVD4oZXZlbnROYW1lOiBFLCBjYWxsYmFjazogKGJvZHk6IFBhcmFtZXRlcnM8VFtFXT5bMF0pID0+IFJldHVyblR5cGU8VFtFXT4pOiBTY3JpcHRFdmVudEhhbmRsZXI7XG4gICAgcHVibGljIG9uPEUgZXh0ZW5kcyBzdHJpbmc+KGV2ZW50TmFtZTogRXhjbHVkZTxFLCBrZXlvZiBUPiwgY2FsbGJhY2s6IChib2R5OiB1bmtub3duKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPik6IFNjcmlwdEV2ZW50SGFuZGxlcjtcbiAgICBwdWJsaWMgb248RSBleHRlbmRzIHN0cmluZz4oZXZlbnROYW1lOiBFeGNsdWRlPEUsIGtleW9mIFQ+LCBjYWxsYmFjazogKGJvZHk6IHVua25vd24pID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+KSB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSAoLi4uYXJnczogYW55W10pID0+IGNhbGxiYWNrKGFyZ3NbMF0pO1xuICAgICAgICBjb25zdCBldmVudEhhbmRsZXIgPSA8U2NyaXB0RXZlbnRIYW5kbGVyPnRoaXMuJGV2ZW50RW1taXRlci5vbihldmVudE5hbWUsIHdyYXBwZXIpO1xuICAgICAgICB0aGlzLiRsb2NhbEhhbmRsZXJzLmFkZChldmVudEhhbmRsZXIpO1xuICAgICAgICByZXR1cm4gZXZlbnRIYW5kbGVyO1xuICAgIH1cbiAgICBwdWJsaWMgb25jZTxFIGV4dGVuZHMga2V5b2YgVD4oZXZlbnROYW1lOiBFLCBjYWxsYmFjazogKGJvZHk6IFBhcmFtZXRlcnM8VFtFXT5bMF0pID0+IFJldHVyblR5cGU8VFtFXT4pOiBTY3JpcHRFdmVudEhhbmRsZXI7XG4gICAgcHVibGljIG9uY2U8RSBleHRlbmRzIHN0cmluZz4oZXZlbnROYW1lOiBFeGNsdWRlPEUsIGtleW9mIFQ+LCBjYWxsYmFjazogKGJvZHk6IHVua25vd24pID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+KTogU2NyaXB0RXZlbnRIYW5kbGVyO1xuICAgIHB1YmxpYyBvbmNlPEUgZXh0ZW5kcyBzdHJpbmc+KGV2ZW50TmFtZTogRXhjbHVkZTxFLCBrZXlvZiBUPiwgY2FsbGJhY2s6IChib2R5OiB1bmtub3duKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPikge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBjYWxsYmFjayhhcmdzWzBdKTtcbiAgICAgICAgY29uc3QgZXZlbnRIYW5kbGVyID0gPFNjcmlwdEV2ZW50SGFuZGxlcj50aGlzLiRldmVudEVtbWl0ZXIub25jZShldmVudE5hbWUsIHdyYXBwZXIpO1xuICAgICAgICB0aGlzLiRsb2NhbEhhbmRsZXJzLmFkZChldmVudEhhbmRsZXIpO1xuICAgICAgICByZXR1cm4gZXZlbnRIYW5kbGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbWl0PEUgZXh0ZW5kcyBrZXlvZiBUPihldmVudE5hbWU6IEUsIGJvZHk/OiBUW0VdKTogdm9pZDtcbiAgICBwdWJsaWMgZW1pdDxFIGV4dGVuZHMgc3RyaW5nPihldmVudE5hbWU6IEUsIGJvZHk/OiB1bmtub3duKTogdm9pZDtcbiAgICBwdWJsaWMgZW1pdDxFIGV4dGVuZHMgc3RyaW5nPihldmVudE5hbWU6IEUsIGJvZHk/OiB1bmtub3duKSB7XG4gICAgICAgIHRoaXMuJGV2ZW50RW1taXRlci5lbWl0KGV2ZW50TmFtZSwgYm9keSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkICRvbkludGVybmFsKGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiAoYm9keTogdW5rbm93bikgPT4gdm9pZCB8IFByb21pc2U8dm9pZD4pIHtcbiAgICAgICAgaWYgKCF0aGlzLiRpbnRlcm5hbEV2ZW50TmFtZXMuaGFzKGV2ZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFcnJvck1lc3NhZ2UuSW52YWxpZEludGVybmFsRXZlbnROYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBldmVudEhhbmRsZXIgPSA8RXZlbnRIYW5kbGVyPnRoaXMuJGV2ZW50RW1taXRlci5vbihldmVudE5hbWUsIGhhbmRsZXIpO1xuICAgICAgICB0aGlzLiRpbnRlcm5hbEhhbmRsZXJzLmFkZChldmVudEhhbmRsZXIpO1xuICAgICAgICByZXR1cm4gZXZlbnRIYW5kbGVyO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCAkb25jZUludGVybmFsKGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiAoYm9keTogdW5rbm93bikgPT4gdm9pZCB8IFByb21pc2U8dm9pZD4pIHtcbiAgICAgICAgaWYgKCF0aGlzLiRpbnRlcm5hbEV2ZW50TmFtZXMuaGFzKGV2ZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFcnJvck1lc3NhZ2UuSW52YWxpZEludGVybmFsRXZlbnROYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBldmVudEhhbmRsZXIgPSA8U2NyaXB0RXZlbnRIYW5kbGVyPnRoaXMuJGV2ZW50RW1taXRlci5vbmNlKGV2ZW50TmFtZSwgaGFuZGxlcik7XG4gICAgICAgIHRoaXMuJGludGVybmFsSGFuZGxlcnMuYWRkKGV2ZW50SGFuZGxlcik7XG4gICAgICAgIHJldHVybiBldmVudEhhbmRsZXI7XG4gICAgfVxufVxuIiwgImltcG9ydCB7IGluamVjdCwgaW5qZWN0YWJsZSB9IGZyb20gJ2ludmVyc2lmeSc7XG5pbXBvcnQgdHlwZSB7IFJQQ1Jlc3VsdCwgUlBDQ2FsbE9wdGlvbnMsIFNjcmlwdFJQQ0hhbmRsZXIsIExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFJQQ19SRVNVTFRfSEFORExFUl9OT1RfRk9VTkQsIFJQQ19SRVNVTFRfVElNRU9VVCwgUlBDX1JFU1VMVF9VTktOT1dOIH0gZnJvbSAnLi4vLi4vYXBwL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UsIFJQQ1Jlc3VsdFN0YXR1cyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IE1hbmdvRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHsgTE9HR0VSX1NFUlZJQ0UgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQmFzZVJQQ1NlcnZpY2U8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBAaW5qZWN0KExPR0dFUl9TRVJWSUNFKSBwcm90ZWN0ZWQgcmVhZG9ubHkgJGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5ICRUSU1FT1VUID0gMjAwMDtcbiAgICBwcml2YXRlIHJlYWRvbmx5ICRsb2NhbEhhbmRsZXJzID0gbmV3IE1hcDxzdHJpbmcsIFNjcmlwdFJQQ0hhbmRsZXI+KCk7XG5cbiAgICBwdWJsaWMgYXN5bmMgY2FsbDxFIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgICAgIHJwY05hbWU6IEUsXG4gICAgICAgIGJvZHk/OiBQYXJhbWV0ZXJzPFRbRV0+WzBdLFxuICAgICAgICBvcHRpb25zPzogUlBDQ2FsbE9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxSUENSZXN1bHQ8UmV0dXJuVHlwZTxUW0VdPj4+O1xuICAgIHB1YmxpYyBhc3luYyBjYWxsPEUgZXh0ZW5kcyBzdHJpbmc+KHJwY05hbWU6IEUsIGJvZHk/OiB1bmtub3duLCBvcHRpb25zPzogUlBDQ2FsbE9wdGlvbnMpOiBQcm9taXNlPFJQQ1Jlc3VsdDx1bmtub3duPj47XG4gICAgcHVibGljIGFzeW5jIGNhbGw8RSBleHRlbmRzIHN0cmluZz4ocnBjTmFtZTogRSwgYm9keT86IHVua25vd24sIG9wdGlvbnM6IFJQQ0NhbGxPcHRpb25zID0geyB0aW1lb3V0OiB0aGlzLiRUSU1FT1VUIH0pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gdGhpcy4kbG9jYWxIYW5kbGVycy5nZXQoPHN0cmluZz5ycGNOYW1lKT8uaGFuZGxlcjtcbiAgICAgICAgICAgIGlmICghaGFuZGxlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKFJQQ19SRVNVTFRfSEFORExFUl9OT1RfRk9VTkQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKFJQQ19SRVNVTFRfVElNRU9VVCk7XG4gICAgICAgICAgICB9LCBvcHRpb25zLnRpbWVvdXQgPz8gdGhpcy4kVElNRU9VVCk7XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaGFuZGxlcihib2R5KTtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHsgc3VjY2VzczogdHJ1ZSwgc3RhdHVzOiBSUENSZXN1bHRTdGF0dXMuU3VjY2VzcywgYm9keTogcmVzdWx0IH0pO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcblxuICAgICAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIE1hbmdvRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IGVycm9yLnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiB7IG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsIGRldGFpbHM6IGVycm9yLmRldGFpbHMgfSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShSUENfUkVTVUxUX1VOS05PV04pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHVibGljIG9uUmVxdWVzdDxFIGV4dGVuZHMga2V5b2YgVD4ocnBjTmFtZTogRSwgaGFuZGxlcjogKGJvZHk6IFBhcmFtZXRlcnM8VFtFXT5bMF0pID0+IFJldHVyblR5cGU8VFtFXT4pOiBTY3JpcHRSUENIYW5kbGVyO1xuICAgIHB1YmxpYyBvblJlcXVlc3Q8RSBleHRlbmRzIHN0cmluZz4ocnBjTmFtZTogRSwgaGFuZGxlcjogKGJvZHk6IHVua25vd24pID0+IHVua25vd24gfCBQcm9taXNlPHVua25vd24+KTogU2NyaXB0UlBDSGFuZGxlcjtcbiAgICBwdWJsaWMgb25SZXF1ZXN0PEUgZXh0ZW5kcyBzdHJpbmc+KHJwY05hbWU6IEUsIGhhbmRsZXI6IChib2R5OiB1bmtub3duKSA9PiB1bmtub3duIHwgUHJvbWlzZTx1bmtub3duPikge1xuICAgICAgICBpZiAodGhpcy4kbG9jYWxIYW5kbGVycy5oYXMocnBjTmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuJGxvZ2dlclNlcnZpY2UuZXJyb3IoJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHRyeWluZyB0byByZWdpc3RlciBSUEMuJyk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRXJyb3JNZXNzYWdlLlJQQ0hhbmRsZXJBbHJlYWR5RXhpc3RzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJwY0hhbmRsZXI6IFNjcmlwdFJQQ0hhbmRsZXIgPSB7XG4gICAgICAgICAgICBkZXN0cm95OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHJwY0hhbmRsZXIudmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLiRsb2NhbEhhbmRsZXJzLmRlbGV0ZShycGNOYW1lKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBycGNOYW1lOiBycGNOYW1lLFxuICAgICAgICAgICAgaGFuZGxlcixcbiAgICAgICAgICAgIHZhbGlkOiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuJGxvY2FsSGFuZGxlcnMuc2V0KHJwY05hbWUsIHJwY0hhbmRs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O2NBQUVFLFNBQVNGLE1BQU1FO2NBQVNDLFNBQVNILE1BQU1HO1lBQVE7VUFDNUQsQ0FBQTtRQUNKO0FBRUFoQixnQkFBUWlCLGtCQUFBQTtNQUNaO0lBQ0osQ0FBQTtFQUNKO0VBR09DLFVBQTRCdkIsU0FBWU0sU0FBd0Q7QUFDbkcsUUFBSSxLQUFLVCxlQUFlMkIsSUFBSXhCLE9BQUFBLEdBQVU7QUFDbEMsV0FBS0wsZUFBZXVCLE1BQU0saURBQUE7QUFDMUIsWUFBTSxJQUFJTyxNQUFNQyxhQUFhQyx1QkFBdUI7SUFDeEQ7QUFFQSxVQUFNQyxhQUErQjtNQUNqQ0MsU0FBUyw2QkFBQTtBQUVMRCxtQkFBV0UsUUFBUTtBQUNuQixhQUFLakMsZUFBZWtDLE9BQU8vQixPQUFBQTtNQUMvQixHQUpTO01BS1RBO01BQ0FNO01BQ0F3QixPQUFPO0lBQ1g7QUFFQSxTQUFLakMsZUFBZW1DLElBQUloQyxTQUFTNEIsVUFBQUE7QUFFakMsV0FBT0E7RUFDWDtBQUNKOzs7Ozs7OzsiLAogICJuYW1lcyI6IFsiaW5qZWN0YWJsZSIsICJCYXNlRXZlbnRTZXJ2aWNlIiwgIiRsb2NhbEhhbmRsZXJzIiwgIlNldCIsICIkaW50ZXJuYWxIYW5kbGVycyIsICIkcmVtb3RlSGFuZGxlcnMiLCAiJGludGVybmFsRXZlbnROYW1lcyIsICIkZXZlbnRFbW1pdGVyIiwgIm9uIiwgImV2ZW50TmFtZSIsICJjYWxsYmFjayIsICJ3cmFwcGVyIiwgImFyZ3MiLCAiZXZlbnRIYW5kbGVyIiwgImFkZCIsICJvbmNlIiwgImVtaXQiLCAiYm9keSIsICIkb25JbnRlcm5hbCIsICJoYW5kbGVyIiwgImhhcyIsICJFcnJvciIsICJFcnJvck1lc3NhZ2UiLCAiSW52YWxpZEludGVybmFsRXZlbnROYW1lIiwgIiRvbmNlSW50ZXJuYWwiLCAiaW5qZWN0IiwgImluamVjdGFibGUiLCAiQmFzZVJQQ1NlcnZpY2UiLCAiJGxvZ2dlclNlcnZpY2UiLCAiJFRJTUVPVVQiLCAiJGxvY2FsSGFuZGxlcnMiLCAiTWFwIiwgImNhbGwiLCAicnBjTmFtZSIsICJib2R5IiwgIm9wdGlvbnMiLCAidGltZW91dCIsICJQcm9taXNlIiwgInJlc29sdmUiLCAiaGFuZGxlciIsICJnZXQiLCAiUlBDX1JFU1VMVF9IQU5ETEVSX05PVF9GT1VORCIsICJ0aW1lb3V0SWQiLCAic2V0VGltZW91dCIsICJSUENfUkVTVUxUX1RJTUVPVVQiLCAicmVzdWx0IiwgImNsZWFyVGltZW91dCIsICJzdWNjZXNzIiwgInN0YXR1cyIsICJSUENSZXN1bHRTdGF0dXMiLCAiU3VjY2VzcyIsICJlcnJvciIsICJNYW5nb0Vycm9yIiwgIm1lc3NhZ2UiLCAiZGV0YWlscyIsICJSUENfUkVTVUxUX1VOS05PV04iLCAib25SZXF1ZXN0IiwgImhhcyIsICJFcnJvciIsICJFcnJvck1lc3NhZ2UiLCAiUlBDSGFuZGxlckFscmVhZHlFeGlzdHMiLCAicnBjSGFuZGxlciIsICJkZXN0cm95IiwgInZhbGlkIiwgImRlbGV0ZSIsICJzZXQiXQp9Cg==
@@ -0,0 +1,69 @@
1
+ import {
2
+ RPCResultStatus
3
+ } from "./chunk-DXPVUDXD.js";
4
+ import {
5
+ __name
6
+ } from "./chunk-7QVYU63E.js";
7
+
8
+ // src/errors/mango.error.ts
9
+ var MangoError = class extends Error {
10
+ static {
11
+ __name(this, "MangoError");
12
+ }
13
+ status = RPCResultStatus.Unknown;
14
+ details;
15
+ constructor(message, status, details) {
16
+ super(message);
17
+ this.status = status ?? RPCResultStatus.Unknown;
18
+ this.details = details;
19
+ }
20
+ };
21
+
22
+ // src/errors/guard-cancel.error.ts
23
+ var GuardCancelError = class extends MangoError {
24
+ static {
25
+ __name(this, "GuardCancelError");
26
+ }
27
+ constructor() {
28
+ super("Process cancelled by the guard.", RPCResultStatus.CancelledByGuard);
29
+ }
30
+ };
31
+
32
+ // src/errors/guard-invalid-return.error.ts
33
+ var GuardInvalidReturnError = class extends MangoError {
34
+ static {
35
+ __name(this, "GuardInvalidReturnError");
36
+ }
37
+ constructor() {
38
+ super("Guard returned an invalid value. Expected boolean.", RPCResultStatus.InvalidGuardReturn);
39
+ }
40
+ };
41
+
42
+ // src/errors/too-many-requests.error.ts
43
+ var TooManyRequests = class extends MangoError {
44
+ static {
45
+ __name(this, "TooManyRequests");
46
+ }
47
+ constructor(message = "Too many requests.") {
48
+ super(message, RPCResultStatus.TooManyRequests);
49
+ }
50
+ };
51
+
52
+ // src/errors/unknown.error.ts
53
+ var UnknownError = class extends MangoError {
54
+ static {
55
+ __name(this, "UnknownError");
56
+ }
57
+ constructor() {
58
+ super("Unknown error.", RPCResultStatus.Unknown);
59
+ }
60
+ };
61
+
62
+ export {
63
+ MangoError,
64
+ GuardCancelError,
65
+ GuardInvalidReturnError,
66
+ TooManyRequests,
67
+ UnknownError
68
+ };
69
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2Vycm9ycy9tYW5nby5lcnJvci50cyIsICIuLi9zcmMvZXJyb3JzL2d1YXJkLWNhbmNlbC5lcnJvci50cyIsICIuLi9zcmMvZXJyb3JzL2d1YXJkLWludmFsaWQtcmV0dXJuLmVycm9yLnRzIiwgIi4uL3NyYy9lcnJvcnMvdG9vLW1hbnktcmVxdWVzdHMuZXJyb3IudHMiLCAiLi4vc3JjL2Vycm9ycy91bmtub3duLmVycm9yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBSUENSZXN1bHRTdGF0dXMgfSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBjbGFzcyBNYW5nb0Vycm9yPFREZXRhaWxzID0gdW5rbm93bj4gZXh0ZW5kcyBFcnJvciB7XG4gICAgcHVibGljIHN0YXR1czogbnVtYmVyID0gUlBDUmVzdWx0U3RhdHVzLlVua25vd247XG4gICAgcHVibGljIGRldGFpbHM6IFREZXRhaWxzIHwgdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgc3RhdHVzPzogbnVtYmVyLCBkZXRhaWxzPzogVERldGFpbHMpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gc3RhdHVzID8/IFJQQ1Jlc3VsdFN0YXR1cy5Vbmtub3duO1xuICAgICAgICB0aGlzLmRldGFpbHMgPSBkZXRhaWxzO1xuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBSUENSZXN1bHRTdGF0dXMgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBNYW5nb0Vycm9yIH0gZnJvbSAnLi9tYW5nby5lcnJvcic7XG5cbmV4cG9ydCBjbGFzcyBHdWFyZENhbmNlbEVycm9yIGV4dGVuZHMgTWFuZ29FcnJvciB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignUHJvY2VzcyBjYW5jZWxsZWQgYnkgdGhlIGd1YXJkLicsIFJQQ1Jlc3VsdFN0YXR1cy5DYW5jZWxsZWRCeUd1YXJkKTtcbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgUlBDUmVzdWx0U3RhdHVzIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgTWFuZ29FcnJvciB9IGZyb20gJy4vbWFuZ28uZXJyb3InO1xuXG5leHBvcnQgY2xhc3MgR3VhcmRJbnZhbGlkUmV0dXJuRXJyb3IgZXh0ZW5kcyBNYW5nb0Vycm9yIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCdHdWFyZCByZXR1cm5lZCBhbiBpbnZhbGlkIHZhbHVlLiBFeHBlY3RlZCBib29sZWFuLicsIFJQQ1Jlc3VsdFN0YXR1cy5JbnZhbGlkR3VhcmRSZXR1cm4pO1xuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBSUENSZXN1bHRTdGF0dXMgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBNYW5nb0Vycm9yIH0gZnJvbSAnLi9tYW5nby5lcnJvcic7XG5cbmV4cG9ydCBjbGFzcyBUb29NYW55UmVxdWVzdHMgZXh0ZW5kcyBNYW5nb0Vycm9yIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZSA9ICdUb28gbWFueSByZXF1ZXN0cy4nKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UsIFJQQ1Jlc3VsdFN0YXR1cy5Ub29NYW55UmVxdWVzdHMpO1xuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBSUENSZXN1bHRTdGF0dXMgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBNYW5nb0Vycm9yIH0gZnJvbSAnLi9tYW5nby5lcnJvcic7XG5cbmV4cG9ydCBjbGFzcyBVbmtub3duRXJyb3IgZXh0ZW5kcyBNYW5nb0Vycm9yIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCdVbmtub3duIGVycm9yLicsIFJQQ1Jlc3VsdFN0YXR1cy5Vbmtub3duKTtcbiAgICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7OztBQUVPLElBQU1BLGFBQU4sY0FBNkNDLE1BQUFBO0VBRnBELE9BRW9EQTs7O0VBQ3pDQyxTQUFpQkMsZ0JBQWdCQztFQUNqQ0M7RUFFUCxZQUFtQkMsU0FBaUJKLFFBQWlCRyxTQUFvQjtBQUNyRSxVQUFNQyxPQUFBQTtBQUNOLFNBQUtKLFNBQVNBLFVBQVVDLGdCQUFnQkM7QUFDeEMsU0FBS0MsVUFBVUE7RUFDbkI7QUFDSjs7O0FDUk8sSUFBTUUsbUJBQU4sY0FBK0JDLFdBQUFBO0VBSHRDLE9BR3NDQTs7O0VBQ2xDLGNBQXFCO0FBQ2pCLFVBQU0sbUNBQW1DQyxnQkFBZ0JDLGdCQUFnQjtFQUM3RTtBQUNKOzs7QUNKTyxJQUFNQywwQkFBTixjQUFzQ0MsV0FBQUE7RUFIN0MsT0FHNkNBOzs7RUFDekMsY0FBcUI7QUFDakIsVUFBTSxzREFBc0RDLGdCQUFnQkMsa0JBQWtCO0VBQ2xHO0FBQ0o7OztBQ0pPLElBQU1DLGtCQUFOLGNBQThCQyxXQUFBQTtFQUhyQyxPQUdxQ0E7OztFQUNqQyxZQUFtQkMsVUFBVSxzQkFBc0I7QUFDL0MsVUFBTUEsU0FBU0MsZ0JBQWdCSCxlQUFlO0VBQ2xEO0FBQ0o7OztBQ0pPLElBQU1JLGVBQU4sY0FBMkJDLFdBQUFBO0VBSGxDLE9BR2tDQTs7O0VBQzlCLGNBQXFCO0FBQ2pCLFVBQU0sa0JBQWtCQyxnQkFBZ0JDLE9BQU87RUFDbkQ7QUFDSjsiLAogICJuYW1lcyI6IFsiTWFuZ29FcnJvciIsICJFcnJvciIsICJzdGF0dXMiLCAiUlBDUmVzdWx0U3RhdHVzIiwgIlVua25vd24iLCAiZGV0YWlscyIsICJtZXNzYWdlIiwgIkd1YXJkQ2FuY2VsRXJyb3IiLCAiTWFuZ29FcnJvciIsICJSUENSZXN1bHRTdGF0dXMiLCAiQ2FuY2VsbGVkQnlHdWFyZCIsICJHdWFyZEludmFsaWRSZXR1cm5FcnJvciIsICJNYW5nb0Vycm9yIiwgIlJQQ1Jlc3VsdFN0YXR1cyIsICJJbnZhbGlkR3VhcmRSZXR1cm4iLCAiVG9vTWFueVJlcXVlc3RzIiwgIk1hbmdvRXJyb3IiLCAibWVzc2FnZSIsICJSUENSZXN1bHRTdGF0dXMiLCAiVW5rbm93bkVycm9yIiwgIk1hbmdvRXJyb3IiLCAiUlBDUmVzdWx0U3RhdHVzIiwgIlVua25vd24iXQp9Cg==
@@ -0,0 +1,176 @@
1
+ import {
2
+ CoreMetadataKey
3
+ } from "./chunk-TBWHLT75.js";
4
+ import {
5
+ LOGGER_SERVICE
6
+ } from "./chunk-DJZCOYB3.js";
7
+ import {
8
+ ErrorMessage
9
+ } from "./chunk-DXPVUDXD.js";
10
+ import {
11
+ isFunction,
12
+ isNil,
13
+ isString,
14
+ isSymbol
15
+ } from "./chunk-E6IQL4S6.js";
16
+ import {
17
+ __name
18
+ } from "./chunk-7QVYU63E.js";
19
+
20
+ // src/app/module/module-metadata.reader.ts
21
+ import { inject, injectable } from "inversify";
22
+ function _ts_decorate(decorators, target, key, desc) {
23
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
24
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
25
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
26
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
27
+ }
28
+ __name(_ts_decorate, "_ts_decorate");
29
+ function _ts_metadata(k, v) {
30
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
31
+ }
32
+ __name(_ts_metadata, "_ts_metadata");
33
+ var ModuleMetadataReader = class {
34
+ static {
35
+ __name(this, "ModuleMetadataReader");
36
+ }
37
+ loggerService;
38
+ async read(module) {
39
+ if (isFunction(module)) {
40
+ const options2 = Reflect.getMetadata(CoreMetadataKey.Module, module) ?? {};
41
+ const exportTokens2 = this.getExportTokens(options2.exports);
42
+ const separatedProviders2 = this.separateProviders(options2.providers, exportTokens2);
43
+ return {
44
+ controllers: options2.controllers,
45
+ imports: options2.imports,
46
+ ...this.getPipeline(module),
47
+ ...separatedProviders2,
48
+ classRef: module,
49
+ global: Reflect.getMetadata(CoreMetadataKey.GlobalModule, module) ?? false,
50
+ container: options2.container
51
+ };
52
+ }
53
+ if (module instanceof Promise) module = await module;
54
+ if (!("module" in module)) {
55
+ this.loggerService.error("An error occurred while reading module metadata.");
56
+ throw new Error(ErrorMessage.InvalidModuleDefinition);
57
+ }
58
+ const { module: classRef, global, ...options } = module;
59
+ const exportTokens = this.getExportTokens(options.exports);
60
+ const separatedProviders = this.separateProviders(options.providers, exportTokens);
61
+ return {
62
+ controllers: options.controllers,
63
+ imports: options.imports,
64
+ ...this.getPipeline(classRef),
65
+ ...separatedProviders,
66
+ classRef,
67
+ global: global ?? false,
68
+ container: options.container
69
+ };
70
+ }
71
+ getPipeline(classRef) {
72
+ const guards = Reflect.getMetadata(CoreMetadataKey.Guards, classRef) ?? [];
73
+ const interceptors = Reflect.getMetadata(CoreMetadataKey.Interceptors, classRef) ?? [];
74
+ const pipes = Reflect.getMetadata(CoreMetadataKey.Pipes, classRef) ?? [];
75
+ const errorFilters = Reflect.getMetadata(CoreMetadataKey.ErrorFilters, classRef) ?? [];
76
+ return {
77
+ guards,
78
+ interceptors,
79
+ pipes,
80
+ errorFilters
81
+ };
82
+ }
83
+ getExportTokens(exports) {
84
+ return exports.map((providerExport) => {
85
+ if (isFunction(providerExport)) {
86
+ if (!Reflect.hasOwnMetadata(CoreMetadataKey.Injectable, providerExport)) {
87
+ this.loggerService.error("An error occurred while reading module metadata.");
88
+ throw new Error(ErrorMessage.InvalidExportDefinition);
89
+ }
90
+ return providerExport;
91
+ } else if (isString(providerExport) || isSymbol(providerExport)) {
92
+ return providerExport;
93
+ } else if ("provide" in providerExport) {
94
+ return providerExport.provide;
95
+ }
96
+ this.loggerService.error("An error occurred while reading module metadata.");
97
+ throw new Error(ErrorMessage.InvalidExportDefinition);
98
+ });
99
+ }
100
+ separateProviders(providers, exportTokens) {
101
+ return providers.map((provider) => {
102
+ if (isFunction(provider)) {
103
+ const injectableMetadata = Reflect.getMetadata(CoreMetadataKey.Injectable, provider);
104
+ if (isNil(injectableMetadata)) {
105
+ this.loggerService.error("An error occurred while reading module metadata.");
106
+ throw new Error(ErrorMessage.InvalidProviderDefinition);
107
+ }
108
+ return {
109
+ provide: provider,
110
+ useClass: provider,
111
+ scope: injectableMetadata.scope
112
+ };
113
+ } else if ("useClass" in provider || "useValue" in provider || "useFactory" in provider || "useExisting" in provider) {
114
+ return provider;
115
+ }
116
+ this.loggerService.error("An error occurred while reading module metadata.");
117
+ throw new Error(ErrorMessage.InvalidProviderDefinition);
118
+ }).reduce((acc, provider) => {
119
+ if (exportTokens.includes(provider.provide)) {
120
+ acc.externalProviders.set(provider.provide, provider);
121
+ } else {
122
+ acc.internalProviders.set(provider.provide, provider);
123
+ }
124
+ return acc;
125
+ }, {
126
+ internalProviders: /* @__PURE__ */ new Map(),
127
+ externalProviders: /* @__PURE__ */ new Map()
128
+ });
129
+ }
130
+ };
131
+ _ts_decorate([
132
+ inject(LOGGER_SERVICE),
133
+ _ts_metadata("design:type", typeof LoggerService === "undefined" ? Object : LoggerService)
134
+ ], ModuleMetadataReader.prototype, "loggerService", void 0);
135
+ ModuleMetadataReader = _ts_decorate([
136
+ injectable()
137
+ ], ModuleMetadataReader);
138
+
139
+ // src/app/module/module-container.ts
140
+ import { Container } from "inversify";
141
+ var ModuleContainer = class extends Container {
142
+ static {
143
+ __name(this, "ModuleContainer");
144
+ }
145
+ };
146
+
147
+ // src/app/module/module.ts
148
+ import { injectable as injectable2 } from "inversify";
149
+ function _ts_decorate2(decorators, target, key, desc) {
150
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
151
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
152
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
153
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
154
+ }
155
+ __name(_ts_decorate2, "_ts_decorate");
156
+ var Module = class {
157
+ static {
158
+ __name(this, "Module");
159
+ }
160
+ controllers = [];
161
+ container;
162
+ parent;
163
+ metadata;
164
+ instance;
165
+ repetitiveImports = /* @__PURE__ */ new Set();
166
+ };
167
+ Module = _ts_decorate2([
168
+ injectable2()
169
+ ], Module);
170
+
171
+ export {
172
+ ModuleMetadataReader,
173
+ ModuleContainer,
174
+ Module
175
+ };
176
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2FwcC9tb2R1bGUvbW9kdWxlLW1ldGFkYXRhLnJlYWRlci50cyIsICIuLi9zcmMvYXBwL21vZHVsZS9tb2R1bGUtY29udGFpbmVyLnRzIiwgIi4uL3NyYy9hcHAvbW9kdWxlL21vZHVsZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgaW5qZWN0LCBpbmplY3RhYmxlIH0gZnJvbSAnaW52ZXJzaWZ5JztcbmltcG9ydCB0eXBlIHsgSW5qZWN0aW9uVG9rZW4sIE5ld2FibGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBDb3JlTWV0YWRhdGFLZXkgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgdHlwZSB7IEluamVjdGFibGVNZXRhZGF0YSwgRXJyb3JGaWx0ZXIsIEd1YXJkLCBJbnRlcmNlcHRvciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHR5cGUgeyBNb2R1bGVNZXRhZGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc1Byb3ZpZGVyLCBEeW5hbWljTW9kdWxlLCBMb2dnZXJTZXJ2aWNlLCBNb2R1bGVPcHRpb25zLCBQaXBlLCBQcm92aWRlciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNOaWwsIGlzU3RyaW5nLCBpc1N5bWJvbCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IExPR0dFUl9TRVJWSUNFIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vZHVsZU1ldGFkYXRhUmVhZGVyIHtcbiAgICBAaW5qZWN0KExPR0dFUl9TRVJWSUNFKSBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2U7XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVhZChtb2R1bGU6IE5ld2FibGUgfCBEeW5hbWljTW9kdWxlIHwgUHJvbWlzZTxEeW5hbWljTW9kdWxlPikge1xuICAgICAgICAvLyBDbGFzcyByZWZlcmVuY2VcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24obW9kdWxlKSkge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGE8UmVxdWlyZWQ8TW9kdWxlT3B0aW9ucz4+KENvcmVNZXRhZGF0YUtleS5Nb2R1bGUsIG1vZHVsZSkgPz8gPFJlcXVpcmVkPE1vZHVsZU9wdGlvbnM+Pnt9O1xuICAgICAgICAgICAgY29uc3QgZXhwb3J0VG9rZW5zID0gdGhpcy5nZXRFeHBvcnRUb2tlbnMob3B0aW9ucy5leHBvcnRzKTtcbiAgICAgICAgICAgIGNvbnN0IHNlcGFyYXRlZFByb3ZpZGVycyA9IHRoaXMuc2VwYXJhdGVQcm92aWRlcnMob3B0aW9ucy5wcm92aWRlcnMsIGV4cG9ydFRva2Vucyk7XG5cbiAgICAgICAgICAgIHJldHVybiA8TW9kdWxlTWV0YWRhdGE+e1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXJzOiBvcHRpb25zLmNvbnRyb2xsZXJzLFxuICAgICAgICAgICAgICAgIGltcG9ydHM6IG9wdGlvbnMuaW1wb3J0cyxcbiAgICAgICAgICAgICAgICAuLi50aGlzLmdldFBpcGVsaW5lKG1vZHVsZSksXG4gICAgICAgICAgICAgICAgLi4uc2VwYXJhdGVkUHJvdmlkZXJzLFxuICAgICAgICAgICAgICAgIGNsYXNzUmVmOiBtb2R1bGUsXG4gICAgICAgICAgICAgICAgZ2xvYmFsOiBSZWZsZWN0LmdldE1ldGFkYXRhPGJvb2xlYW4+KENvcmVNZXRhZGF0YUtleS5HbG9iYWxNb2R1bGUsIG1vZHVsZSkgPz8gZmFsc2UsXG4gICAgICAgICAgICAgICAgY29udGFpbmVyOiBvcHRpb25zLmNvbnRhaW5lcixcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gRHluYW1pYyBtb2R1bGVcbiAgICAgICAgaWYgKG1vZHVsZSBpbnN0YW5jZW9mIFByb21pc2UpIG1vZHVsZSA9IGF3YWl0IG1vZHVsZTtcbiAgICAgICAgaWYgKCEoJ21vZHVsZScgaW4gbW9kdWxlKSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIG1vZHVsZSBtZXRhZGF0YS4nKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFcnJvck1lc3NhZ2UuSW52YWxpZE1vZHVsZURlZmluaXRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBtb2R1bGU6IGNsYXNzUmVmLCBnbG9iYWwsIC4uLm9wdGlvbnMgfSA9IDxSZXF1aXJlZDxEeW5hbWljTW9kdWxlPj5tb2R1bGU7XG4gICAgICAgIGNvbnN0IGV4cG9ydFRva2VucyA9IHRoaXMuZ2V0RXhwb3J0VG9rZW5zKG9wdGlvbnMuZXhwb3J0cyk7XG4gICAgICAgIGNvbnN0IHNlcGFyYXRlZFByb3ZpZGVycyA9IHRoaXMuc2VwYXJhdGVQcm92aWRlcnMob3B0aW9ucy5wcm92aWRlcnMsIGV4cG9ydFRva2Vucyk7XG5cbiAgICAgICAgcmV0dXJuIDxNb2R1bGVNZXRhZGF0YT57XG4gICAgICAgICAgICBjb250cm9sbGVyczogb3B0aW9ucy5jb250cm9sbGVycyxcbiAgICAgICAgICAgIGltcG9ydHM6IG9wdGlvbnMuaW1wb3J0cyxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0UGlwZWxpbmUoY2xhc3NSZWYpLFxuICAgICAgICAgICAgLi4uc2VwYXJhdGVkUHJvdmlkZXJzLFxuICAgICAgICAgICAgY2xhc3NSZWYsXG4gICAgICAgICAgICBnbG9iYWw6IGdsb2JhbCA/PyBmYWxzZSxcbiAgICAgICAgICAgIGNvbnRhaW5lcjogb3B0aW9ucy5jb250YWluZXIsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQaXBlbGluZShjbGFzc1JlZjogTmV3YWJsZSkge1xuICAgICAgICBjb25zdCBndWFyZHMgPSBSZWZsZWN0LmdldE1ldGFkYXRhPE5ld2FibGU8R3VhcmQ+W10+KENvcmVNZXRhZGF0YUtleS5HdWFyZHMsIGNsYXNzUmVmKSA/PyBbXTtcbiAgICAgICAgY29uc3QgaW50ZXJjZXB0b3JzID0gUmVmbGVjdC5nZXRNZXRhZGF0YTxOZXdhYmxlPEludGVyY2VwdG9yPltdPihDb3JlTWV0YWRhdGFLZXkuSW50ZXJjZXB0b3JzLCBjbGFzc1JlZikgPz8gW107XG4gICAgICAgIGNvbnN0IHBpcGVzID0gUmVmbGVjdC5nZXRNZXRhZGF0YTxOZXdhYmxlPFBpcGU+W10+KENvcmVNZXRhZGF0YUtleS5QaXBlcywgY2xhc3NSZWYpID8/IFtdO1xuICAgICAgICBjb25zdCBlcnJvckZpbHRlcnMgPSBSZWZsZWN0LmdldE1ldGFkYXRhPE5ld2FibGU8RXJyb3JGaWx0ZXI+W10+KENvcmVNZXRhZGF0YUtleS5FcnJvckZpbHRlcnMsIGNsYXNzUmVmKSA/PyBbXTtcblxuICAgICAgICByZXR1cm4geyBndWFyZHMsIGludGVyY2VwdG9ycywgcGlwZXMsIGVycm9yRmlsdGVycyB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RXhwb3J0VG9rZW5zKGV4cG9ydHM6IFJlcXVpcmVkPE1vZHVsZU9wdGlvbnM+WydleHBvcnRzJ10pIHtcbiAgICAgICAgcmV0dXJuIGV4cG9ydHMubWFwPEluamVjdGlvblRva2VuPigocHJvdmlkZXJFeHBvcnQpID0+IHtcbiAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHByb3ZpZGVyRXhwb3J0KSkge1xuICAgICAgICAgICAgICAgIGlmICghUmVmbGVjdC5oYXNPd25NZXRhZGF0YShDb3JlTWV0YWRhdGFLZXkuSW5qZWN0YWJsZSwgcHJvdmlkZXJFeHBvcnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyBtb2R1bGUgbWV0YWRhdGEuJyk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFcnJvck1lc3NhZ2UuSW52YWxpZEV4cG9ydERlZmluaXRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvdmlkZXJFeHBvcnQ7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKHByb3ZpZGVyRXhwb3J0KSB8fCBpc1N5bWJvbChwcm92aWRlckV4cG9ydCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvdmlkZXJFeHBvcnQ7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCdwcm92aWRlJyBpbiBwcm92aWRlckV4cG9ydCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm92aWRlckV4cG9ydC5wcm92aWRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgbW9kdWxlIG1ldGFkYXRhLicpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEVycm9yTWVzc2FnZS5JbnZhbGlkRXhwb3J0RGVmaW5pdGlvbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VwYXJhdGVQcm92aWRlcnMocHJvdmlkZXJzOiBSZXF1aXJlZDxNb2R1bGVPcHRpb25zPlsncHJvdmlkZXJzJ10sIGV4cG9ydFRva2VuczogSW5qZWN0aW9uVG9rZW5bXSkge1xuICAgICAgICByZXR1cm4gcHJvdmlkZXJzXG4gICAgICAgICAgICAubWFwKChwcm92aWRlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHByb3ZpZGVyKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmplY3RhYmxlTWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhPEluamVjdGFibGVNZXRhZGF0YT4oQ29yZU1ldGFkYXRhS2V5LkluamVjdGFibGUsIHByb3ZpZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzTmlsKGluamVjdGFibGVNZXRhZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyBtb2R1bGUgbWV0YWRhdGEuJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRXJyb3JNZXNzYWdlLkludmFsaWRQcm92aWRlckRlZmluaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8Q2xhc3NQcm92aWRlcj57IHByb3ZpZGU6IHByb3ZpZGVyLCB1c2VDbGFzczogcHJvdmlkZXIsIHNjb3BlOiBpbmplY3RhYmxlTWV0YWRhdGEuc2NvcGUgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCd1c2VDbGFzcycgaW4gcHJvdmlkZXIgfHwgJ3VzZVZhbHVlJyBpbiBwcm92aWRlciB8fCAndXNlRmFjdG9yeScgaW4gcHJvdmlkZXIgfHwgJ3VzZUV4aXN0aW5nJyBpbiBwcm92aWRlcikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJvdmlkZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIG1vZHVsZSBtZXRhZGF0YS4nKTtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRXJyb3JNZXNzYWdlLkludmFsaWRQcm92aWRlckRlZmluaXRpb24pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKGFjYywgcHJvdmlkZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4cG9ydFRva2Vucy5pbmNsdWRlcyhwcm92aWRlci5wcm92aWRlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWNjLmV4dGVybmFsUHJvdmlkZXJzLnNldChwcm92aWRlci5wcm92aWRlLCBwcm92aWRlcik7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY2MuaW50ZXJuYWxQcm92aWRlcnMuc2V0KHByb3ZpZGVyLnByb3ZpZGUsIHByb3ZpZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbFByb3ZpZGVyczogbmV3IE1hcDxJbmplY3Rpb25Ub2tlbiwgRXhjbHVkZTxQcm92aWRlciwgTmV3YWJsZT4+KCksXG4gICAgICAgICAgICAgICAgICAgIGV4dGVybmFsUHJvdmlkZXJzOiBuZXcgTWFwPEluamVjdGlvblRva2VuLCBFeGNsdWRlPFByb3ZpZGVyLCBOZXdhYmxlPj4oKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnaW52ZXJzaWZ5JztcblxuZXhwb3J0IGNsYXNzIE1vZHVsZUNvbnRhaW5lciBleHRlbmRzIENvbnRhaW5lciB7fVxuIiwgImltcG9ydCB7IGluamVjdGFibGUgfSBmcm9tICdpbnZlcnNpZnknO1xuaW1wb3J0IHsgQ29udHJvbGxlciB9IGZyb20gJy4uL2NvbnRyb2xsZXInO1xuaW1wb3J0IHR5cGUgeyBNb2R1bGVNZXRhZGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTW9kdWxlQ29udGFpbmVyIH0gZnJvbSAnLi9tb2R1bGUtY29udGFpbmVyJztcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vZHVsZSB7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2xsZXJzOiBDb250cm9sbGVyW10gPSBbXTtcbiAgICBwdWJsaWMgY29udGFpbmVyOiBNb2R1bGVDb250YWluZXI7XG4gICAgcHVibGljIHBhcmVudDogTW9kdWxlIHwgdW5kZWZpbmVkO1xuICAgIHB1YmxpYyBtZXRhZGF0YTogTW9kdWxlTWV0YWRhdGE7XG4gICAgcHVibGljIGluc3RhbmNlOiB7IFtrZXk6IHN0cmluZ106IEZ1bmN0aW9uIH07XG4gICAgcHVibGljIHJlcGV0aXRpdmVJbXBvcnRzOiBTZXQ8TW9kdWxlPiA9IG5ldyBTZXQoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBU0EsUUFBUUMsa0JBQWtCOzs7Ozs7Ozs7Ozs7QUFXNUIsSUFBTUMsdUJBQU4sTUFBTUE7U0FBQUE7OztFQUNnQ0M7RUFFekMsTUFBYUMsS0FBS0MsUUFBMEQ7QUFFeEUsUUFBSUMsV0FBV0QsTUFBQUEsR0FBUztBQUNwQixZQUFNRSxXQUFVQyxRQUFRQyxZQUFxQ0MsZ0JBQWdCQyxRQUFRTixNQUFBQSxLQUFvQyxDQUFDO0FBQzFILFlBQU1PLGdCQUFlLEtBQUtDLGdCQUFnQk4sU0FBUU8sT0FBTztBQUN6RCxZQUFNQyxzQkFBcUIsS0FBS0Msa0JBQWtCVCxTQUFRVSxXQUFXTCxhQUFBQTtBQUVyRSxhQUF1QjtRQUNuQk0sYUFBYVgsU0FBUVc7UUFDckJDLFNBQVNaLFNBQVFZO1FBQ2pCLEdBQUcsS0FBS0MsWUFBWWYsTUFBQUE7UUFDcEIsR0FBR1U7UUFDSE0sVUFBVWhCO1FBQ1ZpQixRQUFRZCxRQUFRQyxZQUFxQkMsZ0JBQWdCYSxjQUFjbEIsTUFBQUEsS0FBVztRQUM5RW1CLFdBQVdqQixTQUFRaUI7TUFDdkI7SUFDSjtBQUVBLFFBQUluQixrQkFBa0JvQixRQUFTcEIsVUFBUyxNQUFNQTtBQUM5QyxRQUFJLEVBQUUsWUFBWUEsU0FBUztBQUN2QixXQUFLRixjQUFjdUIsTUFBTSxrREFBQTtBQUN6QixZQUFNLElBQUlDLE1BQU1DLGFBQWFDLHVCQUF1QjtJQUN4RDtBQUVBLFVBQU0sRUFBRXhCLFFBQVFn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QThCQyxVQUFBQTtFQUZyQyxPQUVxQ0E7OztBQUFXOzs7QUNGaEQsU0FBU0MsY0FBQUEsbUJBQWtCOzs7Ozs7OztBQU1wQixJQUFNQyxTQUFOLE1BQU1BO1NBQUFBOzs7RUFDT0MsY0FBNEIsQ0FBQTtFQUNyQ0M7RUFDQUM7RUFDQUM7RUFDQUM7RUFDQUMsb0JBQWlDLG9CQUFJQyxJQUFBQTtBQUNoRDs7OzsiLAogICJuYW1lcyI6IFsiaW5qZWN0IiwgImluamVjdGFibGUiLCAiTW9kdWxlTWV0YWRhdGFSZWFkZXIiLCAibG9nZ2VyU2VydmljZSIsICJyZWFkIiwgIm1vZHVsZSIsICJpc0Z1bmN0aW9uIiwgIm9wdGlvbnMiLCAiUmVmbGVjdCIsICJnZXRNZXRhZGF0YSIsICJDb3JlTWV0YWRhdGFLZXkiLCAiTW9kdWxlIiwgImV4cG9ydFRva2VucyIsICJnZXRFeHBvcnRUb2tlbnMiLCAiZXhwb3J0cyIsICJzZXBhcmF0ZWRQcm92aWRlcnMiLCAic2VwYXJhdGVQcm92aWRlcnMiLCAicHJvdmlkZXJzIiwgImNvbnRyb2xsZXJzIiwgImltcG9ydHMiLCAiZ2V0UGlwZWxpbmUiLCAiY2xhc3NSZWYiLCAiZ2xvYmFsIiwgIkdsb2JhbE1vZHVsZSIsICJjb250YWluZXIiLCAiUHJvbWlzZSIsICJlcnJvciIsICJFcnJvciIsICJFcnJvck1lc3NhZ2UiLCAiSW52YWxpZE1vZHVsZURlZmluaXRpb24iLCAiZ3VhcmRzIiwgIkd1YXJkcyIsICJpbnRlcmNlcHRvcnMiLCAiSW50ZXJjZXB0b3JzIiwgInBpcGVzIiwgIlBpcGVzIiwgImVycm9yRmlsdGVycyIsICJFcnJvckZpbHRlcnMiLCAibWFwIiwgInByb3ZpZGVyRXhwb3J0IiwgImhhc093bk1ldGFkYXRhIiwgIkluamVjdGFibGUiLCAiSW52YWxpZEV4cG9ydERlZmluaXRpb24iLCAiaXNTdHJpbmciLCAiaXNTeW1ib2wiLCAicHJvdmlkZSIsICJwcm92aWRlciIsICJpbmplY3RhYmxlTWV0YWRhdGEiLCAiaXNOaWwiLCAiSW52YWxpZFByb3ZpZGVyRGVmaW5pdGlvbiIsICJ1c2VDbGFzcyIsICJzY29wZSIsICJyZWR1Y2UiLCAiYWNjIiwgImluY2x1ZGVzIiwgImV4dGVybmFsUHJvdmlkZXJzIiwgInNldCIsICJpbnRlcm5hbFByb3ZpZGVycyIsICJNYXAiLCAiQ29udGFpbmVyIiwgIk1vZHVsZUNvbnRhaW5lciIsICJDb250YWluZXIiLCAiaW5qZWN0YWJsZSIsICJNb2R1bGUiLCAiY29udHJvbGxlcnMiLCAiY29udGFpbmVyIiwgInBhcmVudCIsICJtZXRhZGF0YSIsICJpbnN0YW5jZSIsICJyZXBldGl0aXZlSW1wb3J0cyIsICJTZXQiXQp9Cg==
@@ -0,0 +1,7 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ export {
5
+ __name
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,139 @@
1
+ import {
2
+ LOGGER_SERVICE
3
+ } from "./chunk-DJZCOYB3.js";
4
+ import {
5
+ ErrorMessage
6
+ } from "./chunk-DXPVUDXD.js";
7
+ import {
8
+ __name
9
+ } from "./chunk-7QVYU63E.js";
10
+
11
+ // src/app/pipeline/execution-context-base.ts
12
+ import { injectable } from "inversify";
13
+ function _ts_decorate(decorators, target, key, desc) {
14
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ }
19
+ __name(_ts_decorate, "_ts_decorate");
20
+ var ExecutionContextBase = class {
21
+ static {
22
+ __name(this, "ExecutionContextBase");
23
+ }
24
+ $type;
25
+ $classRef;
26
+ $handler;
27
+ $request;
28
+ $response;
29
+ $name;
30
+ get type() {
31
+ return this.$type;
32
+ }
33
+ get classRef() {
34
+ return this.$classRef;
35
+ }
36
+ get handler() {
37
+ return this.$handler;
38
+ }
39
+ get request() {
40
+ return this.$request;
41
+ }
42
+ get response() {
43
+ return this.$response;
44
+ }
45
+ get name() {
46
+ return this.$name;
47
+ }
48
+ };
49
+ ExecutionContextBase = _ts_decorate([
50
+ injectable()
51
+ ], ExecutionContextBase);
52
+
53
+ // src/app/pipeline/mango-request-base.ts
54
+ import { injectable as injectable2 } from "inversify";
55
+ function _ts_decorate2(decorators, target, key, desc) {
56
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
57
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
58
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
59
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
60
+ }
61
+ __name(_ts_decorate2, "_ts_decorate");
62
+ var MangoRequestBase = class {
63
+ static {
64
+ __name(this, "MangoRequestBase");
65
+ }
66
+ $body;
67
+ $player;
68
+ get body() {
69
+ return this.$body;
70
+ }
71
+ get player() {
72
+ return this.$player;
73
+ }
74
+ };
75
+ MangoRequestBase = _ts_decorate2([
76
+ injectable2()
77
+ ], MangoRequestBase);
78
+
79
+ // src/app/pipeline/mango-response-base.ts
80
+ import { inject, injectable as injectable3 } from "inversify";
81
+ function _ts_decorate3(decorators, target, key, desc) {
82
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
83
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
84
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
85
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
86
+ }
87
+ __name(_ts_decorate3, "_ts_decorate");
88
+ function _ts_metadata(k, v) {
89
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
90
+ }
91
+ __name(_ts_metadata, "_ts_metadata");
92
+ var MangoResponseBase = class {
93
+ static {
94
+ __name(this, "MangoResponseBase");
95
+ }
96
+ $loggerService;
97
+ $sendListeners = /* @__PURE__ */ new Set();
98
+ $errorListeners = /* @__PURE__ */ new Set();
99
+ $isSent = false;
100
+ send(data) {
101
+ if (this.$isSent) {
102
+ this.$loggerService.error("An error occurred while sending the RPC response.");
103
+ throw new Error(ErrorMessage.RPCResponseAlreadySent);
104
+ }
105
+ this.$sendListeners.forEach((listener) => listener(data));
106
+ this.$isSent = true;
107
+ }
108
+ error(message, details) {
109
+ if (this.$isSent) {
110
+ this.$loggerService.error("An error occurred while sending the RPC response.");
111
+ throw new Error(ErrorMessage.RPCResponseAlreadySent);
112
+ }
113
+ this.$errorListeners.forEach((listener) => listener({
114
+ message,
115
+ details
116
+ }));
117
+ this.$isSent = true;
118
+ }
119
+ $onSend(listener) {
120
+ this.$sendListeners.add(listener);
121
+ }
122
+ $onError(listener) {
123
+ this.$errorListeners.add(listener);
124
+ }
125
+ };
126
+ _ts_decorate3([
127
+ inject(LOGGER_SERVICE),
128
+ _ts_metadata("design:type", typeof LoggerService === "undefined" ? Object : LoggerService)
129
+ ], MangoResponseBase.prototype, "$loggerService", void 0);
130
+ MangoResponseBase = _ts_decorate3([
131
+ injectable3()
132
+ ], MangoResponseBase);
133
+
134
+ export {
135
+ ExecutionContextBase,
136
+ MangoRequestBase,
137
+ MangoResponseBase
138
+ };
139
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2FwcC9waXBlbGluZS9leGVjdXRpb24tY29udGV4dC1iYXNlLnRzIiwgIi4uL3NyYy9hcHAvcGlwZWxpbmUvbWFuZ28tcmVxdWVzdC1iYXNlLnRzIiwgIi4uL3NyYy9hcHAvcGlwZWxpbmUvbWFuZ28tcmVzcG9uc2UtYmFzZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gJ2ludmVyc2lmeSc7XG5pbXBvcnQgdHlwZSB7IE5ld2FibGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEV4ZWN1dGlvbkNvbnRleHRUeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHR5cGUgeyBFeGVjdXRpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgdHlwZSB7IE1hbmdvUmVxdWVzdEJhc2UgfSBmcm9tICcuL21hbmdvLXJlcXVlc3QtYmFzZSc7XG5pbXBvcnQgdHlwZSB7IE1hbmdvUmVzcG9uc2VCYXNlIH0gZnJvbSAnLi9tYW5nby1yZXNwb25zZS1iYXNlJztcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV4ZWN1dGlvbkNvbnRleHRCYXNlPFxuICAgIFRSZXF1ZXN0IGV4dGVuZHMgTWFuZ29SZXF1ZXN0QmFzZSA9IE1hbmdvUmVxdWVzdEJhc2UsXG4gICAgVFJlc3BvbnNlIGV4dGVuZHMgTWFuZ29SZXNwb25zZUJhc2UgPSBNYW5nb1Jlc3BvbnNlQmFzZSxcbj4gaW1wbGVtZW50cyBFeGVjdXRpb25Db250ZXh0PFRSZXF1ZXN0LCBUUmVzcG9uc2U+XG57XG4gICAgcHVibGljICR0eXBlOiBFeGVjdXRpb25Db250ZXh0VHlwZTtcbiAgICBwdWJsaWMgJGNsYXNzUmVmOiBOZXdhYmxlO1xuICAgIHB1YmxpYyAkaGFuZGxlcjogRnVuY3Rpb247XG4gICAgcHVibGljICRyZXF1ZXN0OiBUUmVxdWVzdDtcbiAgICBwdWJsaWMgJHJlc3BvbnNlPzogVFJlc3BvbnNlO1xuICAgIHB1YmxpYyAkbmFtZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGdldCB0eXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4kdHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNsYXNzUmVmKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4kY2xhc3NSZWY7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoYW5kbGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4kaGFuZGxlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJlcXVlc3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiRyZXF1ZXN0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVzcG9uc2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiRyZXNwb25zZSE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBuYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4kbmFtZTtcbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gJ2ludmVyc2lmeSc7XG5pbXBvcnQgdHlwZSB7IE1hbmdvUmVxdWVzdCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFuZ29SZXF1ZXN0QmFzZTxURGF0YSA9IHVua25vd24+IGltcGxlbWVudHMgTWFuZ29SZXF1ZXN0IHtcbiAgICBwdWJsaWMgJGJvZHk6IFREYXRhO1xuICAgIHB1YmxpYyAkcGxheWVyPzogUGxheWVyTXA7XG5cbiAgICBwdWJsaWMgZ2V0IGJvZHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiRib2R5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGxheWVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4kcGxheWVyO1xuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBpbmplY3QsIGluamVjdGFibGUgfSBmcm9tICdpbnZlcnNpZnknO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXJTZXJ2aWNlLCBSUENFcnJvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHR5cGUgeyBNYW5nb1Jlc3BvbnNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBMT0dHRVJfU0VSVklDRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYW5nb1Jlc3BvbnNlQmFzZSBpbXBsZW1lbnRzIE1hbmdvUmVzcG9uc2Uge1xuICAgIEBpbmplY3QoTE9HR0VSX1NFUlZJQ0UpIHByaXZhdGUgcmVhZG9ubHkgJGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2U7XG4gICAgcHVibGljICRzZW5kTGlzdGVuZXJzOiBTZXQ8KGRhdGE6IHVua25vd24pID0+IHZvaWQ+ID0gbmV3IFNldCgpO1xuICAgIHB1YmxpYyAkZXJyb3JMaXN0ZW5lcnM6IFNldDwoZXJyb3I6IFJQQ0Vycm9yKSA9PiB2b2lkPiA9IG5ldyBTZXQoKTtcbiAgICBwdWJsaWMgJGlzU2VudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIHNlbmQ8VERhdGEgPSB1bmtub3duPihkYXRhPzogVERhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuJGlzU2VudCkge1xuICAgICAgICAgICAgdGhpcy4kbG9nZ2VyU2VydmljZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgc2VuZGluZyB0aGUgUlBDIHJlc3BvbnNlLicpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEVycm9yTWVzc2FnZS5SUENSZXNwb25zZUFscmVhZHlTZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuJHNlbmRMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IGxpc3RlbmVyKGRhdGEpKTtcbiAgICAgICAgdGhpcy4kaXNTZW50ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXJyb3I8VERldGFpbHMgPSB1bmtub3duPihtZXNzYWdlOiBzdHJpbmcsIGRldGFpbHM/OiBURGV0YWlscykge1xuICAgICAgICBpZiAodGhpcy4kaXNTZW50KSB7XG4gICAgICAgICAgICB0aGlzLiRsb2dnZXJTZXJ2aWNlLmVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBzZW5kaW5nIHRoZSBSUEMgcmVzcG9uc2UuJyk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRXJyb3JNZXNzYWdlLlJQQ1Jlc3BvbnNlQWxyZWFkeVNlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuJGVycm9yTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiBsaXN0ZW5lcih7IG1lc3NhZ2UsIGRldGFpbHMgfSkpO1xuICAgICAgICB0aGlzLiRpc1NlbnQgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyAkb25TZW5kKGxpc3RlbmVyOiAoZGF0YTogdW5rbm93bikgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLiRzZW5kTGlzdGVuZXJzLmFkZChsaXN0ZW5lcik7XG4gICAgfVxuXG4gICAgcHVibGljICRvbkVycm9yKGxpc3RlbmVyOiAoZXJyb3I6IFJQQ0Vycm9yKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMuJGVycm9yTGlzdGVuZXJzLmFkZChsaXN0ZW5lcik7XG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7QUFBQSxTQUFTQSxrQkFBa0I7Ozs7Ozs7O0FBUXBCLElBQU1DLHVCQUFOLE1BQU1BO1NBQUFBOzs7RUFLRkM7RUFDQUM7RUFDQUM7RUFDQUM7RUFDQUM7RUFDQUM7RUFFUCxJQUFXQyxPQUFPO0FBQ2QsV0FBTyxLQUFLTjtFQUNoQjtFQUVBLElBQVdPLFdBQVc7QUFDbEIsV0FBTyxLQUFLTjtFQUNoQjtFQUVBLElBQVdPLFVBQVU7QUFDakIsV0FBTyxLQUFLTjtFQUNoQjtFQUVBLElBQVdPLFVBQVU7QUFDakIsV0FBTyxLQUFLTjtFQUNoQjtFQUVBLElBQVdPLFdBQVc7QUFDbEIsV0FBTyxLQUFLTjtFQUNoQjtFQUVBLElBQVdPLE9BQU87QUFDZCxXQUFPLEtBQUtOO0VBQ2hCO0FBQ0o7Ozs7OztBQzNDQSxTQUFTTyxjQUFBQSxtQkFBa0I7Ozs7Ozs7O0FBSXBCLElBQU1DLG1CQUFOLE1BQU1BO1NBQUFBOzs7RUFDRkM7RUFDQUM7RUFFUCxJQUFXQyxPQUFPO0FBQ2QsV0FBTyxLQUFLRjtFQUNoQjtFQUVBLElBQVdHLFNBQVM7QUFDaEIsV0FBTyxLQUFLRjtFQUNoQjtBQUNKOzs7Ozs7QUNmQSxTQUFTRyxRQUFRQyxjQUFBQSxtQkFBa0I7Ozs7Ozs7Ozs7OztBQU81QixJQUFNQyxvQkFBTixNQUFNQTtTQUFBQTs7O0VBQ2dDQztFQUNsQ0MsaUJBQStDLG9CQUFJQyxJQUFBQTtFQUNuREMsa0JBQWtELG9CQUFJRCxJQUFBQTtFQUN0REUsVUFBbUI7RUFFbkJDLEtBQXNCQyxNQUFjO0FBQ3ZDLFFBQUksS0FBS0YsU0FBUztBQUNkLFdBQUtKLGVBQWVPLE1BQU0sbURBQUE7QUFDMUIsWUFBTSxJQUFJQyxNQUFNQyxhQUFhQyxzQkFBc0I7SUFDdkQ7QUFFQSxTQUFLVCxlQUFlVSxRQUFRLENBQUNDLGFBQWFBLFNBQVNOLElBQUFBLENBQUFBO0FBQ25ELFNBQUtGLFVBQVU7RUFDbkI7RUFFT0csTUFBMEJNLFNBQWlCQyxTQUFvQjtBQUNsRSxRQUFJLEtBQUtWLFNBQVM7QUFDZCxXQUFLSixlQUFlTyxNQUFNLG1EQUFBO0FBQzFCLFlBQU0sSUFBSUMsTUFBTUMsYUFBYUMsc0JBQXNCO0lBQ3ZEO0FBQ0EsU0FBS1AsZ0JBQWdCUSxRQUFRLENBQUNDLGFBQWFBLFNBQVM7TUFBRUM7TUFBU0M7SUFBUSxDQUFBLENBQUE7QUFDdkUsU0FBS1YsVUFBVTtFQUNuQjtFQUVPVyxRQUFRSCxVQUFtQztBQUM5QyxTQUFLWCxlQUFlZSxJQUFJSixRQUFBQTtFQUM1QjtFQUVPSyxTQUFTTCxVQUFxQztBQUNqRCxTQUFLVCxnQkFBZ0JhLElBQUlKLFFBQUFBO0VBQzdCO0FBQ0o7Ozs7Ozs7OyIsCiAgIm5hbWVzIjogWyJpbmplY3RhYmxlIiwgIkV4ZWN1dGlvbkNvbnRleHRCYXNlIiwgIiR0eXBlIiwgIiRjbGFzc1JlZiIsICIkaGFuZGxlciIsICIkcmVxdWVzdCIsICIkcmVzcG9uc2UiLCAiJG5hbWUiLCAidHlwZSIsICJjbGFzc1JlZiIsICJoYW5kbGVyIiwgInJlcXVlc3QiLCAicmVzcG9uc2UiLCAibmFtZSIsICJpbmplY3RhYmxlIiwgIk1hbmdvUmVxdWVzdEJhc2UiLCAiJGJvZHkiLCAiJHBsYXllciIsICJib2R5IiwgInBsYXllciIsICJpbmplY3QiLCAiaW5qZWN0YWJsZSIsICJNYW5nb1Jlc3BvbnNlQmFzZSIsICIkbG9nZ2VyU2VydmljZSIsICIkc2VuZExpc3RlbmVycyIsICJTZXQiLCAiJGVycm9yTGlzdGVuZXJzIiwgIiRpc1NlbnQiLCAic2VuZCIsICJkYXRhIiwgImVycm9yIiwgIkVycm9yIiwgIkVycm9yTWVzc2FnZSIsICJSUENSZXNwb25zZUFscmVhZHlTZW50IiwgImZvckVhY2giLCAibGlzdGVuZXIiLCAibWVzc2FnZSIsICJkZXRhaWxzIiwgIiRvblNlbmQiLCAiYWRkIiwgIiRvbkVycm9yIl0KfQo=