@dbos-inc/dbos-sdk 3.0.20-preview → 3.0.37-preview.gfd7eaf193c

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 (83) hide show
  1. package/dist/src/authdecorators.d.ts +0 -7
  2. package/dist/src/authdecorators.d.ts.map +1 -1
  3. package/dist/src/authdecorators.js +1 -29
  4. package/dist/src/authdecorators.js.map +1 -1
  5. package/dist/src/conductor/conductor.d.ts.map +1 -1
  6. package/dist/src/conductor/conductor.js +3 -0
  7. package/dist/src/conductor/conductor.js.map +1 -1
  8. package/dist/src/conductor/protocol.d.ts +3 -0
  9. package/dist/src/conductor/protocol.d.ts.map +1 -1
  10. package/dist/src/conductor/protocol.js.map +1 -1
  11. package/dist/src/context.d.ts +9 -43
  12. package/dist/src/context.d.ts.map +1 -1
  13. package/dist/src/context.js +28 -113
  14. package/dist/src/context.js.map +1 -1
  15. package/dist/src/datasource.d.ts +14 -3
  16. package/dist/src/datasource.d.ts.map +1 -1
  17. package/dist/src/datasource.js +12 -11
  18. package/dist/src/datasource.js.map +1 -1
  19. package/dist/src/dbos-executor.d.ts +37 -79
  20. package/dist/src/dbos-executor.d.ts.map +1 -1
  21. package/dist/src/dbos-executor.js +297 -498
  22. package/dist/src/dbos-executor.js.map +1 -1
  23. package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
  24. package/dist/src/dbos-runtime/cli.js +1 -3
  25. package/dist/src/dbos-runtime/cli.js.map +1 -1
  26. package/dist/src/dbos-runtime/debug.d.ts +1 -1
  27. package/dist/src/dbos-runtime/debug.d.ts.map +1 -1
  28. package/dist/src/dbos-runtime/debug.js +2 -3
  29. package/dist/src/dbos-runtime/debug.js.map +1 -1
  30. package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
  31. package/dist/src/dbos-runtime/runtime.js +0 -9
  32. package/dist/src/dbos-runtime/runtime.js.map +1 -1
  33. package/dist/src/dbos.d.ts +9 -34
  34. package/dist/src/dbos.d.ts.map +1 -1
  35. package/dist/src/dbos.js +95 -273
  36. package/dist/src/dbos.js.map +1 -1
  37. package/dist/src/decorators.d.ts +35 -60
  38. package/dist/src/decorators.d.ts.map +1 -1
  39. package/dist/src/decorators.js +157 -184
  40. package/dist/src/decorators.js.map +1 -1
  41. package/dist/src/httpServer/handler.d.ts +1 -9
  42. package/dist/src/httpServer/handler.d.ts.map +1 -1
  43. package/dist/src/httpServer/handler.js +1 -1
  44. package/dist/src/httpServer/handler.js.map +1 -1
  45. package/dist/src/httpServer/server.d.ts.map +1 -1
  46. package/dist/src/httpServer/server.js +8 -7
  47. package/dist/src/httpServer/server.js.map +1 -1
  48. package/dist/src/index.d.ts +5 -8
  49. package/dist/src/index.d.ts.map +1 -1
  50. package/dist/src/index.js +7 -17
  51. package/dist/src/index.js.map +1 -1
  52. package/dist/src/paramdecorators.d.ts.map +1 -1
  53. package/dist/src/paramdecorators.js +0 -6
  54. package/dist/src/paramdecorators.js.map +1 -1
  55. package/dist/src/procedure.d.ts +0 -22
  56. package/dist/src/procedure.d.ts.map +1 -1
  57. package/dist/src/procedure.js +0 -16
  58. package/dist/src/procedure.js.map +1 -1
  59. package/dist/src/scheduler/scheduler.d.ts.map +1 -1
  60. package/dist/src/scheduler/scheduler.js +3 -2
  61. package/dist/src/scheduler/scheduler.js.map +1 -1
  62. package/dist/src/step.d.ts +0 -25
  63. package/dist/src/step.d.ts.map +1 -1
  64. package/dist/src/step.js +0 -20
  65. package/dist/src/step.js.map +1 -1
  66. package/dist/src/system_database.d.ts +2 -3
  67. package/dist/src/system_database.d.ts.map +1 -1
  68. package/dist/src/system_database.js +56 -3
  69. package/dist/src/system_database.js.map +1 -1
  70. package/dist/src/transaction.d.ts +0 -25
  71. package/dist/src/transaction.d.ts.map +1 -1
  72. package/dist/src/transaction.js +1 -15
  73. package/dist/src/transaction.js.map +1 -1
  74. package/dist/src/workflow.d.ts +7 -148
  75. package/dist/src/workflow.d.ts.map +1 -1
  76. package/dist/src/workflow.js +7 -226
  77. package/dist/src/workflow.js.map +1 -1
  78. package/dist/tsconfig.tsbuildinfo +1 -1
  79. package/package.json +2 -2
  80. package/dist/src/eventreceiver.d.ts +0 -155
  81. package/dist/src/eventreceiver.d.ts.map +0 -1
  82. package/dist/src/eventreceiver.js +0 -3
  83. package/dist/src/eventreceiver.js.map +0 -1
@@ -1,56 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DBOSInitializer = exports.OrmEntities = exports.configureInstance = exports.ArgName = exports.getRegistrationsForExternal = exports.associateParameterWithExternal = exports.associateMethodWithExternal = exports.associateMethodWithEventReceiver = exports.associateClassWithExternal = exports.associateClassWithEventReceiver = exports.getOrCreateClassRegistration = exports.getClassRegistrationByName = exports.getAllRegisteredClassNames = exports.getNameForClass = exports.registerAndWrapDBOSFunctionByName = exports.registerAndWrapDBOSFunction = exports.getOrCreateMethodArgsRegistration = exports.getTransactionalDataSource = exports.registerTransactionalDataSource = exports.transactionalDataSources = exports.getConfiguredInstance = exports.getRegisteredOperationsByClassname = exports.getRegisteredOperations = exports.getRegistrationForFunction = exports.registerFunctionWrapper = exports.getRegisteredMethodName = exports.getRegisteredMethodClassName = exports.ensureDBOSIsNotLaunched = exports.recordDBOSShutdown = exports.recordDBOSLaunch = exports.ClassRegistration = exports.ConfiguredInstance = exports.MethodRegistration = exports.DBOS_AUTH = exports.MethodParameter = exports.DBOSDataType = exports.insertAllMiddleware = exports.registerMiddlewareInstaller = exports.getLifecycleListeners = exports.registerLifecycleCallback = exports.DBOSLifecycleCallback = void 0;
3
+ exports.DBOSInitializer = exports.OrmEntities = exports.ArgName = exports.getRegistrationsForExternal = exports.associateParameterWithExternal = exports.associateMethodWithExternal = exports.associateClassWithExternal = exports.getTransactionalDataSource = exports.registerTransactionalDataSource = exports.transactionalDataSources = exports.getConfiguredInstance = exports.configureInstance = exports.getOrCreateClassRegistration = exports.getClassRegistrationByName = exports.getAllRegisteredFunctions = exports.getAllRegisteredClassNames = exports.getNameForClass = exports.registerAndWrapDBOSFunctionByName = exports.registerAndWrapDBOSFunction = exports.getOrCreateMethodArgsRegistration = exports.getRegisteredFunctionsByClassname = exports.getRegisteredOperations = exports.getFunctionRegistrationByName = exports.getFunctionRegistration = exports.registerFunctionWrapper = exports.getRegisteredFunctionName = exports.getRegisteredFunctionClassName = exports.getRegisteredFunctionQualifiedName = exports.getRegisteredFunctionFullName = exports.insertAllMiddleware = exports.registerMiddlewareInstaller = exports.getLifecycleListeners = exports.registerLifecycleCallback = exports.ensureDBOSIsNotLaunched = exports.recordDBOSShutdown = exports.recordDBOSLaunch = exports.ClassRegistration = exports.ConfiguredInstance = exports.MethodRegistration = exports.DBOS_AUTH = exports.MethodParameter = exports.DBOSDataType = void 0;
4
4
  require("reflect-metadata");
