@nymphjs/pubsub 1.0.0-alpha.3 → 1.0.0-alpha.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,140 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.0.0-alpha.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2022-01-08)
7
+
8
+ **Note:** Version bump only for package @nymphjs/pubsub
9
+
10
+ # [1.0.0-alpha.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2022-01-08)
11
+
12
+ **Note:** Version bump only for package @nymphjs/pubsub
13
+
14
+ # [1.0.0-alpha.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2022-01-08)
15
+
16
+ **Note:** Version bump only for package @nymphjs/pubsub
17
+
18
+ # [1.0.0-alpha.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2022-01-07)
19
+
20
+ **Note:** Version bump only for package @nymphjs/pubsub
21
+
22
+ # [1.0.0-alpha.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2022-01-07)
23
+
24
+ **Note:** Version bump only for package @nymphjs/pubsub
25
+
26
+ # [1.0.0-alpha.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2022-01-07)
27
+
28
+ **Note:** Version bump only for package @nymphjs/pubsub
29
+
30
+ # [1.0.0-alpha.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2022-01-05)
31
+
32
+ ### Features
33
+
34
+ - update smui to latest versions ([7ed7bd3](https://github.com/sciactive/nymphjs/commit/7ed7bd34d01a155c7001a2671de25ef2f3363682))
35
+
36
+ # [1.0.0-alpha.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2021-12-30)
37
+
38
+ **Note:** Version bump only for package @nymphjs/pubsub
39
+
40
+ # [1.0.0-alpha.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2021-12-30)
41
+
42
+ **Note:** Version bump only for package @nymphjs/pubsub
43
+
44
+ # [1.0.0-alpha.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2021-12-30)
45
+
46
+ **Note:** Version bump only for package @nymphjs/pubsub
47
+
48
+ # [1.0.0-alpha.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2021-12-30)
49
+
50
+ **Note:** Version bump only for package @nymphjs/pubsub
51
+
52
+ # [1.0.0-alpha.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2021-12-14)
53
+
54
+ ### Features
55
+
56
+ - update smui to latest versions ([912873b](https://github.com/sciactive/nymphjs/commit/912873b863d1ae5d51c359a3c0558bff38ce85cd))
57
+
58
+ # [1.0.0-alpha.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2021-11-29)
59
+
60
+ **Note:** Version bump only for package @nymphjs/pubsub
61
+
62
+ # [1.0.0-alpha.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2021-11-24)
63
+
64
+ **Note:** Version bump only for package @nymphjs/pubsub
65
+
66
+ # [1.0.0-alpha.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2021-11-18)
67
+
68
+ ### Features
69
+
70
+ - update smui and other packages to latest versions ([2465340](https://github.com/sciactive/nymphjs/commit/24653400d887bc04c41c3c4ee0c73ce2f2289e0d))
71
+
72
+ # [1.0.0-alpha.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2021-11-09)
73
+
74
+ **Note:** Version bump only for package @nymphjs/pubsub
75
+
76
+ # [1.0.0-alpha.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2021-10-14)
77
+
78
+ **Note:** Version bump only for package @nymphjs/pubsub
79
+
80
+ # [1.0.0-alpha.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2021-10-14)
81
+
82
+ ### Bug Fixes
83
+
84
+ - don't ignore built files in npm packages ([7d688db](https://github.com/sciactive/nymphjs/commit/7d688dbec362f1f71fb451a1d0dbcaecc15d99fc))
85
+
86
+ # [1.0.0-alpha.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2021-10-14)
87
+
88
+ **Note:** Version bump only for package @nymphjs/pubsub
89
+
90
+ # [1.0.0-alpha.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2021-10-14)
91
+
92
+ **Note:** Version bump only for package @nymphjs/pubsub
93
+
94
+ # [1.0.0-alpha.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2021-10-14)
95
+
96
+ **Note:** Version bump only for package @nymphjs/pubsub
97
+
98
+ # [1.0.0-alpha.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2021-10-13)
99
+
100
+ ### Features
101
+
102
+ - add tag syntax to query parser ([6898200](https://github.com/sciactive/nymphjs/commit/689820055ec218d0998a0a2bb9496cebc1395247))
103
+
104
+ # [1.0.0-alpha.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2021-10-13)
105
+
106
+ ### Bug Fixes
107
+
108
+ - pubsub token extraction didn't wait for promise ([abdc57e](https://github.com/sciactive/nymphjs/commit/abdc57ecef3776c4944fab41195b2ce187a97790))
109
+
110
+ # [1.0.0-alpha.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2021-10-12)
111
+
112
+ **Note:** Version bump only for package @nymphjs/pubsub
113
+
114
+ # [1.0.0-alpha.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2021-10-12)
115
+
116
+ **Note:** Version bump only for package @nymphjs/pubsub
117
+
118
+ # [1.0.0-alpha.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2021-10-12)
119
+
120
+ **Note:** Version bump only for package @nymphjs/pubsub
121
+
122
+ # [1.0.0-alpha.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2021-10-05)
123
+
124
+ **Note:** Version bump only for package @nymphjs/pubsub
125
+
126
+ # [1.0.0-alpha.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2021-10-05)
127
+
128
+ **Note:** Version bump only for package @nymphjs/pubsub
129
+
130
+ # [1.0.0-alpha.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2021-09-30)
131
+
132
+ **Note:** Version bump only for package @nymphjs/pubsub
133
+
134
+ # [1.0.0-alpha.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2021-09-27)
135
+
136
+ ### Features
137
+
138
+ - use new instances of nymph for server and pubsub requests ([0c18fab](https://github.com/sciactive/nymphjs/commit/0c18faba2b55fe82c16806d221fc54d2cd42c992))
139
+
6
140
  # [1.0.0-alpha.3](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2021-09-22)
7
141
 
8
142
  ### Features
package/README.md CHANGED
@@ -12,7 +12,7 @@ npm install --save @nymphjs/pubsub
12
12
 
13
13
  ## Usage
14
14
 
15
- A Nymph installation will not publish changes unless you initialize PubSub publisher before Nymph is used! This step is absolutely reuquired to have a working PubSub system.
15
+ Any Nymph instance will only publish changes if you initialize PubSub publisher before Nymph is used! This step is **absolutely required** to have a working PubSub system.
16
16
 
17
17
  ```ts
18
18
  import SQLite3Driver from '@nymphjs/driver-sqlite3';
package/dist/PubSub.d.ts CHANGED
@@ -1,11 +1,10 @@
1
- import { Nymph, TilmeldInterface } from '@nymphjs/nymph';
1
+ import { Nymph } from '@nymphjs/nymph';
2
2
  import { request, server as WebSocketServer, connection, Message } from 'websocket';
3
3
  import { Config } from './conf';
4
4
  export default class PubSub {
5
5
  nymph: Nymph;
6
6
  config: Config;
7
7
  server: WebSocketServer;
8
- tilmeld?: TilmeldInterface;
9
8
  private sessions;
10
9
  protected querySubs: {
11
10
  [etype: string]: {
@@ -23,7 +22,7 @@ export default class PubSub {
23
22
  };
24
23
  static initPublisher(config: Partial<Config>, nymph: Nymph): void;
25
24
  private static publish;
26
- constructor(config: Partial<Config>, nymph: Nymph, server: WebSocketServer, tilmeld?: TilmeldInterface);
25
+ constructor(config: Partial<Config>, nymph: Nymph, server: WebSocketServer);
27
26
  close(): void;
28
27
  handleRequest(request: request): void;
29
28
  onMessage(from: connection, msg: Message): Promise<void>;
package/dist/PubSub.js CHANGED
@@ -13,22 +13,21 @@ const websocket_1 = require("websocket");
13
13
  const lodash_1 = require("lodash");
14
14
  const conf_1 = require("./conf");
15
15
  class PubSub {
16
- constructor(config, nymph, server, tilmeld) {
16
+ constructor(config, nymph, server) {
17
17
  this.sessions = new Map();
18
18
  this.querySubs = {};
19
19
  this.uidSubs = {};
20
20
  this.nymph = nymph;
21
21
  this.config = Object.assign(Object.assign({}, conf_1.ConfigDefaults), config);
22
22
  this.server = server;
23
- this.tilmeld = tilmeld;
24
23
  this.server.on('request', this.handleRequest.bind(this));
25
24
  }
26
25
  static initPublisher(config, nymph) {
27
26
  const configWithDefaults = Object.assign(Object.assign({}, conf_1.ConfigDefaults), config);
28
- nymph.on('beforeSaveEntity', (entity) => {
27
+ nymph.on('beforeSaveEntity', (nymph, entity) => {
29
28
  const guid = entity.guid;
30
29
  const etype = entity.constructor.ETYPE;
31
- const off = nymph.on('afterSaveEntity', (result) => __awaiter(this, void 0, void 0, function* () {
30
+ const off = nymph.on('afterSaveEntity', (_nymph, result) => __awaiter(this, void 0, void 0, function* () {
32
31
  off();
33
32
  if (!(yield result)) {
34
33
  return;
@@ -42,10 +41,10 @@ class PubSub {
42
41
  }), configWithDefaults);
43
42
  }));
44
43
  });
45
- nymph.on('beforeDeleteEntity', (entity) => {
44
+ nymph.on('beforeDeleteEntity', (nymph, entity) => {
46
45
  const guid = entity.guid;
47
46
  const etype = entity.constructor.ETYPE;
48
- const off = nymph.on('afterDeleteEntity', (result) => __awaiter(this, void 0, void 0, function* () {
47
+ const off = nymph.on('afterDeleteEntity', (_nymph, result) => __awaiter(this, void 0, void 0, function* () {
49
48
  off();
50
49
  if (!(yield result)) {
51
50
  return;
@@ -58,10 +57,10 @@ class PubSub {
58
57
  }), configWithDefaults);
59
58
  }));
60
59
  });
61
- nymph.on('beforeDeleteEntityByID', (guid, className) => {
60
+ nymph.on('beforeDeleteEntityByID', (nymph, guid, className) => {
62
61
  try {
63
62
  const etype = nymph.getEntityClass(className !== null && className !== void 0 ? className : 'Entity').ETYPE;
64
- const off = nymph.on('afterDeleteEntityByID', (result) => __awaiter(this, void 0, void 0, function* () {
63
+ const off = nymph.on('afterDeleteEntityByID', (_nymph, result) => __awaiter(this, void 0, void 0, function* () {
65
64
  off();
66
65
  if (!(yield result)) {
67
66
  return;
@@ -78,8 +77,8 @@ class PubSub {
78
77
  return;
79
78
  }
80
79
  });
81
- nymph.on('beforeNewUID', (name) => {
82
- const off = nymph.on('afterNewUID', (result) => __awaiter(this, void 0, void 0, function* () {
80
+ nymph.on('beforeNewUID', (nymph, name) => {
81
+ const off = nymph.on('afterNewUID', (_nymph, result) => __awaiter(this, void 0, void 0, function* () {
83
82
  off();
84
83
  const value = yield result;
85
84
  if (value == null) {
@@ -93,8 +92,8 @@ class PubSub {
93
92
  }), configWithDefaults);
94
93
  }));
95
94
  });
96
- nymph.on('beforeSetUID', (name, value) => {
97
- const off = nymph.on('afterSetUID', (result) => __awaiter(this, void 0, void 0, function* () {
95
+ nymph.on('beforeSetUID', (nymph, name, value) => {
96
+ const off = nymph.on('afterSetUID', (_nymph, result) => __awaiter(this, void 0, void 0, function* () {
98
97
  off();
99
98
  if (!(yield result)) {
100
99
  return;
@@ -107,8 +106,8 @@ class PubSub {
107
106
  }), configWithDefaults);
108
107
  }));
109
108
  });
110
- nymph.on('beforeRenameUID', (oldName, newName) => {
111
- const off = nymph.on('afterRenameUID', (result) => __awaiter(this, void 0, void 0, function* () {
109
+ nymph.on('beforeRenameUID', (nymph, oldName, newName) => {
110
+ const off = nymph.on('afterRenameUID', (_nymph, result) => __awaiter(this, void 0, void 0, function* () {
112
111
  off();
113
112
  if (!(yield result)) {
114
113
  return;
@@ -121,8 +120,8 @@ class PubSub {
121
120
  }), configWithDefaults);
122
121
  }));
123
122
  });
124
- nymph.on('beforeDeleteUID', (name) => {
125
- const off = nymph.on('afterDeleteUID', (result) => __awaiter(this, void 0, void 0, function* () {
123
+ nymph.on('beforeDeleteUID', (nymph, name) => {
124
+ const off = nymph.on('afterDeleteUID', (_nymph, result) => __awaiter(this, void 0, void 0, function* () {
126
125
  off();
127
126
  if (!(yield result)) {
128
127
  return;
@@ -318,21 +317,22 @@ class PubSub {
318
317
  if (this.sessions.has(from)) {
319
318
  token = this.sessions.get(from);
320
319
  }
321
- if (this.tilmeld != null && token != null) {
322
- const user = this.tilmeld.extractToken(token);
320
+ const nymph = this.nymph.clone();
321
+ if (nymph.tilmeld != null && token != null) {
322
+ const user = yield nymph.tilmeld.extractToken(token);
323
323
  if (user) {
324
- this.tilmeld.fillSession(user);
324
+ nymph.tilmeld.fillSession(user);
325
325
  }
326
326
  }
327
327
  this.querySubs[etype][serialArgs].set(from, {
328
- current: yield this.nymph.getEntities(options, ...selectors),
328
+ current: yield nymph.getEntities(options, ...selectors),
329
329
  query: data.query,
330
330
  count: !!data.count,
331
331
  });
332
- if (this.tilmeld != null && token != null) {
333
- this.tilmeld.clearSession();
332
+ if (nymph.tilmeld != null && token != null) {
333
+ nymph.tilmeld.clearSession();
334
334
  }
335
- this.config.logger('log', new Date().toISOString(), `Client subscribed to a query! ($serialArgs, ${from.remoteAddress})`);
335
+ this.config.logger('log', new Date().toISOString(), `Client subscribed to a query! (${serialArgs}, ${from.remoteAddress})`);
336
336
  if (this.config.broadcastCounts) {
337
337
  const count = this.querySubs[etype][serialArgs].size;
338
338
  for (let key of this.querySubs[etype][serialArgs].keys()) {
@@ -357,7 +357,7 @@ class PubSub {
357
357
  return;
358
358
  }
359
359
  this.querySubs[etype][serialArgs].delete(from);
360
- this.config.logger('log', new Date().toISOString(), `Client unsubscribed from a query! ($serialArgs, ${from.remoteAddress})`);
360
+ this.config.logger('log', new Date().toISOString(), `Client unsubscribed from a query! (${serialArgs}, ${from.remoteAddress})`);
361
361
  const count = this.querySubs[etype][serialArgs].size;
362
362
  if (count === 0) {
363
363
  delete this.querySubs[etype][serialArgs];
@@ -468,19 +468,20 @@ class PubSub {
468
468
  const updateClient = (curClient, curData) => __awaiter(this, void 0, void 0, function* () {
469
469
  let current;
470
470
  let token;
471
+ const nymph = this.nymph.clone();
471
472
  try {
472
473
  const [clientOptions, ...selectors] = JSON.parse(curQuery);
473
- const options = Object.assign(Object.assign({}, clientOptions), { class: this.nymph.getEntityClass(clientOptions.class), return: 'entity', source: 'client' });
474
+ const options = Object.assign(Object.assign({}, clientOptions), { class: nymph.getEntityClass(clientOptions.class), return: 'entity', source: 'client' });
474
475
  if (this.sessions.has(curClient)) {
475
476
  token = this.sessions.get(curClient);
476
477
  }
477
- if (this.tilmeld != null && token != null) {
478
- const user = this.tilmeld.extractToken(token);
478
+ if (nymph.tilmeld != null && token != null) {
479
+ const user = yield nymph.tilmeld.extractToken(token);
479
480
  if (user) {
480
- this.tilmeld.fillSession(user);
481
+ nymph.tilmeld.fillSession(user);
481
482
  }
482
483
  }
483
- current = yield this.nymph.getEntities(options, ...selectors);
484
+ current = yield nymph.getEntities(options, ...selectors);
484
485
  }
485
486
  catch (e) {
486
487
  this.config.logger('error', new Date().toISOString(), `Error updating client! (${e === null || e === void 0 ? void 0 : e.message}, ${curClient.remoteAddress})`);
@@ -522,27 +523,31 @@ class PubSub {
522
523
  }));
523
524
  }
524
525
  curData.current = currentGuids;
525
- if (this.tilmeld != null && token != null) {
526
- this.tilmeld.clearSession();
526
+ if (nymph.tilmeld != null && token != null) {
527
+ nymph.tilmeld.clearSession();
527
528
  }
528
529
  });
529
530
  if (data.event === 'delete' || data.event === 'update') {
530
- for (const curClient of curClients.keys()) {
531
- const curData = curClients.get(curClient);
532
- if (!curData) {
533
- continue;
534
- }
535
- if (curData.current.indexOf(data.guid) !== -1) {
536
- yield updateClient(curClient, curData);
537
- updatedClients.add(curClient);
531
+ try {
532
+ for (const curClient of curClients.keys()) {
533
+ const curData = curClients.get(curClient);
534
+ if (!curData) {
535
+ continue;
536
+ }
537
+ if (curData.current.indexOf(data.guid) !== -1) {
538
+ yield updateClient(curClient, curData);
539
+ updatedClients.add(curClient);
540
+ }
538
541
  }
539
542
  }
543
+ catch (e) {
544
+ this.config.logger('error', new Date().toISOString(), `Error checking for client updates! (${e === null || e === void 0 ? void 0 : e.message})`);
545
+ }
540
546
  }
541
547
  if ((data.event === 'create' || data.event === 'update') && data.entity) {
542
548
  try {
543
549
  let [clientOptions, ...selectors] = JSON.parse(curQuery);
544
550
  const EntityClass = this.nymph.getEntityClass(clientOptions.class);
545
- const options = Object.assign(Object.assign({}, clientOptions), { class: EntityClass, return: 'entity', source: 'client' });
546
551
  const entityData = data.entity.data;
547
552
  entityData.cdate = data.entity.cdate;
548
553
  entityData.mdate = data.entity.mdate;
@@ -1 +1 @@
1
- {"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":";;;;;;;;;;;AASA,yCAMmB;AACnB,mCAAoC;AAEpC,iCAA4D;AAsB5D,MAAqB,MAAM;IAgPzB,YACE,MAAuB,EACvB,KAAY,EACZ,MAAuB,EACvB,OAA0B;QA/NpB,aAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;QACvC,cAAS,GAWf,EAAE,CAAC;QACG,YAAO,GAEb,EAAE,CAAC;QAkNL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,mCAAQ,qBAAQ,GAAK,MAAM,CAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAtNM,MAAM,CAAC,aAAa,CAAC,MAAuB,EAAE,KAAY;QAC/D,MAAM,kBAAkB,mCAAgB,qBAAQ,GAAK,MAAM,CAAE,CAAC;QAE9D,KAAK,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,MAAuB,EAAE,EAAE;YACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,MAAM,KAAK,GAAI,MAAM,CAAC,WAAiC,CAAC,KAAK,CAAC;YAE9D,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,iBAAiB,EACjB,CAAO,MAAwB,EAAE,EAAE;gBACjC,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;oBACzC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;oBACvB,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAuB,EAAE,EAAE;YACzD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,MAAM,KAAK,GAAI,MAAM,CAAC,WAAiC,CAAC,KAAK,CAAC;YAE9D,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,mBAAmB,EACnB,CAAO,MAAwB,EAAE,EAAE;gBACjC,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,IAAY,EAAE,SAAkB,EAAE,EAAE;YACtE,IAAI;gBACF,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,QAAQ,CAAC,CAAC,KAAK,CAAC;gBAEhE,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,uBAAuB,EACvB,CAAO,MAAwB,EAAE,EAAE;oBACjC,GAAG,EAAE,CAAC;oBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;wBACnB,OAAO;qBACR;oBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;wBACb,MAAM,EAAE,SAAS;wBACjB,KAAK,EAAE,QAAQ;wBACf,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;qBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;gBACJ,CAAC,CAAA,CACF,CAAC;aACH;YAAC,OAAO,CAAM,EAAE;gBACf,OAAO;aACR;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,aAAa,EACb,CAAO,MAA8B,EAAE,EAAE;gBACvC,GAAG,EAAE,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;gBAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;YACvD,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,CAAO,MAAwB,EAAE,EAAE;gBACrE,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE;YAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,gBAAgB,EAChB,CAAO,MAAwB,EAAE,EAAE;gBACjC,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,OAAO;iBACjB,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAY,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,gBAAgB,EAChB,CAAO,MAAwB,EAAE,EAAE;gBACjC,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,IAAI;iBACX,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,MAAc;;QACpD,KAAK,IAAI,IAAI,IAAI,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,kBAAe,EAAE,CAAC;YAErC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnC,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,MAAM,CAAC,MAAM,CACX,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,+BAA+B,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CAC5D,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE;gBAClC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/B,IAAI,MAAM,CAAC,MAAM,EAAE;wBACjB,MAAM,CAAC,MAAM,CACX,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,2BAA2B,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CACxD,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,SAAS,EAAE;oBACxB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC7B;gBAED,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC/B;IACH,CAAC;IAqBM,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAEM,aAAa,CAAC,OAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAEhD,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,6BAA6B,CACvE,CAAC;YACF,OAAO;SACR;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,6BAA6B,UAAU,CAAC,aAAa,IAAI,CAC1D,CAAC;QAEF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;YAClD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAKY,SAAS,CAAC,IAAgB,EAAE,GAAY;;YACnD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAChE;YACD,MAAM,IAAI,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnD,IACE,CAAC,IAAI,CAAC,MAAM;gBACZ,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,OAAO,CAC7D,IAAI,CAAC,MAAM,CACZ,KAAK,CAAC,CAAC,EACR;gBACA,OAAO;aACR;YACD,QAAQ,IAAI,CAAC,MAAM,EAAE;gBACnB,KAAK,cAAc;oBACjB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,WAAW,CAAC;gBACjB,KAAK,aAAa;oBAChB,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,SAAS;oBACZ,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,MAAM;aACT;QACH,CAAC;KAAA;IAKM,OAAO,CAAC,IAAgB,EAAE,WAAmB;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uBAAuB,WAAW,KAAK,IAAI,CAAC,aAAa,GAAG,CAC7D,CAAC;QAEF,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClD,KAAK,IAAI,QAAQ,IAAI,gBAAgB,EAAE;gBACrC,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACxB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAExB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;oBAE9B,IAAI,KAAK,KAAK,CAAC,EAAE;wBACf,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBAClC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;4BACtD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;yBACjC;qBACF;yBAAM;wBACL,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;4BAE/B,KAAK,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;gCACjC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCACpC,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;oCAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;wCACb,KAAK,EAAE,OAAO,CAAC,KAAK;wCACpB,KAAK;qCACN,CAAC,CACH,CAAC;iCACH;6BACF;yBACF;qBACF;oBACD,IAAI,EAAE,CAAC;iBACR;aACF;SACF;QAED,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACxB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAExB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;gBAE9B,IAAI,KAAK,KAAK,CAAC,EAAE;oBACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iBAC7B;qBAAM;oBACL,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;wBAE/B,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;4BACnC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BACpC,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;gCAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;oCACb,GAAG,EAAE,MAAM;oCACX,KAAK;iCACN,CAAC,CACH,CAAC;6BACH;yBACF;qBACF;iBACF;gBACD,IAAI,EAAE,CAAC;aACR;SACF;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC;SACR;QAED,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,8BAA8B,IAAI,KAAK,IAAI,CAAC,aAAa,GAAG,CAC7D,CAAC;SACH;IACH,CAAC;IAEM,OAAO,CAAC,IAAgB,EAAE,CAAQ;QACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,sBAAsB,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,aAAa,GAAG,CAC1D,CAAC;IACJ,CAAC;IAKO,oBAAoB,CAC1B,IAAgB,EAChB,IAA6B;QAG7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC5B;IACH,CAAC;IAKa,kBAAkB,CAC9B,IAAgB,EAChB,IAA0B;;YAE1B,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;gBAGzC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAChD;iBAAM,IACL,KAAK,IAAI,IAAI;gBACb,IAAI,CAAC,GAAG,IAAI,IAAI;gBAChB,OAAO,IAAI,CAAC,GAAG,IAAI,QAAQ,EAC3B;gBAGA,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9C;QACH,CAAC;KAAA;IAKa,uBAAuB,CACnC,IAAgB,EAChB,IAA+B;;YAE/B,IAAI,IAAqC,CAAC;YAC1C,IAAI,WAA8B,CAAC;YACnC,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9B,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACxD;YAAC,OAAO,CAAM,EAAE;gBACf,OAAO;aACR;YACD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;YAC3C,MAAM,OAAO,mCACR,aAAa,KAChB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,GACjB,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAE/B,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;oBAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;iBAC5B;gBACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;iBAC/C;gBACD,IAAI,KAAK,GAAG,IAAI,CAAC;gBACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC3B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACjC;gBACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;oBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC9C,IAAI,IAAI,EAAE;wBAER,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;qBAChC;iBACF;gBACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;oBAC1C,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;oBAC5D,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;iBACpB,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;oBAEzC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;iBAC7B;gBACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,+CAA+C,IAAI,CAAC,aAAa,GAAG,CACrE,CAAC;gBAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;oBACrD,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;wBACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC3D,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;4BAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;gCACb,KAAK,EAAE,OAAO,CAAC,KAAK;gCACpB,KAAK;6BACN,CAAC,CACH,CAAC;yBACH;qBACF;iBACF;aACF;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE;gBAEjC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;oBAC9B,OAAO;iBACR;gBACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC1C,OAAO;iBACR;gBACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAChD,OAAO;iBACR;gBACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,mDAAmD,IAAI,CAAC,aAAa,GAAG,CACzE,CAAC;gBAEF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;gBAErD,IAAI,KAAK,KAAK,CAAC,EAAE;oBAEf,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;wBACnD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;qBAC9B;oBACD,OAAO;iBACR;gBAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAE/B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;wBACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC3D,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;4BAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;gCACb,KAAK,EAAE,OAAO,CAAC,KAAK;gCACpB,KAAK;6BACN,CAAC,CACH,CAAC;yBACH;qBACF;iBACF;aACF;QACH,CAAC;KAAA;IAKa,qBAAqB,CACjC,IAAgB,EAChB,IAA6B;;YAE7B,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAE/B,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;iBACpC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;oBAClC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;iBACpB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gCAAgC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,aAAa,GAAG,CACnE,CAAC;gBAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1C,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;4BAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;gCACb,GAAG,EAAE,IAAI,CAAC,GAAG;gCACb,KAAK;6BACN,CAAC,CACH,CAAC;yBACH;qBACF;iBACF;aACF;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE;gBAEjC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC/B,OAAO;iBACR;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACrC,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,oCAAoC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,aAAa,GAAG,CACvE,CAAC;gBAEF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAE1C,IAAI,KAAK,KAAK,CAAC,EAAE;oBAEf,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9B,OAAO;iBACR;gBAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAE/B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;4BAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;gCACb,GAAG,EAAE,IAAI,CAAC,GAAG;gCACb,KAAK;6BACN,CAAC,CACH,CAAC;yBACH;qBACF;iBACF;aACF;QACH,CAAC;KAAA;IAKa,aAAa,CACzB,IAAgB,EAChB,GAAY,EACZ,IAAwB;;YAExB,IACE,MAAM,IAAI,IAAI;gBACd,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACjC,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ;oBACtB,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;wBACnD,QAAQ,IAAI,IAAI;wBAChB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,EACzB;gBAGA,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAG3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACjB;YAED,IACE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAChD,CAAC,SAAS,IAAI,IAAI;oBAChB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;oBAChC,SAAS,IAAI,IAAI;oBACjB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;gBACtC,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EACzE;gBAGA,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAGxC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACjB;QACH,CAAC;KAAA;IAKa,mBAAmB,CAC/B,IAAgB,EAChB,IAA8B;;;YAE9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gCAAgC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,GAAG,CACnF,CAAC;YAEF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC9B,OAAO;aACR;YAED,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACnD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAc,CAAC;gBAE7C,MAAM,YAAY,GAAG,CACnB,SAAqB,EACrB,OAIC,EACD,EAAE;oBAEF,IAAI,OAA0B,CAAC;oBAC/B,IAAI,KAAyB,CAAC;oBAC9B,IAAI;wBACF,MAAM,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAC3D,MAAM,OAAO,mCACR,aAAa,KAChB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,EACrD,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,GACjB,CAAC;wBACF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;4BAChC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;yBACtC;wBACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;4BACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;4BAC9C,IAAI,IAAI,EAAE;gCAER,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;6BAChC;yBACF;wBACD,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;qBAC/D;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,2BAA2B,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,KAAK,SAAS,CAAC,aAAa,GAAG,CACrE,CAAC;wBACF,OAAO;qBACR;oBAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAC/C,CAAC;oBACF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,IAAI,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAC;oBAChE,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBAC1D,MAAM,KAAK,GAAG,IAAA,mBAAU,EAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;oBAExD,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;wBAExB,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,iCAAiC,SAAS,CAAC,aAAa,GAAG,CAC5D,CAAC;wBACF,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;4BACb,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,OAAO,EAAE,IAAI;yBACd,CAAC,CACH,CAAC;qBACH;oBAED,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;wBACtB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;wBAE/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,mCAAmC,SAAS,CAAC,aAAa,GAAG,CAC9D,CAAC;wBACF,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU,EAAE;4BACrD,MAAM,CAAC,oBAAoB,EAAE,CAAC;yBAC/B;wBACD,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;4BACb,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,KAAK,EAAE,IAAI;4BACX,IAAI,EAAE,MAAM;yBACb,CAAC,CACH,CAAC;qBACH;oBAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;wBACrD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gCAAgC,SAAS,CAAC,aAAa,GAAG,CAC3D,CAAC;wBACF,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU,EAAE;4BACrD,MAAM,CAAC,oBAAoB,EAAE,CAAC;yBAC/B;wBACD,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;4BACb,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,OAAO,EAAE,IAAI,CAAC,IAAI;4BAClB,IAAI,EAAE,MAAM;yBACb,CAAC,CACH,CAAC;qBACH;oBAGD,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;oBAE/B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;wBAEzC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;qBAC7B;gBACH,CAAC,CAAA,CAAC;gBAEF,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAEtD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;wBACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAC1C,IAAI,CAAC,OAAO,EAAE;4BACZ,SAAS;yBACV;wBACD,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;4BAC7C,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;4BACvC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;yBAC/B;qBACF;iBACF;gBAED,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;oBAEvE,IAAI;wBACF,IAAI,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACnE,MAAM,OAAO,mCACR,aAAa,KAChB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,GACjB,CAAC;wBACF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBACpC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wBACrC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wBACrC,MAAM,WAAW,GAAyB,EAAE,CAAC;wBAC7C,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;4BACzC,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAChE,CAAC;yBACH;wBACD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAErE,IACE,WAAW,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK;4BAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CACzB,UAAU,EACV,WAAW,EACX,SAAS,EACT,IAAI,CAAC,IAAI,EACT,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,mCAAI,EAAE,CACxB,EACD;4BAEA,KAAK,IAAI,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;gCACvC,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oCAEjC,SAAS;iCACV;gCAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gCAC1C,IAAI,CAAC,OAAO,EAAE;oCACZ,SAAS;iCACV;gCACD,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;6BACxC;yBACF;qBACF;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uCAAuC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,GAAG,CACrD,CAAC;qBACH;iBACF;aACF;;KACF;IAKa,gBAAgB,CAC5B,IAAgB,EAChB,IAA2B;;;YAE3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,4BACE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,OAAO,EACjE,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,GAAG,CAC1C,CAAC;YAEF,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CACX,CAAC;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC9C,KAAK,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,mCAAI,SAAS,CAAC;aAC9D;YAED,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC3B,SAAS;iBACV;gBACD,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uBAAuB,IAAI,CAAC,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC,aAAa,GAAG,CAC3E,CAAC;oBACF,MAAM,OAAO,GAIT;wBACF,GAAG,EAAE,IAAI;wBACT,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC;oBACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;wBACtB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;qBAC5B;oBACD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC5C;aACF;YAED,IACE,IAAI,CAAC,KAAK,KAAK,WAAW;gBAC1B,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAC5B;gBACA,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gDAAgD,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,aAAa,GAAG,CAC5F,CAAC;oBACF,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;wBACb,GAAG,EAAE,IAAI,CAAC,OAAO;wBACjB,KAAK,EAAE,QAAQ;wBACf,KAAK;qBACN,CAAC,CACH,CAAC;iBACH;aACF;;KACF;IAKO,KAAK,CAAC,OAAgB;QAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,+BAA+B,CAChC,CAAC;YACF,OAAO;SACR;QAED,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,kBAAe,EAAE,CAAC;YAErC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,6BAA6B,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CAC1D,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE;gBAClC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,yBAAyB,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CACtD,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,SAAS,EAAE;oBACxB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACtC;gBAED,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC/B;IACH,CAAC;CACF;AAt/BD,yBAs/BC"}
1
+ {"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":";;;;;;;;;;;AAQA,yCAMmB;AACnB,mCAAoC;AAEpC,iCAA4D;AAsB5D,MAAqB,MAAM;IAoPzB,YACE,MAAuB,EACvB,KAAY,EACZ,MAAuB;QAvOjB,aAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;QACvC,cAAS,GAWf,EAAE,CAAC;QACG,YAAO,GAEb,EAAE,CAAC;QA0NL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,mCAAQ,qBAAQ,GAAK,MAAM,CAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IA7NM,MAAM,CAAC,aAAa,CAAC,MAAuB,EAAE,KAAY;QAC/D,MAAM,kBAAkB,mCAAgB,qBAAQ,GAAK,MAAM,CAAE,CAAC;QAE9D,KAAK,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAY,EAAE,MAAuB,EAAE,EAAE;YACrE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,MAAM,KAAK,GAAI,MAAM,CAAC,WAAiC,CAAC,KAAK,CAAC;YAE9D,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,iBAAiB,EACjB,CAAO,MAAa,EAAE,MAAwB,EAAE,EAAE;gBAChD,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;oBACzC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;oBACvB,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAY,EAAE,MAAuB,EAAE,EAAE;YACvE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,MAAM,KAAK,GAAI,MAAM,CAAC,WAAiC,CAAC,KAAK,CAAC;YAE9D,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,mBAAmB,EACnB,CAAO,MAAa,EAAE,MAAwB,EAAE,EAAE;gBAChD,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CACN,wBAAwB,EACxB,CAAC,KAAY,EAAE,IAAY,EAAE,SAAkB,EAAE,EAAE;YACjD,IAAI;gBACF,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,QAAQ,CAAC,CAAC,KAAK,CAAC;gBAEhE,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,uBAAuB,EACvB,CAAO,MAAa,EAAE,MAAwB,EAAE,EAAE;oBAChD,GAAG,EAAE,CAAC;oBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;wBACnB,OAAO;qBACR;oBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;wBACb,MAAM,EAAE,SAAS;wBACjB,KAAK,EAAE,QAAQ;wBACf,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;qBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;gBACJ,CAAC,CAAA,CACF,CAAC;aACH;YAAC,OAAO,CAAM,EAAE;gBACf,OAAO;aACR;QACH,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAY,EAAE,IAAY,EAAE,EAAE;YACtD,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,aAAa,EACb,CAAO,MAAa,EAAE,MAA8B,EAAE,EAAE;gBACtD,GAAG,EAAE,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;gBAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAY,EAAE,IAAY,EAAE,KAAa,EAAE,EAAE;YACrE,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,aAAa,EACb,CAAO,MAAa,EAAE,MAAwB,EAAE,EAAE;gBAChD,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CACN,iBAAiB,EACjB,CAAC,KAAY,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;YACjD,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,gBAAgB,EAChB,CAAO,MAAa,EAAE,MAAwB,EAAE,EAAE;gBAChD,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,OAAO;iBACjB,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAY,EAAE,IAAY,EAAE,EAAE;YACzD,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,gBAAgB,EAChB,CAAO,MAAa,EAAE,MAAwB,EAAE,EAAE;gBAChD,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,IAAI;iBACX,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CAAA,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,MAAc;;QACpD,KAAK,IAAI,IAAI,IAAI,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,kBAAe,EAAE,CAAC;YAErC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnC,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,MAAM,CAAC,MAAM,CACX,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,+BAA+B,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CAC5D,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE;gBAClC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/B,IAAI,MAAM,CAAC,MAAM,EAAE;wBACjB,MAAM,CAAC,MAAM,CACX,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,2BAA2B,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CACxD,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,SAAS,EAAE;oBACxB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC7B;gBAED,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC/B;IACH,CAAC;IAmBM,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAEM,aAAa,CAAC,OAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAEhD,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,6BAA6B,CACvE,CAAC;YACF,OAAO;SACR;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,6BAA6B,UAAU,CAAC,aAAa,IAAI,CAC1D,CAAC;QAEF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;YAClD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAKY,SAAS,CAAC,IAAgB,EAAE,GAAY;;YACnD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAChE;YACD,MAAM,IAAI,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnD,IACE,CAAC,IAAI,CAAC,MAAM;gBACZ,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,OAAO,CAC7D,IAAI,CAAC,MAAM,CACZ,KAAK,CAAC,CAAC,EACR;gBACA,OAAO;aACR;YACD,QAAQ,IAAI,CAAC,MAAM,EAAE;gBACnB,KAAK,cAAc;oBACjB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,WAAW,CAAC;gBACjB,KAAK,aAAa;oBAChB,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,SAAS;oBACZ,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,MAAM;aACT;QACH,CAAC;KAAA;IAKM,OAAO,CAAC,IAAgB,EAAE,WAAmB;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uBAAuB,WAAW,KAAK,IAAI,CAAC,aAAa,GAAG,CAC7D,CAAC;QAEF,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClD,KAAK,IAAI,QAAQ,IAAI,gBAAgB,EAAE;gBACrC,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACxB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAExB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;oBAE9B,IAAI,KAAK,KAAK,CAAC,EAAE;wBACf,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBAClC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;4BACtD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;yBACjC;qBACF;yBAAM;wBACL,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;4BAE/B,KAAK,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;gCACjC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCACpC,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;oCAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;wCACb,KAAK,EAAE,OAAO,CAAC,KAAK;wCACpB,KAAK;qCACN,CAAC,CACH,CAAC;iCACH;6BACF;yBACF;qBACF;oBACD,IAAI,EAAE,CAAC;iBACR;aACF;SACF;QAED,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACxB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAExB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;gBAE9B,IAAI,KAAK,KAAK,CAAC,EAAE;oBACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iBAC7B;qBAAM;oBACL,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;wBAE/B,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;4BACnC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BACpC,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;gCAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;oCACb,GAAG,EAAE,MAAM;oCACX,KAAK;iCACN,CAAC,CACH,CAAC;6BACH;yBACF;qBACF;iBACF;gBACD,IAAI,EAAE,CAAC;aACR;SACF;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC;SACR;QAED,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,8BAA8B,IAAI,KAAK,IAAI,CAAC,aAAa,GAAG,CAC7D,CAAC;SACH;IACH,CAAC;IAEM,OAAO,CAAC,IAAgB,EAAE,CAAQ;QACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,sBAAsB,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,aAAa,GAAG,CAC1D,CAAC;IACJ,CAAC;IAKO,oBAAoB,CAC1B,IAAgB,EAChB,IAA6B;QAG7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC5B;IACH,CAAC;IAKa,kBAAkB,CAC9B,IAAgB,EAChB,IAA0B;;YAE1B,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;gBAGzC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAChD;iBAAM,IACL,KAAK,IAAI,IAAI;gBACb,IAAI,CAAC,GAAG,IAAI,IAAI;gBAChB,OAAO,IAAI,CAAC,GAAG,IAAI,QAAQ,EAC3B;gBAGA,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9C;QACH,CAAC;KAAA;IAKa,uBAAuB,CACnC,IAAgB,EAChB,IAA+B;;YAE/B,IAAI,IAAqC,CAAC;YAC1C,IAAI,WAA8B,CAAC;YACnC,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9B,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACxD;YAAC,OAAO,CAAM,EAAE;gBACf,OAAO;aACR;YACD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;YAC3C,MAAM,OAAO,mCACR,aAAa,KAChB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,GACjB,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAE/B,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;oBAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;iBAC5B;gBACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;iBAC/C;gBACD,IAAI,KAAK,GAAG,IAAI,CAAC;gBACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC3B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACjC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;oBAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACrD,IAAI,IAAI,EAAE;wBAER,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;qBACjC;iBACF;gBACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;oBAC1C,OAAO,EAAE,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;oBACvD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;iBACpB,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;oBAE1C,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;iBAC9B;gBACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,kCAAkC,UAAU,KAAK,IAAI,CAAC,aAAa,GAAG,CACvE,CAAC;gBAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;oBACrD,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;wBACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC3D,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;4BAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;gCACb,KAAK,EAAE,OAAO,CAAC,KAAK;gCACpB,KAAK;6BACN,CAAC,CACH,CAAC;yBACH;qBACF;iBACF;aACF;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE;gBAEjC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;oBAC9B,OAAO;iBACR;gBACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC1C,OAAO;iBACR;gBACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAChD,OAAO;iBACR;gBACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,sCAAsC,UAAU,KAAK,IAAI,CAAC,aAAa,GAAG,CAC3E,CAAC;gBAEF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;gBAErD,IAAI,KAAK,KAAK,CAAC,EAAE;oBAEf,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;wBACnD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;qBAC9B;oBACD,OAAO;iBACR;gBAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAE/B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;wBACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC3D,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;4BAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;gCACb,KAAK,EAAE,OAAO,CAAC,KAAK;gCACpB,KAAK;6BACN,CAAC,CACH,CAAC;yBACH;qBACF;iBACF;aACF;QACH,CAAC;KAAA;IAKa,qBAAqB,CACjC,IAAgB,EAChB,IAA6B;;YAE7B,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;gBAE/B,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;iBACpC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;oBAClC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;iBACpB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gCAAgC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,aAAa,GAAG,CACnE,CAAC;gBAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1C,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;4BAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;gCACb,GAAG,EAAE,IAAI,CAAC,GAAG;gCACb,KAAK;6BACN,CAAC,CACH,CAAC;yBACH;qBACF;iBACF;aACF;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE;gBAEjC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC/B,OAAO;iBACR;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACrC,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,oCAAoC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,aAAa,GAAG,CACvE,CAAC;gBAEF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAE1C,IAAI,KAAK,KAAK,CAAC,EAAE;oBAEf,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9B,OAAO;iBACR;gBAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAE/B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;4BAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;gCACb,GAAG,EAAE,IAAI,CAAC,GAAG;gCACb,KAAK;6BACN,CAAC,CACH,CAAC;yBACH;qBACF;iBACF;aACF;QACH,CAAC;KAAA;IAKa,aAAa,CACzB,IAAgB,EAChB,GAAY,EACZ,IAAwB;;YAExB,IACE,MAAM,IAAI,IAAI;gBACd,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACjC,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ;oBACtB,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;wBACnD,QAAQ,IAAI,IAAI;wBAChB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,EACzB;gBAGA,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAG3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACjB;YAED,IACE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAChD,CAAC,SAAS,IAAI,IAAI;oBAChB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;oBAChC,SAAS,IAAI,IAAI;oBACjB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;gBACtC,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EACzE;gBAGA,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAGxC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACjB;QACH,CAAC;KAAA;IAKa,mBAAmB,CAC/B,IAAgB,EAChB,IAA8B;;;YAE9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gCAAgC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,GAAG,CACnF,CAAC;YAEF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC9B,OAAO;aACR;YAED,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACnD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAc,CAAC;gBAE7C,MAAM,YAAY,GAAG,CACnB,SAAqB,EACrB,OAIC,EACD,EAAE;oBAEF,IAAI,OAA0B,CAAC;oBAC/B,IAAI,KAAyB,CAAC;oBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBACjC,IAAI;wBACF,MAAM,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAC3D,MAAM,OAAO,mCACR,aAAa,KAChB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,EAChD,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,GACjB,CAAC;wBACF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;4BAChC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;yBACtC;wBACD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;4BAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;4BACrD,IAAI,IAAI,EAAE;gCAER,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;6BACjC;yBACF;wBACD,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;qBAC1D;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,2BAA2B,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,KAAK,SAAS,CAAC,aAAa,GAAG,CACrE,CAAC;wBACF,OAAO;qBACR;oBAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAC/C,CAAC;oBACF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,IAAI,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAC;oBAChE,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBAC1D,MAAM,KAAK,GAAG,IAAA,mBAAU,EAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;oBAExD,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;wBAExB,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,iCAAiC,SAAS,CAAC,aAAa,GAAG,CAC5D,CAAC;wBACF,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;4BACb,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,OAAO,EAAE,IAAI;yBACd,CAAC,CACH,CAAC;qBACH;oBAED,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;wBACtB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;wBAE/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,mCAAmC,SAAS,CAAC,aAAa,GAAG,CAC9D,CAAC;wBACF,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU,EAAE;4BACrD,MAAM,CAAC,oBAAoB,EAAE,CAAC;yBAC/B;wBACD,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;4BACb,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,KAAK,EAAE,IAAI;4BACX,IAAI,EAAE,MAAM;yBACb,CAAC,CACH,CAAC;qBACH;oBAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;wBACrD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gCAAgC,SAAS,CAAC,aAAa,GAAG,CAC3D,CAAC;wBACF,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU,EAAE;4BACrD,MAAM,CAAC,oBAAoB,EAAE,CAAC;yBAC/B;wBACD,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;4BACb,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,OAAO,EAAE,IAAI,CAAC,IAAI;4BAClB,IAAI,EAAE,MAAM;yBACb,CAAC,CACH,CAAC;qBACH;oBAGD,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;oBAE/B,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;wBAE1C,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;qBAC9B;gBACH,CAAC,CAAA,CAAC;gBAEF,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAEtD,IAAI;wBACF,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;4BACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BAC1C,IAAI,CAAC,OAAO,EAAE;gCACZ,SAAS;6BACV;4BACD,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gCAC7C,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gCACvC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;6BAC/B;yBACF;qBACF;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uCAAuC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,GAAG,CACrD,CAAC;qBACH;iBACF;gBAED,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;oBAEvE,IAAI;wBACF,IAAI,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBACpC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wBACrC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wBACrC,MAAM,WAAW,GAAyB,EAAE,CAAC;wBAC7C,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;4BACzC,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAChE,CAAC;yBACH;wBACD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAErE,IACE,WAAW,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK;4BAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CACzB,UAAU,EACV,WAAW,EACX,SAAS,EACT,IAAI,CAAC,IAAI,EACT,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,mCAAI,EAAE,CACxB,EACD;4BAEA,KAAK,IAAI,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;gCACvC,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oCAEjC,SAAS;iCACV;gCAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gCAC1C,IAAI,CAAC,OAAO,EAAE;oCACZ,SAAS;iCACV;gCACD,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;6BACxC;yBACF;qBACF;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uCAAuC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,GAAG,CACrD,CAAC;qBACH;iBACF;aACF;;KACF;IAKa,gBAAgB,CAC5B,IAAgB,EAChB,IAA2B;;;YAE3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,4BACE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,OAAO,EACjE,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,GAAG,CAC1C,CAAC;YAEF,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CACX,CAAC;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC9C,KAAK,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,mCAAI,SAAS,CAAC;aAC9D;YAED,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC3B,SAAS;iBACV;gBACD,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uBAAuB,IAAI,CAAC,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC,aAAa,GAAG,CAC3E,CAAC;oBACF,MAAM,OAAO,GAIT;wBACF,GAAG,EAAE,IAAI;wBACT,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC;oBACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;wBACtB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;qBAC5B;oBACD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC5C;aACF;YAED,IACE,IAAI,CAAC,KAAK,KAAK,WAAW;gBAC1B,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAC5B;gBACA,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gDAAgD,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,aAAa,GAAG,CAC5F,CAAC;oBACF,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;wBACb,GAAG,EAAE,IAAI,CAAC,OAAO;wBACjB,KAAK,EAAE,QAAQ;wBACf,KAAK;qBACN,CAAC,CACH,CAAC;iBACH;aACF;;KACF;IAKO,KAAK,CAAC,OAAgB;QAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,+BAA+B,CAChC,CAAC;YACF,OAAO;SACR;QAED,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,kBAAe,EAAE,CAAC;YAErC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,6BAA6B,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CAC1D,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE;gBAClC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,yBAAyB,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CACtD,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,SAAS,EAAE;oBACxB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACtC;gBAED,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC/B;IACH,CAAC;CACF;AA5/BD,yBA4/BC"}
@@ -29,7 +29,7 @@ const pubSubConfig = {
29
29
  logger: () => { },
30
30
  };
31
31
  const nymphServer = new nymph_1.Nymph({}, new driver_sqlite3_1.default(sqliteConfig));
32
- nymphServer.setEntityClass(testArtifacts_js_1.EmployeeModel.class, testArtifacts_js_1.EmployeeModel);
32
+ nymphServer.addEntityClass(testArtifacts_js_1.EmployeeModel);
33
33
  PubSub_1.default.initPublisher(pubSubConfig, nymphServer);
34
34
  const app = (0, express_1.default)();
35
35
  app.use((0, server_1.default)(nymphServer));
@@ -42,7 +42,7 @@ const nymphOptions = {
42
42
  };
43
43
  const nymph = new client_node_1.Nymph(nymphOptions);
44
44
  const pubsub = new client_node_1.PubSub(nymphOptions, nymph);
45
- nymph.setEntityClass(testArtifacts_js_1.Employee.class, testArtifacts_js_1.Employee);
45
+ nymph.addEntityClass(testArtifacts_js_1.Employee);
46
46
  describe('Nymph REST Server and Client', () => {
47
47
  function createJane() {
48
48
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"PubSub.test.js","sourceRoot":"","sources":["../src/PubSub.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PubSub.test.js","sourceRoot":"","sources":["../src/PubSub.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Nymph, TilmeldInterface } from '@nymphjs/nymph';
1
+ import type { Nymph } from '@nymphjs/nymph';
2
2
  import { Config } from './conf';
3
3
  import PubSub from './PubSub';
4
- export default function createServer(port: number | undefined, config: Partial<Config> | undefined, nymph: Nymph, tilmeld?: TilmeldInterface): PubSub;
4
+ export default function createServer(port: number | undefined, config: Partial<Config> | undefined, nymph: Nymph): PubSub;
@@ -7,7 +7,7 @@ const http_1 = __importDefault(require("http"));
7
7
  const websocket_1 = require("websocket");
8
8
  const conf_1 = require("./conf");
9
9
  const PubSub_1 = __importDefault(require("./PubSub"));
10
- function createServer(port = 8080, config = {}, nymph, tilmeld) {
10
+ function createServer(port = 8080, config = {}, nymph) {
11
11
  const server = http_1.default.createServer((_request, response) => {
12
12
  response.writeHead(404);
13
13
  response.end();
@@ -20,7 +20,7 @@ function createServer(port = 8080, config = {}, nymph, tilmeld) {
20
20
  httpServer: listener,
21
21
  autoAcceptConnections: false,
22
22
  });
23
- const pubsub = new PubSub_1.default(config, nymph, wsServer, tilmeld);
23
+ const pubsub = new PubSub_1.default(config, nymph, wsServer);
24
24
  const _close = pubsub.close;
25
25
  pubsub.close = () => {
26
26
  _close.call(pubsub);
@@ -1 +1 @@
1
- {"version":3,"file":"createServer.js","sourceRoot":"","sources":["../src/createServer.ts"],"names":[],"mappings":";;;;;AACA,gDAAwB;AACxB,yCAAsD;AAEtD,iCAA4D;AAC5D,sDAA8B;AAE9B,SAAwB,YAAY,CAClC,IAAI,GAAG,IAAI,EACX,SAA0B,EAAE,EAC5B,KAAY,EACZ,OAA0B;IAE1B,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACtD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;;QACxC,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,qBAAQ,CAAC,MAAM,CAAC,CAChC,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,iDAAiD,IAAI,GAAG,CACzD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,kBAAe,CAAC;QACnC,UAAU,EAAE,QAAQ;QAMpB,qBAAqB,EAAE,KAAK;KAC7B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE;QAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAtCD,+BAsCC"}
1
+ {"version":3,"file":"createServer.js","sourceRoot":"","sources":["../src/createServer.ts"],"names":[],"mappings":";;;;;AACA,gDAAwB;AACxB,yCAAsD;AAEtD,iCAA4D;AAC5D,sDAA8B;AAE9B,SAAwB,YAAY,CAClC,IAAI,GAAG,IAAI,EACX,SAA0B,EAAE,EAC5B,KAAY;IAEZ,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACtD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;;QACxC,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,qBAAQ,CAAC,MAAM,CAAC,CAChC,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,iDAAiD,IAAI,GAAG,CACzD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,kBAAe,CAAC;QACnC,UAAU,EAAE,QAAQ;QAMpB,qBAAqB,EAAE,KAAK;KAC7B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE;QAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AArCD,+BAqCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nymphjs/pubsub",
3
- "version": "1.0.0-alpha.3",
3
+ "version": "1.0.0-alpha.33",
4
4
  "description": "NymphJS - PubSub Server",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -31,24 +31,24 @@
31
31
  },
32
32
  "license": "Apache-2.0",
33
33
  "dependencies": {
34
- "@nymphjs/nymph": "^1.0.0-alpha.3",
34
+ "@nymphjs/nymph": "^1.0.0-alpha.33",
35
35
  "lodash": "^4.17.21",
36
36
  "websocket": "^1.0.34"
37
37
  },
38
38
  "devDependencies": {
39
- "@nymphjs/client": "^1.0.0-alpha.3",
40
- "@nymphjs/client-node": "^1.0.0-alpha.3",
41
- "@nymphjs/driver-sqlite3": "^1.0.0-alpha.3",
42
- "@nymphjs/server": "^1.0.0-alpha.3",
39
+ "@nymphjs/client": "^1.0.0-alpha.33",
40
+ "@nymphjs/client-node": "^1.0.0-alpha.33",
41
+ "@nymphjs/driver-sqlite3": "^1.0.0-alpha.33",
42
+ "@nymphjs/server": "^1.0.0-alpha.33",
43
43
  "@tsconfig/recommended": "^1.0.1",
44
44
  "@types/express": "^4.17.13",
45
- "@types/jest": "^27.0.1",
46
- "@types/lodash": "^4.14.172",
45
+ "@types/jest": "^27.4.0",
46
+ "@types/lodash": "^4.14.178",
47
47
  "@types/websocket": "^1.0.4",
48
- "express": "^4.17.1",
49
- "jest": "^27.0.6",
50
- "ts-jest": "^27.0.5",
51
- "typescript": "^4.3.5"
48
+ "express": "^4.17.2",
49
+ "jest": "^27.4.7",
50
+ "ts-jest": "^27.1.2",
51
+ "typescript": "^4.5.4"
52
52
  },
53
- "gitHead": "95789b3654ac1dad449354e3a52f16c489ebdb70"
53
+ "gitHead": "121b84199a62ae64d614de8d1e8b586cf80e7250"
54
54
  }
@@ -23,7 +23,7 @@ const pubSubConfig = {
23
23
  };
24
24
 
25
25
  const nymphServer = new NymphServer({}, new SQLite3Driver(sqliteConfig));
26
- nymphServer.setEntityClass(EmployeeModel.class, EmployeeModel);
26
+ nymphServer.addEntityClass(EmployeeModel);
27
27
  PubSubServer.initPublisher(pubSubConfig, nymphServer);
28
28
 
29
29
  const app = express();
@@ -39,7 +39,7 @@ const nymphOptions = {
39
39
  };
40
40
  const nymph = new Nymph(nymphOptions);
41
41
  const pubsub = new PubSub(nymphOptions, nymph);
42
- nymph.setEntityClass(Employee.class, Employee);
42
+ nymph.addEntityClass(Employee);
43
43
 
44
44
  describe('Nymph REST Server and Client', () => {
45
45
  async function createJane() {
package/src/PubSub.ts CHANGED
@@ -5,7 +5,6 @@ import {
5
5
  Options,
6
6
  Selector,
7
7
  SerializedEntityData,
8
- TilmeldInterface,
9
8
  } from '@nymphjs/nymph';
10
9
  import {
11
10
  request,
@@ -54,11 +53,6 @@ export default class PubSub {
54
53
  */
55
54
  public server: WebSocketServer;
56
55
 
57
- /**
58
- * An optional Tilmeld user/group manager instance.
59
- */
60
- public tilmeld?: TilmeldInterface;
61
-
62
56
  private sessions = new Map<connection, string>();
63
57
  protected querySubs: {
64
58
  [etype: string]: {
@@ -79,13 +73,13 @@ export default class PubSub {
79
73
  public static initPublisher(config: Partial<Config>, nymph: Nymph) {
80
74
  const configWithDefaults: Config = { ...defaults, ...config };
81
75
 
82
- nymph.on('beforeSaveEntity', (entity: EntityInterface) => {
76
+ nymph.on('beforeSaveEntity', (nymph: Nymph, entity: EntityInterface) => {
83
77
  const guid = entity.guid;
84
78
  const etype = (entity.constructor as EntityConstructor).ETYPE;
85
79
 
86
80
  const off = nymph.on(
87
81
  'afterSaveEntity',
88
- async (result: Promise<boolean>) => {
82
+ async (_nymph: Nymph, result: Promise<boolean>) => {
89
83
  off();
90
84
  if (!(await result)) {
91
85
  return;
@@ -104,13 +98,13 @@ export default class PubSub {
104
98
  );
105
99
  });
106
100
 
107
- nymph.on('beforeDeleteEntity', (entity: EntityInterface) => {
101
+ nymph.on('beforeDeleteEntity', (nymph: Nymph, entity: EntityInterface) => {
108
102
  const guid = entity.guid;
109
103
  const etype = (entity.constructor as EntityConstructor).ETYPE;
110
104
 
111
105
  const off = nymph.on(
112
106
  'afterDeleteEntity',
113
- async (result: Promise<boolean>) => {
107
+ async (_nymph: Nymph, result: Promise<boolean>) => {
114
108
  off();
115
109
  if (!(await result)) {
116
110
  return;
@@ -128,37 +122,40 @@ export default class PubSub {
128
122
  );
129
123
  });
130
124
 
131
- nymph.on('beforeDeleteEntityByID', (guid: string, className?: string) => {
132
- try {
133
- const etype = nymph.getEntityClass(className ?? 'Entity').ETYPE;
134
-
135
- const off = nymph.on(
136
- 'afterDeleteEntityByID',
137
- async (result: Promise<boolean>) => {
138
- off();
139
- if (!(await result)) {
140
- return;
125
+ nymph.on(
126
+ 'beforeDeleteEntityByID',
127
+ (nymph: Nymph, guid: string, className?: string) => {
128
+ try {
129
+ const etype = nymph.getEntityClass(className ?? 'Entity').ETYPE;
130
+
131
+ const off = nymph.on(
132
+ 'afterDeleteEntityByID',
133
+ async (_nymph: Nymph, result: Promise<boolean>) => {
134
+ off();
135
+ if (!(await result)) {
136
+ return;
137
+ }
138
+ this.publish(
139
+ JSON.stringify({
140
+ action: 'publish',
141
+ event: 'delete',
142
+ guid: guid,
143
+ etype: etype,
144
+ }),
145
+ configWithDefaults
146
+ );
141
147
  }
142
- this.publish(
143
- JSON.stringify({
144
- action: 'publish',
145
- event: 'delete',
146
- guid: guid,
147
- etype: etype,
148
- }),
149
- configWithDefaults
150
- );
151
- }
152
- );
153
- } catch (e: any) {
154
- return;
148
+ );
149
+ } catch (e: any) {
150
+ return;
151
+ }
155
152
  }
156
- });
153
+ );
157
154
 
158
- nymph.on('beforeNewUID', (name: string) => {
155
+ nymph.on('beforeNewUID', (nymph: Nymph, name: string) => {
159
156
  const off = nymph.on(
160
157
  'afterNewUID',
161
- async (result: Promise<number | null>) => {
158
+ async (_nymph: Nymph, result: Promise<number | null>) => {
162
159
  off();
163
160
  const value = await result;
164
161
  if (value == null) {
@@ -177,28 +174,10 @@ export default class PubSub {
177
174
  );
178
175
  });
179
176
 
180
- nymph.on('beforeSetUID', (name: string, value: number) => {
181
- const off = nymph.on('afterSetUID', async (result: Promise<boolean>) => {
182
- off();
183
- if (!(await result)) {
184
- return;
185
- }
186
- this.publish(
187
- JSON.stringify({
188
- action: 'publish',
189
- event: 'setUID',
190
- name: name,
191
- value: value,
192
- }),
193
- configWithDefaults
194
- );
195
- });
196
- });
197
-
198
- nymph.on('beforeRenameUID', (oldName: string, newName: string) => {
177
+ nymph.on('beforeSetUID', (nymph: Nymph, name: string, value: number) => {
199
178
  const off = nymph.on(
200
- 'afterRenameUID',
201
- async (result: Promise<boolean>) => {
179
+ 'afterSetUID',
180
+ async (_nymph: Nymph, result: Promise<boolean>) => {
202
181
  off();
203
182
  if (!(await result)) {
204
183
  return;
@@ -206,9 +185,9 @@ export default class PubSub {
206
185
  this.publish(
207
186
  JSON.stringify({
208
187
  action: 'publish',
209
- event: 'renameUID',
210
- oldName: oldName,
211
- newName: newName,
188
+ event: 'setUID',
189
+ name: name,
190
+ value: value,
212
191
  }),
213
192
  configWithDefaults
214
193
  );
@@ -216,10 +195,34 @@ export default class PubSub {
216
195
  );
217
196
  });
218
197
 
219
- nymph.on('beforeDeleteUID', (name: string) => {
198
+ nymph.on(
199
+ 'beforeRenameUID',
200
+ (nymph: Nymph, oldName: string, newName: string) => {
201
+ const off = nymph.on(
202
+ 'afterRenameUID',
203
+ async (_nymph: Nymph, result: Promise<boolean>) => {
204
+ off();
205
+ if (!(await result)) {
206
+ return;
207
+ }
208
+ this.publish(
209
+ JSON.stringify({
210
+ action: 'publish',
211
+ event: 'renameUID',
212
+ oldName: oldName,
213
+ newName: newName,
214
+ }),
215
+ configWithDefaults
216
+ );
217
+ }
218
+ );
219
+ }
220
+ );
221
+
222
+ nymph.on('beforeDeleteUID', (nymph: Nymph, name: string) => {
220
223
  const off = nymph.on(
221
224
  'afterDeleteUID',
222
- async (result: Promise<boolean>) => {
225
+ async (_nymph: Nymph, result: Promise<boolean>) => {
223
226
  off();
224
227
  if (!(await result)) {
225
228
  return;
@@ -281,13 +284,11 @@ export default class PubSub {
281
284
  public constructor(
282
285
  config: Partial<Config>,
283
286
  nymph: Nymph,
284
- server: WebSocketServer,
285
- tilmeld?: TilmeldInterface
287
+ server: WebSocketServer
286
288
  ) {
287
289
  this.nymph = nymph;
288
290
  this.config = { ...defaults, ...config };
289
291
  this.server = server;
290
- this.tilmeld = tilmeld;
291
292
 
292
293
  this.server.on('request', this.handleRequest.bind(this));
293
294
  }
@@ -530,26 +531,27 @@ export default class PubSub {
530
531
  if (this.sessions.has(from)) {
531
532
  token = this.sessions.get(from);
532
533
  }
533
- if (this.tilmeld != null && token != null) {
534
- const user = this.tilmeld.extractToken(token);
534
+ const nymph = this.nymph.clone();
535
+ if (nymph.tilmeld != null && token != null) {
536
+ const user = await nymph.tilmeld.extractToken(token);
535
537
  if (user) {
536
538
  // Log in the user for access controls.
537
- this.tilmeld.fillSession(user);
539
+ nymph.tilmeld.fillSession(user);
538
540
  }
539
541
  }
540
542
  this.querySubs[etype][serialArgs].set(from, {
541
- current: await this.nymph.getEntities(options, ...selectors),
543
+ current: await nymph.getEntities(options, ...selectors),
542
544
  query: data.query,
543
545
  count: !!data.count,
544
546
  });
545
- if (this.tilmeld != null && token != null) {
547
+ if (nymph.tilmeld != null && token != null) {
546
548
  // Clear the user that was temporarily logged in.
547
- this.tilmeld.clearSession();
549
+ nymph.tilmeld.clearSession();
548
550
  }
549
551
  this.config.logger(
550
552
  'log',
551
553
  new Date().toISOString(),
552
- `Client subscribed to a query! ($serialArgs, ${from.remoteAddress})`
554
+ `Client subscribed to a query! (${serialArgs}, ${from.remoteAddress})`
553
555
  );
554
556
 
555
557
  if (this.config.broadcastCounts) {
@@ -584,7 +586,7 @@ export default class PubSub {
584
586
  this.config.logger(
585
587
  'log',
586
588
  new Date().toISOString(),
587
- `Client unsubscribed from a query! ($serialArgs, ${from.remoteAddress})`
589
+ `Client unsubscribed from a query! (${serialArgs}, ${from.remoteAddress})`
588
590
  );
589
591
 
590
592
  const count = this.querySubs[etype][serialArgs].size;
@@ -769,25 +771,26 @@ export default class PubSub {
769
771
  // Update currents list.
770
772
  let current: EntityInterface[];
771
773
  let token: string | undefined;
774
+ const nymph = this.nymph.clone();
772
775
  try {
773
776
  const [clientOptions, ...selectors] = JSON.parse(curQuery);
774
777
  const options: Options = {
775
778
  ...clientOptions,
776
- class: this.nymph.getEntityClass(clientOptions.class),
779
+ class: nymph.getEntityClass(clientOptions.class),
777
780
  return: 'entity',
778
781
  source: 'client',
779
782
  };
780
783
  if (this.sessions.has(curClient)) {
781
784
  token = this.sessions.get(curClient);
782
785
  }
783
- if (this.tilmeld != null && token != null) {
784
- const user = this.tilmeld.extractToken(token);
786
+ if (nymph.tilmeld != null && token != null) {
787
+ const user = await nymph.tilmeld.extractToken(token);
785
788
  if (user) {
786
789
  // Log in the user for access controls.
787
- this.tilmeld.fillSession(user);
790
+ nymph.tilmeld.fillSession(user);
788
791
  }
789
792
  }
790
- current = await this.nymph.getEntities(options, ...selectors);
793
+ current = await nymph.getEntities(options, ...selectors);
791
794
  } catch (e: any) {
792
795
  this.config.logger(
793
796
  'error',
@@ -862,23 +865,31 @@ export default class PubSub {
862
865
  // Update curData.
863
866
  curData.current = currentGuids;
864
867
 
865
- if (this.tilmeld != null && token != null) {
868
+ if (nymph.tilmeld != null && token != null) {
866
869
  // Clear the user that was temporarily logged in.
867
- this.tilmeld.clearSession();
870
+ nymph.tilmeld.clearSession();
868
871
  }
869
872
  };
870
873
 
871
874
  if (data.event === 'delete' || data.event === 'update') {
872
875
  // Check if it is in any client's currents.
873
- for (const curClient of curClients.keys()) {
874
- const curData = curClients.get(curClient);
875
- if (!curData) {
876
- continue;
877
- }
878
- if (curData.current.indexOf(data.guid) !== -1) {
879
- await updateClient(curClient, curData);
880
- updatedClients.add(curClient);
876
+ try {
877
+ for (const curClient of curClients.keys()) {
878
+ const curData = curClients.get(curClient);
879
+ if (!curData) {
880
+ continue;
881
+ }
882
+ if (curData.current.indexOf(data.guid) !== -1) {
883
+ await updateClient(curClient, curData);
884
+ updatedClients.add(curClient);
885
+ }
881
886
  }
887
+ } catch (e: any) {
888
+ this.config.logger(
889
+ 'error',
890
+ new Date().toISOString(),
891
+ `Error checking for client updates! (${e?.message})`
892
+ );
882
893
  }
883
894
  }
884
895
 
@@ -887,12 +898,6 @@ export default class PubSub {
887
898
  try {
888
899
  let [clientOptions, ...selectors] = JSON.parse(curQuery);
889
900
  const EntityClass = this.nymph.getEntityClass(clientOptions.class);
890
- const options: Options = {
891
- ...clientOptions,
892
- class: EntityClass,
893
- return: 'entity',
894
- source: 'client',
895
- };
896
901
  const entityData = data.entity.data;
897
902
  entityData.cdate = data.entity.cdate;
898
903
  entityData.mdate = data.entity.mdate;
@@ -8,8 +8,7 @@ import PubSub from './PubSub';
8
8
  export default function createServer(
9
9
  port = 8080,
10
10
  config: Partial<Config> = {},
11
- nymph: Nymph,
12
- tilmeld?: TilmeldInterface
11
+ nymph: Nymph
13
12
  ) {
14
13
  const server = http.createServer((_request, response) => {
15
14
  response.writeHead(404);
@@ -34,7 +33,7 @@ export default function createServer(
34
33
  autoAcceptConnections: false,
35
34
  });
36
35
 
37
- const pubsub = new PubSub(config, nymph, wsServer, tilmeld);
36
+ const pubsub = new PubSub(config, nymph, wsServer);
38
37
 
39
38
  const _close = pubsub.close;
40
39
  pubsub.close = () => {