mnemonica 1.0.1 → 1.0.7

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 (99) hide show
  1. package/.ai/AGENTS.md +1 -1
  2. package/.ai/ONBOARDING.md +3 -2
  3. package/.ai/PROTOTYPE-CHAIN.md +122 -0
  4. package/.ai/TACTICA-DEEP-DIVE.md +52 -49
  5. package/.ai/TACTICA-RULES.md +8 -8
  6. package/.ai/ask/AGENTS.md +15 -9
  7. package/.ai/rules-skill/contributing.md +1 -1
  8. package/.ai/rules-skill/define-patterns.md +8 -2
  9. package/.ai/rules-skill/ecosystem.md +4 -4
  10. package/.ai/rules-skill/instance-methods.md +48 -15
  11. package/.ai/rules-skill/lookup-typed.md +17 -19
  12. package/.ai/rules-skill/type-system.md +12 -2
  13. package/AGENTS.md +25 -15
  14. package/CONTRIBUTING.md +8 -2
  15. package/FOR_HUMANS.md +193 -218
  16. package/README.md +84 -47
  17. package/SKILL.md +4 -4
  18. package/build/api/errors/exceptionConstructor.js +20 -12
  19. package/build/api/errors/index.js +9 -5
  20. package/build/api/errors/throwModificationError.js +15 -9
  21. package/build/api/index.js +35 -2
  22. package/build/api/types/InstanceCreator.js +5 -2
  23. package/build/api/types/Mnemosyne.d.ts +6 -6
  24. package/build/api/types/Mnemosyne.js +43 -120
  25. package/build/api/types/Props.js +5 -3
  26. package/build/api/types/TypeProxy.js +13 -9
  27. package/build/api/types/compileNewModificatorFunctionBody.js +14 -8
  28. package/build/api/types/createInstanceModificator.js +1 -1
  29. package/build/api/types/index.js +56 -13
  30. package/build/api/utils/index.js +21 -12
  31. package/build/constants/index.js +11 -8
  32. package/build/descriptors/types/index.js +79 -26
  33. package/build/index.d.ts +9 -10
  34. package/build/index.js +65 -25
  35. package/build/types/index.d.ts +76 -32
  36. package/build/types/index.js +1 -1
  37. package/build/utils/clone.d.ts +1 -0
  38. package/build/utils/clone.js +11 -0
  39. package/build/utils/collectConstructors.js +5 -3
  40. package/build/utils/exception.d.ts +1 -0
  41. package/build/utils/exception.js +14 -0
  42. package/build/utils/extract.d.ts +2 -3
  43. package/build/utils/extract.js +3 -2
  44. package/build/utils/fork.d.ts +1 -0
  45. package/build/utils/fork.js +33 -0
  46. package/build/utils/index.d.ts +2 -3
  47. package/build/utils/index.js +21 -7
  48. package/build/utils/merge.d.ts +2 -1
  49. package/build/utils/merge.js +10 -6
  50. package/build/utils/parent.d.ts +4 -1
  51. package/build/utils/parent.js +7 -7
  52. package/build/utils/parse.d.ts +2 -12
  53. package/build/utils/parse.js +1 -1
  54. package/build/utils/pick.d.ts +4 -3
  55. package/build/utils/pick.js +4 -5
  56. package/build/utils/sibling.d.ts +1 -0
  57. package/build/utils/sibling.js +25 -0
  58. package/build/utils/toJSON.d.ts +1 -1
  59. package/build/utils/toJSON.js +3 -2
  60. package/docs/UTILS.md +184 -0
  61. package/docs/ai-learning-trajectory.md +9 -9
  62. package/docs/async-constructors.md +21 -1
  63. package/docs/empathy-in-ai.md +170 -0
  64. package/docs/hott-primer.md +47 -0
  65. package/docs/performance-vs-security.md +2 -2
  66. package/docs/prototype-chain.md +127 -0
  67. package/docs/purpose.md +42 -11
  68. package/docs/tactica-pattern.md +20 -20
  69. package/docs/theory-of-operations.md +224 -0
  70. package/docs/typed-lookup.md +30 -26
  71. package/module/index.js +0 -1
  72. package/package.json +13 -7
  73. package/src/api/errors/exceptionConstructor.ts +14 -9
  74. package/src/api/errors/index.ts +8 -4
  75. package/src/api/errors/throwModificationError.ts +10 -9
  76. package/src/api/types/InstanceCreator.ts +5 -8
  77. package/src/api/types/Mnemosyne.ts +72 -231
  78. package/src/api/types/Props.ts +4 -2
  79. package/src/api/types/TypeProxy.ts +7 -11
  80. package/src/api/types/compileNewModificatorFunctionBody.ts +13 -7
  81. package/src/api/types/createInstanceModificator.ts +13 -0
  82. package/src/api/types/index.ts +15 -8
  83. package/src/api/utils/index.ts +16 -14
  84. package/src/constants/index.ts +6 -9
  85. package/src/descriptors/types/index.ts +45 -25
  86. package/src/index.ts +60 -71
  87. package/src/types/index.ts +188 -70
  88. package/src/utils/clone.ts +11 -0
  89. package/src/utils/collectConstructors.ts +4 -2
  90. package/src/utils/exception.ts +16 -0
  91. package/src/utils/extract.ts +5 -2
  92. package/src/utils/fork.ts +57 -0
  93. package/src/utils/index.ts +32 -13
  94. package/src/utils/merge.ts +18 -6
  95. package/src/utils/parent.ts +16 -7
  96. package/src/utils/parse.ts +5 -4
  97. package/src/utils/pick.ts +10 -2
  98. package/src/utils/sibling.ts +33 -0
  99. package/src/utils/toJSON.ts +3 -2
@@ -1,14 +1,16 @@
1
1
  'use strict';
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.CreationHandler = void 0;
4
7
  const constants_1 = require("../../constants");
5
8
  const errors_1 = require("../../descriptors/errors");
6
- const utils_1 = require("../../utils");
9
+ const collectConstructors_1 = require("../../utils/collectConstructors");
7
10
  const { odp, SymbolConstructorName, MNEMONICA, MNEMOSYNE, } = constants_1.constants;
8
11
  const { WRONG_TYPE_DEFINITION, } = errors_1.ErrorsTypes;
9
- const { collectConstructors } = utils_1.utils;
10
12
  const Props_1 = require("../types/Props");
11
- const compileNewModificatorFunctionBody_1 = require("../types/compileNewModificatorFunctionBody");
13
+ const compileNewModificatorFunctionBody_1 = __importDefault(require("../types/compileNewModificatorFunctionBody"));
12
14
  const CreationHandler = function (constructionAnswer) {
13
15
  return constructionAnswer;
14
16
  };
@@ -27,10 +29,12 @@ const getTypeChecker = (TypeName) => {
27
29
  return false;
28
30
  }
29
31
  if (Reflect.getPrototypeOf(instance).constructor.name === 'Promise') {
30
- return instance[SymbolConstructorName] === TypeName;
32
+ const checkResult = instance[SymbolConstructorName] === TypeName;
33
+ return checkResult;
31
34
  }
32
- const constructors = collectConstructors(instance);
33
- return constructors[TypeName] || false;
35
+ const constructors = (0, collectConstructors_1.collectConstructors)(instance);
36
+ const constructorResult = constructors[TypeName] || false;
37
+ return constructorResult;
34
38
  };
35
39
  return seeker;
36
40
  };
@@ -107,13 +111,15 @@ const findSubTypeFromParent = (instance, subType) => {
107
111
  };
108
112
  const isClass = (fn) => {
109
113
  const str = String(fn);
110
- return str.indexOf('class ') === 0;
114
+ const result = str.indexOf('class ') === 0;
115
+ return result;
111
116
  };
112
117
  const makeErrorModificatorType = (TypeName, ErrorModificator = function () { }) => {
113
118
  const modificatorBody = (0, compileNewModificatorFunctionBody_1.default)(TypeName);
114
119
  const modificatorType = modificatorBody(ErrorModificator, exports.CreationHandler, SymbolConstructorName);
115
120
  const result = modificatorType();
116
- return result;
121
+ const constructorResult = result;
122
+ return constructorResult;
117
123
  };