5
5
  const error_1 = require("./error");
6
- /**
7
- * Interface for integrating into the DBOS startup/shutdown lifecycle
8
- */
9
- class DBOSLifecycleCallback {
10
- /** Called back during DBOS launch */
11
- initialize() {
12
- return Promise.resolve();
13
- }
14
- /** Called back upon shutdown (usually in tests) to close connections and free resources */
15
- destroy() {
16
- return Promise.resolve();
17
- }
18
- /** Called at launch; Implementers should emit a diagnostic list of all registrations */
19
- logRegisteredEndpoints() { }
20
- }
21
- exports.DBOSLifecycleCallback = DBOSLifecycleCallback;
22
- const lifecycleListeners = [];
23
- function registerLifecycleCallback(lcl) {
24
- if (!lifecycleListeners.includes(lcl))
25
- lifecycleListeners.push(lcl);
26
- }
27
- exports.registerLifecycleCallback = registerLifecycleCallback;
28
- function getLifecycleListeners() {
29
- return lifecycleListeners;
30
- }
31
- exports.getLifecycleListeners = getLifecycleListeners;
32
- let installedMiddleware = false;
33
- const middlewareInstallers = [];
34
- function registerMiddlewareInstaller(i) {
35
- if (installedMiddleware)
36
- throw new TypeError('Attempt to provide method middleware after insertion was performed');
37
- if (!middlewareInstallers.includes(i))
38
- middlewareInstallers.push(i);
39
- }
40
- exports.registerMiddlewareInstaller = registerMiddlewareInstaller;
41
- function insertAllMiddleware() {
42
- if (installedMiddleware)
43
- return;
44
- installedMiddleware = true;
45
- for (const [_cn, c] of classesByName) {
46
- for (const [_fn, f] of c.reg.registeredOperations) {
47
- for (const i of middlewareInstallers) {
48
- i.installMiddleware(f);
49
- }
50
- }
51
- }
52
- }
53
- exports.insertAllMiddleware = insertAllMiddleware;
54
6
  class DBOSDataType {
55
7
  dataType = 'text';
56
8
  length = -1;
@@ -238,9 +190,6 @@ class MethodParameter {
238
190
  }
239
191
  }
240
192
  exports.MethodParameter = MethodParameter;
241
- //////////////////////////////////////////
242
- /* REGISTRATION OBJECTS and read access */
243
- //////////////////////////////////////////
244
193
  exports.DBOS_AUTH = 'auth';
245
194
  class MethodRegistration {
246
195
  defaults;
@@ -253,11 +202,9 @@ class MethodRegistration {
253
202
  this.onEnter.sort((a, b) => a.seqNum - b.seqNum);
254
203
  }
255
204
  args = [];
256
- passContext = false;
257
- constructor(origFunc, isInstance, passContext) {
205
+ constructor(origFunc, isInstance) {
258
206
  this.origFunction = origFunc;
259
207
  this.isInstance = isInstance;
260
- this.passContext = passContext;
261
208
  }
262
209
  needInitialized = true;
263
210
  isInstance;
@@ -269,7 +216,6 @@ class MethodRegistration {
269
216
  stepConfig;
270
217
  procConfig;
271
218
  regLocation;
272
- eventReceiverInfo = new Map();
273
219
  externalRegInfo = new Map();
274
220
  getRegisteredInfo(reg) {
275
221
  if (!this.externalRegInfo.has(reg)) {
@@ -338,14 +284,6 @@ class MethodRegistration {
338
284
  }
339
285
  }
340
286
  exports.MethodRegistration = MethodRegistration;
341
- function registerClassInstance(inst, name) {
342
- const creg = getOrCreateClassRegistration(inst.constructor);
343
- if (creg.configuredInstances.has(name)) {
344
- throw new error_1.DBOSConflictingRegistrationError(`An instance of class '${inst.constructor.name}' with name '${name}' was already registered. Earlier registration occurred at:\n${(creg.configuredInstanceRegLocs.get(name) ?? []).join('\n')}`);
345
- }
346
- creg.configuredInstances.set(name, inst);
347
- creg.configuredInstanceRegLocs.set(name, new StackGrabber().getCleanStack(3) ?? []);
348
- }
349
287
  class ConfiguredInstance {
350
288
  name;
351
289
  constructor(name) {
@@ -372,7 +310,6 @@ class ClassRegistration {
372
310
  registeredOperations = new Map();
373
311
  configuredInstances = new Map();
374
312
  configuredInstanceRegLocs = new Map();
375
- eventReceiverInfo = new Map();
376
313
  externalRegInfo = new Map();
377
314
  getRegisteredInfo(reg) {
378
315
  if (!this.externalRegInfo.has(reg)) {
@@ -395,6 +332,10 @@ class StackGrabber extends Error {
395
332
  .map((l) => '>>> ' + l.replace(/^\s*at\s*/, '')); // Remove the first lines
396
333
  }
397
334
  }
335
+ ////////////
336
+ // Global registration structures and functions
337
+ ////////////
338
+ // Track if DBOS is launched, and if so, from where
398
339
  let dbosLaunchPoint = undefined;
399
340
  function recordDBOSLaunch() {
400
341
  dbosLaunchPoint = new StackGrabber().getCleanStack(2); // Remove one for record, one for registerAndWrap...
@@ -410,32 +351,94 @@ function ensureDBOSIsNotLaunched() {
410
351
  }
411
352
  }
412
353
  exports.ensureDBOSIsNotLaunched = ensureDBOSIsNotLaunched;
413
- // This is a bit ugly, if we got the class / instance it would help avoid this auxiliary structure
414
- const methodToRegistration = new Map();
415
- function getRegisteredMethodClassName(func) {
416
- let rv = '';
417
- if (methodToRegistration.has(func)) {
418
- rv = methodToRegistration.get(func).className;
354
+ // DBOS launch lifecycle listener
355
+ const lifecycleListeners = [];
356
+ function registerLifecycleCallback(lcl) {
357
+ if (!lifecycleListeners.includes(lcl))
358
+ lifecycleListeners.push(lcl);
359
+ }
360
+ exports.registerLifecycleCallback = registerLifecycleCallback;
361
+ function getLifecycleListeners() {
362
+ return lifecycleListeners;
363
+ }
364
+ exports.getLifecycleListeners = getLifecycleListeners;
365
+ // Middleware installers - insert middleware in registered functions prior to launch
366
+ let installedMiddleware = false;
367
+ const middlewareInstallers = [];
368
+ function registerMiddlewareInstaller(i) {
369
+ if (installedMiddleware)
370
+ throw new TypeError('Attempt to provide method middleware after insertion was performed');
371
+ if (!middlewareInstallers.includes(i))
372
+ middlewareInstallers.push(i);
373
+ }
374
+ exports.registerMiddlewareInstaller = registerMiddlewareInstaller;
375
+ function insertAllMiddleware() {
376
+ if (installedMiddleware)
377
+ return;
378
+ installedMiddleware = true;
379
+ for (const [_cn, c] of classesByName) {
380
+ for (const [_fn, f] of c.reg.registeredOperations) {
381
+ for (const i of middlewareInstallers) {
382
+ i.installMiddleware(f);
383
+ }
384
+ }
419
385
  }
420
- return rv;
421
386
  }
422
- exports.getRegisteredMethodClassName = getRegisteredMethodClassName;
423
- function getRegisteredMethodName(func) {
424
- let rv = '';
425
- if (methodToRegistration.has(func)) {
426
- rv = methodToRegistration.get(func).name;
387
+ exports.insertAllMiddleware = insertAllMiddleware;
388
+ // Registration of functions, and classes
389
+ const functionToRegistration = new Map();
390
+ // Registration of instance, by constructor+name
391
+ function registerClassInstance(inst, instname) {
392
+ const creg = getOrCreateClassRegistration(inst.constructor);
393
+ if (creg.configuredInstances.has(instname)) {
394
+ throw new error_1.DBOSConflictingRegistrationError(`An instance of class '${inst.constructor.name}' with name '${instname}' was already registered. Earlier registration occurred at:\n${(creg.configuredInstanceRegLocs.get(instname) ?? []).join('\n')}`);
427
395
  }
428
- return rv;
396
+ creg.configuredInstances.set(instname, inst);
397
+ creg.configuredInstanceRegLocs.set(instname, new StackGrabber().getCleanStack(3) ?? []);
398
+ }
399
+ function getRegisteredFunctionFullName(func) {
400
+ let className = '';
401
+ let funcName = func.name ?? '';
402
+ if (functionToRegistration.has(func)) {
403
+ const fr = functionToRegistration.get(func);
404
+ className = fr.className;
405
+ funcName = fr.name;
406
+ }
407
+ return { className, name: funcName };
408
+ }
409
+ exports.getRegisteredFunctionFullName = getRegisteredFunctionFullName;
410
+ function getRegisteredFunctionQualifiedName(func) {
411
+ const fn = getRegisteredFunctionFullName(func);
412
+ return fn.className + '.' + fn.name;
429
413
  }
430
- exports.getRegisteredMethodName = getRegisteredMethodName;
414
+ exports.getRegisteredFunctionQualifiedName = getRegisteredFunctionQualifiedName;
415
+ function getRegisteredFunctionClassName(func) {
416
+ return getRegisteredFunctionFullName(func).className;
417
+ }
418
+ exports.getRegisteredFunctionClassName = getRegisteredFunctionClassName;
419
+ function getRegisteredFunctionName(func) {
420
+ return getRegisteredFunctionFullName(func).name;
421
+ }
422
+ exports.getRegisteredFunctionName = getRegisteredFunctionName;
431
423
  function registerFunctionWrapper(func, reg) {
432
- methodToRegistration.set(func, reg);
424
+ reg.wrappedFunction = func;
425
+ functionToRegistration.set(func, reg);
433
426
  }
434
427
  exports.registerFunctionWrapper = registerFunctionWrapper;
435
- function getRegistrationForFunction(func) {
436
- return methodToRegistration.get(func);
428
+ function getFunctionRegistration(func) {
429
+ return functionToRegistration.get(func);
430
+ }
431
+ exports.getFunctionRegistration = getFunctionRegistration;
432
+ function getFunctionRegistrationByName(className, name) {
433
+ const clsreg = getClassRegistrationByName(className, false);
434
+ if (!clsreg)
435
+ return undefined;
436
+ const methReg = clsreg.registeredOperations.get(name);
437
+ if (!methReg)
438
+ return undefined;
439
+ return methReg;
437
440
  }
438
- exports.getRegistrationForFunction = getRegistrationForFunction;
441
+ exports.getFunctionRegistrationByName = getFunctionRegistrationByName;
439
442
  function getRegisteredOperations(target) {
440
443
  const registeredOperations = [];
441
444
  if (typeof target === 'function') {
@@ -456,57 +459,23 @@ function getRegisteredOperations(target) {
456
459
  return registeredOperations;
457
460
  }
458
461
  exports.getRegisteredOperations = getRegisteredOperations;
459
- function getRegisteredOperationsByClassname(target) {
462
+ function getRegisteredFunctionsByClassname(target) {
460
463
  const registeredOperations = [];
461
464
  const cls = getClassRegistrationByName(target);
462
- cls.registeredOperations?.forEach((m) => registeredOperations.push(m));
465
+ cls?.registeredOperations?.forEach((m) => registeredOperations.push(m));
463
466
  return registeredOperations;
464
467
  }
465
- exports.getRegisteredOperationsByClassname = getRegisteredOperationsByClassname;
466
- function getConfiguredInstance(clsname, cfgname) {
467
- const classReg = classesByName.get(clsname)?.reg;
468
- if (!classReg)
469
- return null;
470
- return classReg.configuredInstances.get(cfgname) ?? null;
471
- }
472
- exports.getConfiguredInstance = getConfiguredInstance;
473
- /////
474
- // Transactional data source registration
475
- /////
476
- exports.transactionalDataSources = new Map();
477
- // Register data source (user version)
478
- function registerTransactionalDataSource(name, ds) {
479
- if (exports.transactionalDataSources.has(name)) {
480
- if (exports.transactionalDataSources.get(name) !== ds) {
481
- throw new error_1.DBOSConflictingRegistrationError(`Data source with name ${name} is already registered`);
482
- }
483
- return;
484
- }
485
- ensureDBOSIsNotLaunched();
486
- exports.transactionalDataSources.set(name, ds);
487
- }
488
- exports.registerTransactionalDataSource = registerTransactionalDataSource;
489
- function getTransactionalDataSource(name) {
490
- if (exports.transactionalDataSources.has(name))
491
- return exports.transactionalDataSources.get(name);
492
- throw new error_1.DBOSNotRegisteredError(name, `Data source '${name}' is not registered`);
493
- }
494
- exports.getTransactionalDataSource = getTransactionalDataSource;
495
- ////////////////////////////////////////////////////////////////////////////////
496
- // DECORATOR REGISTRATION
497
- // These manage registration objects, creating them at decorator evaluation time
498
- // and making wrapped methods available for function registration at runtime
499
- // initialization time.
500
- ////////////////////////////////////////////////////////////////////////////////
468
+ exports.getRegisteredFunctionsByClassname = getRegisteredFunctionsByClassname;
501
469
  const methodArgsByFunction = new Map();
502
- function getOrCreateMethodArgsRegistration(target, className, funcName, func) {
470
+ function getOrCreateMethodArgsRegistration(target, funcName, origFunc) {
503
471
  let regtarget = target;
504
472
  if (regtarget && typeof regtarget !== 'function') {
505
473
  regtarget = regtarget.constructor;
506
474
  }
507
- className = className ?? (target ? getNameForClass(target) : '');
508
- const mkey = className + '|' + funcName.toString();
509
- let mParameters = methodArgsByFunction.get(mkey);
475
+ if (!origFunc) {
476
+ origFunc = Object.getOwnPropertyDescriptor(target, funcName).value;
477
+ }
478
+ let mParameters = methodArgsByFunction.get(origFunc);
510
479
  if (mParameters === undefined) {
511
480
  // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
512
481
  let designParamTypes = undefined;
@@ -518,8 +487,8 @@ function getOrCreateMethodArgsRegistration(target, className, funcName, func) {
518
487
  mParameters = designParamTypes.map((value, index) => new MethodParameter(index, value));
519
488
  }
520
489
  else {
521
- if (func) {
522
- const argnames = getArgNames(func);
490
+ if (origFunc) {
491
+ const argnames = getArgNames(origFunc);
523
492
  mParameters = argnames.map((_value, index) => new MethodParameter(index));
524
493
  }
525
494
  else {
@@ -529,12 +498,12 @@ function getOrCreateMethodArgsRegistration(target, className, funcName, func) {
529
498
  mParameters = argnames.map((_value, index) => new MethodParameter(index));
530
499
  }
531
500
  }
532
- methodArgsByFunction.set(mkey, mParameters);
501
+ methodArgsByFunction.set(origFunc, mParameters);
533
502
  }
534
503
  return mParameters;
535
504
  }
536
505
  exports.getOrCreateMethodArgsRegistration = getOrCreateMethodArgsRegistration;
537
- function getOrCreateMethodRegistration(target, className, propertyKey, func, passContext) {
506
+ function getOrCreateMethodRegistration(target, className, propertyKey, func) {
538
507
  let regtarget = undefined;
539
508
  let isInstance = false;
540
509
  if (target) {
@@ -558,21 +527,15 @@ function getOrCreateMethodRegistration(target, className, propertyKey, func, pas
558
527
  const classReg = getClassRegistrationByName(className, true);
559
528
  const fname = propertyKey.toString();
560
529
  if (!classReg.registeredOperations.has(fname)) {
561
- classReg.registeredOperations.set(fname, new MethodRegistration(func, isInstance, passContext));
530
+ classReg.registeredOperations.set(fname, new MethodRegistration(func, isInstance));
562
531
  }
563
532
  const methReg = classReg.registeredOperations.get(fname);
564
- // Note: We cannot tell if the method takes a context or not.
565
- // Our @Workflow, @Transaction, and @Step decorators are the only ones that would know to set passContext.
566
- // So, if passContext is indicated, add it to the registration.
567
- if (passContext && !methReg.passContext) {
568
- methReg.passContext = true;
569
- }
570
533
  if (methReg.needInitialized) {
571
534
  methReg.needInitialized = false;
572
535
  methReg.name = fname;
573
536
  methReg.className = classReg.name;
574
537
  methReg.defaults = classReg;
575
- methReg.args = getOrCreateMethodArgsRegistration(target, className, propertyKey, func);
538
+ methReg.args = getOrCreateMethodArgsRegistration(target, propertyKey, func);
576
539
  const argNames = getArgNames(func);
577
540
  methReg.args.forEach((e) => {
578
541
  if (!e.name) {
@@ -592,8 +555,8 @@ function getOrCreateMethodRegistration(target, className, propertyKey, func, pas
592
555
  value: methReg.name,
593
556
  });
594
557
  methReg.registeredFunction = wrappedMethod;
595
- methodToRegistration.set(methReg.registeredFunction, methReg);
596
- methodToRegistration.set(methReg.origFunction, methReg);
558
+ functionToRegistration.set(methReg.registeredFunction, methReg);
559
+ functionToRegistration.set(methReg.origFunction, methReg);
597
560
  }
598
561
  return methReg;
599
562
  }
@@ -602,14 +565,15 @@ function registerAndWrapDBOSFunction(target, propertyKey, descriptor) {
602
565
  if (!descriptor.value) {
603
566
  throw Error('Use of decorator when original method is undefined');
604
567
  }
605
- const registration = getOrCreateMethodRegistration(target, undefined, propertyKey, descriptor.value, false);
568
+ const registration = getOrCreateMethodRegistration(target, undefined, propertyKey, descriptor.value);
606
569
  descriptor.value = registration.wrappedFunction ?? registration.registeredFunction;
607
570
  return { descriptor, registration };
608
571
  }
609
572
  exports.registerAndWrapDBOSFunction = registerAndWrapDBOSFunction;
610
573
  function registerAndWrapDBOSFunctionByName(target, className, funcName, func) {
611
574
  ensureDBOSIsNotLaunched();
612
- const registration = getOrCreateMethodRegistration(target, className, funcName, func, false);
575
+ const freg = getFunctionRegistration(func);
576
+ const registration = freg ?? getOrCreateMethodRegistration(target, className, funcName, func);
613
577
  return { registration };
614
578
  }
615
579
  exports.registerAndWrapDBOSFunctionByName = registerAndWrapDBOSFunctionByName;
@@ -638,6 +602,18 @@ function getAllRegisteredClassNames() {
638
602
  return cnames;
639
603
  }
640
604
  exports.getAllRegisteredClassNames = getAllRegisteredClassNames;
605
+ function getAllRegisteredFunctions() {
606
+ const s = new Set();
607
+ const fregs = [];
608
+ for (const [_f, reg] of functionToRegistration) {
609
+ if (s.has(reg))
610
+ continue;
611
+ fregs.push(reg);
612
+ s.add(reg);
613
+ }
614
+ return fregs;
615
+ }
616
+ exports.getAllRegisteredFunctions = getAllRegisteredFunctions;
641
617
  function getClassRegistrationByName(name, create = false) {
642
618
  if (!classesByName.has(name) && !create) {
643
619
  throw new error_1.DBOSNotRegisteredError(name, `Class '${name}' is not registered`);
@@ -666,48 +642,48 @@ function getOrCreateClassRegistration(ctor) {
666
642
  return clsReg;
667
643
  }
668
644
  exports.getOrCreateClassRegistration = getOrCreateClassRegistration;
669
- /**
670
- * Associates a class with a `DBOSEventReceiver`, which will be calling the class's DBOS methods.
671
- * Allows class-level default values or other storage to be associated with the class, rather than
672
- * separately for each registered method.
673
- *
674
- * @param rcvr - Event receiver which will dispatch DBOS methods from the class specified by `ctor`
675
- * @param ctor - Constructor of the class that is being registered and associated with `rcvr`
676
- * @returns - Class-specific registration info cumulatively collected for `rcvr`
677
- */
678
- function associateClassWithEventReceiver(rcvr, ctor) {
679
- const clsReg = getOrCreateClassRegistration(ctor);
680
- if (!clsReg.eventReceiverInfo.has(rcvr)) {
681
- clsReg.eventReceiverInfo.set(rcvr, {});
645
+ /** @deprecated Use `new` */
646
+ function configureInstance(cls, name, ...args) {
647
+ const inst = new cls(name, ...args);
648
+ return inst;
649
+ }
650
+ exports.configureInstance = configureInstance;
651
+ function getConfiguredInstance(clsname, cfgname) {
652
+ const classReg = classesByName.get(clsname)?.reg;
653
+ if (!classReg)
654
+ return null;
655
+ return classReg.configuredInstances.get(cfgname) ?? null;
656
+ }
657
+ exports.getConfiguredInstance = getConfiguredInstance;
658
+ /////
659
+ // Transactional data source registration
660
+ /////
661
+ exports.transactionalDataSources = new Map();
662
+ // Register data source (user version)
663
+ function registerTransactionalDataSource(name, ds) {
664
+ if (exports.transactionalDataSources.has(name)) {
665
+ if (exports.transactionalDataSources.get(name) !== ds) {
666
+ throw new error_1.DBOSConflictingRegistrationError(`Data source with name ${name} is already registered`);
667
+ }
668
+ return;
682
669
  }
683
- return clsReg.eventReceiverInfo.get(rcvr);
670
+ ensureDBOSIsNotLaunched();
671
+ exports.transactionalDataSources.set(name, ds);
672
+ }
673
+ exports.registerTransactionalDataSource = registerTransactionalDataSource;
674
+ function getTransactionalDataSource(name) {
675
+ if (exports.transactionalDataSources.has(name))
676
+ return exports.transactionalDataSources.get(name);
677
+ throw new error_1.DBOSNotRegisteredError(name, `Data source '${name}' is not registered`);
684
678
  }
685
- exports.associateClassWithEventReceiver = associateClassWithEventReceiver;
679
+ exports.getTransactionalDataSource = getTransactionalDataSource;
686
680
  function associateClassWithExternal(external, cls) {
687
681
  const clsn = typeof cls === 'string' ? cls : getNameForClass(cls);
688
682
  const clsreg = getClassRegistrationByName(clsn, true);
689
683
  return clsreg.getRegisteredInfo(external);
690
684
  }
691
685
  exports.associateClassWithExternal = associateClassWithExternal;
692
- /**
693
- * Associates a workflow method with a `DBOSEventReceiver` which will be in charge of calling the method
694
- * in response to received events.
695
- * This version is to be used in "Stage 2" decorators, as it applies the DBOS wrapper to the registered method.
696
- *
697
- * @param rcvr - `DBOSEventReceiver` instance that should be informed of the `target` method's registration
698
- * @param target - A DBOS method to associate with the event receiver
699
- * @param propertyKey - For Stage 2 decorator use, this is the property key used for replacing the method with its wrapper
700
- * @param inDescriptor - For Stage 2 decorator use, this is the method descriptor used for replacing the method with its wrapper
701
- * @returns The new method descriptor, registration, and event receiver info
702
- */
703
- function associateMethodWithEventReceiver(rcvr, target, propertyKey, inDescriptor) {
704
- const { descriptor, registration } = registerAndWrapDBOSFunction(target, propertyKey, inDescriptor);
705
- if (!registration.eventReceiverInfo.has(rcvr)) {
706
- registration.eventReceiverInfo.set(rcvr, {});
707
- }
708
- return { descriptor, registration, receiverInfo: registration.eventReceiverInfo.get(rcvr) };
709
- }
710
- exports.associateMethodWithEventReceiver = associateMethodWithEventReceiver;
686
+ // Event receiver v3
711
687
  /*
712
688
  * Associates a DBOS function or method with an external class or object.
713
689
  * Likely, this will be invoking or intercepting the method.
@@ -721,7 +697,7 @@ function associateMethodWithExternal(external, target, className, funcName, func
721
697
  }
722
698
  exports.associateMethodWithExternal = associateMethodWithExternal;
723
699
  /*
724
- * Associates a DBOS function or method with an external class or object.
700
+ * Associates a DBOS function or method parameters with an external class or object.
725
701
  * Likely, this will be invoking or intercepting the method.
726
702
  */
727
703
  function associateParameterWithExternal(external, target, className, funcName, func, paramId) {
@@ -745,7 +721,7 @@ function associateParameterWithExternal(external, target, className, funcName, f
745
721
  }
746
722
  exports.associateParameterWithExternal = associateParameterWithExternal;
747
723
  function getRegistrationsForExternal(external, cls, funcName) {
748
- const res = [];
724
+ const res = new Array();
749
725
  if (cls) {
750
726
  const clsname = typeof cls === 'string' ? cls : getNameForClass(cls);
751
727
  const c = classesByName.get(clsname);
@@ -792,12 +768,15 @@ function getRegistrationsForExternal(external, cls, funcName) {
792
768
  }
793
769
  }
794
770
  exports.getRegistrationsForExternal = getRegistrationsForExternal;
771
+ ////////////
772
+ // Decorator-oriented
773
+ ////////////
795
774
  //////////////////////////
796
775
  /* PARAMETER DECORATORS */
797
776
  //////////////////////////
798
777
  function ArgName(name) {
799
778
  return function (target, propertyKey, parameterIndex) {
800
- const existingParameters = getOrCreateMethodArgsRegistration(target, undefined, propertyKey);
779
+ const existingParameters = getOrCreateMethodArgsRegistration(target, propertyKey);
801
780
  const curParam = existingParameters[parameterIndex];
802
781
  curParam.name = name;
803
782
  };
@@ -806,12 +785,6 @@ exports.ArgName = ArgName;
806
785
  ///////////////////////
807
786
  /* CLASS DECORATORS */
808
787
  ///////////////////////
809
- /** @deprecated Use `new` */
810
- function configureInstance(cls, name, ...args) {
811
- const inst = new cls(name, ...args);
812
- return inst;
813
- }
814
- exports.configureInstance = configureInstance;
815
788
  /**
816
789
  * @deprecated Use ORM DSs
817
790
  */
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAK1B,mCAAmF;AAKnF;;GAEG;AACH,MAAsB,qBAAqB;IACzC,qCAAqC;IACrC,UAAU;QACR,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,2FAA2F;IAC3F,OAAO;QACL,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,wFAAwF;IACxF,sBAAsB,KAAU,CAAC;CAClC;AAXD,sDAWC;AAED,MAAM,kBAAkB,GAA4B,EAAE,CAAC;AACvD,SAAgB,yBAAyB,CAAC,GAA0B;IAClE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC;AAFD,8DAEC;AACD,SAAgB,qBAAqB;IACnC,OAAO,kBAAsD,CAAC;AAChE,CAAC;AAFD,sDAEC;AAMD,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,MAAM,oBAAoB,GAAoC,EAAE,CAAC;AACjE,SAAgB,2BAA2B,CAAC,CAAgC;IAC1E,IAAI,mBAAmB;QAAE,MAAM,IAAI,SAAS,CAAC,oEAAoE,CAAC,CAAC;IACnH,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAHD,kEAGC;AACD,SAAgB,mBAAmB;IACjC,IAAI,mBAAmB;QAAE,OAAO;IAChC,mBAAmB,GAAG,IAAI,CAAC;IAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;gBACrC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAXD,kDAWC;AAgBD,MAAa,YAAY;IACvB,QAAQ,GAAkB,MAAM,CAAC;IACjC,MAAM,GAAW,CAAC,CAAC,CAAC;IACpB,SAAS,GAAW,CAAC,CAAC,CAAC;IACvB,KAAK,GAAW,CAAC,CAAC,CAAC;IAEnB,yBAAyB;IACzB,MAAM,CAAC,OAAO,CAAC,MAAc;QAC3B,MAAM,EAAE,GAAG,IAAI,YAAY,EAAE,CAAC;QAC9B,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;QACxB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,OAAO,CAAC,SAAiB,EAAE,KAAa;QAC7C,MAAM,EAAE,GAAG,IAAI,YAAY,EAAE,CAAC;QAC9B,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;QACxB,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;QACzB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;QAEjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,sCAAsC;IACtC,sEAAsE;IACtE,MAAM,CAAC,OAAO,CAAC,GAAc;QAC3B,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAE3B,MAAM,EAAE,GAAG,IAAI,YAAY,EAAE,CAAC;QAE9B,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC1B,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;QACZ,IAAI,EAAE,GAAW,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,EAAE,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,EAAE,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA5DD,oCA4DC;AAED,sEAAsE;AACtE,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,iDAAiD;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjC,kBAAkB;QAClB,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,IAAI,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACrC,cAAc,GAAG,KAAK,CAAC;gBACvB,CAAC,EAAE,CAAC,CAAC,mBAAmB;YAC1B,CAAC;YACD,SAAS;QACX,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,IAAI,IAAI,KAAK,IAAI;gBAAE,SAAS,GAAG,KAAK,CAAC;YACrC,SAAS;QACX,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YAC5C,cAAc,GAAG,IAAI,CAAC;YACtB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YAC5C,SAAS,GAAG,IAAI,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,SAAS,IAAI,cAAc;YAAE,SAAS;QAE1C,qCAAqC;QACrC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YAClD,aAAa,GAAG,CAAC,aAAa,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YACzD,aAAa,GAAG,CAAC,aAAa,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5D,UAAU,GAAG,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED,8BAA8B;QAC9B,IAAI,aAAa,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,KAAK,GAAG,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpC,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS;QACX,CAAC;QAED,2EAA2E;QAC3E,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,SAAS,EAAE,CAAC;QACd,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,IAAI,SAAS,KAAK,CAAC;gBAAE,MAAM,CAAC,OAAO;YACnC,SAAS,EAAE,CAAC;QACd,CAAC;QAED,sDAAsD;QACtD,IAAI,IAAI,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAChE,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB;YAC9B,SAAS;QACX,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,KAAK,GAAG,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,cAAc,GAAG,EAAE,CAAC;YACpB,cAAc,GAAG,KAAK,CAAC;YACvB,SAAS;QACX,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,IAAI,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1B,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAMD,MAAa,eAAe;IAC1B,IAAI,GAAW,EAAE,CAAC;IAClB,KAAK,GAAW,CAAC,CAAC,CAAC;IAEnB,eAAe,GAAkD,IAAI,GAAG,EAAE,CAAC;IAE3E,iBAAiB,CAAC,GAAqC;QACrD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ;QACV,OAAQ,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAiB,CAAC,QAAQ,CAAC;IAClE,CAAC;IAED,sEAAsE;IACtE,kBAAkB,CAAC,EAAa;QAC9B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAgB,CAAC;QAC5D,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,sEAAsE;IACtE,YAAY,GAAW,EAAE,EAAa;QACpC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF;AA/BD,0CA+BC;AAED,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAE7B,QAAA,SAAS,GAAG,MAAM,CAAC;AAyDhC,MAAa,kBAAkB;IAC7B,QAAQ,CAAoC;IAE5C,IAAI,GAAW,EAAE,CAAC;IAClB,SAAS,GAAW,EAAE,CAAC;IAEvB,eAAe;IACf,OAAO,GAA4F,EAAE,CAAC;IACtG,mBAAmB,CAAC,IAAiE,EAAE,SAAiB,EAAE;QACxG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,GAAsB,EAAE,CAAC;IAC7B,WAAW,GAAY,KAAK,CAAC;IAE7B,YAAY,QAAwD,EAAE,UAAmB,EAAE,WAAoB;QAC7G,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,eAAe,GAAY,IAAI,CAAC;IAChC,UAAU,CAAU;IACpB,YAAY,CAAiD;IAC7D,kBAAkB,CAA+D;IACjF,eAAe,GAAiE,SAAS,CAAC;IAC1F,cAAc,CAAkB;IAChC,SAAS,CAAqB;IAC9B,UAAU,CAAc;IACxB,UAAU,CAAqB;IAC/B,WAAW,CAAY;IACvB,iBAAiB,GAAoC,IAAI,GAAG,EAAE,CAAC;IAC/D,eAAe,GAAmD,IAAI,GAAG,EAAE,CAAC;IAE5E,iBAAiB,CAAC,GAAqC;QACrD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACxC,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC;QACzC,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,UAAU,CAAC;QAC3C,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,MAAM,CAAC;QACnC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,WAAW,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uBAAuB,CAAC,OAAe;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,IAAI,KAAK,GAAuB,SAAS,CAAC;QAC1C,IAAI,OAAO,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACnC,KAAK,GAAG,oBAAoB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,6DAA6D,OAAO,QAAQ,OAAO,EAAE,CAAC;QAC/I,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,KAAK,GAAG,oBAAoB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,0BAA0B,CAAC;QACpF,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,KAAK,GAAG,KAAK,GAAG,sCAAsC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtF,CAAC;YACD,MAAM,IAAI,wCAAgC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAwB;QACnC,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,aAAa,CAAC,OAAmB;QAC/B,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,OAA0B;QACtC,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,iBAAiB,CAAC,KAAqB;QACrC,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,GAAY,KAAK,CAAC;IAEtB,MAAM,CAAC,KAAW,EAAE,IAAU;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,YAAY,CAAC;QAC/E,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,gBAAgB;QACd,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAS,CAAe,CAAC;QAE3D,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC,YAAY,CAAC;QACzB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,iBAAS,CAAsB,CAAC;QAC7E,OAAO,GAAG,EAAE,YAAY,IAAI,EAAE,CAAC;IACjC,CAAC;CACF;AAzGD,gDAyGC;AAED,SAAS,qBAAqB,CAAC,IAAwB,EAAE,IAAY;IACnE,MAAM,IAAI,GAAG,4BAA4B,CAAC,IAAI,CAAC,WAA6B,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,wCAAgC,CACxC,yBAAyB,IAAI,CAAC,WAAW,CAAC,IAAI,gBAAgB,IAAI,iEAAiE,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjM,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,YAAY,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,MAAsB,kBAAkB;IAC7B,IAAI,CAAS;IACtB,YAAY,IAAY;QACtB,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,uBAAuB,IAAI,kFAAkF,CAC9G,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IACD;;;OAGG;IACH,UAAU,CAAC,IAAiB;QAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAlBD,gDAkBC;AAED,MAAa,iBAAiB;IAC5B,IAAI,GAAW,EAAE,CAAC;IAClB,gBAAgB,GAAY,IAAI,CAAC;IAEjC,sEAAsE;IACtE,WAAW,GAA2C,EAAE,CAAC;IAEzD,oBAAoB,GAAwC,IAAI,GAAG,EAAE,CAAC;IAEtE,mBAAmB,GAAoC,IAAI,GAAG,EAAE,CAAC;IACjE,yBAAyB,GAA0B,IAAI,GAAG,EAAE,CAAC;IAE7D,iBAAiB,GAAoC,IAAI,GAAG,EAAE,CAAC;IAC/D,eAAe,GAAmD,IAAI,GAAG,EAAE,CAAC;IAE5E,iBAAiB,CAAC,GAAqC;QACrD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACxC,CAAC;IAED,gBAAe,CAAC;CACjB;AAvBD,8CAuBC;AAED,MAAM,YAAa,SAAQ,KAAK;IAC9B;QACE,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,sCAAsC;IACrF,CAAC;IAED,aAAa,CAAC,SAAiB,CAAC;QAC9B,OAAO,IAAI,CAAC,KAAK;YACf,EAAE,KAAK,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAyB;IAC/E,CAAC;CACF;AAED,IAAI,eAAe,GAAyB,SAAS,CAAC;AACtD,SAAgB,gBAAgB;IAC9B,eAAe,GAAG,IAAI,YAAY,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,oDAAoD;AAC7G,CAAC;AAFD,4CAEC;AACD,SAAgB,kBAAkB;IAChC,eAAe,GAAG,SAAS,CAAC;AAC9B,CAAC;AAFD,gDAEC;AAED,SAAgB,uBAAuB;IACrC,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,IAAI,wCAAgC,CACxC,gFAAgF,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC/G,CAAC;IACJ,CAAC;AACH,CAAC;AAND,0DAMC;AAED,kGAAkG;AAClG,MAAM,oBAAoB,GAAkE,IAAI,GAAG,EAAE,CAAC;AACtG,SAAgB,4BAA4B,CAAC,IAAa;IACxD,IAAI,EAAE,GAAW,EAAE,CAAC;IACpB,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,SAAS,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAND,oEAMC;AACD,SAAgB,uBAAuB,CAAC,IAAa;IACnD,IAAI,EAAE,GAAW,EAAE,CAAC;IACpB,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAND,0DAMC;AACD,SAAgB,uBAAuB,CAAC,IAAa,EAAE,GAAoD;IACzG,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAFD,0DAEC;AACD,SAAgB,0BAA0B,CAAC,IAAa;IACtD,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAFD,gEAEC;AAED,SAAgB,uBAAuB,CAAC,MAAc;IACpD,MAAM,oBAAoB,GAA6B,EAAE,CAAC;IAE1D,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,mBAAmB;QACnB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChD,QAAQ,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,GAAuB,MAAM,CAAC;QACzC,OAAO,OAAO,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;YACvC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,oBAAoB,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAuB,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAnBD,0DAmBC;AAED,SAAgB,kCAAkC,CAAC,MAAc;IAC/D,MAAM,oBAAoB,GAA6B,EAAE,CAAC;IAC1D,MAAM,GAAG,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AALD,gFAKC;AAED,SAAgB,qBAAqB,CAAC,OAAe,EAAE,OAAe;IACpE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;IACjD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAJD,sDAIC;AAED,KAAK;AACL,yCAAyC;AACzC,KAAK;AACQ,QAAA,wBAAwB,GAA8C,IAAI,GAAG,EAAE,CAAC;AAE7F,sCAAsC;AACtC,SAAgB,+BAA+B,CAAC,IAAY,EAAE,EAAgC;IAC5F,IAAI,gCAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,gCAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,wCAAgC,CAAC,yBAAyB,IAAI,wBAAwB,CAAC,CAAC;QACpG,CAAC;QACD,OAAO;IACT,CAAC;IACD,uBAAuB,EAAE,CAAC;IAC1B,gCAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AATD,0EASC;AAED,SAAgB,0BAA0B,CAAC,IAAY;IACrD,IAAI,gCAAwB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,gCAAwB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IACnF,MAAM,IAAI,8BAAsB,CAAC,IAAI,EAAE,gBAAgB,IAAI,qBAAqB,CAAC,CAAC;AACpF,CAAC;AAHD,gEAGC;AAED,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAChF,4EAA4E;AAC5E,uBAAuB;AACvB,gFAAgF;AAEhF,MAAM,oBAAoB,GAAmC,IAAI,GAAG,EAAE,CAAC;AAEvE,SAAgB,iCAAiC,CAC/C,MAA0B,EAC1B,SAA6B,EAC7B,QAAyB,EACzB,IAAsC;IAEtC,IAAI,SAAS,GAAG,MAAM,CAAC;IACvB,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACjD,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC;IACpC,CAAC;IAED,SAAS,GAAG,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjE,MAAM,IAAI,GAAG,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAEnD,IAAI,WAAW,GAAkC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,sEAAsE;QACtE,IAAI,gBAAgB,GAA2B,SAAS,CAAC;QACzD,IAAI,MAAM,EAAE,CAAC;YACX,sEAAsE;YACtE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,EAAE,QAAQ,CAA2B,CAAC;QAC1G,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBACnC,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACrE,sEAAsE;gBACtE,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,KAAiB,CAAC,CAAC;gBAC5D,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAzCD,8EAyCC;AAED,SAAS,6BAA6B,CACpC,MAA0B,EAC1B,SAA6B,EAC7B,WAA4B,EAC5B,IAAoD,EACpD,WAAoB;IAEpB,IAAI,SAAS,GAA+B,SAAS,CAAC;IACtD,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,qBAAqB;YACrB,SAAS,GAAG,MAAwB,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,SAAS,GAAG,MAAM,CAAC,WAA6B,CAAC;YACjD,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,SAAS;YAAE,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,kBAAkB,CAAqB,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IACtH,CAAC;IACD,MAAM,OAAO,GAA2C,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CACvF,KAAK,CACqC,CAAC;IAE7C,6DAA6D;IAC7D,2GAA2G;IAC3G,+DAA+D;IAC/D,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;QAChC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QACrB,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE5B,OAAO,CAAC,IAAI,GAAG,iCAAiC,CAC9C,MAAM,EACN,SAAS,EACT,WAAW,EACX,IAAuC,CACxC,CAAC;QAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAC9B,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,KAAK,WAAuB,GAAG,OAAa;YAChE,IAAI,aAAa,GAAG,OAAO,CAAC;YAC5B,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACjC,aAAa,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAS,CAAC;YAC1D,CAAC;YAED,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,aAAa,CAAC,CAAC;QAC3D,CAAC,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE;YAC3C,KAAK,EAAE,OAAO,CAAC,IAAI;SACpB,CAAC,CAAC;QAEH,OAAO,CAAC,kBAAkB,GAAG,aAAa,CAAC;QAE3C,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAA0D,CAAC,CAAC;QACjH,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAA0D,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,2BAA2B,CACzC,MAAc,EACd,WAAmB,EACnB,UAAmF;IAEnF,uBAAuB,EAAE,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,YAAY,GAAG,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5G,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,IAAI,YAAY,CAAC,kBAAkB,CAAC;IAEnF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACtC,CAAC;AAdD,kEAcC;AAED,SAAgB,iCAAiC,CAC/C,MAA0B,EAC1B,SAA6B,EAC7B,QAAgB,EAChB,IAAoD;IAEpD,uBAAuB,EAAE,CAAC;IAE1B,MAAM,YAAY,GAAG,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAE7F,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC;AAXD,8EAWC;AAUD,MAAM,aAAa,GAAmE,IAAI,GAAG,EAAE,CAAC;AAChG,MAAM,aAAa,GAAkE,IAAI,GAAG,EAAE,CAAC;AAC/F,SAAgB,eAAe,CAAC,IAAY;IAC1C,IAAI,SAAyB,CAAC;IAC9B,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,qBAAqB;QACrB,SAAS,GAAG,IAAsB,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,SAAS,GAAG,IAAI,CAAC,WAA6B,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC;IACzD,OAAO,aAAa,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC;AAC5C,CAAC;AAZD,0CAYC;AAED,SAAgB,0BAA0B;IACxC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAND,gEAMC;AAED,SAAgB,0BAA0B,CAAC,IAAY,EAAE,SAAkB,KAAK;IAC9E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,IAAI,8BAAsB,CAAC,IAAI,EAAE,UAAU,IAAI,qBAAqB,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GAAsB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC;IAE/D,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,gEAgBC;AAED,SAAgB,4BAA4B,CAAkD,IAAQ;IACpG,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,MAAM,GAAsB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC;IAE/D,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,oEAYC;AAED;;;;;;;;GAQG;AACH,SAAgB,+BAA+B,CAC7C,IAAuB,EACvB,IAAQ;IAER,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;AAC7C,CAAC;AATD,0EASC;AAED,SAAgB,0BAA0B,CACxC,QAA0C,EAC1C,GAA4B;IAE5B,MAAM,IAAI,GAAW,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAPD,gEAOC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,gCAAgC,CAC9C,IAAuB,EACvB,MAAc,EACd,WAAmB,EACnB,YAAqF;IAErF,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,2BAA2B,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACpG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,CAAC;AAC/F,CAAC;AAXD,4EAWC;AAED;;;GAGG;AACH,SAAgB,2BAA2B,CACzC,QAA0C,EAC1C,MAA0B,EAC1B,SAA6B,EAC7B,QAAgB,EAChB,IAAoD;IAKpD,MAAM,EAAE,YAAY,EAAE,GAAG,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9F,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,EAAE,CAAC;AAChF,CAAC;AAfD,kEAeC;AAED;;;GAGG;AACH,SAAgB,8BAA8B,CAC5C,QAA0C,EAC1C,MAA0B,EAC1B,SAA6B,EAC7B,QAAgB,EAChB,IAAkE,EAClE,OAAwB;IAExB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAE,CAAC,KAAuD,CAAC;IACpH,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,GAAG,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9F,IAAI,KAAkC,CAAC;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;AAC9C,CAAC;AA1BD,wEA0BC;AAED,SAAgB,2BAA2B,CACzC,QAA0C,EAC1C,GAAqB,EACrB,QAAiB;IAEjB,MAAM,GAAG,GAKH,EAAE,CAAC;IAET,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC;YACN,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC,EAAE,CAAC;oBACN,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC;YACrC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;IAEX,SAAS,kBAAkB,CAAC,CAAoD;QAC9E,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;YAClD,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB,CAAC,CAAyB;QACtD,MAAM,YAAY,GAAG,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,WAAW,GAA4D,EAAE,CAAC;QAChF,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,cAAc,GAAG,IAAI,CAAC;YAE7D,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,IAAI,CAAC,cAAc;YAAE,OAAO;QAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAvDD,kEAuDC;AAED,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;AAE1B,SAAgB,OAAO,CAAC,IAAY;IAClC,OAAO,UAAU,MAAc,EAAE,WAA4B,EAAE,cAAsB;QACnF,MAAM,kBAAkB,GAAG,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAE7F,MAAM,QAAQ,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACpD,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC;AAPD,0BAOC;AAED,uBAAuB;AACvB,sBAAsB;AACtB,uBAAuB;AAEvB,4BAA4B;AAC5B,SAAgB,iBAAiB,CAC/B,GAAwC,EACxC,IAAY,EACZ,GAAG,IAAO;IAEV,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAPD,8CAOC;AAED;;GAEG;AACH,sEAAsE;AACtE,SAAgB,WAAW,CAAC,WAAmD,EAAE;IAC/E,SAAS,MAAM,CAAiD,IAAO;QACrE,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAND,kCAMC;AAED,SAAgB,eAAe;IAC7B,SAAS,SAAS,CAChB,MAAc,EACd,WAAmB,EACnB,YAAqF;QAErF,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,2BAA2B,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QACpG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAXD,0CAWC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}