118
124
  const reflectPrimitiveWrappers = (_thisArg) => {
119
125
  let thisArg = _thisArg;
@@ -121,9 +127,10 @@ const reflectPrimitiveWrappers = (_thisArg) => {
121
127
  thisArg = Object.create(null);
122
128
  odp(thisArg, Symbol.toPrimitive, {
123
129
  get() {
124
- return () => {
130
+ const result = () => {
125
131
  return _thisArg;
126
132
  };
133
+ return result;
127
134
  }
128
135
  });
129
136
  }
@@ -132,9 +139,11 @@ const reflectPrimitiveWrappers = (_thisArg) => {
132
139
  _thisArg instanceof String) {
133
140
  odp(thisArg, Symbol.toPrimitive, {
134
141
  get() {
135
- return () => {
136
- return _thisArg.valueOf();
142
+ const result = () => {
143
+ const valueResult = _thisArg.valueOf();
144
+ return valueResult;
137
145
  };
146
+ return result;
138
147
  }
139
148
  });
140
149
  }
@@ -152,4 +161,4 @@ const TypesUtils = {
152
161
  reflectPrimitiveWrappers,
153
162
  };
154
163
  exports.default = TypesUtils;
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsK0NBQTRDO0FBQzVDLHFEQUF1RDtBQUN2RCx1Q0FBb0M7QUFFcEMsTUFBTSxFQUNMLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULFNBQVMsR0FDVCxHQUFHLHFCQUFTLENBQUM7QUFFZCxNQUFNLEVBQUUscUJBQXFCLEdBQUcsR0FBRyxvQkFBVyxDQUFDO0FBRS9DLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxHQUFHLGFBQUssQ0FBQztBQUV0QywwQ0FFd0I7QUFHeEIsa0dBQWlIO0FBSTFHLE1BQU0sZUFBZSxHQUFHLFVBQTJELGtCQUEyQjtJQUNwSCxPQUFPLGtCQUFrQixDQUFDO0FBQzNCLENBQUMsQ0FBQztBQUZXLFFBQUEsZUFBZSxtQkFFMUI7QUFFRixNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO0lBQ3JDLElBQUksQ0FBQyxDQUFDLEtBQUssWUFBWSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7QUFDRixDQUFDLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUMzQyxNQUFNLE1BQU0sR0FBWSxDQUFDLFFBQWdCLEVBQUUsRUFBRTtRQUU1QyxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUdELElBQUksQ0FBQyxRQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBR0QsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJ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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5jb25zdCB7XG5cdG9kcCxcblx0U3ltYm9sQ29uc3RydWN0b3JOYW1lLFxuXHRNTkVNT05JQ0EsXG5cdE1ORU1PU1lORSxcbn0gPSBjb25zdGFudHM7XG5cbmNvbnN0IHsgV1JPTkdfVFlQRV9ERUZJTklUSU9OLCB9ID0gRXJyb3JzVHlwZXM7XG5cbmNvbnN0IHsgY29sbGVjdENvbnN0cnVjdG9ycyB9ID0gdXRpbHM7XG5cbmltcG9ydCB7XG5cdF9nZXRQcm9wcywgUHJvcHMgXG59IGZyb20gJy4uL3R5cGVzL1Byb3BzJztcbmltcG9ydCB0eXBlIHsgTW5lbW9uaWNhQ29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCBjb21waWxlTmV3TW9kaWZpY2F0b3JGdW5jdGlvbkJvZHksIHsgQ29uc3RydWN0SGFuZGxlciB9IGZyb20gJy4uL3R5cGVzL2NvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSc7XG5cbi8vIENyZWF0aW9uSGFuZGxlciAtIGhhbmRsZXMgY29uc3RydWN0b3IgcmV0dXJuIHZhbHVlc1xuLy8gTW92ZWQgdG8gYXBpL3R5cGVzL2luZGV4LnRzIGFzIHBlciByZWZhY3RvcmluZyBwbGFuXG5leHBvcnQgY29uc3QgQ3JlYXRpb25IYW5kbGVyID0gZnVuY3Rpb24gKHRoaXM6IG9iamVjdCAmIHsgY29uc3RydWN0b3I6IE5ld2FibGVGdW5jdGlvbiB9LCBjb25zdHJ1Y3Rpb25BbnN3ZXI6IHVua25vd24pIHtcblx0cmV0dXJuIGNvbnN0cnVjdGlvbkFuc3dlcjtcbn07XG5cbmNvbnN0IGNoZWNrUHJvdG8gPSAocHJvdG86IHVua25vd24pID0+IHtcblx0aWYgKCEocHJvdG8gaW5zdGFuY2VvZiBPYmplY3QpKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignZXhwZWN0IHByb3RvdHlwZSB0byBiZSBhbiBvYmplY3QnKTtcblx0fVxufTtcblxuY29uc3QgZ2V0VHlwZUNoZWNrZXIgPSAoVHlwZU5hbWU6IHN0cmluZykgPT4ge1xuXHRjb25zdCBzZWVrZXI6IHVua25vd24gPSAoaW5zdGFuY2U6IG9iamVjdCkgPT4ge1xuXG5cdFx0aWYgKHR5cGVvZiBpbnN0YW5jZSAhPT0gJ29iamVjdCcpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQgXG5cdFx0aWYgKCFpbnN0YW5jZSEuY29uc3RydWN0b3IpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0IFxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgSSdtIHRvbyBsYXp5IGZvciB0aGF0XG5cdFx0aWYgKFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdQcm9taXNlJykge1xuXHRcdFx0Ly8gaWYgKCBpbnN0YW5jZSBpbnN0YW5jZW9mIFByb21pc2UgKSB7XG5cdFx0XHQgXG5cdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIEknbSB0b28gbGF6eSBmb3IgdGhhdFxuXHRcdFx0cmV0dXJuIGluc3RhbmNlWyBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgXSA9PT0gVHlwZU5hbWU7XG5cdFx0fVxuXG5cdFx0Y29uc3QgY29uc3RydWN0b3JzOiB7XG5cdFx0XHRzdHJpbmc6IG5ldyAoKSA9PiB1bmtub3duXG5cdFx0fSA9IGNvbGxlY3RDb25zdHJ1Y3RvcnMoaW5zdGFuY2UpO1xuXHRcdCBcblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIEknbSB0b28gbGF6eSBmb3IgdGhhdFxuXHRcdHJldHVybiBjb25zdHJ1Y3RvcnNbIFR5cGVOYW1lIF0gfHwgZmFsc2U7XG5cblx0fTtcblx0cmV0dXJuIHNlZWtlcjtcbn07XG5cbmNvbnN0IGdldFR5cGVTcGxpdFBhdGggPSAocGF0aDogc3RyaW5nKSA9PiB7XG5cdGNvbnN0IHNwbGl0ID0gcGF0aFxuXHRcdC8vIGJlYXV0aWZ1bGwgbmFtZXNcblx0XHQucmVwbGFjZShcblx0XHRcdC9cXG58XFx0fCAvZyxcblx0XHRcdCcnXG5cdFx0KVxuXHRcdC5yZXBsYWNlKFxuXHRcdFx0L1xcWyhcXHcrKVxcXS9nLFxuXHRcdFx0Jy4kMSdcblx0XHQpXG5cdFx0LnJlcGxhY2UoXG5cdFx0XHQvXlxcLi8sXG5cdFx0XHQnJ1xuXHRcdClcblx0XHQuc3BsaXQoL1xcLnxcXC98Oi8pO1xuXHRyZXR1cm4gc3BsaXQ7XG59O1xuXG5leHBvcnQgdHlwZSBhc3luY1N0YWNrID0ge1xuXHRfX3N0YWNrX18/OiBzdHJpbmdcblx0X190eXBlX186IHtcblx0XHRpc1N1YlR5cGU6IGJvb2xlYW5cblx0fVxuXHRwYXJlbnQ6ICgpID0+IGFzeW5jU3RhY2tcbn1cblxuY29uc3QgZ2V0RXhpc3RlbnRBc3luY1N0YWNrID0gKGV4aXN0ZW50SW5zdGFuY2U6IGFzeW5jU3RhY2spOiB1bmtub3duID0+IHtcblxuXHRjb25zdCBzdGFjayA9IFtdO1xuXHRsZXQgcHJvdG8gPSBleGlzdGVudEluc3RhbmNlO1xuXG5cdHdoaWxlIChwcm90bykge1xuXG5cdFx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMocHJvdG8pIGFzIFByb3BzO1xuXG5cdFx0aWYgKCFwcm9wcy5fX3N0YWNrX18pIHtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblxuXHRcdGNvbnN0IHBzdGFjayA9IHByb3BzXG5cdFx0XHQuX19zdGFja19fXG5cdFx0XHQuc3BsaXQoJ1xcbicpXG5cdFx0XHQucmVkdWNlKFxuXHRcdFx0XHQoYXJyOiBzdHJpbmdbXSwgbGluZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdFx0aWYgKGxpbmUubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRhcnIucHVzaChsaW5lKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGFycjtcblx0XHRcdFx0fSxcblx0XHRcdFx0W11cblx0XHRcdCk7XG5cblx0XHRwcm90byA9IHByb3RvLnBhcmVudCgpO1xuXG5cdFx0Y29uc3QgcHJvdG9Qcm9wcyA9IF9nZXRQcm9wcyhwcm90bykgYXMgUHJvcHM7XG5cblx0XHRpZiAocHJvdG8gJiYgcHJvdG9Qcm9wcyAmJiBwcm90b1Byb3BzLl9fdHlwZV9fKSB7XG5cblx0XHRcdGlmIChwcm90b1Byb3BzLl9fdHlwZV9fLmlzU3ViVHlwZSkge1xuXHRcdFx0XHRzdGFjay5wdXNoKC4uLnBzdGFjay5zbGljZShcblx0XHRcdFx0XHQwLFxuXHRcdFx0XHRcdDFcblx0XHRcdFx0KSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzdGFjay5wdXNoKC4uLnBzdGFjayk7XG5cdFx0XHR9XG5cblx0XHR9IGVsc2Uge1xuXHRcdFx0c3RhY2sucHVzaCguLi5wc3RhY2spO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHN0YWNrO1xuXG59O1xuXG5jb25zdCBmb3JiaWRkZW5OYW1lcyA9IFsgTU5FTU9OSUNBLCBNTkVNT1NZTkUgXTtcblxuY29uc3QgY2hlY2tUeXBlTmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IHtcblxuXHRpZiAoIW5hbWUubGVuZ3RoKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcblx0fVxuXG5cdGlmIChuYW1lWyAwIF0gIT09IG5hbWVbIDAgXS50b1VwcGVyQ2FzZSgpKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgc2hvdWxkIHN0YXJ0IHdpdGggVXBwZXJjYXNlIExldHRlcicpO1xuXHR9XG5cblx0aWYgKGZvcmJpZGRlbk5hbWVzLmluY2x1ZGVzKG5hbWUpKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgb2YgcmVzZXJ2ZWQga2V5d29yZCcpO1xuXHR9XG5cbn07XG5cbmV4cG9ydCB0eXBlIHBhcmVudFN1YiA9IHtcblx0VHlwZU5hbWU6IHN0cmluZztcblx0X190eXBlX186IHtcblx0XHRzdWJ0eXBlczogTWFwPHN0cmluZywgcGFyZW50U3ViPlxuXHR9XG5cdF9fcGFyZW50X186IHBhcmVudFN1YlxufVxuXG5jb25zdCBmaW5kU3ViVHlwZUZyb21QYXJlbnQgPSAoaW5zdGFuY2U6IHBhcmVudFN1YiB8IG9iamVjdCB8IHVuZGVmaW5lZCwgc3ViVHlwZTogc3RyaW5nKTogcGFyZW50U3ViIHwgbnVsbCA9PiB7XG5cdGxldCBzdWJ0eXBlID0gbnVsbDtcblxuXHRpZiAoIWluc3RhbmNlKSB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblxuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSkgYXMgUHJvcHM7XG5cblx0aWYgKHByb3BzKSB7XG5cdFx0aWYocHJvcHMuX190eXBlX18uc3VidHlwZXMuaGFzKHN1YlR5cGUpKSB7XG5cdFx0XHRjb25zdCBfc3VidHlwZSA9IHByb3BzLl9fdHlwZV9fLnN1YnR5cGVzLmdldChzdWJUeXBlKTtcblx0XHRcdHN1YnR5cGUgPSBfc3VidHlwZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VidHlwZSA9IGZpbmRTdWJUeXBlRnJvbVBhcmVudChcblx0XHRcdFx0cHJvcHMuX19wYXJlbnRfXyxcblx0XHRcdFx0c3ViVHlwZVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblx0IFxuXHQvLyBAdHMtZXhwZWN0LWVycm9yIEknbSB0b28gbGF6eSBmb3IgdGhhdFxuXHRyZXR1cm4gc3VidHlwZTtcbn07XG5cbi8vIGNvbnN0IGlzQ2xhc3MgPSAoIGZ1bmN0aW9uUG9pbnRlcjogQ2FsbGFibGVGdW5jdGlvbiApID0+IHtcbi8vIFx0Y29uc3QgdmFsdWUgPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCggZnVuY3Rpb25Qb2ludGVyICk7XG4vLyBcdHJldHVybiAvXlxccypjbGFzc1xccysvLnRlc3QoIHZhbHVlLnRyaW0oKSApO1xuLy8gfTtcblxuLy8gYWNjb3JkaW5nbHkgdG8gdGhlIGdpc3QgZnJvbSBoZXJlOlxuLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vd2VudG91dC9lYTNhZmU5YzgyMmE2YjZlZjMyZjllNGYzZTk4YjFiYVxuY29uc3QgaXNDbGFzcyA9IChmbjogQ29uc3RydWN0SGFuZGxlcikgPT4ge1xuXHRcblx0Y29uc3Qgc3RyID0gU3RyaW5nKGZuKTtcblx0cmV0dXJuIHN0ci5pbmRleE9mKCdjbGFzcyAnKSA9PT0gMDtcblxuXHQvKlxuXG5cdC8vIG5vdCBuZWNlc3NhcnkgdG8gY2hlY2sgZm4gZm9yIHR5cGVvZlxuXHQvLyBiZWNhdXNlIG9mIG90aGVyIGNoZWNrcyBtYWRlIGJlZm9yZVxuXHQvLyBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG5cdC8vIFx0cmV0dXJuIGZhbHNlO1xuXHQvLyB9XG5cblx0Ly8gc2VlbWluZ2x5XG5cdC8vIGNsYXNzIHByb3RvdHlwZSBpcyBhbHdheXMgb2JqZWN0XG5cdGlmICghKGZuLnByb3RvdHlwZSBpbnN0YW5jZW9mIE9iamVjdCkpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0Ly8gYnV0IG9ubHkgaWYgbm90IGF1Z21lbnRlZFxuXG5cdC8vIGNsYXNzIHByb3RvdHlwZS5jb25zdHJ1Y3RvciBjYW5ub3QgYmUgcmUtZGVmaW5lZCAodXN1YWxseSlcblx0Ly8gYnV0IGZvciBmdW5jdGlvbnMgdXNlciBtYXkgcmUtYXNzaWduIGl0IGVhc2lseVxuXHQvLyBqdXN0IGFzc2lnbmluZyB0aGUgd2F5IC5wcm90b3R5cGUgPSB7fVxuXHQvLyBhbmQgdGhleSA5OS45JSBkbyB0aGlzLCBjYXVzZSBub2JvZHkgY2FyZXNcblx0Ly8gYnV0IHdlIGFyZSBjaGVja2luZyBpZiB0aGlzIGlzIGNsYXNzLCBzbyBpdCB3b3JrcyAuLi5cblx0aWYgKGZuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gZm4pIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvLyBhbmQgdGhlIG1vc3QgdW5rbm93biB0aGluZyBpcyB0aGF0LFxuXHQvLyBjYXVzZSBmb3IgZnVuY3Rpb25zIGl0IGl0IHdyaXRlYWJsZSApKSlcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cblx0cmV0dXJuIFJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuLCAncHJvdG90eXBlJykhLndyaXRhYmxlID09PSBmYWxzZTtcblxuXHQqL1xufTtcblxuY29uc3QgbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlID0gKFxuXHRUeXBlTmFtZTogc3RyaW5nLFxuXHRFcnJvck1vZGlmaWNhdG9yID0gZnVuY3Rpb24gKCkgeyB9XG4pOiBNbmVtb25pY2FDb25zdHJ1Y3RvciA9PiB7XG5cblx0Y29uc3QgbW9kaWZpY2F0b3JCb2R5ID0gY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5KFR5cGVOYW1lKTtcblxuXHQvLyBDcmVhdGlvbkhhbmRsZXIgaXMgbm93IGRlZmluZWQgbG9jYWxseSBpbiBhcGkvdHlwZXMvaW5kZXgudHNcblx0Y29uc3QgbW9kaWZpY2F0b3JUeXBlID0gbW9kaWZpY2F0b3JCb2R5KFxuXHRcdEVycm9yTW9kaWZpY2F0b3IsXG5cdFx0Q3JlYXRpb25IYW5kbGVyLFxuXHRcdFN5bWJvbENvbnN0cnVjdG9yTmFtZVxuXHQpO1xuXG5cdGNvbnN0IHJlc3VsdCA9IG1vZGlmaWNhdG9yVHlwZSgpO1xuXHRyZXR1cm4gcmVzdWx0IGFzIE1uZW1vbmljYUNvbnN0cnVjdG9yO1xuXG59O1xuXG5cbi8vIFRPRE86IC52YWx1ZU9mKCksIC50b1N0cmluZygpID8/P1xuY29uc3QgcmVmbGVjdFByaW1pdGl2ZVdyYXBwZXJzID0gKF90aGlzQXJnOiB1bmtub3duKSA9PiB7XG5cdGxldCB0aGlzQXJnOiBvYmplY3QgPSBfdGhpc0FyZyBhcyBvYmplY3Q7XG5cblx0aWYgKF90aGlzQXJnID09PSBudWxsKSB7XG5cdFx0dGhpc0FyZyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cdFx0b2RwKFxuXHRcdFx0dGhpc0FyZyxcblx0XHRcdFN5bWJvbC50b1ByaW1pdGl2ZSxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzQXJnO1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHQpO1xuXHR9XG5cblx0aWYgKFxuXHRcdF90aGlzQXJnIGluc3RhbmNlb2YgTnVtYmVyIHx8XG5cdFx0X3RoaXNBcmcgaW5zdGFuY2VvZiBCb29sZWFuIHx8XG5cdFx0X3RoaXNBcmcgaW5zdGFuY2VvZiBTdHJpbmdcblx0KSB7XG5cdFx0b2RwKFxuXHRcdFx0dGhpc0FyZyxcblx0XHRcdFN5bWJvbC50b1ByaW1pdGl2ZSxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIChfdGhpc0FyZyBhcyBTdHJpbmcgfCBOdW1iZXIgfCBCb29sZWFuKS52YWx1ZU9mKCk7XG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdCk7XG5cdH1cblxuXHRyZXR1cm4gdGhpc0FyZztcbn07XG5cbmNvbnN0IFR5cGVzVXRpbHMgPSB7XG5cdGlzQ2xhc3MsXG5cdGNoZWNrUHJvdG8sXG5cdGdldFR5cGVDaGVja2VyLFxuXHRnZXRUeXBlU3BsaXRQYXRoLFxuXHRnZXRFeGlzdGVudEFzeW5jU3RhY2ssXG5cdGNoZWNrVHlwZU5hbWUsXG5cdGZpbmRTdWJUeXBlRnJvbVBhcmVudCxcblx0bWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlLFxuXHRyZWZsZWN0UHJpbWl0aXZlV3JhcHBlcnMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBUeXBlc1V0aWxzO1xuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7O0FBRWIsK0NBQTRDO0FBQzVDLHFEQUF1RDtBQUN2RCx5RUFBc0U7QUFFdEUsTUFBTSxFQUNMLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULFNBQVMsR0FDVCxHQUFHLHFCQUFTLENBQUM7QUFFZCxNQUFNLEVBQUUscUJBQXFCLEdBQUcsR0FBRyxvQkFBVyxDQUFDO0FBRS9DLDBDQUV3QjtBQUd4QixtSEFBaUg7QUFJMUcsTUFBTSxlQUFlLEdBQUcsVUFBMkQsa0JBQTJCO0lBQ3BILE9BQU8sa0JBQWtCLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBRlcsUUFBQSxlQUFlLG1CQUUxQjtBQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUU7SUFDckMsSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLHFCQUFxQixDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDckUsQ0FBQztBQUNGLENBQUMsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFO0lBQzNDLE1BQU0sTUFBTSxHQUFZLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1FBRTVDLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBR0QsSUFBSSxDQUFDLFFBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFHRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUlyRSxNQUFNLFdBQVcsR0FB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Q0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHO0lBQ2xCLE9BQU87SUFDUCxVQUFVO0lBQ1YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsd0JBQXdCO0NBQ3hCLENBQUM7QUFFRixrQkFBZSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFcnJvcnNUeXBlcyB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3JzL2Vycm9ycyc7XG5pbXBvcnQgeyBjb2xsZWN0Q29uc3RydWN0b3JzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sbGVjdENvbnN0cnVjdG9ycyc7XG5cbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsXG5cdE1ORU1PTklDQSxcblx0TU5FTU9TWU5FLFxufSA9IGNvbnN0YW50cztcblxuY29uc3QgeyBXUk9OR19UWVBFX0RFRklOSVRJT04sIH0gPSBFcnJvcnNUeXBlcztcblxuaW1wb3J0IHtcblx0X2dldFByb3BzLCBQcm9wcyBcbn0gZnJvbSAnLi4vdHlwZXMvUHJvcHMnO1xuaW1wb3J0IHR5cGUgeyBNbmVtb25pY2FDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IGNvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSwgeyBDb25zdHJ1Y3RIYW5kbGVyIH0gZnJvbSAnLi4vdHlwZXMvY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5JztcblxuLy8gQ3JlYXRpb25IYW5kbGVyIC0gaGFuZGxlcyBjb25zdHJ1Y3RvciByZXR1cm4gdmFsdWVzXG4vLyBNb3ZlZCB0byBhcGkvdHlwZXMvaW5kZXgudHMgYXMgcGVyIHJlZmFjdG9yaW5nIHBsYW5cbmV4cG9ydCBjb25zdCBDcmVhdGlvbkhhbmRsZXIgPSBmdW5jdGlvbiAodGhpczogb2JqZWN0ICYgeyBjb25zdHJ1Y3RvcjogTmV3YWJsZUZ1bmN0aW9uIH0sIGNvbnN0cnVjdGlvbkFuc3dlcjogdW5rbm93bikge1xuXHRyZXR1cm4gY29uc3RydWN0aW9uQW5zd2VyO1xufTtcblxuY29uc3QgY2hlY2tQcm90byA9IChwcm90bzogdW5rbm93bikgPT4ge1xuXHRpZiAoIShwcm90byBpbnN0YW5jZW9mIE9iamVjdCkpIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfVFlQRV9ERUZJTklUSU9OKCdleHBlY3QgcHJvdG90eXBlIHRvIGJlIGFuIG9iamVjdCcpO1xuXHR9XG59O1xuXG5jb25zdCBnZXRUeXBlQ2hlY2tlciA9IChUeXBlTmFtZTogc3RyaW5nKSA9PiB7XG5cdGNvbnN0IHNlZWtlcjogdW5rbm93biA9IChpbnN0YW5jZTogb2JqZWN0KSA9PiB7XG5cblx0XHRpZiAodHlwZW9mIGluc3RhbmNlICE9PSAnb2JqZWN0Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdCBcblx0XHRpZiAoIWluc3RhbmNlIS5jb25zdHJ1Y3Rvcikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHQgXG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciBJJ20gdG9vIGxhenkgZm9yIHRoYXRcblx0XHRpZiAoUmVmbGVjdC5nZXRQcm90b3R5cGVPZihpbnN0YW5jZSkuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Byb21pc2UnKSB7XG5cdFx0XHQvLyBpZiAoIGluc3RhbmNlIGluc3RhbmNlb2YgUHJvbWlzZSApIHtcblx0XHRcdCBcblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgSSdtIHRvbyBsYXp5IGZvciB0aGF0XG5cdFx0XHRjb25zdCBjaGVja1Jlc3VsdCA9IGluc3RhbmNlWyBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgXSA9PT0gVHlwZU5hbWU7XG5cdFx0XHRyZXR1cm4gY2hlY2tSZXN1bHQ7XG5cdFx0fVxuXG5cdFx0Y29uc3QgY29uc3RydWN0b3JzID0gY29sbGVjdENvbnN0cnVjdG9ycyhpbnN0YW5jZSkgYXMgUmVjb3JkPHN0cmluZywgbmV3ICgpID0+IHVua25vd24+O1xuXHRcdCBcblx0XHRjb25zdCBjb25zdHJ1Y3RvclJlc3VsdCA9IGNvbnN0cnVjdG9yc1sgVHlwZU5hbWUgXSB8fCBmYWxzZTtcblx0XHRyZXR1cm4gY29uc3RydWN0b3JSZXN1bHQ7XG5cblx0fTtcblx0cmV0dXJuIHNlZWtlcjtcbn07XG5cbmNvbnN0IGdldFR5cGVTcGxpdFBhdGggPSAocGF0aDogc3RyaW5nKSA9PiB7XG5cdGNvbnN0IHNwbGl0ID0gcGF0aFxuXHRcdC8vIGJlYXV0aWZ1bGwgbmFtZXNcblx0XHQucmVwbGFjZShcblx0XHRcdC9cXG58XFx0fCAvZyxcblx0XHRcdCcnXG5cdFx0KVxuXHRcdC5yZXBsYWNlKFxuXHRcdFx0L1xcWyhcXHcrKVxcXS9nLFxuXHRcdFx0Jy4kMSdcblx0XHQpXG5cdFx0LnJlcGxhY2UoXG5cdFx0XHQvXlxcLi8sXG5cdFx0XHQnJ1xuXHRcdClcblx0XHQuc3BsaXQoL1xcLnxcXC98Oi8pO1xuXHRyZXR1cm4gc3BsaXQ7XG59O1xuXG5leHBvcnQgdHlwZSBhc3luY1N0YWNrID0ge1xuXHRfX3N0YWNrX18/OiBzdHJpbmdcblx0X190eXBlX186IHtcblx0XHRpc1N1YlR5cGU6IGJvb2xlYW5cblx0fVxuXHRwYXJlbnQ6ICgpID0+IGFzeW5jU3RhY2tcbn1cblxuY29uc3QgZ2V0RXhpc3RlbnRBc3luY1N0YWNrID0gKGV4aXN0ZW50SW5zdGFuY2U6IGFzeW5jU3RhY2spOiB1bmtub3duID0+IHtcblxuXHRjb25zdCBzdGFjayA9IFtdO1xuXHRsZXQgcHJvdG8gPSBleGlzdGVudEluc3RhbmNlO1xuXG5cdHdoaWxlIChwcm90bykge1xuXG5cdFx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMocHJvdG8pIGFzIFByb3BzO1xuXG5cdFx0aWYgKCFwcm9wcy5fX3N0YWNrX18pIHtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblxuXHRcdGNvbnN0IHBzdGFjayA9IHByb3BzXG5cdFx0XHQuX19zdGFja19fXG5cdFx0XHQuc3BsaXQoJ1xcbicpXG5cdFx0XHQucmVkdWNlKFxuXHRcdFx0XHQoYXJyOiBzdHJpbmdbXSwgbGluZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdFx0aWYgKGxpbmUubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRhcnIucHVzaChsaW5lKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGFycjtcblx0XHRcdFx0fSxcblx0XHRcdFx0W11cblx0XHRcdCk7XG5cblx0XHRwcm90byA9IHByb3RvLnBhcmVudCgpO1xuXG5cdFx0Y29uc3QgcHJvdG9Qcm9wcyA9IF9nZXRQcm9wcyhwcm90bykgYXMgUHJvcHM7XG5cblx0XHRpZiAocHJvdG8gJiYgcHJvdG9Qcm9wcyAmJiBwcm90b1Byb3BzLl9fdHlwZV9fKSB7XG5cblx0XHRcdGlmIChwcm90b1Byb3BzLl9fdHlwZV9fLmlzU3ViVHlwZSkge1xuXHRcdFx0XHRzdGFjay5wdXNoKC4uLnBzdGFjay5zbGljZShcblx0XHRcdFx0XHQwLFxuXHRcdFx0XHRcdDFcblx0XHRcdFx0KSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzdGFjay5wdXNoKC4uLnBzdGFjayk7XG5cdFx0XHR9XG5cblx0XHR9IGVsc2Uge1xuXHRcdFx0c3RhY2sucHVzaCguLi5wc3RhY2spO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHN0YWNrO1xuXG59O1xuXG5jb25zdCBmb3JiaWRkZW5OYW1lcyA9IFsgTU5FTU9OSUNBLCBNTkVNT1NZTkUgXTtcblxuY29uc3QgY2hlY2tUeXBlTmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IHtcblxuXHRpZiAoIW5hbWUubGVuZ3RoKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcblx0fVxuXG5cdGlmIChuYW1lWyAwIF0gIT09IG5hbWVbIDAgXS50b1VwcGVyQ2FzZSgpKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgc2hvdWxkIHN0YXJ0IHdpdGggVXBwZXJjYXNlIExldHRlcicpO1xuXHR9XG5cblx0aWYgKGZvcmJpZGRlbk5hbWVzLmluY2x1ZGVzKG5hbWUpKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgb2YgcmVzZXJ2ZWQga2V5d29yZCcpO1xuXHR9XG5cbn07XG5cbmV4cG9ydCB0eXBlIHBhcmVudFN1YiA9IHtcblx0VHlwZU5hbWU6IHN0cmluZztcblx0X190eXBlX186IHtcblx0XHRzdWJ0eXBlczogTWFwPHN0cmluZywgcGFyZW50U3ViPlxuXHR9XG5cdF9fcGFyZW50X186IHBhcmVudFN1YlxufVxuXG5jb25zdCBmaW5kU3ViVHlwZUZyb21QYXJlbnQgPSAoaW5zdGFuY2U6IHBhcmVudFN1YiB8IG9iamVjdCB8IHVuZGVmaW5lZCwgc3ViVHlwZTogc3RyaW5nKTogcGFyZW50U3ViIHwgbnVsbCA9PiB7XG5cdGxldCBzdWJ0eXBlID0gbnVsbDtcblxuXHRpZiAoIWluc3RhbmNlKSB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblxuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSkgYXMgUHJvcHM7XG5cblx0aWYgKHByb3BzKSB7XG5cdFx0aWYocHJvcHMuX190eXBlX18uc3VidHlwZXMuaGFzKHN1YlR5cGUpKSB7XG5cdFx0XHRjb25zdCBfc3VidHlwZSA9IHByb3BzLl9fdHlwZV9fLnN1YnR5cGVzLmdldChzdWJUeXBlKTtcblx0XHRcdHN1YnR5cGUgPSBfc3VidHlwZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VidHlwZSA9IGZpbmRTdWJUeXBlRnJvbVBhcmVudChcblx0XHRcdFx0cHJvcHMuX19wYXJlbnRfXyxcblx0XHRcdFx0c3ViVHlwZVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblx0IFxuXHQvLyBAdHMtZXhwZWN0LWVycm9yIEknbSB0b28gbGF6eSBmb3IgdGhhdFxuXHRyZXR1cm4gc3VidHlwZTtcbn07XG5cbi8vIGNvbnN0IGlzQ2xhc3MgPSAoIGZ1bmN0aW9uUG9pbnRlcjogQ2FsbGFibGVGdW5jdGlvbiApID0+IHtcbi8vIFx0Y29uc3QgdmFsdWUgPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCggZnVuY3Rpb25Qb2ludGVyICk7XG4vLyBcdHJldHVybiAvXlxccypjbGFzc1xccysvLnRlc3QoIHZhbHVlLnRyaW0oKSApO1xuLy8gfTtcblxuLy8gYWNjb3JkaW5nbHkgdG8gdGhlIGdpc3QgZnJvbSBoZXJlOlxuLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vd2VudG91dC9lYTNhZmU5YzgyMmE2YjZlZjMyZjllNGYzZTk4YjFiYVxuY29uc3QgaXNDbGFzcyA9IChmbjogQ29uc3RydWN0SGFuZGxlcikgPT4ge1xuXHRcblx0Y29uc3Qgc3RyID0gU3RyaW5nKGZuKTtcblx0Y29uc3QgcmVzdWx0ID0gc3RyLmluZGV4T2YoJ2NsYXNzICcpID09PSAwO1xuXHRyZXR1cm4gcmVzdWx0O1xuXG5cdC8qXG5cblx0Ly8gbm90IG5lY2Vzc2FyeSB0byBjaGVjayBmbiBmb3IgdHlwZW9mXG5cdC8vIGJlY2F1c2Ugb2Ygb3RoZXIgY2hlY2tzIG1hZGUgYmVmb3JlXG5cdC8vIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcblx0Ly8gXHRyZXR1cm4gZmFsc2U7XG5cdC8vIH1cblxuXHQvLyBzZWVtaW5nbHlcblx0Ly8gY2xhc3MgcHJvdG90eXBlIGlzIGFsd2F5cyBvYmplY3Rcblx0aWYgKCEoZm4ucHJvdG90eXBlIGluc3RhbmNlb2YgT2JqZWN0KSkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXHQvLyBidXQgb25seSBpZiBub3QgYXVnbWVudGVkXG5cblx0Ly8gY2xhc3MgcHJvdG90eXBlLmNvbnN0cnVjdG9yIGNhbm5vdCBiZSByZS1kZWZpbmVkICh1c3VhbGx5KVxuXHQvLyBidXQgZm9yIGZ1bmN0aW9ucyB1c2VyIG1heSByZS1hc3NpZ24gaXQgZWFzaWx5XG5cdC8vIGp1c3QgYXNzaWduaW5nIHRoZSB3YXkgLnByb3RvdHlwZSA9IHt9XG5cdC8vIGFuZCB0aGV5IDk5LjklIGRvIHRoaXMsIGNhdXNlIG5vYm9keSBjYXJlc1xuXHQvLyBidXQgd2UgYXJlIGNoZWNraW5nIGlmIHRoaXMgaXMgY2xhc3MsIHNvIGl0IHdvcmtzIC4uLlxuXHRpZiAoZm4ucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBmbikge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdC8vIGFuZCB0aGUgbW9zdCB1bmtub3duIHRoaW5nIGlzIHRoYXQsXG5cdC8vIGNhdXNlIGZvciBmdW5jdGlvbnMgaXQgaXQgd3JpdGVhYmxlICkpKVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuXHRyZXR1cm4gUmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm4sICdwcm90b3R5cGUnKSEud3JpdGFibGUgPT09IGZhbHNlO1xuXG5cdCovXG59O1xuXG5jb25zdCBtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUgPSAoXG5cdFR5cGVOYW1lOiBzdHJpbmcsXG5cdEVycm9yTW9kaWZpY2F0b3IgPSBmdW5jdGlvbiAoKSB7IH1cbik6IE1uZW1vbmljYUNvbnN0cnVjdG9yID0+IHtcblxuXHRjb25zdCBtb2RpZmljYXRvckJvZHkgPSBjb21waWxlTmV3TW9kaWZpY2F0b3JGdW5jdGlvbkJvZHkoVHlwZU5hbWUpO1xuXG5cdC8vIENyZWF0aW9uSGFuZGxlciBpcyBub3cgZGVmaW5lZCBsb2NhbGx5IGluIGFwaS90eXBlcy9pbmRleC50c1xuXHRjb25zdCBtb2RpZmljYXRvclR5cGUgPSBtb2RpZmljYXRvckJvZHkoXG5cdFx0RXJyb3JNb2RpZmljYXRvcixcblx0XHRDcmVhdGlvbkhhbmRsZXIsXG5cdFx0U3ltYm9sQ29uc3RydWN0b3JOYW1lXG5cdCk7XG5cblx0Y29uc3QgcmVzdWx0ID0gbW9kaWZpY2F0b3JUeXBlKCk7XG5cdGNvbnN0IGNvbnN0cnVjdG9yUmVzdWx0ID0gcmVzdWx0IGFzIE1uZW1vbmljYUNvbnN0cnVjdG9yO1xuXHRyZXR1cm4gY29uc3RydWN0b3JSZXN1bHQ7XG5cbn07XG5cblxuLy8gVE9ETzogLnZhbHVlT2YoKSwgLnRvU3RyaW5nKCkgPz8/XG5jb25zdCByZWZsZWN0UHJpbWl0aXZlV3JhcHBlcnMgPSAoX3RoaXNBcmc6IHVua25vd24pID0+IHtcblx0bGV0IHRoaXNBcmc6IG9iamVjdCA9IF90aGlzQXJnIGFzIG9iamVjdDtcblxuXHRpZiAoX3RoaXNBcmcgPT09IG51bGwpIHtcblx0XHR0aGlzQXJnID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblx0XHRvZHAoXG5cdFx0XHR0aGlzQXJnLFxuXHRcdFx0U3ltYm9sLnRvUHJpbWl0aXZlLFxuXHRcdFx0e1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdGNvbnN0IHJlc3VsdCA9ICgpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiBfdGhpc0FyZztcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHQpO1xuXHR9XG5cblx0aWYgKFxuXHRcdF90aGlzQXJnIGluc3RhbmNlb2YgTnVtYmVyIHx8XG5cdFx0X3RoaXNBcmcgaW5zdGFuY2VvZiBCb29sZWFuIHx8XG5cdFx0X3RoaXNBcmcgaW5zdGFuY2VvZiBTdHJpbmdcblx0KSB7XG5cdFx0b2RwKFxuXHRcdFx0dGhpc0FyZyxcblx0XHRcdFN5bWJvbC50b1ByaW1pdGl2ZSxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRjb25zdCByZXN1bHQgPSAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCB2YWx1ZVJlc3VsdCA9IChfdGhpc0FyZyBhcyBTdHJpbmcgfCBOdW1iZXIgfCBCb29sZWFuKS52YWx1ZU9mKCk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWVSZXN1bHQ7XG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0KTtcblx0fVxuXG5cdHJldHVybiB0aGlzQXJnO1xufTtcblxuY29uc3QgVHlwZXNVdGlscyA9IHtcblx0aXNDbGFzcyxcblx0Y2hlY2tQcm90byxcblx0Z2V0VHlwZUNoZWNrZXIsXG5cdGdldFR5cGVTcGxpdFBhdGgsXG5cdGdldEV4aXN0ZW50QXN5bmNTdGFjayxcblx0Y2hlY2tUeXBlTmFtZSxcblx0ZmluZFN1YlR5cGVGcm9tUGFyZW50LFxuXHRtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUsXG5cdHJlZmxlY3RQcmltaXRpdmVXcmFwcGVycyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFR5cGVzVXRpbHM7XG4iXX0=
@@ -1,4 +1,7 @@
1
1
  'use strict';
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.constants = void 0;
4
7
  const MNEMONICA = 'Mnemonica';
@@ -23,7 +26,7 @@ const ErrorMessages = {
23
26
  OPTIONS_ERROR: 'options must be an object or a string',
24
27
  WRONG_STACK_CLEANER: 'wrong stack cleaner instanceof',
25
28
  };
26
- const createInstanceModificator_1 = require("../api/types/createInstanceModificator");
29
+ const createInstanceModificator_1 = __importDefault(require("../api/types/createInstanceModificator"));
27
30
  const defaultOptions = {
28
31
  get ModificationConstructor() {
29
32
  return createInstanceModificator_1.default;
@@ -40,9 +43,6 @@ const defaultOptions = {
40
43
  get awaitReturn() {
41
44
  return true;
42
45
  },
43
- get exposeInstanceMethods() {
44
- return true;
45
- },
46
46
  };
47
47
  exports.constants = {
48
48
  get 'SymbolParentType'() {
@@ -64,17 +64,20 @@ exports.constants = {
64
64
  return MNEMOSYNE;
65
65
  },
66
66
  get 'odp'() {
67
- return (o, p, attributes) => {
68
- return Object.defineProperty(o, p, attributes);
67
+ const result = (o, p, attributes) => {
68
+ const defineResult = Object.defineProperty(o, p, attributes);
69
+ return defineResult;
69
70
  };
71
+ return result;
70
72
  },
71
73
  get 'defaultOptions'() {
72
74
  return defaultOptions;
73
75
  },
74
76
  get 'defaultOptionsKeys'() {
75
- return Object.keys(defaultOptions);
77
+ const result = Object.keys(defaultOptions);
78
+ return result;
76
79
  },
77
80
  TYPE_TITLE_PREFIX,
78
81
  ErrorMessages,
79
82
  };
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBR2IsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBSzlCLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUc5QixNQUFNLDRCQUE0QixHQUFHLE1BQU0sQ0FBRSxXQUFXLFNBQVMsbUJBQW1CLENBQUUsQ0FBQztBQUN2RixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBRSxtQ0FBbUMsQ0FBRSxDQUFDO0FBQ3ZFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFFLDBCQUEwQixDQUFFLENBQUM7QUFFbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFFLHVCQUF1QixDQUFFLENBQUM7QUFJdkQsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztBQUc5QyxNQUFNLGFBQWEsR0FBRztJQUVyQixrQkFBa0IsRUFBVyx5QkFBeUI7SUFDdEQseUJBQXlCLEVBQUksMkJBQTJCO0lBQ3hELDBCQUEwQixFQUFHLDRCQUE0QjtJQUN6RCxxQkFBcUIsRUFBUSx1QkFBdUI7SUFDcEQseUJBQXlCLEVBQUksMkJBQTJCO0lBQ3hELDBCQUEwQixFQUFHLDRCQUE0QjtJQUN6RCxnQkFBZ0IsRUFBYSxxQ0FBcUM7SUFFbEUsb0JBQW9CLEVBQVMsZ0RBQWdEO0lBQzdFLGVBQWUsRUFBYywrQkFBK0I7SUFDNUQscUJBQXFCLEVBQVEsbUNBQW1DO0lBQ2hFLHlCQUF5QixFQUFJLCtCQUErQjtJQUU1RCxhQUFhLEVBQWdCLHVDQUF1QztJQUNwRSxtQkFBbUIsRUFBVSxnQ0FBZ0M7Q0FHN0QsQ0FBQztBQUVGLHNGQUE2RTtBQUU3RSxNQUFNLGNBQWMsR0FBRztJQUV0QixJQUFJLHVCQUF1QjtRQUMxQixPQUFPLG1DQUF1QixDQUFDO0lBQ2hDLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFPRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFJRCxJQUFJLHFCQUFxQjtRQUN4QixPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7Q0FFMEIsQ0FBQztBQUVoQixRQUFBLFNBQVMsR0FBRztJQUV4QixJQUFJLGtCQUFrQjtRQUNyQixPQUFPLGdCQUFnQixDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUMxQixPQUFPLHFCQUFxQixDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLDhCQUE4QjtRQUNqQyxPQUFPLDRCQUE0QixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDakIsT0FBTyxZQUFZLENBQUM7SUFDckIsQ0FBQztJQU9ELElBQUksV0FBVztRQUNkLE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxJQUFJLFdBQVc7UUFDZCxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1IsT0FBTyxDQUFvQixDQUFJLEVBQUUsQ0FBYyxFQUFFLFVBQThCLEVBQU0sRUFBRTtZQUN0RixPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQzNCLENBQUMsRUFDRCxDQUFDLEVBQ0QsVUFBVSxDQUNMLENBQUM7UUFDUixDQUFDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbkIsT0FBTyxjQUFjLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBRSxjQUFjLENBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaUJBQWlCO0lBRWpCLGFBQWE7Q0FFYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vLyBuYW1lc1xuY29uc3QgTU5FTU9OSUNBID0gJ01uZW1vbmljYSc7XG5cbi8vIE8gR3JlYXQgTW5lbW9zeW5lISBQbGVhc2UhXG4vLyBTYXZlIHVzIGZyb20gT2JsaXZpb24uLi5cbi8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01uZW1vc3luZVxuY29uc3QgTU5FTU9TWU5FID0gJ01uZW1vc3luZSc7XG5cbi8vIHN5bWJvbHNcbmNvbnN0IFN5bWJvbERlZmF1bHRUeXBlc0NvbGxlY3Rpb24gPSBTeW1ib2woIGBkZWZhdWx0ICR7TU5FTU9OSUNBfSB0eXBlcyBjb2xsZWN0aW9uYCApO1xuY29uc3QgU3ltYm9sUGFyZW50VHlwZSA9IFN5bWJvbCggJ1BhcmVudCBvZiB0aGlzIFN1YlR5cGUgQ29sbGVjdGlvbicgKTtcbmNvbnN0IFN5bWJvbENvbnN0cnVjdG9yTmFtZSA9IFN5bWJvbCggJ0RlZmluZWQgQ29uc3RydWN0b3IgTmFtZScgKTtcblxuY29uc3QgU3ltYm9sQ29uZmlnID0gU3ltYm9sKCAnTW5lbW9uaWNhIENvbmZpZyBEYXRhJyApO1xuLy8gY29uc3QgU3ltYm9sVXNlZCA9IFN5bWJvbCggJy5wcm90b3R5cGUgdXNlZCB0d2ljZScgKTtcblxuLy8gZXRjLi4uXG5jb25zdCBUWVBFX1RJVExFX1BSRUZJWCA9ICdtb2RpZmljYXRvciBvZiA6ICc7XG5cbi8vIGVycm9yc1xuY29uc3QgRXJyb3JNZXNzYWdlcyA9IHtcblxuXHRCQVNFX0VSUk9SX01FU1NBR0UgICAgICAgICA6ICdVTlBSRURJQ1RBQkxFIEJFSEFWSU9VUicsXG5cdFRZUEVOQU1FX01VU1RfQkVfQV9TVFJJTkcgIDogJ3R5cGVuYW1lIG11c3QgYmUgYSBzdHJpbmcnLFxuXHRIQU5ETEVSX01VU1RfQkVfQV9GVU5DVElPTiA6ICdoYW5kbGVyIG11c3QgYmUgYSBmdW5jdGlvbicsXG5cdFdST05HX1RZUEVfREVGSU5JVElPTiAgICAgIDogJ3dyb25nIHR5cGUgZGVmaW5pdGlvbicsXG5cdFdST05HX0lOU1RBTkNFX0lOVk9DQVRJT04gIDogJ3dyb25nIGluc3RhbmNlIGludm9jYXRpb24nLFxuXHRXUk9OR19NT0RJRklDQVRJT05fUEFUVEVSTiA6ICd3cm9uZyBtb2RpZmljYXRpb24gcGF0dGVybicsXG5cdEFMUkVBRFlfREVDTEFSRUQgICAgICAgICAgIDogJ3RoaXMgdHlwZSBoYXMgYWxyZWFkeSBiZWVuIGRlY2xhcmVkJyxcblx0Ly8gRVhJU1RFTlRfUFJPUEVSVFlfUkVERUZJTklUSU9OIDogJ2F0dGVtcHQgdG8gcmUtZGVmaW5lIHR5cGUgY29uc3RydWN0b3InLFxuXHRXUk9OR19BUkdVTUVOVFNfVVNFRCAgICAgICA6ICd3cm9uZyBhcmd1bWVudHMgOiBzaG91bGQgdXNlIHByb3BlciBpbnZvY2F0aW9uJyxcblx0V1JPTkdfSE9PS19UWVBFICAgICAgICAgICAgOiAndGhpcyBob29rIHR5cGUgZG9lcyBub3QgZXhpc3QnLFxuXHRNSVNTSU5HX0hPT0tfQ0FMTEJBQ0sgICAgICA6ICdob29rIGRlZmluaXRpb24gcmVxdWlyZXMgY2FsbGJhY2snLFxuXHRNSVNTSU5HX0NBTExCQUNLX0FSR1VNRU5UICA6ICdjYWxsYmFjayBpcyByZXF1aXJlZCBhcmd1bWVudCcsXG5cdC8vIEZMT1dfQ0hFQ0tFUl9SRURFRklOSVRJT04gIDogJ2F0dGVtcHQgdG8gcmUtZGVmaW5lIGZsb3cgY2hlY2tlciBjYWxsYmFjaycsXG5cdE9QVElPTlNfRVJST1IgICAgICAgICAgICAgIDogJ29wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3Qgb3IgYSBzdHJpbmcnLFxuXHRXUk9OR19TVEFDS19DTEVBTkVSICAgICAgICA6ICd3cm9uZyBzdGFjayBjbGVhbmVyIGluc3RhbmNlb2YnLFxuXHQvLyBQUk9UT1RZUEVfVVNFRF9UV0lDRSAgICAgICA6ICcucHJvdG90eXBlIHVzZWQgdHdpY2UnLFxuXG59O1xuXG5pbXBvcnQgTW9kaWZpY2F0aW9uQ29uc3RydWN0b3IgZnJvbSAnLi4vYXBpL3R5cGVzL2NyZWF0ZUluc3RhbmNlTW9kaWZpY2F0b3InO1xuXG5jb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcblxuXHRnZXQgTW9kaWZpY2F0aW9uQ29uc3RydWN0b3IgKCkge1xuXHRcdHJldHVybiBNb2RpZmljYXRpb25Db25zdHJ1Y3Rvcjtcblx0fSxcblxuXHQvLyBzaGFsbCBvciBub3Qgd2UgdXNlIHN0cmljdCBjaGVja2luZ1xuXHQvLyBmb3IgY3JlYXRpb24gc3ViLWluc3RhbmNlcyBPbmx5IGZyb20gY3VycmVudCB0eXBlXG5cdC8vIG9yIHdlIG1pZ2h0IHVzZSB1cC1uZXN0ZWQgc3ViLWluc3RhbmNlcyBmcm9tIGNoYWluXG5cdGdldCBzdHJpY3RDaGFpbiAoKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH0sXG5cblx0Ly8gc2hvdWxkIHdlIHVzZSBmb3JjZWQgZXJyb3JzIGNoZWNraW5nXG5cdC8vIHRvIG1ha2UgYWxsIGluaGVyaXRlZCB0eXBlcyBlcnJvcmVkXG5cdC8vIGlmIHRoZXJlIGlzIGFuIGVycm9yIHNvbWV3aGVyZSBpbiBjaGFpblxuXHQvLyBkaXNhbGxvdyBpbnN0YW5jZSBjb25zdHJ1Y3Rpb25cblx0Ly8gaWYgdGhlcmUgaXMgYW4gZXJyb3IgaW4gcHJvdG90eXBlIGNoYWluXG5cdGdldCBibG9ja0Vycm9ycyAoKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH0sXG5cblx0Ly8gaWYgaXQgaXMgbmVjZXNzYXJ5IHRvIGNvbGxlY3Qgc3RhY2tcblx0Ly8gYXMgYSBfX3N0YWNrX18gcHJvdG90eXBlIHByb3BlcnR5XG5cdC8vIGR1cmluZyB0aGUgcHJvY2VzcyBvZiBpbnN0YW5jZSBjcmVhdGlvblxuXHRnZXQgc3VibWl0U3RhY2sgKCkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fSxcblxuXHQvLyBhd2FpdCBuZXcgQ29uc3RydWN0b3IoKVxuXHQvLyBtdXN0IHJldHVybiB2YWx1ZVxuXHQvLyBvcHRpb25hbCAuL2lzc3Vlcy8xMDZcblx0Z2V0IGF3YWl0UmV0dXJuICgpIHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fSxcblxuXHQvLyBleHBvc2UgaW5zdGFuY2UgbWV0aG9kcyAoZXh0cmFjdCwgcGljaywgcGFyZW50LCBjbG9uZSwgZm9yaywgZXhjZXB0aW9uLCBzaWJsaW5nKVxuXHQvLyBvbiB0aGUgaW5zdGFuY2UgaXRzZWxmLiBXaGVuIHRydWUgKGRlZmF1bHQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpLCBtZXRob2RzIGFyZSBhdmFpbGFibGUgZGlyZWN0bHlcblx0Z2V0IGV4cG9zZUluc3RhbmNlTWV0aG9kcyAoKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH0sXG5cbn0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbmV4cG9ydCBjb25zdCBjb25zdGFudHMgPSB7XG5cblx0Z2V0ICdTeW1ib2xQYXJlbnRUeXBlJyAoKSB7XG5cdFx0cmV0dXJuIFN5bWJvbFBhcmVudFR5cGU7XG5cdH0sXG5cblx0Z2V0ICdTeW1ib2xDb25zdHJ1Y3Rvck5hbWUnICgpIHtcblx0XHRyZXR1cm4gU3ltYm9sQ29uc3RydWN0b3JOYW1lO1xuXHR9LFxuXG5cdGdldCAnU3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbicgKCkge1xuXHRcdHJldHVybiBTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uO1xuXHR9LFxuXG5cdGdldCAnU3ltYm9sQ29uZmlnJyAoKSB7XG5cdFx0cmV0dXJuIFN5bWJvbENvbmZpZztcblx0fSxcblxuXHQvLyBnZXQgJ1N5bWJvbFVzZWQnICgpIHtcblx0Ly8gXHRyZXR1cm4gU3ltYm9sVXNlZDtcblx0Ly8gfSxcblxuXHQvLyBjb25zdGFudHNcblx0Z2V0ICdNTkVNT05JQ0EnICgpIHtcblx0XHRyZXR1cm4gTU5FTU9OSUNBO1xuXHR9LFxuXHRnZXQgJ01ORU1PU1lORScgKCkge1xuXHRcdHJldHVybiBNTkVNT1NZTkU7XG5cdH0sXG5cdGdldCAnb2RwJyAoKSB7XG5cdFx0cmV0dXJuIDxUIGV4dGVuZHMgb2JqZWN0PiggbzogVCwgcDogUHJvcGVydHlLZXksIGF0dHJpYnV0ZXM6IFByb3BlcnR5RGVzY3JpcHRvciApOiBUID0+IHtcblx0XHRcdHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoXG5cdFx0XHRcdG8sXG5cdFx0XHRcdHAsXG5cdFx0XHRcdGF0dHJpYnV0ZXMgXG5cdFx0XHQpIGFzIFQ7XG5cdFx0fTtcblx0fSxcblxuXHRnZXQgJ2RlZmF1bHRPcHRpb25zJyAoKSB7XG5cdFx0cmV0dXJuIGRlZmF1bHRPcHRpb25zO1xuXHR9LFxuXG5cdGdldCAnZGVmYXVsdE9wdGlvbnNLZXlzJyAoKSB7XG5cdFx0cmV0dXJuIE9iamVjdC5rZXlzKCBkZWZhdWx0T3B0aW9ucyApO1xuXHR9LFxuXG5cdFRZUEVfVElUTEVfUFJFRklYLFxuXG5cdEVycm9yTWVzc2FnZXMsXG5cbn07XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7O0FBR2IsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBSzlCLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUc5QixNQUFNLDRCQUE0QixHQUFHLE1BQU0sQ0FBRSxXQUFXLFNBQVMsbUJBQW1CLENBQUUsQ0FBQztBQUN2RixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBRSxtQ0FBbUMsQ0FBRSxDQUFDO0FBQ3ZFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFFLDBCQUEwQixDQUFFLENBQUM7QUFFbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFFLHVCQUF1QixDQUFFLENBQUM7QUFJdkQsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztBQUc5QyxNQUFNLGFBQWEsR0FBRztJQUVyQixrQkFBa0IsRUFBVyx5QkFBeUI7SUFDdEQseUJBQXlCLEVBQUksMkJBQTJCO0lBQ3hELDBCQUEwQixFQUFHLDRCQUE0QjtJQUN6RCxxQkFBcUIsRUFBUSx1QkFBdUI7SUFDcEQseUJBQXlCLEVBQUksMkJBQTJCO0lBQ3hELDBCQUEwQixFQUFHLDRCQUE0QjtJQUN6RCxnQkFBZ0IsRUFBYSxxQ0FBcUM7SUFFbEUsb0JBQW9CLEVBQVMsZ0RBQWdEO0lBQzdFLGVBQWUsRUFBYywrQkFBK0I7SUFDNUQscUJBQXFCLEVBQVEsbUNBQW1DO0lBQ2hFLHlCQUF5QixFQUFJLCtCQUErQjtJQUU1RCxhQUFhLEVBQWdCLHVDQUF1QztJQUNwRSxtQkFBbUIsRUFBVSxnQ0FBZ0M7Q0FHN0QsQ0FBQztBQUVGLHVHQUE2RTtBQUU3RSxNQUFNLGNBQWMsR0FBRztJQUV0QixJQUFJLHVCQUF1QjtRQUMxQixPQUFPLG1DQUF1QixDQUFDO0lBQ2hDLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFPRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7Q0FFMEIsQ0FBQztBQUVoQixRQUFBLFNBQVMsR0FBRztJQUV4QixJQUFJLGtCQUFrQjtRQUNyQixPQUFPLGdCQUFnQixDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUMxQixPQUFPLHFCQUFxQixDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLDhCQUE4QjtRQUNqQyxPQUFPLDRCQUE0QixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDakIsT0FBTyxZQUFZLENBQUM7SUFDckIsQ0FBQztJQU9ELElBQUksV0FBVztRQUNkLE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxJQUFJLFdBQVc7UUFDZCxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1IsTUFBTSxNQUFNLEdBQUcsQ0FBb0IsQ0FBSSxFQUFFLENBQWMsRUFBRSxVQUE4QixFQUFNLEVBQUU7WUFDOUYsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FDekMsQ0FBQyxFQUNELENBQUMsRUFDRCxVQUFVLENBQ0wsQ0FBQztZQUNQLE9BQU8sWUFBWSxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ25CLE9BQU8sY0FBYyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFFLGNBQWMsQ0FBRSxDQUFDO1FBQzdDLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVELGlCQUFpQjtJQUVqQixhQUFhO0NBRWIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLy8gbmFtZXNcbmNvbnN0IE1ORU1PTklDQSA9ICdNbmVtb25pY2EnO1xuXG4vLyBPIEdyZWF0IE1uZW1vc3luZSEgUGxlYXNlIVxuLy8gU2F2ZSB1cyBmcm9tIE9ibGl2aW9uLi4uXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NbmVtb3N5bmVcbmNvbnN0IE1ORU1PU1lORSA9ICdNbmVtb3N5bmUnO1xuXG4vLyBzeW1ib2xzXG5jb25zdCBTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uID0gU3ltYm9sKCBgZGVmYXVsdCAke01ORU1PTklDQX0gdHlwZXMgY29sbGVjdGlvbmAgKTtcbmNvbnN0IFN5bWJvbFBhcmVudFR5cGUgPSBTeW1ib2woICdQYXJlbnQgb2YgdGhpcyBTdWJUeXBlIENvbGxlY3Rpb24nICk7XG5jb25zdCBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgPSBTeW1ib2woICdEZWZpbmVkIENvbnN0cnVjdG9yIE5hbWUnICk7XG5cbmNvbnN0IFN5bWJvbENvbmZpZyA9IFN5bWJvbCggJ01uZW1vbmljYSBDb25maWcgRGF0YScgKTtcbi8vIGNvbnN0IFN5bWJvbFVzZWQgPSBTeW1ib2woICcucHJvdG90eXBlIHVzZWQgdHdpY2UnICk7XG5cbi8vIGV0Yy4uLlxuY29uc3QgVFlQRV9USVRMRV9QUkVGSVggPSAnbW9kaWZpY2F0b3Igb2YgOiAnO1xuXG4vLyBlcnJvcnNcbmNvbnN0IEVycm9yTWVzc2FnZXMgPSB7XG5cblx0QkFTRV9FUlJPUl9NRVNTQUdFICAgICAgICAgOiAnVU5QUkVESUNUQUJMRSBCRUhBVklPVVInLFxuXHRUWVBFTkFNRV9NVVNUX0JFX0FfU1RSSU5HICA6ICd0eXBlbmFtZSBtdXN0IGJlIGEgc3RyaW5nJyxcblx0SEFORExFUl9NVVNUX0JFX0FfRlVOQ1RJT04gOiAnaGFuZGxlciBtdXN0IGJlIGEgZnVuY3Rpb24nLFxuXHRXUk9OR19UWVBFX0RFRklOSVRJT04gICAgICA6ICd3cm9uZyB0eXBlIGRlZmluaXRpb24nLFxuXHRXUk9OR19JTlNUQU5DRV9JTlZPQ0FUSU9OICA6ICd3cm9uZyBpbnN0YW5jZSBpbnZvY2F0aW9uJyxcblx0V1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4gOiAnd3JvbmcgbW9kaWZpY2F0aW9uIHBhdHRlcm4nLFxuXHRBTFJFQURZX0RFQ0xBUkVEICAgICAgICAgICA6ICd0aGlzIHR5cGUgaGFzIGFscmVhZHkgYmVlbiBkZWNsYXJlZCcsXG5cdC8vIEVYSVNURU5UX1BST1BFUlRZX1JFREVGSU5JVElPTiA6ICdhdHRlbXB0IHRvIHJlLWRlZmluZSB0eXBlIGNvbnN0cnVjdG9yJyxcblx0V1JPTkdfQVJHVU1FTlRTX1VTRUQgICAgICAgOiAnd3JvbmcgYXJndW1lbnRzIDogc2hvdWxkIHVzZSBwcm9wZXIgaW52b2NhdGlvbicsXG5cdFdST05HX0hPT0tfVFlQRSAgICAgICAgICAgIDogJ3RoaXMgaG9vayB0eXBlIGRvZXMgbm90IGV4aXN0Jyxcblx0TUlTU0lOR19IT09LX0NBTExCQUNLICAgICAgOiAnaG9vayBkZWZpbml0aW9uIHJlcXVpcmVzIGNhbGxiYWNrJyxcblx0TUlTU0lOR19DQUxMQkFDS19BUkdVTUVOVCAgOiAnY2FsbGJhY2sgaXMgcmVxdWlyZWQgYXJndW1lbnQnLFxuXHQvLyBGTE9XX0NIRUNLRVJfUkVERUZJTklUSU9OICA6ICdhdHRlbXB0IHRvIHJlLWRlZmluZSBmbG93IGNoZWNrZXIgY2FsbGJhY2snLFxuXHRPUFRJT05TX0VSUk9SICAgICAgICAgICAgICA6ICdvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0IG9yIGEgc3RyaW5nJyxcblx0V1JPTkdfU1RBQ0tfQ0xFQU5FUiAgICAgICAgOiAnd3Jvbmcgc3RhY2sgY2xlYW5lciBpbnN0YW5jZW9mJyxcblx0Ly8gUFJPVE9UWVBFX1VTRURfVFdJQ0UgICAgICAgOiAnLnByb3RvdHlwZSB1c2VkIHR3aWNlJyxcblxufTtcblxuaW1wb3J0IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yIGZyb20gJy4uL2FwaS90eXBlcy9jcmVhdGVJbnN0YW5jZU1vZGlmaWNhdG9yJztcblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG5cblx0Z2V0IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yICgpIHtcblx0XHRyZXR1cm4gTW9kaWZpY2F0aW9uQ29uc3RydWN0b3I7XG5cdH0sXG5cblx0Ly8gc2hhbGwgb3Igbm90IHdlIHVzZSBzdHJpY3QgY2hlY2tpbmdcblx0Ly8gZm9yIGNyZWF0aW9uIHN1Yi1pbnN0YW5jZXMgT25seSBmcm9tIGN1cnJlbnQgdHlwZVxuXHQvLyBvciB3ZSBtaWdodCB1c2UgdXAtbmVzdGVkIHN1Yi1pbnN0YW5jZXMgZnJvbSBjaGFpblxuXHRnZXQgc3RyaWN0Q2hhaW4gKCkge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9LFxuXG5cdC8vIHNob3VsZCB3ZSB1c2UgZm9yY2VkIGVycm9ycyBjaGVja2luZ1xuXHQvLyB0byBtYWtlIGFsbCBpbmhlcml0ZWQgdHlwZXMgZXJyb3JlZFxuXHQvLyBpZiB0aGVyZSBpcyBhbiBlcnJvciBzb21ld2hlcmUgaW4gY2hhaW5cblx0Ly8gZGlzYWxsb3cgaW5zdGFuY2UgY29uc3RydWN0aW9uXG5cdC8vIGlmIHRoZXJlIGlzIGFuIGVycm9yIGluIHByb3RvdHlwZSBjaGFpblxuXHRnZXQgYmxvY2tFcnJvcnMgKCkge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9LFxuXG5cdC8vIGlmIGl0IGlzIG5lY2Vzc2FyeSB0byBjb2xsZWN0IHN0YWNrXG5cdC8vIGFzIGEgX19zdGFja19fIHByb3RvdHlwZSBwcm9wZXJ0eVxuXHQvLyBkdXJpbmcgdGhlIHByb2Nlc3Mgb2YgaW5zdGFuY2UgY3JlYXRpb25cblx0Z2V0IHN1Ym1pdFN0YWNrICgpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH0sXG5cblx0Ly8gYXdhaXQgbmV3IENvbnN0cnVjdG9yKClcblx0Ly8gbXVzdCByZXR1cm4gdmFsdWVcblx0Ly8gb3B0aW9uYWwgLi9pc3N1ZXMvMTA2XG5cdGdldCBhd2FpdFJldHVybiAoKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH0sXG5cbn0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbmV4cG9ydCBjb25zdCBjb25zdGFudHMgPSB7XG5cblx0Z2V0ICdTeW1ib2xQYXJlbnRUeXBlJyAoKSB7XG5cdFx0cmV0dXJuIFN5bWJvbFBhcmVudFR5cGU7XG5cdH0sXG5cblx0Z2V0ICdTeW1ib2xDb25zdHJ1Y3Rvck5hbWUnICgpIHtcblx0XHRyZXR1cm4gU3ltYm9sQ29uc3RydWN0b3JOYW1lO1xuXHR9LFxuXG5cdGdldCAnU3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbicgKCkge1xuXHRcdHJldHVybiBTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uO1xuXHR9LFxuXG5cdGdldCAnU3ltYm9sQ29uZmlnJyAoKSB7XG5cdFx0cmV0dXJuIFN5bWJvbENvbmZpZztcblx0fSxcblxuXHQvLyBnZXQgJ1N5bWJvbFVzZWQnICgpIHtcblx0Ly8gXHRyZXR1cm4gU3ltYm9sVXNlZDtcblx0Ly8gfSxcblxuXHQvLyBjb25zdGFudHNcblx0Z2V0ICdNTkVNT05JQ0EnICgpIHtcblx0XHRyZXR1cm4gTU5FTU9OSUNBO1xuXHR9LFxuXHRnZXQgJ01ORU1PU1lORScgKCkge1xuXHRcdHJldHVybiBNTkVNT1NZTkU7XG5cdH0sXG5cdGdldCAnb2RwJyAoKSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gPFQgZXh0ZW5kcyBvYmplY3Q+KCBvOiBULCBwOiBQcm9wZXJ0eUtleSwgYXR0cmlidXRlczogUHJvcGVydHlEZXNjcmlwdG9yICk6IFQgPT4ge1xuXHRcdFx0Y29uc3QgZGVmaW5lUmVzdWx0ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KFxuXHRcdFx0XHRvLFxuXHRcdFx0XHRwLFxuXHRcdFx0XHRhdHRyaWJ1dGVzIFxuXHRcdFx0KSBhcyBUO1xuXHRcdFx0cmV0dXJuIGRlZmluZVJlc3VsdDtcblx0XHR9O1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0sXG5cblx0Z2V0ICdkZWZhdWx0T3B0aW9ucycgKCkge1xuXHRcdHJldHVybiBkZWZhdWx0T3B0aW9ucztcblx0fSxcblxuXHRnZXQgJ2RlZmF1bHRPcHRpb25zS2V5cycgKCkge1xuXHRcdGNvbnN0IHJlc3VsdCA9IE9iamVjdC5rZXlzKCBkZWZhdWx0T3B0aW9ucyApO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0sXG5cblx0VFlQRV9USVRMRV9QUkVGSVgsXG5cblx0RXJyb3JNZXNzYWdlcyxcblxufTtcbiJdfQ==
@@ -1,10 +1,43 @@
1
1
  'use strict';
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.types = void 0;
4
37
  const constants_1 = require("../../constants");
5
38
  const { odp, SymbolConstructorName, SymbolDefaultTypesCollection, SymbolConfig, defaultOptions, defaultOptionsKeys, MNEMONICA, MNEMOSYNE, } = constants_1.constants;
6
39
  const types_1 = require("../../api/types");
7
- const hooksAPI = require("../../api/hooks");
40
+ const hooksAPI = __importStar(require("../../api/hooks"));
8
41
  const { registerHook, invokeHook, registerFlowChecker, } = hooksAPI;
9
42
  const typesCollections = new Map();
10
43
  const TypesCollection = function (_config) {
@@ -30,9 +63,11 @@ const TypesCollection = function (_config) {
30
63
  });
31
64
  odp(this, Symbol.hasInstance, {
32
65
  get() {
33
- return (instance) => {
34
- return instance[SymbolConstructorName] === MNEMONICA;
66
+ const result = (instance) => {
67
+ const checkResult = instance[SymbolConstructorName] === MNEMONICA;
68
+ return checkResult;
35
69
  };
70
+ return result;
36
71
  }
37
72
  });
38
73
  odp(this, 'subtypes', {
@@ -42,12 +77,14 @@ const TypesCollection = function (_config) {
42
77
  });
43
78
  odp(subtypes, MNEMOSYNE, {
44
79
  get() {
45
- return typesCollections.get(self);
80
+ const result = typesCollections.get(self);
81
+ return result;
46
82
  }
47
83
  });
48
84
  odp(this, MNEMOSYNE, {
49
85
  get() {
50
- return typesCollections.get(self);
86
+ const result = typesCollections.get(self);
87
+ return result;
51
88
  }
52
89
  });
53
90
  const hooks = Object.create(null);
@@ -59,59 +96,71 @@ const TypesCollection = function (_config) {
59
96
  };
60
97
  odp(TypesCollection.prototype, MNEMONICA, {
61
98
  get() {
62
- return typesCollections.get(this);
99
+ const result = typesCollections.get(this);
100
+ return result;
63
101
  }
64
102
  });
65
103
  odp(TypesCollection.prototype, 'define', {
66
104
  get() {
67
105
  const { subtypes } = this;
68
- return function (TypeOrTypeName, constructHandlerOrConfig, config) {
69
- const result = types_1.define.call(this, subtypes, TypeOrTypeName, constructHandlerOrConfig, config);
70
- return result;
106
+ const result = function (TypeOrTypeName, constructHandlerOrConfig, config) {
107
+ const defineResult = types_1.define.call(this, subtypes, TypeOrTypeName, constructHandlerOrConfig, config);
108
+ return defineResult;
71
109
  };
110
+ return result;
72
111
  },
73
112
  enumerable: true
74
113
  });
75
114
  odp(TypesCollection.prototype, 'lookup', {
76
115
  get() {
77
- return function (TypeNestedPath) {
78
- return types_1.lookup.call(this.subtypes, TypeNestedPath);
116
+ const result = function (TypeNestedPath) {
117
+ const lookupResult = types_1.lookup.call(this.subtypes, TypeNestedPath);
118
+ return lookupResult;
79
119
  }.bind(this);
120
+ return result;
80
121
  },
81
122
  enumerable: true
82
123
  });
83
124
  odp(TypesCollection.prototype, 'registerHook', {
84
125
  get() {
85
126
  const self = this;
86
- return function (hookName, hookCallback) {
87
- return registerHook.call(self, hookName, hookCallback);
127
+ const result = function (hookName, hookCallback) {
128
+ const hookResult = registerHook.call(self, hookName, hookCallback);
129
+ return hookResult;
88
130
  }.bind(this);
131
+ return result;
89
132
  },
90
133
  enumerable: true
91
134
  });
92
135
  odp(TypesCollection.prototype, 'invokeHook', {
93
136
  get() {
94
- return (hookName, opts) => {
95
- return invokeHook.call(typesCollections.get(this), hookName, opts);
137
+ const result = (hookName, opts) => {
138
+ const hookResult = invokeHook.call(typesCollections.get(this), hookName, opts);
139
+ return hookResult;
96
140
  };
141
+ return result;
97
142
  }
98
143
  });
99
144
  odp(TypesCollection.prototype, 'registerFlowChecker', {
100
145
  get() {
101
- return (flowCheckerCallback) => {
102
- return registerFlowChecker.call(typesCollections.get(this), flowCheckerCallback);
146
+ const result = (flowCheckerCallback) => {
147
+ const checkerResult = registerFlowChecker.call(typesCollections.get(this), flowCheckerCallback);
148
+ return checkerResult;
103
149
  };
150
+ return result;
104
151
  }
105
152
  });
106
153
  const typesCollectionProxyHandler = {
107
154
  get(target, prop) {
108
155
  if (target.subtypes.has(prop)) {
109
- return target.subtypes.get(prop);
156
+ const subtypeResult = target.subtypes.get(prop);
157
+ return subtypeResult;
110
158
  }
111
159
  if (prop === 'define') {
112
160
  return target.define;
113
161
  }
114
- return Reflect.get(target, prop);
162
+ const reflectResult = Reflect.get(target, prop);
163
+ return reflectResult;
115
164
  },
116
165
  set(target, TypeName, Constructor) {
117
166
  target.define(TypeName, Constructor);
@@ -119,14 +168,16 @@ const typesCollectionProxyHandler = {
119
168
  },
120
169
  getOwnPropertyDescriptor(target, prop) {
121
170
  if (target.subtypes.has(prop)) {
122
- return {
171
+ const descriptorResult = {
123
172
  configurable: true,
124
173
  enumerable: true,
125
174
  writable: false,
126
175
  value: target.subtypes.get(prop)
127
176
  };
177
+ return descriptorResult;
128
178
  }
129
- return Reflect.getOwnPropertyDescriptor(target, prop);
179
+ const ownPropResult = Reflect.getOwnPropertyDescriptor(target, prop);
180
+ return ownPropResult;
130
181
  }
131
182
  };
132
183
  const createTypesCollection = (config = {}) => {
@@ -143,13 +194,15 @@ odp(DEFAULT_TYPES, SymbolDefaultTypesCollection, {
143
194
  });
144
195
  exports.types = {
145
196
  get createTypesCollection() {
146
- return function (config = {}) {
147
- const result = createTypesCollection(config);
148
- return result;
197
+ const result = function (config = {}) {
198
+ const collectionResult = createTypesCollection(config);
199
+ return collectionResult;
149
200
  };
201
+ return result;
150
202
  },
151
203
  get defaultTypes() {
152
- return DEFAULT_TYPES;
204
+ const result = DEFAULT_TYPES;
205
+ return result;
153
206
  }
154
207
  };
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvcnMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFVYiwrQ0FBNEM7QUFDNUMsTUFBTSxFQUNMLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLFlBQVksRUFDWixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxTQUFTLEdBQ1QsR0FBRyxxQkFBUyxDQUFDO0FBR2QsMkNBRXlCO0FBRXpCLDRDQUE0QztBQUU1QyxNQUFNLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixtQkFBbUIsR0FDbkIsR0FBRyxRQUFRLENBQUM7QUFFYixNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7QUFFbkMsTUFBTSxlQUFlLEdBQUcsVUFBVyxPQUFnQztJQUVsRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUczQixNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQ3ZDLENBQUUsQ0FBMEIsRUFBRSxHQUFXLEVBQUcsRUFBRTtRQUM3QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUUsR0FBRyxDQUFFLENBQUM7UUFDN0IsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFFLEdBQUcsQ0FBRSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLE9BQU8sS0FBSyxDQUFDO1FBQzVCLE1BQU0sTUFBTSxHQUFHLE9BQU8sTUFBTSxDQUFDO1FBQzdCLElBQUssTUFBTSxLQUFLLE1BQU0sRUFBRyxDQUFDO1lBQ3pCLENBQUMsQ0FBRSxHQUFHLENBQUUsR0FBRyxLQUFLLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDUCxDQUFDLENBQUUsR0FBRyxDQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ25CLENBQUM7UUFD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Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgdHlwZSB7XG5cdF9JbnRlcm5hbF9UQ18sXG5cdENyZWF0ZVR5cGVzQ29sbGVjdGlvbkZ1bmN0aW9uLFxuXHRUeXBlc0NvbGxlY3Rpb24sXG5cdGhvb2tzT3B0cyxcblx0aG9va1xufSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5jb25zdCB7XG5cdG9kcCxcblx0U3ltYm9sQ29uc3RydWN0b3JOYW1lLFxuXHRTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uLFxuXHRTeW1ib2xDb25maWcsXG5cdGRlZmF1bHRPcHRpb25zLFxuXHRkZWZhdWx0T3B0aW9uc0tleXMsXG5cdE1ORU1PTklDQSxcblx0TU5FTU9TWU5FLFxufSA9IGNvbnN0YW50cztcblxuLy8gaGVyZSBpcyBUeXBlc0NvbGxlY3Rpb24uZGVmaW5lKCkgbWV0aG9kXG5pbXBvcnQge1xuXHRkZWZpbmUsIGxvb2t1cCwgdHlwZSBUeXBlc01hcCBcbn0gZnJvbSAnLi4vLi4vYXBpL3R5cGVzJztcblxuaW1wb3J0ICogYXMgaG9va3NBUEkgZnJvbSAnLi4vLi4vYXBpL2hvb2tzJztcblxuY29uc3Qge1xuXHRyZWdpc3Rlckhvb2ssXG5cdGludm9rZUhvb2ssXG5cdHJlZ2lzdGVyRmxvd0NoZWNrZXIsXG59ID0gaG9va3NBUEk7XG5cbmNvbnN0IHR5cGVzQ29sbGVjdGlvbnMgPSBuZXcgTWFwKCk7XG5cbmNvbnN0IFR5cGVzQ29sbGVjdGlvbiA9IGZ1bmN0aW9uICggX2NvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gKSB7XG5cdCBcblx0Y29uc3Qgc2VsZiA9IHRoaXM7XG5cblx0Y29uc3Qgc3VidHlwZXMgPSBuZXcgTWFwKCk7XG5cblx0Ly8gZGVmYXVsdCBjb25maWcgaXMgbGVzcyBpbXBvcnRhbnQgdGhhbiB0eXBlcyBjb2xsZWN0aW9uIGNvbmZpZ1xuXHRjb25zdCBjb25maWcgPSBkZWZhdWx0T3B0aW9uc0tleXMucmVkdWNlKFxuXHRcdCggbzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGtleTogc3RyaW5nICkgPT4ge1xuXHRcdFx0Y29uc3QgdmFsdWUgPSBfY29uZmlnWyBrZXkgXTtcblx0XHRcdGNvbnN0IG9wdGlvbiA9IGRlZmF1bHRPcHRpb25zWyBrZXkgXTtcblx0XHRcdGNvbnN0IHRfY29uZiA9IHR5cGVvZiB2YWx1ZTtcblx0XHRcdGNvbnN0IHRfb3B0cyA9IHR5cGVvZiBvcHRpb247XG5cdFx0XHRpZiAoIHRfY29uZiA9PT0gdF9vcHRzICkge1xuXHRcdFx0XHRvWyBrZXkgXSA9IHZhbHVlO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0b1sga2V5IF0gPSBvcHRpb247XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gbztcblx0XHR9LFxuXHRcdHt9IFxuXHQpO1xuXG5cdG9kcChcblx0XHR0aGlzLFxuXHRcdFN5bWJvbENvbmZpZyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gY29uZmlnO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0b2RwKFxuXHRcdHRoaXMsXG5cdFx0U3ltYm9sLmhhc0luc3RhbmNlLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiAoIGluc3RhbmNlOiB7IFtTeW1ib2xDb25zdHJ1Y3Rvck5hbWVdPzogc3RyaW5nIH0gKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIGluc3RhbmNlWyBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgXSA9PT0gTU5FTU9OSUNBO1xuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0b2RwKFxuXHRcdHRoaXMsXG5cdFx0J3N1YnR5cGVzJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gc3VidHlwZXM7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHQvLyBGb3IgaW5zdGFuY2VvZiBNTkVNT1NZTkVcblx0b2RwKFxuXHRcdHN1YnR5cGVzLFxuXHRcdE1ORU1PU1lORSxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0Ly8gcmV0dXJuaW5nIHByb3h5XG5cdFx0XHRcdHJldHVybiB0eXBlc0NvbGxlY3Rpb25zLmdldCggc2VsZiApO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0Ly8gRm9yIGluc3RhbmNlb2YgTU5FTU9TWU5FXG5cdG9kcChcblx0XHR0aGlzLFxuXHRcdE1ORU1PU1lORSxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0Ly8gcmV0dXJuaW5nIHByb3h5XG5cdFx0XHRcdHJldHVybiB0eXBlc0NvbGxlY3Rpb25zLmdldCggc2VsZiApO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0Y29uc3QgaG9va3MgPSBPYmplY3QuY3JlYXRlKCBudWxsICk7XG5cdG9kcChcblx0XHR0aGlzLFxuXHRcdCdob29rcycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGhvb2tzO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cbn0gYXMgX0ludGVybmFsX1RDXzxvYmplY3Q+O1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdE1ORU1PTklDQSxcblx0e1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gdHlwZXNDb2xsZWN0aW9ucy5nZXQoIHRoaXMgKTtcblx0XHR9XG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdkZWZpbmUnLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiB7IHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+IH0pIHtcblx0XHRcdGNvbnN0IHsgc3VidHlwZXMgfSA9IHRoaXM7XG5cdFx0XHRyZXR1cm4gZnVuY3Rpb24gKFxuXHRcdFx0XHR0aGlzOiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdFx0XHRUeXBlT3JUeXBlTmFtZTogc3RyaW5nIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRcdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnPzogQ2FsbGFibGVGdW5jdGlvbiB8IG9iamVjdCxcblx0XHRcdFx0Y29uZmlnPzogb2JqZWN0XG5cdFx0XHQpIHtcblx0XHRcdC8vIHRoaXMgLSBkZWZpbmUgZnVuY3Rpb24gb2YgbW5lbW9uaWNhIGludGVyZmFjZVxuXHRcdFx0XHRjb25zdCByZXN1bHQgPSBkZWZpbmUuY2FsbChcblx0XHRcdFx0XHR0aGlzIGFzIHVua25vd24sXG5cdFx0XHRcdFx0c3VidHlwZXMgYXMgVHlwZXNNYXAsXG5cdFx0XHRcdFx0VHlwZU9yVHlwZU5hbWUsXG5cdFx0XHRcdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnLFxuXHRcdFx0XHRcdGNvbmZpZ1xuXHRcdFx0XHQpO1xuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0fTtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdsb29rdXAnLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiB7IHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+IH0pIHtcblx0XHRcdHJldHVybiBmdW5jdGlvbiAoXG5cdFx0XHRcdHRoaXM6IHsgc3VidHlwZXM6IE1hcDxzdHJpbmcsIG9iamVjdD4gfSxcblx0XHRcdFx0VHlwZU5lc3RlZFBhdGg6IHN0cmluZ1xuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybiBsb29rdXAuY2FsbChcbiB0aGlzLnN1YnR5cGVzIGFzIHVua25vd24gYXMgVHlwZXNNYXAsXG4gVHlwZU5lc3RlZFBhdGggXG5cdFx0XHRcdCk7XG5cdFx0XHR9LmJpbmQoIHRoaXMgKTtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdyZWdpc3Rlckhvb2snLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiBUeXBlc0NvbGxlY3Rpb24pIHtcblx0XHQgXG5cdFx0XHRjb25zdCBzZWxmID0gdGhpcztcblx0XHRcdHJldHVybiBmdW5jdGlvbiAoIGhvb2tOYW1lOiBzdHJpbmcsIGhvb2tDYWxsYmFjazogaG9vayApIHtcblx0XHRcdC8vIHJldHVybiBwcm90by5yZWdpc3Rlckhvb2suY2FsbCggdHlwZXNDb2xsZWN0aW9ucy5nZXQoIHNlbGYgKSwgaG9va05hbWUsIGhvb2tDYWxsYmFjayApO1xuXHRcdFx0XHRyZXR1cm4gcmVnaXN0ZXJIb29rLmNhbGwoXG5cdFx0XHRcdFx0c2VsZixcblx0XHRcdFx0XHRob29rTmFtZSxcblx0XHRcdFx0XHRob29rQ2FsbGJhY2sgXG5cdFx0XHRcdCk7XG5cdFx0XHR9LmJpbmQoIHRoaXMgKTtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdpbnZva2VIb29rJyxcblx0e1xuXHRcdGdldCAodGhpczogVHlwZXNDb2xsZWN0aW9uKSB7XG5cdFx0XHRyZXR1cm4gKCBob29rTmFtZTogc3RyaW5nLCBvcHRzOiB7IFtpbmRleDogc3RyaW5nXTogdW5rbm93biB9ICkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gaW52b2tlSG9vay5jYWxsKFxuXHRcdFx0XHRcdHR5cGVzQ29sbGVjdGlvbnMuZ2V0KCB0aGlzICksXG5cdFx0XHRcdFx0aG9va05hbWUsXG5vcHRzIGFzIGhvb2tzT3B0cyBcblx0XHRcdFx0KTtcblx0XHRcdH07XG5cdFx0fVxuXHR9IFxuKTtcblxub2RwKFxuXHRUeXBlc0NvbGxlY3Rpb24ucHJvdG90eXBlLFxuXHQncmVnaXN0ZXJGbG93Q2hlY2tlcicsXG5cdHtcblx0XHRnZXQgKHRoaXM6IFR5cGVzQ29sbGVjdGlvbikge1xuXHRcdFx0cmV0dXJuICggZmxvd0NoZWNrZXJDYWxsYmFjazogKCkgPT4gdW5rbm93biApID0+IHtcblx0XHRcdFx0cmV0dXJuIHJlZ2lzdGVyRmxvd0NoZWNrZXIuY2FsbChcblx0XHRcdFx0XHR0eXBlc0NvbGxlY3Rpb25zLmdldCggdGhpcyApLFxuXHRcdFx0XHRcdGZsb3dDaGVja2VyQ2FsbGJhY2sgXG5cdFx0XHRcdCk7XG5cdFx0XHR9O1xuXHRcdH1cblx0fSBcbik7XG5cblxuaW50ZXJmYWNlIFR5cGVzQ29sbGVjdGlvblRhcmdldCB7XG5cdHN1YnR5cGVzOiBUeXBlc01hcDtcblx0ZGVmaW5lOiAobmFtZTogc3RyaW5nLCBjdG9yOiBGdW5jdGlvbkNvbnN0cnVjdG9yKSA9PiBvYmplY3Q7XG59XG5cbmNvbnN0IHR5cGVzQ29sbGVjdGlvblByb3h5SGFuZGxlciA9IHtcblx0Z2V0ICggdGFyZ2V0OiBUeXBlc0NvbGxlY3Rpb25UYXJnZXQsIHByb3A6IHN0cmluZyApIHtcblx0XHRpZiAoIHRhcmdldC5zdWJ0eXBlcy5oYXMoIHByb3AgKSApIHtcblx0XHRcdC8vIGFjY2VzcyB0byBzdXB0eXBlXG5cdFx0XHQvLyBmb3IgbmV3IGNhbGwgb3IgZGVmaW5pbmcgbmV3IHR5cGVcblx0XHRcdHJldHVybiB0YXJnZXQuc3VidHlwZXMuZ2V0KCBwcm9wICk7XG5cdFx0fVxuXHRcdGlmICggcHJvcCA9PT0gJ2RlZmluZScgKSB7XG5cdFx0XHQvLyB3aWxsIGhvcGVmdWxseSBkZWZpbmUgbmV3IHR5cGVcblx0XHRcdHJldHVybiB0YXJnZXQuZGVmaW5lO1xuXHRcdH1cblx0XHRyZXR1cm4gUmVmbGVjdC5nZXQoXG5cdFx0XHR0YXJnZXQsXG5cdFx0XHRwcm9wIFxuXHRcdCk7XG5cdH0sXG5cdHNldCAoIHRhcmdldDogVHlwZXNDb2xsZWN0aW9uVGFyZ2V0LCBUeXBlTmFtZTogc3RyaW5nLCBDb25zdHJ1Y3RvcjogRnVuY3Rpb25Db25zdHJ1Y3RvciApIHtcblx0XHR0YXJnZXQuZGVmaW5lKFxuXHRcdFx0VHlwZU5hbWUsXG5cdFx0XHRDb25zdHJ1Y3RvciBcblx0XHQpO1xuXHRcdHJldHVybiB0cnVlO1xuXHR9LFxuXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcblx0Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yICggdGFyZ2V0OiBUeXBlc0NvbGxlY3Rpb25UYXJnZXQsIHByb3A6IHN0cmluZyApIHtcblx0XHRpZiAoIHRhcmdldC5zdWJ0eXBlcy5oYXMoIHByb3AgKSApIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGNvbmZpZ3VyYWJsZSA6IHRydWUsXG5cdFx0XHRcdGVudW1lcmFibGUgICA6IHRydWUsXG5cdFx0XHRcdHdyaXRhYmxlICAgICA6IGZhbHNlLFxuXHRcdFx0XHR2YWx1ZSAgICAgICAgOiB0YXJnZXQuc3VidHlwZXMuZ2V0KCBwcm9wIClcblx0XHRcdH07XG5cdFx0fVxuXHRcdHJldHVybiBSZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciggdGFyZ2V0LCBwcm9wICk7XG5cdH1cbn07XG5cbmNvbnN0IGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiA9ICggY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9ICkgPT4ge1xuXG5cdGNvbnN0IHR5cGVzQ29sbGVjdGlvbiA9IG5ldyBUeXBlc0NvbGxlY3Rpb24oIGNvbmZpZyApO1xuXHRjb25zdCB0eXBlc0NvbGxlY3Rpb25Qcm94eSA9IG5ldyBQcm94eShcblx0XHR0eXBlc0NvbGxlY3Rpb24sXG5cdFx0dHlwZXNDb2xsZWN0aW9uUHJveHlIYW5kbGVyIFxuXHQpO1xuXG5cdHR5cGVzQ29sbGVjdGlvbnMuc2V0KFxuXHRcdHR5cGVzQ29sbGVjdGlvbixcblx0XHR0eXBlc0NvbGxlY3Rpb25Qcm94eSBcblx0KTtcblxuXHRyZXR1cm4gdHlwZXNDb2xsZWN0aW9uUHJveHk7XG5cbn07XG5cbmNvbnN0IERFRkFVTFRfVFlQRVMgPSBjcmVhdGVUeXBlc0NvbGxlY3Rpb24oKTtcbm9kcChcblx0REVGQVVMVF9UWVBFUyxcblx0U3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbixcblx0e1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH0gXG4pO1xuXG5leHBvcnQgY29uc3QgdHlwZXMgPSB7XG5cdGdldCBjcmVhdGVUeXBlc0NvbGxlY3Rpb24gKCk6IENyZWF0ZVR5cGVzQ29sbGVjdGlvbkZ1bmN0aW9uIHtcblx0XHRyZXR1cm4gZnVuY3Rpb24gKCBjb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge30gKTogVHlwZXNDb2xsZWN0aW9uIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiggY29uZmlnICkgYXMgVHlwZXNDb2xsZWN0aW9uO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9O1xuXHR9LFxuXHRnZXQgZGVmYXVsdFR5cGVzICgpOiBUeXBlc0NvbGxlY3Rpb24ge1xuXHRcdHJldHVybiBERUZBVUxUX1RZUEVTIGFzIFR5cGVzQ29sbGVjdGlvbjtcblx0fVxuXG59O1xuIl19
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvcnMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVYiwrQ0FBNEM7QUFDNUMsTUFBTSxFQUNMLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLFlBQVksRUFDWixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxTQUFTLEdBQ1QsR0FBRyxxQkFBUyxDQUFDO0FBR2QsMkNBRXlCO0FBRXpCLDBEQUE0QztBQUU1QyxNQUFNLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixtQkFBbUIsR0FDbkIsR0FBRyxRQUFRLENBQUM7QUFFYixNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7QUFFbkMsTUFBTSxlQUFlLEdBQUcsVUFBVyxPQUFnQztJQUVsRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUczQixNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQ3ZDLENBQUUsQ0FBMEIsRUFBRSxHQUFXLEVBQUcsRUFBRTtRQUM3QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUUsR0FBRyxDQUFFLENBQUM7UUFDN0IsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFFLEdBQUcsQ0FBRSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLE9BQU8sS0FBSyxDQUFDO1FBQzVCLE1BQU0sTUFBTSxHQUFHLE9BQU8sTUFBTSxDQUFDO1FBQzdCLElBQUssTUFBTSxLQUFLLE1BQU0sRUFBRyxDQUFDO1lBQ3pCLENBQUMsQ0FBRSxHQUFHLENBQUUsR0FBRyxLQUFLLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDUCxDQUFDLENBQUUsR0FBRyxD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RyxDQUFFLFNBQWtDLEVBQUUsRUFBRyxFQUFFO0lBRXhFLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFFLE1BQU0sQ0FBRSxDQUFDO0lBQ3RELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxLQUFLLENBQ3JDLGVBQWUsRUFDZiwyQkFBMkIsQ0FDM0IsQ0FBQztJQUVGLGdCQUFnQixDQUFDLEdBQUcsQ0FDbkIsZUFBZSxFQUNmLG9CQUFvQixDQUNwQixDQUFDO0lBRUYsT0FBTyxvQkFBb0IsQ0FBQztBQUU3QixDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO0FBQzlDLEdBQUcsQ0FDRixhQUFhLEVBQ2IsNEJBQTRCLEVBQzVCO0lBQ0MsR0FBRztRQUNGLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztDQUNELENBQ0QsQ0FBQztBQUVXLFFBQUEsS0FBSyxHQUFHO0lBQ3BCLElBQUkscUJBQXFCO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLFVBQVcsU0FBa0MsRUFBRTtZQUM3RCxNQUFNLGdCQUFnQixHQUFHLHFCQUFxQixDQUFFLE1BQU0sQ0FBcUIsQ0FBQztZQUM1RSxPQUFPLGdCQUFnQixDQUFDO1FBQ3pCLENBQUMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksWUFBWTtRQUNmLE1BQU0sTUFBTSxHQUFHLGFBQWdDLENBQUM7UUFDaEQsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0NBRUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHR5cGUge1xuXHRfSW50ZXJuYWxfVENfLFxuXHRDcmVhdGVUeXBlc0NvbGxlY3Rpb25GdW5jdGlvbixcblx0VHlwZXNDb2xsZWN0aW9uLFxuXHRob29rc09wdHMsXG5cdGhvb2tcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuY29uc3Qge1xuXHRvZHAsXG5cdFN5bWJvbENvbnN0cnVjdG9yTmFtZSxcblx0U3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbixcblx0U3ltYm9sQ29uZmlnLFxuXHRkZWZhdWx0T3B0aW9ucyxcblx0ZGVmYXVsdE9wdGlvbnNLZXlzLFxuXHRNTkVNT05JQ0EsXG5cdE1ORU1PU1lORSxcbn0gPSBjb25zdGFudHM7XG5cbi8vIGhlcmUgaXMgVHlwZXNDb2xsZWN0aW9uLmRlZmluZSgpIG1ldGhvZFxuaW1wb3J0IHtcblx0ZGVmaW5lLCBsb29rdXAsIHR5cGUgVHlwZXNNYXAgXG59IGZyb20gJy4uLy4uL2FwaS90eXBlcyc7XG5cbmltcG9ydCAqIGFzIGhvb2tzQVBJIGZyb20gJy4uLy4uL2FwaS9ob29rcyc7XG5cbmNvbnN0IHtcblx0cmVnaXN0ZXJIb29rLFxuXHRpbnZva2VIb29rLFxuXHRyZWdpc3RlckZsb3dDaGVja2VyLFxufSA9IGhvb2tzQVBJO1xuXG5jb25zdCB0eXBlc0NvbGxlY3Rpb25zID0gbmV3IE1hcCgpO1xuXG5jb25zdCBUeXBlc0NvbGxlY3Rpb24gPSBmdW5jdGlvbiAoIF9jb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ICkge1xuXHQgXG5cdGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cdGNvbnN0IHN1YnR5cGVzID0gbmV3IE1hcCgpO1xuXG5cdC8vIGRlZmF1bHQgY29uZmlnIGlzIGxlc3MgaW1wb3J0YW50IHRoYW4gdHlwZXMgY29sbGVjdGlvbiBjb25maWdcblx0Y29uc3QgY29uZmlnID0gZGVmYXVsdE9wdGlvbnNLZXlzLnJlZHVjZShcblx0XHQoIG86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBrZXk6IHN0cmluZyApID0+IHtcblx0XHRcdGNvbnN0IHZhbHVlID0gX2NvbmZpZ1sga2V5IF07XG5cdFx0XHRjb25zdCBvcHRpb24gPSBkZWZhdWx0T3B0aW9uc1sga2V5IF07XG5cdFx0XHRjb25zdCB0X2NvbmYgPSB0eXBlb2YgdmFsdWU7XG5cdFx0XHRjb25zdCB0X29wdHMgPSB0eXBlb2Ygb3B0aW9uO1xuXHRcdFx0aWYgKCB0X2NvbmYgPT09IHRfb3B0cyApIHtcblx0XHRcdFx0b1sga2V5IF0gPSB2YWx1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG9bIGtleSBdID0gb3B0aW9uO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIG87XG5cdFx0fSxcblx0XHR7fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0dGhpcyxcblx0XHRTeW1ib2xDb25maWcsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGNvbmZpZztcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdG9kcChcblx0XHR0aGlzLFxuXHRcdFN5bWJvbC5oYXNJbnN0YW5jZSxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRjb25zdCByZXN1bHQgPSAoIGluc3RhbmNlOiB7IFtTeW1ib2xDb25zdHJ1Y3Rvck5hbWVdPzogc3RyaW5nIH0gKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgY2hlY2tSZXN1bHQgPSBpbnN0YW5jZVsgU3ltYm9sQ29uc3RydWN0b3JOYW1lIF0gPT09IE1ORU1PTklDQTtcblx0XHRcdFx0XHRyZXR1cm4gY2hlY2tSZXN1bHQ7XG5cdFx0XHRcdH07XG5cdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0dGhpcyxcblx0XHQnc3VidHlwZXMnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBzdWJ0eXBlcztcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdC8vIEZvciBpbnN0YW5jZW9mIE1ORU1PU1lORVxuXHRvZHAoXG5cdFx0c3VidHlwZXMsXG5cdFx0TU5FTU9TWU5FLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHQvLyByZXR1cm5pbmcgcHJveHlcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdHlwZXNDb2xsZWN0aW9ucy5nZXQoIHNlbGYgKTtcblx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdC8vIEZvciBpbnN0YW5jZW9mIE1ORU1PU1lORVxuXHRvZHAoXG5cdFx0dGhpcyxcblx0XHRNTkVNT1NZTkUsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdC8vIHJldHVybmluZyBwcm94eVxuXHRcdFx0XHRjb25zdCByZXN1bHQgPSB0eXBlc0NvbGxlY3Rpb25zLmdldCggc2VsZiApO1xuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0Y29uc3QgaG9va3MgPSBPYmplY3QuY3JlYXRlKCBudWxsICk7XG5cdG9kcChcblx0XHR0aGlzLFxuXHRcdCdob29rcycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGhvb2tzO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cbn0gYXMgX0ludGVybmFsX1RDXzxvYmplY3Q+O1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdE1ORU1PTklDQSxcblx0e1xuXHRcdGdldCAoKSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSB0eXBlc0NvbGxlY3Rpb25zLmdldCggdGhpcyApO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9XG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdkZWZpbmUnLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiB7IHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+IH0pIHtcblx0XHRcdGNvbnN0IHsgc3VidHlwZXMgfSA9IHRoaXM7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBmdW5jdGlvbiAoXG5cdFx0XHRcdHRoaXM6IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0XHRcdFR5cGVPclR5cGVOYW1lOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdFx0XHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWc/OiBDYWxsYWJsZUZ1bmN0aW9uIHwgb2JqZWN0LFxuXHRcdFx0XHRjb25maWc/OiBvYmplY3Rcblx0XHRcdCkge1xuXHRcdFx0Ly8gdGhpcyAtIGRlZmluZSBmdW5jdGlvbiBvZiBtbmVtb25pY2EgaW50ZXJmYWNlXG5cdFx0XHRcdGNvbnN0IGRlZmluZVJlc3VsdCA9IGRlZmluZS5jYWxsKFxuXHRcdFx0XHRcdHRoaXMgYXMgdW5rbm93bixcblx0XHRcdFx0XHRzdWJ0eXBlcyBhcyBUeXBlc01hcCxcblx0XHRcdFx0XHRUeXBlT3JUeXBlTmFtZSxcblx0XHRcdFx0XHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWcsXG5cdFx0XHRcdFx0Y29uZmlnXG5cdFx0XHRcdCk7XG5cdFx0XHRcdHJldHVybiBkZWZpbmVSZXN1bHQ7XG5cdFx0XHR9O1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdsb29rdXAnLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiB7IHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+IH0pIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IGZ1bmN0aW9uIChcblx0XHRcdFx0dGhpczogeyBzdWJ0eXBlczogTWFwPHN0cmluZywgb2JqZWN0PiB9LFxuXHRcdFx0XHRUeXBlTmVzdGVkUGF0aDogc3RyaW5nXG5cdFx0XHQpIHtcblx0XHRcdFx0Y29uc3QgbG9va3VwUmVzdWx0ID0gbG9va3VwLmNhbGwoXG4gdGhpcy5zdWJ0eXBlcyBhcyB1bmtub3duIGFzIFR5cGVzTWFwLFxuIFR5cGVOZXN0ZWRQYXRoIFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRyZXR1cm4gbG9va3VwUmVzdWx0O1xuXHRcdFx0fS5iaW5kKCB0aGlzICk7XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0sXG5cdFx0ZW51bWVyYWJsZSA6IHRydWVcblx0fSBcbik7XG5cbm9kcChcblx0VHlwZXNDb2xsZWN0aW9uLnByb3RvdHlwZSxcblx0J3JlZ2lzdGVySG9vaycsXG5cdHtcblx0XHRnZXQgKHRoaXM6IFR5cGVzQ29sbGVjdGlvbikge1xuXHRcdCBcblx0XHRcdGNvbnN0IHNlbGYgPSB0aGlzO1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gZnVuY3Rpb24gKCBob29rTmFtZTogc3RyaW5nLCBob29rQ2FsbGJhY2s6IGhvb2sgKSB7XG5cdFx0XHQvLyByZXR1cm4gcHJvdG8ucmVnaXN0ZXJIb29rLmNhbGwoIHR5cGVzQ29sbGVjdGlvbnMuZ2V0KCBzZWxmICksIGhvb2tOYW1lLCBob29rQ2FsbGJhY2sgKTtcblx0XHRcdFx0Y29uc3QgaG9va1Jlc3VsdCA9IHJlZ2lzdGVySG9vay5jYWxsKFxuXHRcdFx0XHRcdHNlbGYsXG5cdFx0XHRcdFx0aG9va05hbWUsXG5cdFx0XHRcdFx0aG9va0NhbGxiYWNrIFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRyZXR1cm4gaG9va1Jlc3VsdDtcblx0XHRcdH0uYmluZCggdGhpcyApO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdpbnZva2VIb29rJyxcblx0e1xuXHRcdGdldCAodGhpczogVHlwZXNDb2xsZWN0aW9uKSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSAoIGhvb2tOYW1lOiBzdHJpbmcsIG9wdHM6IHsgW2luZGV4OiBzdHJpbmddOiB1bmtub3duIH0gKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGhvb2tSZXN1bHQgPSBpbnZva2VIb29rLmNhbGwoXG5cdFx0XHRcdFx0dHlwZXNDb2xsZWN0aW9ucy5nZXQoIHRoaXMgKSxcblx0XHRcdFx0XHRob29rTmFtZSxcbm9wdHMgYXMgaG9va3NPcHRzIFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRyZXR1cm4gaG9va1Jlc3VsdDtcblx0XHRcdH07XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH1cblx0fSBcbik7XG5cbm9kcChcblx0VHlwZXNDb2xsZWN0aW9uLnByb3RvdHlwZSxcblx0J3JlZ2lzdGVyRmxvd0NoZWNrZXInLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiBUeXBlc0NvbGxlY3Rpb24pIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9ICggZmxvd0NoZWNrZXJDYWxsYmFjazogKCkgPT4gdW5rbm93biApID0+IHtcblx0XHRcdFx0Y29uc3QgY2hlY2tlclJlc3VsdCA9IHJlZ2lzdGVyRmxvd0NoZWNrZXIuY2FsbChcblx0XHRcdFx0XHR0eXBlc0NvbGxlY3Rpb25zLmdldCggdGhpcyApLFxuXHRcdFx0XHRcdGZsb3dDaGVja2VyQ2FsbGJhY2sgXG5cdFx0XHRcdCk7XG5cdFx0XHRcdHJldHVybiBjaGVja2VyUmVzdWx0O1xuXHRcdFx0fTtcblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fVxuXHR9IFxuKTtcblxuXG5pbnRlcmZhY2UgVHlwZXNDb2xsZWN0aW9uVGFyZ2V0IHtcblx0c3VidHlwZXM6IFR5cGVzTWFwO1xuXHRkZWZpbmU6IChuYW1lOiBzdHJpbmcsIGN0b3I6IEZ1bmN0aW9uQ29uc3RydWN0b3IpID0+IG9iamVjdDtcbn1cblxuY29uc3QgdHlwZXNDb2xsZWN0aW9uUHJveHlIYW5kbGVyID0ge1xuXHRnZXQgKCB0YXJnZXQ6IFR5cGVzQ29sbGVjdGlvblRhcmdldCwgcHJvcDogc3RyaW5nICkge1xuXHRcdGlmICggdGFyZ2V0LnN1YnR5cGVzLmhhcyggcHJvcCApICkge1xuXHRcdFx0Ly8gYWNjZXNzIHRvIHN1YnR5cGVcblx0XHRcdC8vIGZvciBuZXcgY2FsbCBvciBkZWZpbmluZyBuZXcgdHlwZVxuXHRcdFx0Y29uc3Qgc3VidHlwZVJlc3VsdCA9IHRhcmdldC5zdWJ0eXBlcy5nZXQoIHByb3AgKTtcblx0XHRcdHJldHVybiBzdWJ0eXBlUmVzdWx0O1xuXHRcdH1cblx0XHRpZiAoIHByb3AgPT09ICdkZWZpbmUnICkge1xuXHRcdFx0Ly8gd2lsbCBob3BlZnVsbHkgZGVmaW5lIG5ldyB0eXBlXG5cdFx0XHRyZXR1cm4gdGFyZ2V0LmRlZmluZTtcblx0XHR9XG5cdFx0Y29uc3QgcmVmbGVjdFJlc3VsdCA9IFJlZmxlY3QuZ2V0KFxuXHRcdFx0dGFyZ2V0LFxuXHRcdFx0cHJvcCBcblx0XHQpO1xuXHRcdHJldHVybiByZWZsZWN0UmVzdWx0O1xuXHR9LFxuXHRzZXQgKCB0YXJnZXQ6IFR5cGVzQ29sbGVjdGlvblRhcmdldCwgVHlwZU5hbWU6IHN0cmluZywgQ29uc3RydWN0b3I6IEZ1bmN0aW9uQ29uc3RydWN0b3IgKSB7XG5cdFx0dGFyZ2V0LmRlZmluZShcblx0XHRcdFR5cGVOYW1lLFxuXHRcdFx0Q29uc3RydWN0b3IgXG5cdFx0KTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fSxcblx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG5cdGdldE93blByb3BlcnR5RGVzY3JpcHRvciAoIHRhcmdldDogVHlwZXNDb2xsZWN0aW9uVGFyZ2V0LCBwcm9wOiBzdHJpbmcgKSB7XG5cdFx0aWYgKCB0YXJnZXQuc3VidHlwZXMuaGFzKCBwcm9wICkgKSB7XG5cdFx0XHRjb25zdCBkZXNjcmlwdG9yUmVzdWx0ID0ge1xuXHRcdFx0XHRjb25maWd1cmFibGUgOiB0cnVlLFxuXHRcdFx0XHRlbnVtZXJhYmxlICAgOiB0cnVlLFxuXHRcdFx0XHR3cml0YWJsZSAgICAgOiBmYWxzZSxcblx0XHRcdFx0dmFsdWUgICAgICAgIDogdGFyZ2V0LnN1YnR5cGVzLmdldCggcHJvcCApXG5cdFx0XHR9O1xuXHRcdFx0cmV0dXJuIGRlc2NyaXB0b3JSZXN1bHQ7XG5cdFx0fVxuXHRcdGNvbnN0IG93blByb3BSZXN1bHQgPSBSZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciggdGFyZ2V0LCBwcm9wICk7XG5cdFx0cmV0dXJuIG93blByb3BSZXN1bHQ7XG5cdH1cbn07XG5cbmNvbnN0IGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiA9ICggY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9ICkgPT4ge1xuXG5cdGNvbnN0IHR5cGVzQ29sbGVjdGlvbiA9IG5ldyBUeXBlc0NvbGxlY3Rpb24oIGNvbmZpZyApO1xuXHRjb25zdCB0eXBlc0NvbGxlY3Rpb25Qcm94eSA9IG5ldyBQcm94eShcblx0XHR0eXBlc0NvbGxlY3Rpb24sXG5cdFx0dHlwZXNDb2xsZWN0aW9uUHJveHlIYW5kbGVyIFxuXHQpO1xuXG5cdHR5cGVzQ29sbGVjdGlvbnMuc2V0KFxuXHRcdHR5cGVzQ29sbGVjdGlvbixcblx0XHR0eXBlc0NvbGxlY3Rpb25Qcm94eSBcblx0KTtcblxuXHRyZXR1cm4gdHlwZXNDb2xsZWN0aW9uUHJveHk7XG5cbn07XG5cbmNvbnN0IERFRkFVTFRfVFlQRVMgPSBjcmVhdGVUeXBlc0NvbGxlY3Rpb24oKTtcbm9kcChcblx0REVGQVVMVF9UWVBFUyxcblx0U3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbixcblx0e1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH0gXG4pO1xuXG5leHBvcnQgY29uc3QgdHlwZXMgPSB7XG5cdGdldCBjcmVhdGVUeXBlc0NvbGxlY3Rpb24gKCk6IENyZWF0ZVR5cGVzQ29sbGVjdGlvbkZ1bmN0aW9uIHtcblx0XHRjb25zdCByZXN1bHQgPSBmdW5jdGlvbiAoIGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSApOiBUeXBlc0NvbGxlY3Rpb24ge1xuXHRcdFx0Y29uc3QgY29sbGVjdGlvblJlc3VsdCA9IGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiggY29uZmlnICkgYXMgVHlwZXNDb2xsZWN0aW9uO1xuXHRcdFx0cmV0dXJuIGNvbGxlY3Rpb25SZXN1bHQ7XG5cdFx0fTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9LFxuXHRnZXQgZGVmYXVsdFR5cGVzICgpOiBUeXBlc0NvbGxlY3Rpb24ge1xuXHRcdGNvbnN0IHJlc3VsdCA9IERFRkFVTFRfVFlQRVMgYXMgVHlwZXNDb2xsZWN0aW9uO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxufTtcbiJdfQ==
package/build/index.d.ts CHANGED
@@ -1,17 +1,16 @@
1
- import type { CreateTypesCollectionFunction, IDEF, hook, hooksTypes, constructorOptions, Proto, Constructor, DecoratedClass, TypeClass, TypeAbsorber, MnemonicaModule, TypeConstructor } from './types';
1
+ import type { CreateTypesCollectionFunction, IDEF, hook, hooksTypes, constructorOptions, Proto, Constructor, DecoratedClass, TypeClass, TypeAbsorber, MnemonicaModule, InstanceResult, Merge } from './types';
2
2
  export declare const isClass: (fn: import("./api/types/compileNewModificatorFunctionBody").ConstructHandler) => boolean, findSubTypeFromParent: (instance: import("./api/utils/index").parentSub | object | undefined, subType: string) => import("./api/utils/index").parentSub | null;
3
- export type { IDEF, TypeConstructor, _Internal_TC_, Proto, ProtoFlat, hooksOpts, hook, hooksTypes, TypesCollection } from './types';
3
+ export type { IDEF, TypeConstructor, TypeConstructorBase, InstanceOfTypeRegistry, LiteralKeysOf, ParentPath, PathOfInstance, AllParentPrefixes, ParentPathOfInstance, _Internal_TC_, Proto, ProtoFlat, hooksOpts, hook, hooksTypes, TypesCollection } from './types';
4
+ export interface TypeRegistry {
5
+ }
4
6
  export { getProps, setProps } from './api/types/Props';
5
7
  export declare const defaultTypes: import("./types").TypesCollection;
6
8
  export declare const define: TypeAbsorber;
7
- export declare const lookup: (this: unknown, TypeNestedPath: string) => TypeClass | undefined;
8
- export interface TypeRegistry {
9
- [key: string]: TypeConstructor<never>;
10
- }
11
- export declare const lookupTyped: <const K extends keyof TypeRegistry>(this: unknown, TypeNestedPath: K) => TypeRegistry[K];
12
- export declare const apply: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>, args?: unknown[]) => { [key in keyof S]: S[key]; };
13
- export declare const call: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>, ...args: unknown[]) => { [key in keyof S]: S[key]; };
14
- export declare const bind: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>) => (...args: unknown[]) => { [key in keyof S]: S[key]; };
9
+ export declare function lookup<const K extends keyof TypeRegistry>(this: unknown, TypeNestedPath: K): TypeRegistry[K] | undefined;
10
+ export declare function lookup(this: unknown, TypeNestedPath: string): TypeClass | undefined;
11
+ export declare const apply: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>, args?: unknown[]) => InstanceResult<Merge<E, T>>;
12
+ export declare const call: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>, ...args: unknown[]) => InstanceResult<Merge<E, T>>;
13
+ export declare const bind: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>) => (...args: unknown[]) => InstanceResult<Merge<E, T>>;
15
14
  export declare const decorate: <T extends Constructor<object> | constructorOptions | undefined = undefined>(target?: T, config?: constructorOptions) => <U extends Constructor<object>>(cstr: U) => DecoratedClass<U>;
16
15
  export declare const registerHook: <T extends Constructor<T>>(Ctor: DecoratedClass<T>, hookType: hooksTypes, cb: hook) => void;
17
16
  export declare const mnemonica: MnemonicaModule;