@fgv/ts-utils 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/brand.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Helper type to brand a simple type to prevent inappropriate use
3
3
  * @public
4
4
  */
5
- export declare type Brand<T, B> = T & {
5
+ export type Brand<T, B> = T & {
6
6
  __brand: B;
7
7
  };
8
8
  //# sourceMappingURL=brand.d.ts.map
package/brand.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AAEH,oBAAY,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AAEH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC"}
package/converter.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Result } from './result';
2
2
  import { Brand } from './brand';
3
- declare type OnError = 'failOnError' | 'ignoreErrors';
3
+ type OnError = 'failOnError' | 'ignoreErrors';
4
4
  /**
5
5
  * Converter traits.
6
6
  * @public
@@ -161,20 +161,20 @@ export interface Converter<T, TC = undefined> extends ConverterTraits {
161
161
  /**
162
162
  * internal
163
163
  */
164
- declare type InnerInferredType<TCONV> = TCONV extends Converter<infer TTO> ? (TTO extends Array<infer TTOELEM> ? InnerInferredType<TTOELEM>[] : TTO) : (TCONV extends Array<infer TELEM> ? InnerInferredType<TELEM>[] : TCONV);
164
+ type InnerInferredType<TCONV> = TCONV extends Converter<infer TTO> ? (TTO extends Array<infer TTOELEM> ? InnerInferredType<TTOELEM>[] : TTO) : (TCONV extends Array<infer TELEM> ? InnerInferredType<TELEM>[] : TCONV);
165
165
  /**
166
166
  * Infers the type that will be returned by an intstantiated converter. Works
167
167
  * for complex as well as simple types.
168
168
  * @example `Infer<typeof Converters.mapOf(Converters.stringArray)>` is `Map<string, string[]>`
169
169
  * @beta
170
170
  */
171
- export declare type Infer<TCONV> = TCONV extends Converter<infer TTO> ? InnerInferredType<TTO> : never;
171
+ export type Infer<TCONV> = TCONV extends Converter<infer TTO> ? InnerInferredType<TTO> : never;
172
172
  /**
173
173
  * Deprecated name for Infer<T> retained for compatibility
174
174
  * @deprecated use @see Infer instead
175
175
  * @internal
176
176
  */
177
- export declare type ConvertedToType<TCONV> = Infer<TCONV>;
177
+ export type ConvertedToType<TCONV> = Infer<TCONV>;
178
178
  /**
179
179
  * Base templated wrapper to simplify creation of new {@link Converter}s.
180
180
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
package/converters.d.ts CHANGED
@@ -2,7 +2,7 @@ import { BaseConverter, Converter, ConverterTraits } from './converter';
2
2
  import { RangeOf, RangeOfProperties } from './rangeOf';
3
3
  import { Result } from './result';
4
4
  import { ExtendedArray } from './extendedArray';
5
- declare type OnError = 'failOnError' | 'ignoreErrors';
5
+ type OnError = 'failOnError' | 'ignoreErrors';
6
6
  /**
7
7
  * Options for {@link Converters.StringConverter | StringConverter}
8
8
  * matching method
@@ -420,7 +420,7 @@ export interface ObjectConverterOptions<T> {
420
420
  * Used to construct a {@link Converters.ObjectConverter | ObjectConverter}
421
421
  * @public
422
422
  */
423
- export declare type FieldConverters<T, TC = unknown> = {
423
+ export type FieldConverters<T, TC = unknown> = {
424
424
  [key in keyof T]: Converter<T[key], TC>;
425
425
  };
426
426
  /**
@@ -533,7 +533,7 @@ export declare function object<T>(properties: FieldConverters<T>, optional: (key
533
533
  * Options for the {@link Converters.(strictObject:withOptions)} helper function.
534
534
  * @public
535
535
  */
536
- export declare type StrictObjectConverterOptions<T> = Omit<ObjectConverterOptions<T>, 'strict'>;
536
+ export type StrictObjectConverterOptions<T> = Omit<ObjectConverterOptions<T>, 'strict'>;
537
537
  /**
538
538
  * Helper function to create a {@link Converters.ObjectConverter | ObjectConverter} which converts an object
539
539
  * without changing shape, a {@link Converters.FieldConverters | FieldConverters<T>} and an optional
@@ -578,7 +578,7 @@ export declare function strictObject<T>(properties: FieldConverters<T>, optional
578
578
  * value of a discriminator property.
579
579
  * @public
580
580
  */
581
- export declare type DiscriminatedObjectConverters<T, TD extends string = string, TC = unknown> = Record<TD, Converter<T, TC>>;
581
+ export type DiscriminatedObjectConverters<T, TD extends string = string, TC = unknown> = Record<TD, Converter<T, TC>>;
582
582
  /**
583
583
  * Helper to create a {@link Converter} which converts a discriminated object without changing shape.
584
584
  * @remarks
@@ -1 +1 @@
1
- {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../src/converters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../src/converters.ts"],"names":[],"mappings":"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"}
package/csvHelpers.js CHANGED
@@ -43,15 +43,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
43
43
  __setModuleDefault(result, mod);
44
44
  return result;
45
45
  };
46
- var __importDefault = (this && this.__importDefault) || function (mod) {
47
- return (mod && mod.__esModule) ? mod : { "default": mod };
48
- };
49
46
  Object.defineProperty(exports, "__esModule", { value: true });
50
47
  exports.readCsvFileSync = void 0;
51
48
  const fs = __importStar(require("fs"));
52
49
  const path = __importStar(require("path"));
53
50
  const result_1 = require("./result");
54
- const sync_1 = __importDefault(require("csv-parse/lib/sync"));
51
+ const sync_1 = require("csv-parse/sync");
55
52
  /**
56
53
  * Reads a CSV file from a supplied path.
57
54
  * @param srcPath - Source path from which the file is read.
@@ -63,8 +60,8 @@ function readCsvFileSync(srcPath) {
63
60
  const fullPath = path.resolve(srcPath);
64
61
  const body = fs.readFileSync(fullPath, 'utf8').toString();
65
62
  // eslint-disable-next-line
66
- return (0, sync_1.default)(body, { trim: true, from_line: 2 });
63
+ return (0, sync_1.parse)(body, { trim: true, from_line: 2 });
67
64
  });
68
65
  }
69
66
  exports.readCsvFileSync = readCsvFileSync;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2SGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jc3ZIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3QixxQ0FBaUQ7QUFDakQsOERBQXNDO0FBRXRDOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLE9BQWU7SUFDM0MsT0FBTyxJQUFBLHNCQUFhLEVBQUMsR0FBRyxFQUFFO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUQsMkJBQTJCO1FBQzNCLE9BQU8sSUFBQSxjQUFJLEVBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFQRCwwQ0FPQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgUmVzdWx0LCBjYXB0dXJlUmVzdWx0IH0gZnJvbSAnLi9yZXN1bHQnO1xuaW1wb3J0IHN5bmMgZnJvbSAnY3N2LXBhcnNlL2xpYi9zeW5jJztcblxuLyoqXG4gKiBSZWFkcyBhIENTViBmaWxlIGZyb20gYSBzdXBwbGllZCBwYXRoLlxuICogQHBhcmFtIHNyY1BhdGggLSBTb3VyY2UgcGF0aCBmcm9tIHdoaWNoIHRoZSBmaWxlIGlzIHJlYWQuXG4gKiBAcmV0dXJucyBUaGUgY29udGVudHMgb2YgdGhlIGZpbGUuXG4gKiBAYmV0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZENzdkZpbGVTeW5jKHNyY1BhdGg6IHN0cmluZyk6IFJlc3VsdDx1bmtub3duPiB7XG4gICAgcmV0dXJuIGNhcHR1cmVSZXN1bHQoKCkgPT4ge1xuICAgICAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGgucmVzb2x2ZShzcmNQYXRoKTtcbiAgICAgICAgY29uc3QgYm9keSA9IGZzLnJlYWRGaWxlU3luYyhmdWxsUGF0aCwgJ3V0ZjgnKS50b1N0cmluZygpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgcmV0dXJuIHN5bmMoYm9keSwgeyB0cmltOiB0cnVlLCBmcm9tX2xpbmU6IDJ9KTtcbiAgICB9KTtcbn1cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2SGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jc3ZIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3QixxQ0FBaUQ7QUFDakQseUNBQXVDO0FBRXZDOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLE9BQWU7SUFDM0MsT0FBTyxJQUFBLHNCQUFhLEVBQUMsR0FBRyxFQUFFO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUQsMkJBQTJCO1FBQzNCLE9BQU8sSUFBQSxZQUFLLEVBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFQRCwwQ0FPQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgUmVzdWx0LCBjYXB0dXJlUmVzdWx0IH0gZnJvbSAnLi9yZXN1bHQnO1xuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICdjc3YtcGFyc2Uvc3luYyc7XG5cbi8qKlxuICogUmVhZHMgYSBDU1YgZmlsZSBmcm9tIGEgc3VwcGxpZWQgcGF0aC5cbiAqIEBwYXJhbSBzcmNQYXRoIC0gU291cmNlIHBhdGggZnJvbSB3aGljaCB0aGUgZmlsZSBpcyByZWFkLlxuICogQHJldHVybnMgVGhlIGNvbnRlbnRzIG9mIHRoZSBmaWxlLlxuICogQGJldGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRDc3ZGaWxlU3luYyhzcmNQYXRoOiBzdHJpbmcpOiBSZXN1bHQ8dW5rbm93bj4ge1xuICAgIHJldHVybiBjYXB0dXJlUmVzdWx0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLnJlc29sdmUoc3JjUGF0aCk7XG4gICAgICAgIGNvbnN0IGJvZHkgPSBmcy5yZWFkRmlsZVN5bmMoZnVsbFBhdGgsICd1dGY4JykudG9TdHJpbmcoKTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgIHJldHVybiBwYXJzZShib2R5LCB7IHRyaW06IHRydWUsIGZyb21fbGluZTogMn0pO1xuICAgIH0pO1xufVxuIl19
package/formatter.d.ts CHANGED
@@ -3,7 +3,7 @@ import { Result } from './result';
3
3
  * Destination format for some formatted string.
4
4
  * @beta
5
5
  */
6
- export declare type FormatTargets = 'text' | 'markdown' | 'embed';
6
+ export type FormatTargets = 'text' | 'markdown' | 'embed';
7
7
  /**
8
8
  * Interface for an object that can be formatted.
9
9
  * @beta
@@ -40,19 +40,19 @@ export declare class FormattableBase {
40
40
  * item and returns {@link Result | Result<string>}.
41
41
  * @beta
42
42
  */
43
- export declare type Formatter<T> = (format: string, item: T) => Result<string>;
43
+ export type Formatter<T> = (format: string, item: T) => Result<string>;
44
44
  /**
45
45
  * A collection of {@link Formatter | formatters} indexed by target name, to enable
46
46
  * different format methods per output target.
47
47
  * @beta
48
48
  */
49
- export declare type FormattersByExtendedTarget<TFT extends FormatTargets, T> = Record<TFT, Formatter<T>>;
49
+ export type FormattersByExtendedTarget<TFT extends FormatTargets, T> = Record<TFT, Formatter<T>>;
50
50
  /**
51
51
  * A collection of {@link Formatter | formatters} indexed by the {@link FormatTargets | default supported
52
52
  * target formats}.
53
53
  * @beta
54
54
  */
55
- export declare type FormattersByTarget<T> = FormattersByExtendedTarget<FormatTargets, T>;
55
+ export type FormattersByTarget<T> = FormattersByExtendedTarget<FormatTargets, T>;
56
56
  /**
57
57
  * Formats a list of items using the supplied template and formatter, one result
58
58
  * per output line.
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,MAAM,EAAsC,MAAM,UAAU,CAAC;AAKtE;;;GAGG;AACH,oBAAY,aAAa,GAAG,MAAM,GAAC,UAAU,GAAC,OAAO,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,qBAAa,eAAe;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAC,SAAS,GAAG,IAAI;IAO/F;;OAEG;IACI,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;CAGlD;AAED;;;;GAIG;AACH,oBAAY,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;AAEvE;;;;GAIG;AACH,oBAAY,0BAA0B,CAAC,GAAG,SAAS,aAAa,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG;;;;GAIG;AACH,oBAAY,kBAAkB,CAAC,CAAC,IAAI,0BAA0B,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAEjF;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAOrG"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,MAAM,EAAsC,MAAM,UAAU,CAAC;AAKtE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAC,UAAU,GAAC,OAAO,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,qBAAa,eAAe;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAC,SAAS,GAAG,IAAI;IAO/F;;OAEG;IACI,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;CAGlD;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,CAAC,GAAG,SAAS,aAAa,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,0BAA0B,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAEjF;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAOrG"}
package/logger.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Failure, Success } from './result';
2
- export declare type LogLevel = 'detail' | 'info' | 'warning' | 'error' | 'silent';
2
+ export type LogLevel = 'detail' | 'info' | 'warning' | 'error' | 'silent';
3
3
  export interface Logger {
4
4
  log(message?: unknown, ...parameters: unknown[]): Success<string | undefined>;
5
5
  detail(message?: unknown, ...parameters: unknown[]): Success<string | undefined>;
package/logger.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/normalize.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Result } from './result';
2
- export declare type Entry<T> = [string | number | symbol, T];
3
- export declare type ResultEntry<T> = [string | number | symbol, Result<T>];
2
+ export type Entry<T> = [string | number | symbol, T];
3
+ export type ResultEntry<T> = [string | number | symbol, Result<T>];
4
4
  /**
5
5
  * Normalizes an arbitrary JSON object
6
6
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,MAAM,EAA6B,MAAM,UAAU,CAAC;AAE7D,oBAAY,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AACrD,oBAAY,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE;;;GAGG;AACH,qBAAa,UAAU;IACnB;;;;;OAKG;IACI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IA+BvC;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM;IAexD;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;IAQjF,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAI7D;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;CAyBrD"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,MAAM,EAA6B,MAAM,UAAU,CAAC;AAE7D,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AACrD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE;;;GAGG;AACH,qBAAa,UAAU;IACnB;;;;;OAKG;IACI,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IA+BvC;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM;IAexD;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;IAQjF,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAI7D;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;CAyBrD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fgv/ts-utils",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "Assorted Typescript Utilities",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -31,12 +31,13 @@
31
31
  },
32
32
  "homepage": "https://github.com/DidjaRedo/ts-utils#readme",
33
33
  "devDependencies": {
34
+ "@jest/expect-utils": "^29.3.1",
34
35
  "@microsoft/api-documenter": "^7.16.0",
35
36
  "@microsoft/api-extractor": "^7.19.5",
36
- "@types/jest": "^27.0.2",
37
- "@types/luxon": "^2.0.4",
37
+ "@types/jest": "^29.2.4",
38
+ "@types/luxon": "^3.1.0",
38
39
  "@types/mustache": "^4.1.2",
39
- "@types/node": "^17.0.21",
40
+ "@types/node": "^18.11.12",
40
41
  "@typescript-eslint/eslint-plugin": "^5.15.0",
41
42
  "@typescript-eslint/parser": "^5.15.0",
42
43
  "eslint": "^8.11.0",
@@ -44,17 +45,17 @@
44
45
  "eslint-plugin-import": "^2.24.2",
45
46
  "eslint-plugin-node": "^11.1.0",
46
47
  "eslint-plugin-promise": "^6.0.0",
47
- "jest": "^27.2.4",
48
- "jest-extended": "^2.0.0",
49
- "jest-matcher-utils": "^27.2.4",
48
+ "jest": "^29.3.1",
49
+ "jest-extended": "^3.2.0",
50
+ "jest-matcher-utils": "^29.3.1",
50
51
  "rimraf": "^3.0.2",
51
- "ts-jest": "^27.0.5",
52
+ "ts-jest": "^29.0.3",
52
53
  "ts-node": "^10.2.1",
53
54
  "typescript": "^4.4.3"
54
55
  },
55
56
  "dependencies": {
56
- "csv-parse": "^4.16.3",
57
- "luxon": "^2.0.2",
57
+ "csv-parse": "^5.3.3",
58
+ "luxon": "^3.1.1",
58
59
  "mustache": "^4.0.1"
59
60
  }
60
61
  }
package/result.d.ts CHANGED
@@ -2,27 +2,27 @@
2
2
  * Represents the {@link IResult | result} of some operation or sequence of operations.
3
3
  * @remarks
4
4
  * {@link Success | Success<T>} and {@link Failure | Failure<T>} share the common
5
- * contract {@link IResult}, enabling comingled discriminated usage.
5
+ * contract {@link IResult}, enabling commingled discriminated usage.
6
6
  * @public
7
7
  */
8
- export declare type Result<T> = Success<T> | Failure<T>;
8
+ export type Result<T> = Success<T> | Failure<T>;
9
9
  /**
10
10
  * Continuation callback to be called in the event that an
11
11
  * {@link Result} is successful.
12
12
  * @public
13
13
  */
14
- export declare type SuccessContinuation<T, TN> = (value: T) => Result<TN>;
14
+ export type SuccessContinuation<T, TN> = (value: T) => Result<TN>;
15
15
  /**
16
16
  * Continuation callback to be called in the event that an
17
17
  * {@link Result} fails.
18
18
  * @public
19
19
  */
20
- export declare type FailureContinuation<T> = (message: string) => Result<T>;
20
+ export type FailureContinuation<T> = (message: string) => Result<T>;
21
21
  /**
22
22
  * Type inference to determine the result type of an {@link Result}.
23
23
  * @beta
24
24
  */
25
- export declare type ResultValueType<T> = T extends Result<infer TV> ? TV : never;
25
+ export type ResultValueType<T> = T extends Result<infer TV> ? TV : never;
26
26
  /**
27
27
  * Simple logger interface used by {@link IResult.getValueOrThrow}.
28
28
  * @public
@@ -37,7 +37,7 @@ export interface IResultLogger {
37
37
  /**
38
38
  * Represents the result of some operation of sequence of operations.
39
39
  * @remarks
40
- * This common contract enables comingled discriminated usage of {@link Success | Success<T>}
40
+ * This common contract enables commingled discriminated usage of {@link Success | Success<T>}
41
41
  * and {@link Failure | Failure<T>}.
42
42
  * @public
43
43
  */
@@ -116,7 +116,7 @@ export interface IResult<T> {
116
116
  * @param successDetail - An optional detail to be added if this result was successful.
117
117
  * @returns A new {@link DetailedResult | DetailedResult<T, TD>} with either
118
118
  * the success result or the error message from this {@link IResult} and the
119
- * appopriate added detail.
119
+ * appropriate added detail.
120
120
  */
121
121
  withDetail<TD>(detail: TD, successDetail?: TD): DetailedResult<T, TD>;
122
122
  }
@@ -257,7 +257,7 @@ export declare function fail<T>(message: string): Failure<T>;
257
257
  * success results to chain through intermediate result types.
258
258
  * @public
259
259
  */
260
- export declare type DetailedSuccessContinuation<T, TD, TN> = (value: T, detail?: TD) => DetailedResult<TN, TD>;
260
+ export type DetailedSuccessContinuation<T, TD, TN> = (value: T, detail?: TD) => DetailedResult<TN, TD>;
261
261
  /**
262
262
  * Callback to be called when a {@link DetailedResult} encounters a failure.
263
263
  * @remarks
@@ -265,7 +265,7 @@ export declare type DetailedSuccessContinuation<T, TD, TN> = (value: T, detail?:
265
265
  * or it can change or embellish the error message, but it cannot change the success return type.
266
266
  * @public
267
267
  */
268
- export declare type DetailedFailureContinuation<T, TD> = (message: string, detail: TD) => DetailedResult<T, TD>;
268
+ export type DetailedFailureContinuation<T, TD> = (message: string, detail: TD) => DetailedResult<T, TD>;
269
269
  /**
270
270
  * A {@link DetailedSuccess} extends {@link Success} to report optional success details in
271
271
  * addition to the error message.
@@ -370,12 +370,12 @@ export declare class DetailedFailure<T, TD> extends Failure<T> {
370
370
  * Type inference to determine the result type `T` of a {@link DetailedResult | DetailedResult<T, TD>}.
371
371
  * @beta
372
372
  */
373
- export declare type DetailedResult<T, TD> = DetailedSuccess<T, TD> | DetailedFailure<T, TD>;
373
+ export type DetailedResult<T, TD> = DetailedSuccess<T, TD> | DetailedFailure<T, TD>;
374
374
  /**
375
375
  * Type inference to determine the detail type `TD` of a {@link DetailedResult | DetailedResult<T, TD>}.
376
376
  * @beta
377
377
  */
378
- export declare type ResultDetailType<T> = T extends DetailedResult<unknown, infer TD> ? TD : never;
378
+ export type ResultDetailType<T> = T extends DetailedResult<unknown, infer TD> ? TD : never;
379
379
  /**
380
380
  * Returns {@link DetailedSuccess | DetailedSuccess<T, TD>} with a supplied value and optional
381
381
  * detail.
@@ -418,7 +418,7 @@ export declare function propagateWithDetail<T, TD>(result: Result<T>, detail: TD
418
418
  */
419
419
  export declare function captureResult<T>(func: () => T): Result<T>;
420
420
  /**
421
- * Aggregates sucessful result values from a collection of {@link Result | Result<T>}.
421
+ * Aggregates successful result values from a collection of {@link Result | Result<T>}.
422
422
  * @param results - The collection of {@link Result | Result<T>} to be mapped.
423
423
  * @returns If all {@link Result | results} are successful, returns {@link Success} with an
424
424
  * array containing all returned values. If any {@link Result | results} failed, returns
@@ -427,14 +427,14 @@ export declare function captureResult<T>(func: () => T): Result<T>;
427
427
  */
428
428
  export declare function mapResults<T>(results: Iterable<Result<T>>): Result<T[]>;
429
429
  /**
430
- * Aggregates sucessful results from a collection of {@link DetailedResult | DetailedResult<T, TD>},
430
+ * Aggregates successful results from a collection of {@link DetailedResult | DetailedResult<T, TD>},
431
431
  * optionally ignoring certain error details.
432
432
  * @param results - The collection of {@link DetailedResult | DetailedResult<T, TD>} to be mapped.
433
433
  * @param ignore - An array of error detail values (of type `<TD>`) that should be ignored.
434
434
  * @returns {@link Success} with an array containing all successful results if all results either
435
- * suceeded or returned error details listed in `ignore`. If any results failed with details
435
+ * succeeded or returned error details listed in `ignore`. If any results failed with details
436
436
  * that cannot be ignored, returns {@link Failure} with an concatenated summary of all non-ignorable
437
- * error mesasges.
437
+ * error messages.
438
438
  * @public
439
439
  */
440
440
  export declare function mapDetailedResults<T, TD>(results: Iterable<DetailedResult<T, TD>>, ignore: TD[]): Result<T[]>;
@@ -450,7 +450,7 @@ export declare function mapDetailedResults<T, TD>(results: Iterable<DetailedResu
450
450
  export declare function mapSuccess<T>(results: Iterable<Result<T>>): Result<T[]>;
451
451
  /**
452
452
  * Aggregates error messages from a collection of {@link Result | Result<T>}.
453
- * @param results - An interable collection of {@link Result | Result<T>} for which
453
+ * @param results - An iterable collection of {@link Result | Result<T>} for which
454
454
  * error messages are aggregated.
455
455
  * @returns An array of strings consisting of all error messages returned by
456
456
  * {@link Result | results} in the source collection. Ignores {@link Success}
@@ -471,7 +471,7 @@ export declare function allSucceed<T>(results: Iterable<Result<unknown>>, succes
471
471
  * String-keyed record of initialization functions to be passed to {@link populateObject}.
472
472
  * @public
473
473
  */
474
- export declare type FieldInitializers<T> = {
474
+ export type FieldInitializers<T> = {
475
475
  [key in keyof T]: (state: Partial<T>) => Result<T[key]>;
476
476
  };
477
477
  /**
package/result.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAuBA;;;;;;GAMG;AACH,oBAAY,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAChD;;;;GAIG;AACH,oBAAY,mBAAmB,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;AAClE;;;;GAIG;AACH,oBAAY,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;AACpE;;;GAGG;AACH,oBAAY,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhC;;;OAGG;IACH,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhC;;;;;;;OAOG;IACH,eAAe,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC;IAE3C;;;;;;;OAOG;IACH,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAC,SAAS,CAAC;IAEzC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAE1D;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEjD;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CACzE;AAED;;;;GAIG;AACH,qBAAa,OAAO,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACzC;;OAEG;IACH,SAAgB,OAAO,QAAQ;IAC/B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAI;IAE3B;;;OAGG;gBACS,KAAK,EAAE,CAAC;IAIpB;;OAEG;IACH,IAAW,KAAK,IAAI,CAAC,CAEpB;IAED;;OAEG;IACI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;IAItC;;OAEG;IACI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;IAItC;;OAEG;IACI,eAAe,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC;IAIlD;;OAEG;IACI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAC,SAAS;IAI/C;;OAEG;IACI,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;IAIhE;;OAEG;IACI,SAAS,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAItD;;OAEG;IACI,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC;IAIhE;;OAEG;IACI,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC;CAG/E;AAED;;;GAGG;AACH,qBAAa,OAAO,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACzC;;OAEG;IACH,SAAgB,OAAO,SAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC;;;OAGG;gBACS,OAAO,EAAE,MAAM;IAI3B;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;OAEG;IACI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;IAItC;;OAEG;IACI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;IAItC;;OAEG;IACI,eAAe,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,KAAK;IAOrD;;OAEG;IACI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAC,SAAS;IAI/C;;OAEG;IACI,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;IAI/D;;OAEG;IACI,SAAS,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAIvD;;OAEG;IACI,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC;IAI/D;;OAEG;IACI,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC;IAI7E;;;;;OAKG;IACI,QAAQ,IAAI,MAAM;CAG5B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAEnD;AAED;;;;;;GAMG;AACH,oBAAY,2BAA2B,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAEvG;;;;;;GAMG;AACH,oBAAY,2BAA2B,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAExG;;;;GAIG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,EAAE,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAClD;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;IAEvB;;;;;;OAMG;gBACgB,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE;IAKxC;;;OAGG;IACH,IAAW,MAAM,IAAI,EAAE,GAAC,SAAS,CAEhC;IAED;;;;;;;OAOG;IACI,SAAS,IAAI,IAAI,IAAI,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC;IAIlD;;;;;;;OAOG;IACI,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;IAIxF;;;;;;;OAOG;IACI,SAAS,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC;CAGnF;AAED;;;;GAIG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,EAAE,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAClD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;IAEtB;;;;;OAKG;gBACgB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAK9C;;OAEG;IACH,IAAW,MAAM,IAAI,EAAE,CAEtB;IAED;;;;;;;OAOG;IACI,SAAS,IAAI,IAAI,IAAI,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC;IAIlD;;;;;;;;;OASG;IACI,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,2BAA2B,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;IAIzF;;;;;OAKG;IACI,SAAS,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC;CAGlF;AAED;;;GAGG;AACH,oBAAY,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,GAAC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAElF;;;GAGG;AACH,oBAAY,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AAE3F;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAEtF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAEzF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAInH;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAOzD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAiBvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAiB7G;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAiBvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAQrE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAgB5F;AAED;;;GAGG;AACH,oBAAY,iBAAiB,CAAC,CAAC,IAAI;KAAI,GAAG,IAAI,MAAM,CAAC,GAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAAE,CAAC;AAEjG;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAiCpG"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
package/result.js CHANGED
@@ -375,7 +375,7 @@ function captureResult(func) {
375
375
  }
376
376
  exports.captureResult = captureResult;
377
377
  /**
378
- * Aggregates sucessful result values from a collection of {@link Result | Result<T>}.
378
+ * Aggregates successful result values from a collection of {@link Result | Result<T>}.
379
379
  * @param results - The collection of {@link Result | Result<T>} to be mapped.
380
380
  * @returns If all {@link Result | results} are successful, returns {@link Success} with an
381
381
  * array containing all returned values. If any {@link Result | results} failed, returns
@@ -400,14 +400,14 @@ function mapResults(results) {
400
400
  }
401
401
  exports.mapResults = mapResults;
402
402
  /**
403
- * Aggregates sucessful results from a collection of {@link DetailedResult | DetailedResult<T, TD>},
403
+ * Aggregates successful results from a collection of {@link DetailedResult | DetailedResult<T, TD>},
404
404
  * optionally ignoring certain error details.
405
405
  * @param results - The collection of {@link DetailedResult | DetailedResult<T, TD>} to be mapped.
406
406
  * @param ignore - An array of error detail values (of type `<TD>`) that should be ignored.
407
407
  * @returns {@link Success} with an array containing all successful results if all results either
408
- * suceeded or returned error details listed in `ignore`. If any results failed with details
408
+ * succeeded or returned error details listed in `ignore`. If any results failed with details
409
409
  * that cannot be ignored, returns {@link Failure} with an concatenated summary of all non-ignorable
410
- * error mesasges.
410
+ * error messages.
411
411
  * @public
412
412
  */
413
413
  function mapDetailedResults(results, ignore) {
@@ -455,7 +455,7 @@ function mapSuccess(results) {
455
455
  exports.mapSuccess = mapSuccess;
456
456
  /**
457
457
  * Aggregates error messages from a collection of {@link Result | Result<T>}.
458
- * @param results - An interable collection of {@link Result | Result<T>} for which
458
+ * @param results - An iterable collection of {@link Result | Result<T>} for which
459
459
  * error messages are aggregated.
460
460
  * @returns An array of strings consisting of all error messages returned by
461
461
  * {@link Result | results} in the source collection. Ignores {@link Success}
@@ -527,7 +527,7 @@ function populateObject(initializers, order) {
527
527
  }
528
528
  }
529
529
  else {
530
- errors.push(`populateObject: Key ${key} is present but has no initializer`);
530
+ errors.push(`populateObject: Key ${String(key)} is present but has no initializer`);
531
531
  }
532
532
  }
533
533
  if (errors.length > 0) {
@@ -536,4 +536,4 @@ function populateObject(initializers, order) {
536
536
  return succeed(state);
537
537
  }
538
538
  exports.populateObject = populateObject;
539
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Jlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUF3SUg7Ozs7R0FJRztBQUNILE1BQWEsT0FBTztJQVVoQjs7O09BR0c7SUFDSCxZQUFZLEtBQVE7UUFicEI7O1dBRUc7UUFDYSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBVzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUztRQUNaLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWUsQ0FBQyxPQUF1QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCLENBQUMsSUFBUTs7UUFDN0IsT0FBTyxNQUFBLElBQUksQ0FBQyxNQUFNLG1DQUFJLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUssRUFBOEI7UUFDL0MsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxDQUF5QjtRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUIsQ0FBSyxPQUFXO1FBQ3BDLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBSyxNQUFVLEVBQUUsYUFBa0I7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Z2h0IChjKSAyMDIwIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8qKlxuICogUmVwcmVzZW50cyB0aGUge0BsaW5rIElSZXN1bHQgfCByZXN1bHR9IG9mIHNvbWUgb3BlcmF0aW9uIG9yIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMuXG4gKiBAcmVtYXJrc1xuICoge0BsaW5rIFN1Y2Nlc3MgfCBTdWNjZXNzPFQ+fSBhbmQge0BsaW5rIEZhaWx1cmUgfCBGYWlsdXJlPFQ+fSBzaGFyZSB0aGUgY29tbW9uXG4gKiBjb250cmFjdCB7QGxpbmsgSVJlc3VsdH0sIGVuYWJsaW5nIGNvbWluZ2xlZCBkaXNjcmltaW5hdGVkIHVzYWdlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBSZXN1bHQ8VD4gPSBTdWNjZXNzPFQ+IHwgRmFpbHVyZTxUPjtcbi8qKlxuICogQ29udGludWF0aW9uIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCBpbiB0aGUgZXZlbnQgdGhhdCBhblxuICoge0BsaW5rIFJlc3VsdH0gaXMgc3VjY2Vzc2Z1bC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgU3VjY2Vzc0NvbnRpbnVhdGlvbjxULCBUTj4gPSAodmFsdWU6IFQpID0+IFJlc3VsdDxUTj47XG4vKipcbiAqIENvbnRpbnVhdGlvbiBjYWxsYmFjayB0byBiZSBjYWxsZWQgaW4gdGhlIGV2ZW50IHRoYXQgYW5cbiAqIHtAbGluayBSZXN1bHR9IGZhaWxzLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBGYWlsdXJlQ29udGludWF0aW9uPFQ+ID0gKG1lc3NhZ2U6IHN0cmluZykgPT4gUmVzdWx0PFQ+O1xuLyoqXG4gKiBUeXBlIGluZmVyZW5jZSB0byBkZXRlcm1pbmUgdGhlIHJlc3VsdCB0eXBlIG9mIGFuIHtAbGluayBSZXN1bHR9LlxuICogQGJldGFcbiAqL1xuZXhwb3J0IHR5cGUgUmVzdWx0VmFsdWVUeXBlPFQ+ID0gVCBleHRlbmRzIFJlc3VsdDxpbmZlciBUVj4gPyBUViA6IG5ldmVyO1xuXG4vKipcbiAqIFNpbXBsZSBsb2dnZXIgaW50ZXJmYWNlIHVzZWQgYnkge0BsaW5rIElSZXN1bHQuZ2V0VmFsdWVPclRocm93fS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVzdWx0TG9nZ2VyIHtcbiAgICAvKipcbiAgICAgKiBMb2cgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGJlIGxvZ2dlZC5cbiAgICAgKi9cbiAgICBlcnJvcihtZXNzYWdlOiBzdHJpbmcpOiB2b2lkO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHJlc3VsdCBvZiBzb21lIG9wZXJhdGlvbiBvZiBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zLlxuICogQHJlbWFya3NcbiAqIFRoaXMgY29tbW9uIGNvbnRyYWN0IGVuYWJsZXMgY29taW5nbGVkIGRpc2NyaW1pbmF0ZWQgdXNhZ2Ugb2Yge0BsaW5rIFN1Y2Nlc3MgfCBTdWNjZXNzPFQ+fVxuICogYW5kIHtAbGluayBGYWlsdXJlIHwgRmFpbHVyZTxUPn0uXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc3VsdDxUPiB7XG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bC5cbiAgICAgKi9cbiAgICByZWFkb25seSBzdWNjZXNzOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwuICBGdW5jdGlvbnNcbiAgICAgKiBhcyBhIHR5cGUgZ3VhcmQgZm9yIHtAbGluayBTdWNjZXNzIHwgU3VjY2VzczxUPn0uXG4gICAgICovXG4gICAgaXNTdWNjZXNzKCk6IHRoaXMgaXMgU3VjY2VzczxUPjtcblxuICAgIC8qKlxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoaXMgb3BlcmF0aW9uIGZhaWxlZC4gIEZ1bmN0aW9uc1xuICAgICAqIGFzIGEgdHlwZSBndWFyZCBmb3Ige0BsaW5rIEZhaWx1cmUgfCBGYWlsdXJlPFQ+fS5cbiAgICAgKi9cbiAgICBpc0ZhaWx1cmUoKTogdGhpcyBpcyBGYWlsdXJlPFQ+O1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGEgc3VjY2Vzc2Z1bCB7QGxpbmsgSVJlc3VsdCB8IHJlc3VsdH0sXG4gICAgICogb3IgdGhyb3dzIHRoZSBlcnJvciBtZXNzYWdlIGlmIHRoZSBjb3JyZXNwb25kaW5nIG9wZXJhdGlvbiBmYWlsZWQuXG4gICAgICogQHBhcmFtIGxvZ2dlciAtIEFuIG9wdGlvbmFsIHtAbGluayBJUmVzdWx0TG9nZ2VyIHwgbG9nZ2VyfSB0byB3aGljaCB0aGVcbiAgICAgKiBlcnJvciB3aWxsIGFsc28gYmUgcmVwb3J0ZWQuXG4gICAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSwgaWYgdGhlIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bC5cbiAgICAgKiBAdGhyb3dzIFRoZSBlcnJvciBtZXNzYWdlIGlmIHRoZSBvcGVyYXRpb24gZmFpbGVkLlxuICAgICAqL1xuICAgIGdldFZhbHVlT3JUaHJvdyhsb2dnZXI/OiBJUmVzdWx0TG9nZ2VyKTogVDtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBhIHN1Y2Nlc3NmdWwge0BsaW5rIElSZXN1bHQgfCByZXN1bHR9LFxuICAgICAqIG9yIGEgZGVmYXVsdCB2YWx1ZSBpZiB0aGUgY29ycmVzcG9uZGluZyBvcGVyYXRpb24gZmFpbGVkLlxuICAgICAqIEBwYXJhbSBkZmx0IC0gVGhlIHZhbHVlIHRvIGJlIHJldHVybmVkIGlmIHRoZSBvcGVyYXRpb24gZmFpbGVkIChkZWZhdWx0IGlzXG4gICAgICogYHVuZGVmaW5lZGApLlxuICAgICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUsIGlmIHRoZSBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwuICBSZXR1cm5zXG4gICAgICogdGhlIHN1cHBsaWVkIGRlZmF1bHQgdmFsdWUgb3IgYHVuZGVmaW5lZGAgaWYgbm8gZGVmYXVsdCBpcyBzdXBwbGllZC5cbiAgICAgKi9cbiAgICBnZXRWYWx1ZU9yRGVmYXVsdChkZmx0PzogVCk6IFR8dW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgYSBzdXBwbGllZCB7QGxpbmsgU3VjY2Vzc0NvbnRpbnVhdGlvbiB8IHN1Y2Nlc3MgY29udGludWF0aW9ufSBpZlxuICAgICAqIHRoZSBvcGVyYXRpb24gd2FzIGEgc3VjY2Vzcy5cbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIFRoZSB7QGxpbmsgU3VjY2Vzc0NvbnRpbnVhdGlvbiB8IHN1Y2Nlc3MgY29udGludWF0aW9ufSBtaWdodCByZXR1cm4gYVxuICAgICAqIGRpZmZlcmVudCByZXN1bHQgdHlwZSB0aGFuIHtAbGluayBJUmVzdWx0fSBvbiB3aGljaCBpdCBpcyBpbnZva2VkLiBUaGlzXG4gICAgICogZW5hYmxlcyBjaGFpbmluZyBvZiBvcGVyYXRpb25zIHdpdGggaGV0ZXJvZ2Vub3VzIHJldHVybiB0eXBlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYiAtIFRoZSB7QGxpbmsgU3VjY2Vzc0NvbnRpbnVhdGlvbiB8IHN1Y2Nlc3MgY29udGludWF0aW9ufSB0b1xuICAgICAqIGJlIGNhbGxlZCBpbiB0aGUgZXZlbnQgb2Ygc3VjY2Vzcy5cbiAgICAgKiBAcmV0dXJucyBJZiB0aGlzIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bCwgcmV0dXJucyB0aGUgdmFsdWUgcmV0dXJuZWRcbiAgICAgKiBieSB0aGUge0BsaW5rIFN1Y2Nlc3NDb250aW51YXRpb24gfCBzdWNjZXNzIGNvbnRpbnVhdGlvbn0uICBJZiB0aGlzIHJlc3VsdFxuICAgICAqIGZhaWxlZCwgcHJvcGFnYXRlcyB0aGUgZXJyb3IgbWVzc2FnZSBmcm9tIHRoaXMgZmFpbHVyZS5cbiAgICAgKi9cbiAgICBvblN1Y2Nlc3M8VE4+KGNiOiBTdWNjZXNzQ29udGludWF0aW9uPFQsIFROPik6IFJlc3VsdDxUTj47XG5cbiAgICAvKipcbiAgICAgKiBDYWxscyBhIHN1cHBsaWVkIHtAbGluayBGYWlsdXJlQ29udGludWF0aW9uIHwgZmFpbGVkIGNvbnRpbnVhdGlvbn0gaWZcbiAgICAgKiB0aGUgb3BlcmF0aW9uIGZhaWxlZC5cbiAgICAgKiBAcGFyYW0gY2IgLSBUaGUge0BsaW5rIEZhaWx1cmVDb250aW51YXRpb24gfCBmYWlsdXJlIGNvbnRpbnVhdGlvbn0gdG9cbiAgICAgKiBiZSBjYWxsZWQgaW4gdGhlIGV2ZW50IG9mIGZhaWx1cmUuXG4gICAgICogQHJldHVybnMgSWYgdGhpcyBvcGVyYXRpb24gZmFpbGVkLCByZXR1cm5zIHRoZSB2YWx1ZSByZXR1cm5lZCBieSB0aGVcbiAgICAgKiB7QGxpbmsgRmFpbHVyZUNvbnRpbnVhdGlvbiB8IGZhaWx1cmUgY29udGludWF0aW9ufS4gIElmIHRoaXMgcmVzdWx0XG4gICAgICogd2FzIHN1Y2Nlc3NmdWwsIHByb3BhZ2F0ZXMgdGhlIHJlc3VsdCB2YWx1ZSBmcm9tIHRoZSBzdWNjZXNzZnVsIGV2ZW50LlxuICAgICAqL1xuICAgIG9uRmFpbHVyZShjYjogRmFpbHVyZUNvbnRpbnVhdGlvbjxUPik6IFJlc3VsdDxUPjtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGEge0BsaW5rIElSZXN1bHQgfCBJUmVzdWx0PFQ+fSB0byBhIHtAbGluayBEZXRhaWxlZFJlc3VsdCB8IERldGFpbGVkUmVzdWx0PFQsIFREPn0sXG4gICAgICogYWRkaW5nIGEgc3VwcGxpZWQgZGV0YWlsIGlmIHRoZSBvcGVyYXRpb24gZmFpbGVkLlxuICAgICAqIEBwYXJhbSBkZXRhaWwgLSBUaGUgZGV0YWlsIHRvIGJlIGFkZGVkIGlmIHRoaXMgb3BlcmF0aW9uIGZhaWxlZC5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgRGV0YWlsZWRSZXN1bHQgfCBEZXRhaWxlZFJlc3VsdDxULCBURD59IHdpdGggZWl0aGVyXG4gICAgICogdGhlIHN1Y2Nlc3MgcmVzdWx0IG9yIHRoZSBlcnJvciBtZXNzYWdlIGZyb20gdGhpcyB7QGxpbmsgSVJlc3VsdH0sIHdpdGhcbiAgICAgKiB0aGUgc3VwcGxpZWQgZGV0YWlsIChpZiB0aGlzIGV2ZW50IGZhaWxlZCkgb3IgZGV0YWlsIGB1bmRlZmluZWRgIChpZlxuICAgICAqIHRoaXMgcmVzdWx0IHN1Y2NlZWRlZCkuXG4gICAgICovXG4gICAgd2l0aEZhaWx1cmVEZXRhaWw8VEQ+KGRldGFpbDogVEQpOiBEZXRhaWxlZFJlc3VsdDxULCBURD47XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBhIHtAbGluayBJUmVzdWx0IHwgSVJlc3VsdDxUPn0gdG8gYSB7QGxpbmsgRGV0YWlsZWRSZXN1bHQgfCBEZXRhaWxlZFJlc3VsdDxULCBURD59LFxuICAgICAqIGFkZGluZyBzdXBwbGllZCBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSBkZXRhaWwgLSBUaGUgZGVmYXVsdCBkZXRhaWwgdG8gYmUgYWRkZWQgdG8gdGhlIG5ldyB7QGxpbmsgRGV0YWlsZWRSZXN1bHR9LlxuICAgICAqIEBwYXJhbSBzdWNjZXNzRGV0YWlsIC0gQW4gb3B0aW9uYWwgZGV0YWlsIHRvIGJlIGFkZGVkIGlmIHRoaXMgcmVzdWx0IHdhcyBzdWNjZXNzZnVsLlxuICAgICAqIEByZXR1cm5zIEEgbmV3IHtAbGluayBEZXRhaWxlZFJlc3VsdCB8IERldGFpbGVkUmVzdWx0PFQsIFREPn0gd2l0aCBlaXRoZXJcbiAgICAgKiB0aGUgc3VjY2VzcyByZXN1bHQgb3IgdGhlIGVycm9yIG1lc3NhZ2UgZnJvbSB0aGlzIHtAbGluayBJUmVzdWx0fSBhbmQgdGhlXG4gICAgICogYXBwb3ByaWF0ZSBhZGRlZCBkZXRhaWwuXG4gICAgICovXG4gICAgd2l0aERldGFpbDxURD4oZGV0YWlsOiBURCwgc3VjY2Vzc0RldGFpbD86IFREKTogRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+O1xufVxuXG4vKipcbiAqIFJlcG9ydHMgYSBzdWNjZXNzZnVsIHtAbGluayBJUmVzdWx0IHwgcmVzdWx0fSBmcm9tIHNvbWUgb3BlcmF0aW9uIGFuZCB0aGVcbiAqIGNvcnJlc3BvbmRpbmcgdmFsdWUuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBTdWNjZXNzPFQ+IGltcGxlbWVudHMgSVJlc3VsdDxUPiB7XG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQuc3VjY2Vzc31cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VjY2VzcyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdmFsdWU6IFQ7XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGEge0BsaW5rIFN1Y2Nlc3N9IHdpdGggdGhlIHN1cHBsaWVkIHZhbHVlLlxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBiZSByZXR1cm5lZC5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcih2YWx1ZTogVCkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSByZXN1bHQgdmFsdWUgcmV0dXJuZWQgYnkgdGhlIHN1Y2Nlc3NmdWwgb3BlcmF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC5pc1N1Y2Nlc3N9XG4gICAgICovXG4gICAgcHVibGljIGlzU3VjY2VzcygpOiB0aGlzIGlzIFN1Y2Nlc3M8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC5pc0ZhaWx1cmV9XG4gICAgICovXG4gICAgcHVibGljIGlzRmFpbHVyZSgpOiB0aGlzIGlzIEZhaWx1cmU8VD4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQuZ2V0VmFsdWVPclRocm93fVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWYWx1ZU9yVGhyb3coX2xvZ2dlcj86IElSZXN1bHRMb2dnZXIpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBJUmVzdWx0LmdldFZhbHVlT3JEZWZhdWx0fVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWYWx1ZU9yRGVmYXVsdChkZmx0PzogVCk6IFR8dW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlID8/IGRmbHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQub25TdWNjZXNzfVxuICAgICAqL1xuICAgIHB1YmxpYyBvblN1Y2Nlc3M8VE4+KGNiOiBTdWNjZXNzQ29udGludWF0aW9uPFQsIFROPik6IFJlc3VsdDxUTj4ge1xuICAgICAgICByZXR1cm4gY2IodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQub25GYWlsdXJlfVxuICAgICAqL1xuICAgIHB1YmxpYyBvbkZhaWx1cmUoXzogRmFpbHVyZUNvbnRpbnVhdGlvbjxUPik6IFJlc3VsdDxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBJUmVzdWx0LndpdGhGYWlsdXJlRGV0YWlsfVxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRmFpbHVyZURldGFpbDxURD4oX2RldGFpbDogVEQpOiBEZXRhaWxlZFJlc3VsdDxULCBURD4ge1xuICAgICAgICByZXR1cm4gc3VjY2VlZFdpdGhEZXRhaWwodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQud2l0aERldGFpbH1cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERldGFpbDxURD4oZGV0YWlsOiBURCwgc3VjY2Vzc0RldGFpbD86IFREKTogRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+IHtcbiAgICAgICAgcmV0dXJuIHN1Y2NlZWRXaXRoRGV0YWlsKHRoaXMudmFsdWUsIHN1Y2Nlc3NEZXRhaWwgPz8gZGV0YWlsKTtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwb3J0cyBhIGZhaWxlZCB7QGxpbmsgSVJlc3VsdCB8IHJlc3VsdH0gZnJvbSBzb21lIG9wZXJhdGlvbiwgd2l0aCBhbiBlcnJvciBtZXNzYWdlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgRmFpbHVyZTxUPiBpbXBsZW1lbnRzIElSZXN1bHQ8VD4ge1xuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBJUmVzdWx0LnN1Y2Nlc3N9XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lc3NhZ2U6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYSB7QGxpbmsgRmFpbHVyZX0gd2l0aCB0aGUgc3VwcGxpZWQgbWVzc2FnZS5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSAtIEVycm9yIG1lc3NhZ2UgdG8gYmUgcmVwb3J0ZWQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX21lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGVycm9yIG1lc3NhZ2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZXJyb3IuXG4gICAgICovXG4gICAgcHVibGljIGdldCBtZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBJUmVzdWx0LmlzU3VjY2Vzc31cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTdWNjZXNzKCk6IHRoaXMgaXMgU3VjY2VzczxUPiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC5pc0ZhaWx1cmV9XG4gICAgICovXG4gICAgcHVibGljIGlzRmFpbHVyZSgpOiB0aGlzIGlzIEZhaWx1cmU8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC5nZXRWYWx1ZU9yVGhyb3d9XG4gICAgICovXG4gICAgcHVibGljIGdldFZhbHVlT3JUaHJvdyhsb2dnZXI/OiBJUmVzdWx0TG9nZ2VyKTogbmV2ZXIge1xuICAgICAgICBpZiAobG9nZ2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvZ2dlci5lcnJvcih0aGlzLl9tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5fbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQuZ2V0VmFsdWVPckRlZmF1bHR9XG4gICAgICovXG4gICAgcHVibGljIGdldFZhbHVlT3JEZWZhdWx0KGRmbHQ/OiBUKTogVHx1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gZGZsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC5vblN1Y2Nlc3N9XG4gICAgICovXG4gICAgcHVibGljIG9uU3VjY2VzczxUTj4oXzogU3VjY2Vzc0NvbnRpbnVhdGlvbjxULCBUTj4pOiBSZXN1bHQ8VE4+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKHRoaXMubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQub25GYWlsdXJlfVxuICAgICAqL1xuICAgIHB1YmxpYyBvbkZhaWx1cmUoY2I6IEZhaWx1cmVDb250aW51YXRpb248VD4pOiBSZXN1bHQ8VD4ge1xuICAgICAgICByZXR1cm4gY2IodGhpcy5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC53aXRoRmFpbHVyZURldGFpbH1cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aEZhaWx1cmVEZXRhaWw8VEQ+KGRldGFpbDogVEQpOiBEZXRhaWxlZFJlc3VsdDxULCBURD4ge1xuICAgICAgICByZXR1cm4gZmFpbFdpdGhEZXRhaWwodGhpcy5tZXNzYWdlLCBkZXRhaWwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBJUmVzdWx0LndpdGhEZXRhaWx9XG4gICAgICovXG4gICAgcHVibGljIHdpdGhEZXRhaWw8VEQ+KGRldGFpbDogVEQsIF9zdWNjZXNzRGV0YWlsPzogVEQpOiBEZXRhaWxlZFJlc3VsdDxULCBURD4ge1xuICAgICAgICByZXR1cm4gZmFpbFdpdGhEZXRhaWwodGhpcy5tZXNzYWdlLCBkZXRhaWwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhICdmcmllbmRseScgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgb2JqZWN0LlxuICAgICAqIEByZW1hcmtzXG4gICAgICogVGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIHtAbGluayBGYWlsdXJlfSB2YWx1ZSBpcyB0aGUgZXJyb3IgbWVzc2FnZS5cbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhpcyBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2U7XG4gICAgfVxufVxuXG4vKipcbiAqIFJldHVybnMge0BsaW5rIFN1Y2Nlc3MgfCBTdWNjZXNzPFQ+fSB3aXRoIHRoZSBzdXBwbGllZCByZXN1bHQgdmFsdWUuXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgc3VjY2Vzc2Z1bCByZXN1bHQgdmFsdWUgdG8gYmUgcmV0dXJuZWRcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1Y2NlZWQ8VD4odmFsdWU6IFQpOiBTdWNjZXNzPFQ+IHtcbiAgICByZXR1cm4gbmV3IFN1Y2Nlc3M8VD4odmFsdWUpO1xufVxuXG4vKipcbiAqIFJldHVybnMge0BsaW5rIEZhaWx1cmUgfCBGYWlsdXJlPFQ+fSB3aXRoIHRoZSBzdXBwbGllZCBlcnJvciBtZXNzYWdlLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBFcnJvciBtZXNzYWdlIHRvIGJlIHJldHVybmVkLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmFpbDxUPihtZXNzYWdlOiBzdHJpbmcpOiBGYWlsdXJlPFQ+IHtcbiAgICByZXR1cm4gbmV3IEZhaWx1cmU8VD4obWVzc2FnZSk7XG59XG5cbi8qKlxuICogQ2FsbGJhY2sgdG8gYmUgY2FsbGVkIHdoZW4gYSB7QGxpbmsgRGV0YWlsZWRSZXN1bHR9IGVuY291bnRlcnMgc3VjY2Vzcy5cbiAqIEByZW1hcmtzXG4gKiBBIHN1Y2Nlc3MgY2FsbGJhY2sgY2FuIHJldHVybiBhIGRpZmZlcmVudCByZXN1bHQgdHlwZSB0aGFuIGl0IHJlY2VpdmVzLCBhbGxvd2luZ1xuICogc3VjY2VzcyByZXN1bHRzIHRvIGNoYWluIHRocm91Z2ggaW50ZXJtZWRpYXRlIHJlc3VsdCB0eXBlcy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRGV0YWlsZWRTdWNjZXNzQ29udGludWF0aW9uPFQsIFRELCBUTj4gPSAodmFsdWU6IFQsIGRldGFpbD86IFREKSA9PiBEZXRhaWxlZFJlc3VsdDxUTiwgVEQ+O1xuXG4vKipcbiAqIENhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIGEge0BsaW5rIERldGFpbGVkUmVzdWx0fSBlbmNvdW50ZXJzIGEgZmFpbHVyZS5cbiAqIEByZW1hcmtzXG4gKiBBIGZhaWx1cmUgY2FsbGJhY2sgY2FuIGNoYW5nZSB7QGxpbmsgRmFpbHVyZX0gdG8ge0BsaW5rIFN1Y2Nlc3N9IChlLmcuIGJ5IHJldHVybmluZyBhIGRlZmF1bHQgdmFsdWUpXG4gKiBvciBpdCBjYW4gY2hhbmdlIG9yIGVtYmVsbGlzaCB0aGUgZXJyb3IgbWVzc2FnZSwgYnV0IGl0IGNhbm5vdCBjaGFuZ2UgdGhlIHN1Y2Nlc3MgcmV0dXJuIHR5cGUuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIERldGFpbGVkRmFpbHVyZUNvbnRpbnVhdGlvbjxULCBURD4gPSAobWVzc2FnZTogc3RyaW5nLCBkZXRhaWw6IFREKSA9PiBEZXRhaWxlZFJlc3VsdDxULCBURD47XG5cbi8qKlxuICogQSB7QGxpbmsgRGV0YWlsZWRTdWNjZXNzfSBleHRlbmRzIHtAbGluayBTdWNjZXNzfSB0byByZXBvcnQgb3B0aW9uYWwgc3VjY2VzcyBkZXRhaWxzIGluXG4gKiBhZGRpdGlvbiB0byB0aGUgZXJyb3IgbWVzc2FnZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIERldGFpbGVkU3VjY2VzczxULCBURD4gZXh0ZW5kcyBTdWNjZXNzPFQ+IHtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2RldGFpbD86IFREO1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBhIG5ldyB7QGxpbmsgRGV0YWlsZWRTdWNjZXNzIHwgRGV0YWlsZWRTdWNjZXNzPFQsIFREPn0gd2l0aCB0aGUgc3VwcGxpZWRcbiAgICAgKiB2YWx1ZSBhbmQgZGV0YWlsLlxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBiZSByZXR1cm5lZC5cbiAgICAgKiBAcGFyYW0gZGV0YWlsIC0gQW4gb3B0aW9uYWwgc3VjY2Vzc2Z1bCBkZXRhaWwgdG8gYmUgcmV0dXJuZWQuICBJZiBvbWl0dGVkLCBkZXRhaWxcbiAgICAgKiB3aWxsIGJlIGB1bmRlZmluZWRgLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcih2YWx1ZTogVCwgZGV0YWlsPzogVEQpIHtcbiAgICAgICAgc3VwZXIodmFsdWUpO1xuICAgICAgICB0aGlzLl9kZXRhaWwgPSBkZXRhaWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHN1Y2Nlc3MgZGV0YWlsIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3N9LCBvciBgdW5kZWZpbmVkYCBpZlxuICAgICAqIG5vIGRldGFpbCB3YXMgc3VwcGxpZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBkZXRhaWwoKTogVER8dW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RldGFpbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXBvcnRzIHRoYXQgdGhpcyB7QGxpbmsgRGV0YWlsZWRTdWNjZXNzfSBpcyBhIHN1Y2Nlc3MuXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBBbHdheXMgdHJ1ZSBmb3Ige0BsaW5rIERldGFpbGVkU3VjY2Vzc30gYnV0IGNhbiBiZSB1c2VkIGFzIHR5cGUgZ3VhcmRcbiAgICAgKiB0byBkaXNjcmltaW5hdGUge0BsaW5rIERldGFpbGVkU3VjY2Vzc30gZnJvbSB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlfSBpblxuICAgICAqIGEge0BsaW5rIERldGFpbGVkUmVzdWx0fS5cbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWBcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTdWNjZXNzKCk6IHRoaXMgaXMgRGV0YWlsZWRTdWNjZXNzPFQsIFREPiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEludm9rZXMgdGhlIHN1cHBsaWVkIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3NDb250aW51YXRpb24gfCBzdWNjZXNzIGNhbGxiYWNrfSBhbmQgcHJvcGFnYXRlc1xuICAgICAqIGl0cyByZXR1cm5lZCB7QGxpbmsgRGV0YWlsZWRSZXN1bHQgfCBEZXRhaWxlZFJlc3VsdDxUTiwgVEQ+fS5cbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIFRoZSBzdWNjZXNzIGNhbGxiYWNrIG11dGF0ZXMgdGhlIHJldHVybiB0eXBlIGZyb20gYDxUPmAgdG8gYDxUTj5gLlxuICAgICAqIEBwYXJhbSBjYiAtIFRoZSB7QGxpbmsgRGV0YWlsZWRTdWNjZXNzQ29udGludWF0aW9uIHwgc3VjY2VzcyBjYWxsYmFja30gdG8gYmUgaW52b2tlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUge0BsaW5rIERldGFpbGVkUmVzdWx0IHwgRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+fSByZXR1cm5lZCBieSB0aGUgc3VjY2VzcyBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBwdWJsaWMgb25TdWNjZXNzPFROPihjYjogRGV0YWlsZWRTdWNjZXNzQ29udGludWF0aW9uPFQsIFRELCBUTj4pOiBEZXRhaWxlZFJlc3VsdDxUTiwgVEQ+IHtcbiAgICAgICAgcmV0dXJuIGNiKHRoaXMudmFsdWUsIHRoaXMuX2RldGFpbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvcGFnYXRlcyB0aGlzIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3N9LlxuICAgICAqIEByZW1hcmtzXG4gICAgICogRmFpbHVyZSBkb2VzIG5vdCBtdXRhdGUgcmV0dXJuIHR5cGUgc28gd2UgY2FuIHJldHVybiB0aGlzIGV2ZW50IGRpcmVjdGx5LlxuICAgICAqIEBwYXJhbSBfY2IgLSB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlQ29udGludWF0aW9uIHwgRmFpbHVyZSBjYWxsYmFja30gdG8gYmUgY2FsbGVkXG4gICAgICogb24gYSB7QGxpbmsgRGV0YWlsZWRSZXN1bHR9IGluIGNhc2Ugb2YgZmFpbHVyZSAoaWdub3JlZCkuXG4gICAgICogQHJldHVybnMgYHRoaXNgXG4gICAgICovXG4gICAgcHVibGljIG9uRmFpbHVyZShfY2I6IERldGFpbGVkRmFpbHVyZUNvbnRpbnVhdGlvbjxULCBURD4pOiBEZXRhaWxlZFJlc3VsdDxULCBURD4ge1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59XG5cbi8qKlxuICogQSB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlfSBleHRlbmRzIHtAbGluayBGYWlsdXJlfSB0byByZXBvcnQgb3B0aW9uYWwgZmFpbHVyZSBkZXRhaWxzIGluXG4gKiBhZGRpdGlvbiB0byB0aGUgZXJyb3IgbWVzc2FnZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIERldGFpbGVkRmFpbHVyZTxULCBURD4gZXh0ZW5kcyBGYWlsdXJlPFQ+IHtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2RldGFpbDogVEQ7XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IHtAbGluayBEZXRhaWxlZEZhaWx1cmUgfCBEZXRhaWxlZEZhaWx1cmU8VCwgVEQ+fSB3aXRoIHRoZSBzdXBwbGllZFxuICAgICAqIG1lc3NhZ2UgYW5kIGRldGFpbC5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGJlIHJldHVybmVkLlxuICAgICAqIEBwYXJhbSBkZXRhaWwgLSBUaGUgZXJyb3IgZGV0YWlsIHRvIGJlIHJldHVybmVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogVEQpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMuX2RldGFpbCA9IGRldGFpbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXJyb3IgZGV0YWlsIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHtAbGluayBEZXRhaWxlZEZhaWx1cmV9LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZGV0YWlsKCk6IFREIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RldGFpbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXBvcnRzIHRoYXQgdGhpcyB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlfSBpcyBhIGZhaWx1cmUuXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBBbHdheXMgdHJ1ZSBmb3Ige0BsaW5rIERldGFpbGVkRmFpbHVyZX0gYnV0IGNhbiBiZSB1c2VkIGFzIHR5cGUgZ3VhcmRcbiAgICAgKiB0byBkaXNjcmltaW5hdGUge0BsaW5rIERldGFpbGVkU3VjY2Vzc30gZnJvbSB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlfSBpblxuICAgICAqIGEge0BsaW5rIERldGFpbGVkUmVzdWx0fS5cbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWBcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNGYWlsdXJlKCk6IHRoaXMgaXMgRGV0YWlsZWRGYWlsdXJlPFQsIFREPiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb3BhZ2F0ZXMgdGhlIGVycm9yIG1lc3NhZ2UgYW5kIGRldGFpbCBmcm9tIHRoaXMgcmVzdWx0LlxuICAgICAqIEByZW1hcmtzXG4gICAgICogTXV0YXRlcyB0aGUgc3VjY2VzcyB0eXBlIGFzIHRoZSBzdWNjZXNzIGNhbGxiYWNrIHdvdWxkIGhhdmUsIGJ1dCBkb2VzIG5vdFxuICAgICAqIGNhbGwgdGhlIHN1Y2Nlc3MgY2FsbGJhY2suXG4gICAgICogQHBhcmFtIF9jYiAtIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3NDb250aW51YXRpb24gfCBTdWNjZXNzIGNhbGxiYWNrfSB0byBiZSBjYWxsZWRcbiAgICAgKiBvbiBhIHtAbGluayBEZXRhaWxlZFJlc3VsdH0gaW4gY2FzZSBvZiBzdWNjZXNzIChpZ25vcmVkKS5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlIHwgRGV0YWlsZWRGYWlsdXJlPFROLCBURD59IHdoaWNoIGNvbnRhaW5zXG4gICAgICogdGhlIGVycm9yIG1lc3NhZ2UgYW5kIGRldGFpbCBmcm9tIHRoaXMgb25lLlxuICAgICAqL1xuICAgIHB1YmxpYyBvblN1Y2Nlc3M8VE4+KF9jYjogRGV0YWlsZWRTdWNjZXNzQ29udGludWF0aW9uPFQsIFRELCBUTj4pOiBEZXRhaWxlZFJlc3VsdDxUTiwgVEQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEZXRhaWxlZEZhaWx1cmU8VE4sIFREPih0aGlzLm1lc3NhZ2UsIHRoaXMuX2RldGFpbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW52b2tlcyB0aGUgc3VwcGxpZWQge0BsaW5rIERldGFpbGVkRmFpbHVyZUNvbnRpbnVhdGlvbiB8IGZhaWx1cmUgY2FsbGJhY2t9IGFuZCBwcm9wYWdhdGVzXG4gICAgICogaXRzIHJldHVybmVkIHtAbGluayBEZXRhaWxlZFJlc3VsdCB8IERldGFpbGVkUmVzdWx0PFQsIFREPn0uXG4gICAgICogQHBhcmFtIGNiIC0gVGhlIHtAbGluayBEZXRhaWxlZEZhaWx1cmVDb250aW51YXRpb24gfCBmYWlsdXJlIGNhbGxiYWNrfSB0byBiZSBpbnZva2VkLlxuICAgICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgRGV0YWlsZWRSZXN1bHQgfCBEZXRhaWxlZFJlc3VsdDxULCBURD59IHJldHVybmVkIGJ5IHRoZSBmYWlsdXJlIGNhbGxiYWNrLlxuICAgICAqL1xuICAgIHB1YmxpYyBvbkZhaWx1cmUoY2I6IERldGFpbGVkRmFpbHVyZUNvbnRpbnVhdGlvbjxULCBURD4pOiBEZXRhaWxlZFJlc3VsdDxULCBURD4ge1xuICAgICAgICByZXR1cm4gY2IodGhpcy5tZXNzYWdlLCB0aGlzLl9kZXRhaWwpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUeXBlIGluZmVyZW5jZSB0byBkZXRlcm1pbmUgdGhlIHJlc3VsdCB0eXBlIGBUYCBvZiBhIHtAbGluayBEZXRhaWxlZFJlc3VsdCB8IERldGFpbGVkUmVzdWx0PFQsIFREPn0uXG4gKiBAYmV0YVxuICovXG5leHBvcnQgdHlwZSBEZXRhaWxlZFJlc3VsdDxULCBURD4gPSBEZXRhaWxlZFN1Y2Nlc3M8VCwgVEQ+fERldGFpbGVkRmFpbHVyZTxULCBURD47XG5cbi8qKlxuICogVHlwZSBpbmZlcmVuY2UgdG8gZGV0ZXJtaW5lIHRoZSBkZXRhaWwgdHlwZSBgVERgIG9mIGEge0BsaW5rIERldGFpbGVkUmVzdWx0IHwgRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+fS5cbiAqIEBiZXRhXG4gKi9cbmV4cG9ydCB0eXBlIFJlc3VsdERldGFpbFR5cGU8VD4gPSBUIGV4dGVuZHMgRGV0YWlsZWRSZXN1bHQ8dW5rbm93biwgaW5mZXIgVEQ+ID8gVEQgOiBuZXZlcjtcblxuLyoqXG4gKiBSZXR1cm5zIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3MgfCBEZXRhaWxlZFN1Y2Nlc3M8VCwgVEQ+fSB3aXRoIGEgc3VwcGxpZWQgdmFsdWUgYW5kIG9wdGlvbmFsXG4gKiBkZXRhaWwuXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgb2YgdHlwZSBgPFQ+YCB0byBiZSByZXR1cm5lZC5cbiAqIEBwYXJhbSBkZXRhaWwgLSBBbiBvcHRpb25hbCBkZXRhaWwgb2YgdHlwZSBgPFREPmAgdG8gYmUgcmV0dXJuZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3MgfCBEZXRhaWxlZFN1Y2Nlc3M8VCwgVEQ+fSB3aXRoIHRoZSBzdXBwbGllZCB2YWx1ZVxuICogYW5kIGRldGFpbCwgaWYgc3VwcGxpZWQuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWNjZWVkV2l0aERldGFpbDxULCBURD4odmFsdWU6IFQsIGRldGFpbD86IFREKTogRGV0YWlsZWRTdWNjZXNzPFQsIFREPiB7XG4gICAgcmV0dXJuIG5ldyBEZXRhaWxlZFN1Y2Nlc3M8VCwgVEQ+KHZhbHVlLCBkZXRhaWwpO1xufVxuXG4vKipcbiAqIFJldHVybnMge0BsaW5rIERldGFpbGVkRmFpbHVyZSB8IERldGFpbGVkRmFpbHVyZTxULCBURD59IHdpdGggYSBzdXBwbGllZCBlcnJvciBtZXNzYWdlIGFuZCBkZXRhaWwuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBlcnJvciBtZXNzYWdlIHRvIGJlIHJldHVybmVkLlxuICogQHBhcmFtIGRldGFpbCAtIFRoZSBldmVudCBkZXRhaWwgdG8gYmUgcmV0dXJuZWQuXG4gKiBAcmV0dXJucyBBbiB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlIHwgRGV0YWlsZWRGYWlsdXJlPFQsIFREPn0gd2l0aCB0aGUgc3VwcGxpZWQgZXJyb3JcbiAqIG1lc3NhZ2UgYW5kIGRldGFpbC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZhaWxXaXRoRGV0YWlsPFQsIFREPihtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogVEQpOiBEZXRhaWxlZEZhaWx1cmU8VCwgVEQ+IHtcbiAgICByZXR1cm4gbmV3IERldGFpbGVkRmFpbHVyZTxULCBURD4obWVzc2FnZSwgZGV0YWlsKTtcbn1cblxuLyoqXG4gKiBQcm9wYWdhdGVzIGEge0BsaW5rIFN1Y2Nlc3N9IG9yIHtAbGluayBGYWlsdXJlfSB7QGxpbmsgUmVzdWx0fSwgYWRkaW5nIHN1cHBsaWVkXG4gKiBldmVudCBkZXRhaWxzIGFzIGFwcHJvcHJpYXRlLlxuICogQHBhcmFtIHJlc3VsdCAtIFRoZSB7QGxpbmsgUmVzdWx0fSB0byBiZSBwcm9wYWdhdGVkLlxuICogQHBhcmFtIGRldGFpbCAtIFRoZSBldmVudCBkZXRhaWwgKHR5cGUgYDxURD5gKSB0byBiZSBhZGRlZCB0byB0aGUge0BsaW5rIFJlc3VsdCB8IHJlc3VsdH0uXG4gKiBAcGFyYW0gc3VjY2Vzc0RldGFpbCAtIEFuIG9wdGlvbmFsIGRpc3RpbmN0IGV2ZW50IGRldGFpbCB0byBiZSBhZGRlZCB0byB7QGxpbmsgU3VjY2Vzc30gcmVzdWx0cy4gIElmIGBzdWNjZXNzRGV0YWlsYFxuICogaXMgb21pdHRlZCBvciBgdW5kZWZpbmVkYCwgdGhlbiBgZGV0YWlsYCB3aWxsIGJlIGFwcGxpZWQgdG8ge0BsaW5rIFN1Y2Nlc3N9IHJlc3VsdHMuXG4gKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgRGV0YWlsZWRSZXN1bHQgfCBEZXRhaWxlZFJlc3VsdDxULCBURD59IHdpdGggdGhlIHN1Y2Nlc3MgdmFsdWUgb3IgZXJyb3JcbiAqIG1lc3NhZ2UgZnJvbSB0aGUgb3JpZ2luYWwgYHJlc3VsdGAgYnV0IHdpdGggdGhlIHNwZWNpZmllZCBkZXRhaWwgYWRkZWQuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9wYWdhdGVXaXRoRGV0YWlsPFQsIFREPihyZXN1bHQ6IFJlc3VsdDxUPiwgZGV0YWlsOiBURCwgc3VjY2Vzc0RldGFpbD86IFREKTogRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+IHtcbiAgICByZXR1cm4gcmVzdWx0LmlzU3VjY2VzcygpXG4gICAgICAgID8gc3VjY2VlZFdpdGhEZXRhaWwocmVzdWx0LnZhbHVlLCBzdWNjZXNzRGV0YWlsID8/IGRldGFpbClcbiAgICAgICAgOiBmYWlsV2l0aERldGFpbChyZXN1bHQubWVzc2FnZSwgZGV0YWlsKTtcbn1cblxuLyoqXG4gKiBXcmFwcyBhIGZ1bmN0aW9uIHdoaWNoIG1pZ2h0IHRocm93IHRvIGNvbnZlcnQgZXhjZXB0aW9uIHJlc3VsdHNcbiAqIHRvIHtAbGluayBGYWlsdXJlfS5cbiAqIEBwYXJhbSBmdW5jIC0gVGhlIGZ1bmN0aW9uIHRvIGJlIGNhcHR1cmVkLlxuICogQHJldHVybnMgUmV0dXJucyB7QGxpbmsgU3VjY2Vzc30gd2l0aCBhIHZhbHVlIG9mIHR5cGUgYDxUPmAgb25cbiAqIHN1Y2Nlc3MgLCBvciB7QGxpbmsgRmFpbHVyZX0gd2l0aCB0aGUgdGhyb3duIGVycm9yIG1lc3NhZ2UgaWZcbiAqIGBmdW5jYCB0aHJvd3MgYW4gYEVycm9yYC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhcHR1cmVSZXN1bHQ8VD4oZnVuYzogKCkgPT4gVCk6IFJlc3VsdDxUPiB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQoZnVuYygpKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICByZXR1cm4gZmFpbCgoZXJyIGFzIEVycm9yKS5tZXNzYWdlKTtcbiAgICB9XG59XG5cbi8qKlxuICogQWdncmVnYXRlcyBzdWNlc3NmdWwgcmVzdWx0IHZhbHVlcyBmcm9tIGEgY29sbGVjdGlvbiBvZiB7QGxpbmsgUmVzdWx0IHwgUmVzdWx0PFQ+fS5cbiAqIEBwYXJhbSByZXN1bHRzIC0gVGhlIGNvbGxlY3Rpb24gb2Yge0BsaW5rIFJlc3VsdCB8IFJlc3VsdDxUPn0gdG8gYmUgbWFwcGVkLlxuICogQHJldHVybnMgIElmIGFsbCB7QGxpbmsgUmVzdWx0IHwgcmVzdWx0c30gYXJlIHN1Y2Nlc3NmdWwsIHJldHVybnMge0BsaW5rIFN1Y2Nlc3N9IHdpdGggYW5cbiAqIGFycmF5IGNvbnRhaW5pbmcgYWxsIHJldHVybmVkIHZhbHVlcy4gIElmIGFueSB7QGxpbmsgUmVzdWx0IHwgcmVzdWx0c30gZmFpbGVkLCByZXR1cm5zXG4gKiB7QGxpbmsgRmFpbHVyZX0gd2l0aCBhIGNvbmNhdGVuYXRlZCBzdW1tYXJ5IG9mIGFsbCBlcnJvciBtZXNzYWdlcy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFJlc3VsdHM8VD4ocmVzdWx0czogSXRlcmFibGU8UmVzdWx0PFQ+Pik6IFJlc3VsdDxUW10+IHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgZWxlbWVudHM6IFRbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICBpZiAocmVzdWx0LmlzU3VjY2VzcygpKSB7XG4gICAgICAgICAgICBlbGVtZW50cy5wdXNoKHJlc3VsdC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaChyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIGZhaWwoZXJyb3JzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1Y2NlZWQoZWxlbWVudHMpO1xufVxuXG4vKipcbiAqIEFnZ3JlZ2F0ZXMgc3VjZXNzZnVsIHJlc3VsdHMgZnJvbSBhIGNvbGxlY3Rpb24gb2Yge0BsaW5rIERldGFpbGVkUmVzdWx0IHwgRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+fSxcbiAqIG9wdGlvbmFsbHkgaWdub3JpbmcgY2VydGFpbiBlcnJvciBkZXRhaWxzLlxuICogQHBhcmFtIHJlc3VsdHMgLSBUaGUgY29sbGVjdGlvbiBvZiB7QGxpbmsgRGV0YWlsZWRSZXN1bHQgfCBEZXRhaWxlZFJlc3VsdDxULCBURD59IHRvIGJlIG1hcHBlZC5cbiAqIEBwYXJhbSBpZ25vcmUgLSBBbiBhcnJheSBvZiBlcnJvciBkZXRhaWwgdmFsdWVzIChvZiB0eXBlIGA8VEQ+YCkgdGhhdCBzaG91bGQgYmUgaWdub3JlZC5cbiAqIEByZXR1cm5zIHtAbGluayBTdWNjZXNzfSB3aXRoIGFuIGFycmF5IGNvbnRhaW5pbmcgYWxsIHN1Y2Nlc3NmdWwgcmVzdWx0cyBpZiBhbGwgcmVzdWx0cyBlaXRoZXJcbiAqIHN1Y2VlZGVkIG9yIHJldHVybmVkIGVycm9yIGRldGFpbHMgbGlzdGVkIGluIGBpZ25vcmVgLiAgSWYgYW55IHJlc3VsdHMgZmFpbGVkIHdpdGggZGV0YWlsc1xuICogdGhhdCBjYW5ub3QgYmUgaWdub3JlZCwgcmV0dXJucyB7QGxpbmsgRmFpbHVyZX0gd2l0aCBhbiBjb25jYXRlbmF0ZWQgc3VtbWFyeSBvZiBhbGwgbm9uLWlnbm9yYWJsZVxuICogZXJyb3IgbWVzYXNnZXMuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXBEZXRhaWxlZFJlc3VsdHM8VCwgVEQ+KHJlc3VsdHM6IEl0ZXJhYmxlPERldGFpbGVkUmVzdWx0PFQsIFREPj4sIGlnbm9yZTogVERbXSk6IFJlc3VsdDxUW10+IHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgZWxlbWVudHM6IFRbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICBpZiAocmVzdWx0LmlzU3VjY2VzcygpKSB7XG4gICAgICAgICAgICBlbGVtZW50cy5wdXNoKHJlc3VsdC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIWlnbm9yZS5pbmNsdWRlcyhyZXN1bHQuZGV0YWlsKSkge1xuICAgICAgICAgICAgZXJyb3JzLnB1c2gocmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWlsKGVycm9ycy5qb2luKCdcXG4nKSk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZWVkKGVsZW1lbnRzKTtcbn1cblxuLyoqXG4gKiBBZ2dyZWdhdGVzIHN1Y2Nlc3NmdWwgcmVzdWx0cyBmcm9tIGEgYSBjb2xsZWN0aW9uIG9mIHtAbGluayBSZXN1bHQgfCBSZXN1bHQ8VD59LlxuICogQHBhcmFtIHJlc3VsdHMgLSBBbiBgSXRlcmFibGVgIG9mIHtAbGluayBSZXN1bHQgfCBSZXN1bHQ8VD59IGZyb20gd2hpY2ggc3VjY2Vzc1xuICogcmVzdWx0cyBhcmUgdG8gYmUgYWdncmVnYXRlZC5cbiAqIEByZXR1cm5zIHtAbGluayBTdWNjZXNzfSB3aXRoIGFuIGFycmF5IG9mIGA8VD5gIGlmIGFueSByZXN1bHRzIHdlcmUgc3VjY2Vzc2Z1bC4gSWZcbiAqIGFsbCB7QGxpbmsgUmVzdWx0IHwgcmVzdWx0c30gZmFpbGVkLCByZXR1cm5zIHtAbGluayBGYWlsdXJlfSB3aXRoIGEgY29uY2F0ZW5hdGVkXG4gKiBzdW1tYXJ5IG9mIGFsbCBlcnJvciBtZXNzYWdlcy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFN1Y2Nlc3M8VD4ocmVzdWx0czogSXRlcmFibGU8UmVzdWx0PFQ+Pik6IFJlc3VsdDxUW10+IHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgZWxlbWVudHM6IFRbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICBpZiAocmVzdWx0LmlzU3VjY2VzcygpKSB7XG4gICAgICAgICAgICBlbGVtZW50cy5wdXNoKHJlc3VsdC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaChyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoKGVsZW1lbnRzLmxlbmd0aCA9PT0gMCkgJiYgKGVycm9ycy5sZW5ndGggPiAwKSkge1xuICAgICAgICByZXR1cm4gZmFpbChlcnJvcnMuam9pbignXFxuJykpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2VlZChlbGVtZW50cyk7XG59XG5cbi8qKlxuICogQWdncmVnYXRlcyBlcnJvciBtZXNzYWdlcyBmcm9tIGEgY29sbGVjdGlvbiBvZiB7QGxpbmsgUmVzdWx0IHwgUmVzdWx0PFQ+fS5cbiAqIEBwYXJhbSByZXN1bHRzIC0gQW4gaW50ZXJhYmxlIGNvbGxlY3Rpb24gb2Yge0BsaW5rIFJlc3VsdCB8IFJlc3VsdDxUPn0gZm9yIHdoaWNoXG4gKiBlcnJvciBtZXNzYWdlcyBhcmUgYWdncmVnYXRlZC5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHN0cmluZ3MgY29uc2lzdGluZyBvZiBhbGwgZXJyb3IgbWVzc2FnZXMgcmV0dXJuZWQgYnlcbiAqIHtAbGluayBSZXN1bHQgfCByZXN1bHRzfSBpbiB0aGUgc291cmNlIGNvbGxlY3Rpb24uIElnbm9yZXMge0BsaW5rIFN1Y2Nlc3N9XG4gKiByZXN1bHRzIGFuZCByZXR1cm5zIGFuIGVtcHR5IGFycmF5IGlmIHRoZXJlIHdlcmUgbm8gZXJyb3JzLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWFwRmFpbHVyZXM8VD4ocmVzdWx0czogSXRlcmFibGU8UmVzdWx0PFQ+Pik6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICBpZiAocmVzdWx0LmlzRmFpbHVyZSgpKSB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaChyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGVycm9ycztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGFuIGl0ZXJhYmxlIGNvbGxlY3Rpb24gb2Yge0BsaW5rIFJlc3VsdCB8IFJlc3VsdDxUPn0gd2VyZSBhbGwgc3VjY2Vzc2Z1bC5cbiAqIEBwYXJhbSByZXN1bHRzIC0gVGhlIGNvbGxlY3Rpb24gb2Yge0BsaW5rIFJlc3VsdCB8IFJlc3VsdDxUPn0gdG8gYmUgdGVzdGVkLlxuICogQHJldHVybnMgUmV0dXJucyB7QGxpbmsgU3VjY2Vzc30gd2l0aCBgdHJ1ZWAgaWYgYWxsIHtAbGluayBSZXN1bHQgfCByZXN1bHRzfSBhcmUgc3VjY2Vzc2Z1bC5cbiAqIElmIGFueSBhcmUgdW5zdWNjZXNzZnVsLCByZXR1cm5zIHtAbGluayBGYWlsdXJlfSB3aXRoIGEgY29uY2F0ZW5hdGVkIHN1bW1hcnkgdGhlIGVycm9yXG4gKiBtZXNzYWdlcyBmcm9tIGFsbCBmYWlsZWQgZWxlbWVudHMuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhbGxTdWNjZWVkPFQ+KHJlc3VsdHM6IEl0ZXJhYmxlPFJlc3VsdDx1bmtub3duPj4sIHN1Y2Nlc3NWYWx1ZTogVCk6IFJlc3VsdDxUPiB7XG4gICAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLy8gaXN0YW5idWwgaWdub3JlIGVsc2VcbiAgICBpZiAocmVzdWx0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGZvciAoY29uc3QgcmVzdWx0IG9mIHJlc3VsdHMpIHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQuaXNGYWlsdXJlKCkpIHtcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIGZhaWwoZXJyb3JzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1Y2NlZWQoc3VjY2Vzc1ZhbHVlKTtcbn1cblxuLyoqXG4gKiBTdHJpbmcta2V5ZWQgcmVjb3JkIG9mIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyB0byBiZSBwYXNzZWQgdG8ge0BsaW5rIHBvcHVsYXRlT2JqZWN0fS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRmllbGRJbml0aWFsaXplcnM8VD4gPSB7IFsga2V5IGluIGtleW9mIFQgXTogKHN0YXRlOiBQYXJ0aWFsPFQ+KSA9PiBSZXN1bHQ8VFtrZXldPiB9O1xuXG4vKipcbiAqIFBvcHVsYXRlcyBhbiBhbiBvYmplY3QgYmFzZWQgb24gYSBwcm90b3R5cGUgZnVsbCBvZiBmaWVsZCBpbml0aWFsaXplcnMgdGhhdCByZXR1cm4ge0BsaW5rIFJlc3VsdCB8IFJlc3VsdDxUW2tleV0+fS5cbiAqIFJldHVybnMge0BsaW5rIFN1Y2Nlc3N9IHdpdGggdGhlIHBvcHVsYXRlZCBvYmplY3QgaWYgYWxsIGluaXRpYWxpemVycyBzdWNjZWVkLCBvciB7QGxpbmsgRmFpbHVyZX0gd2l0aCBhXG4gKiBjb25jYXRlbmF0ZWQgbGlzdCBvZiBhbGwgZXJyb3IgbWVzc2FnZXMuXG4gKiBAcGFyYW0gaW5pdGlhbGl6ZXJzIC0gQW4gb2JqZWN0IHdpdGggdGhlIHNoYXBlIG9mIHRoZSB0YXJnZXQgYnV0IHdpdGggaW5pdGlhbGl6ZXIgZnVuY3Rpb25zIGZvclxuICogZWFjaCBwcm9wZXJ0eS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvcHVsYXRlT2JqZWN0PFQ+KGluaXRpYWxpemVyczogRmllbGRJbml0aWFsaXplcnM8VD4sIG9yZGVyPzogKGtleW9mIFQpW10pOiBSZXN1bHQ8VD4ge1xuICAgIGNvbnN0IHN0YXRlID0ge30gYXMgeyBba2V5IGluIGtleW9mIFRdOiBUW2tleV0gfTtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qga2V5czogKGtleW9mIFQpW10gPSBBcnJheS5mcm9tKG9yZGVyID8/IFtdKTtcbiAgICBjb25zdCBmb3VuZEtleXMgPSBuZXcgU2V0PGtleW9mIFQ+KG9yZGVyKTtcblxuICAgIC8vIHN0YXJ0IHdpdGggdGhlIHN1cHBsaWVkIG9yZGVyIHRoZW4gYXBwZW5kIGFueXRoaW5nIGVsc2Ugd2UgZmluZFxuICAgIGZvciAoY29uc3Qga2V5IGluIGluaXRpYWxpemVycykge1xuICAgICAgICBpZiAoIWZvdW5kS2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICAgICAgICBmb3VuZEtleXMuYWRkKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgIGlmIChpbml0aWFsaXplcnNba2V5XSkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gaW5pdGlhbGl6ZXJzW2tleV0oc3RhdGUpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5pc1N1Y2Nlc3MoKSkge1xuICAgICAgICAgICAgICAgIHN0YXRlW2tleV0gPSByZXN1bHQudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaChgcG9wdWxhdGVPYmplY3Q6IEtleSAke2tleX0gaXMgcHJlc2VudCBidXQgaGFzIG5vIGluaXRpYWxpemVyYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIGZhaWwoZXJyb3JzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1Y2NlZWQoc3RhdGUgYXMgVCk7XG59XG4iXX0=
539
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Jlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUF3SUg7Ozs7R0FJRztBQUNILE1BQWEsT0FBTztJQVVoQjs7O09BR0c7SUFDSCxZQUFZLEtBQVE7UUFicEI7O1dBRUc7UUFDYSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBVzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUztRQUNaLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWUsQ0FBQyxPQUF1QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCLENBQUMsSUFBUTs7UUFDN0IsT0FBTyxNQUFBLElBQUksQ0FBQyxNQUFNLG1DQUFJLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUssRUFBOEI7UUFDL0MsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxDQUF5QjtRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUIsQ0FBSyxPQUFXO1FBQ3BDLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBSyxNQUFVLEVBQUUsYUFBa0I7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WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIwIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8qKlxuICogUmVwcmVzZW50cyB0aGUge0BsaW5rIElSZXN1bHQgfCByZXN1bHR9IG9mIHNvbWUgb3BlcmF0aW9uIG9yIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMuXG4gKiBAcmVtYXJrc1xuICoge0BsaW5rIFN1Y2Nlc3MgfCBTdWNjZXNzPFQ+fSBhbmQge0BsaW5rIEZhaWx1cmUgfCBGYWlsdXJlPFQ+fSBzaGFyZSB0aGUgY29tbW9uXG4gKiBjb250cmFjdCB7QGxpbmsgSVJlc3VsdH0sIGVuYWJsaW5nIGNvbW1pbmdsZWQgZGlzY3JpbWluYXRlZCB1c2FnZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgUmVzdWx0PFQ+ID0gU3VjY2VzczxUPiB8IEZhaWx1cmU8VD47XG4vKipcbiAqIENvbnRpbnVhdGlvbiBjYWxsYmFjayB0byBiZSBjYWxsZWQgaW4gdGhlIGV2ZW50IHRoYXQgYW5cbiAqIHtAbGluayBSZXN1bHR9IGlzIHN1Y2Nlc3NmdWwuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFN1Y2Nlc3NDb250aW51YXRpb248VCwgVE4+ID0gKHZhbHVlOiBUKSA9PiBSZXN1bHQ8VE4+O1xuLyoqXG4gKiBDb250aW51YXRpb24gY2FsbGJhY2sgdG8gYmUgY2FsbGVkIGluIHRoZSBldmVudCB0aGF0IGFuXG4gKiB7QGxpbmsgUmVzdWx0fSBmYWlscy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRmFpbHVyZUNvbnRpbnVhdGlvbjxUPiA9IChtZXNzYWdlOiBzdHJpbmcpID0+IFJlc3VsdDxUPjtcbi8qKlxuICogVHlwZSBpbmZlcmVuY2UgdG8gZGV0ZXJtaW5lIHRoZSByZXN1bHQgdHlwZSBvZiBhbiB7QGxpbmsgUmVzdWx0fS5cbiAqIEBiZXRhXG4gKi9cbmV4cG9ydCB0eXBlIFJlc3VsdFZhbHVlVHlwZTxUPiA9IFQgZXh0ZW5kcyBSZXN1bHQ8aW5mZXIgVFY+ID8gVFYgOiBuZXZlcjtcblxuLyoqXG4gKiBTaW1wbGUgbG9nZ2VyIGludGVyZmFjZSB1c2VkIGJ5IHtAbGluayBJUmVzdWx0LmdldFZhbHVlT3JUaHJvd30uXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc3VsdExvZ2dlciB7XG4gICAgLyoqXG4gICAgICogTG9nIGFuIGVycm9yIG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBiZSBsb2dnZWQuXG4gICAgICovXG4gICAgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSByZXN1bHQgb2Ygc29tZSBvcGVyYXRpb24gb2Ygc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucy5cbiAqIEByZW1hcmtzXG4gKiBUaGlzIGNvbW1vbiBjb250cmFjdCBlbmFibGVzIGNvbW1pbmdsZWQgZGlzY3JpbWluYXRlZCB1c2FnZSBvZiB7QGxpbmsgU3VjY2VzcyB8IFN1Y2Nlc3M8VD59XG4gKiBhbmQge0BsaW5rIEZhaWx1cmUgfCBGYWlsdXJlPFQ+fS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVzdWx0PFQ+IHtcbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHN1Y2Nlc3M6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGlzIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4gIEZ1bmN0aW9uc1xuICAgICAqIGFzIGEgdHlwZSBndWFyZCBmb3Ige0BsaW5rIFN1Y2Nlc3MgfCBTdWNjZXNzPFQ+fS5cbiAgICAgKi9cbiAgICBpc1N1Y2Nlc3MoKTogdGhpcyBpcyBTdWNjZXNzPFQ+O1xuXG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBvcGVyYXRpb24gZmFpbGVkLiAgRnVuY3Rpb25zXG4gICAgICogYXMgYSB0eXBlIGd1YXJkIGZvciB7QGxpbmsgRmFpbHVyZSB8IEZhaWx1cmU8VD59LlxuICAgICAqL1xuICAgIGlzRmFpbHVyZSgpOiB0aGlzIGlzIEZhaWx1cmU8VD47XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYSBzdWNjZXNzZnVsIHtAbGluayBJUmVzdWx0IHwgcmVzdWx0fSxcbiAgICAgKiBvciB0aHJvd3MgdGhlIGVycm9yIG1lc3NhZ2UgaWYgdGhlIGNvcnJlc3BvbmRpbmcgb3BlcmF0aW9uIGZhaWxlZC5cbiAgICAgKiBAcGFyYW0gbG9nZ2VyIC0gQW4gb3B0aW9uYWwge0BsaW5rIElSZXN1bHRMb2dnZXIgfCBsb2dnZXJ9IHRvIHdoaWNoIHRoZVxuICAgICAqIGVycm9yIHdpbGwgYWxzbyBiZSByZXBvcnRlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlLCBpZiB0aGUgb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsLlxuICAgICAqIEB0aHJvd3MgVGhlIGVycm9yIG1lc3NhZ2UgaWYgdGhlIG9wZXJhdGlvbiBmYWlsZWQuXG4gICAgICovXG4gICAgZ2V0VmFsdWVPclRocm93KGxvZ2dlcj86IElSZXN1bHRMb2dnZXIpOiBUO1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGEgc3VjY2Vzc2Z1bCB7QGxpbmsgSVJlc3VsdCB8IHJlc3VsdH0sXG4gICAgICogb3IgYSBkZWZhdWx0IHZhbHVlIGlmIHRoZSBjb3JyZXNwb25kaW5nIG9wZXJhdGlvbiBmYWlsZWQuXG4gICAgICogQHBhcmFtIGRmbHQgLSBUaGUgdmFsdWUgdG8gYmUgcmV0dXJuZWQgaWYgdGhlIG9wZXJhdGlvbiBmYWlsZWQgKGRlZmF1bHQgaXNcbiAgICAgKiBgdW5kZWZpbmVkYCkuXG4gICAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSwgaWYgdGhlIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4gIFJldHVybnNcbiAgICAgKiB0aGUgc3VwcGxpZWQgZGVmYXVsdCB2YWx1ZSBvciBgdW5kZWZpbmVkYCBpZiBubyBkZWZhdWx0IGlzIHN1cHBsaWVkLlxuICAgICAqL1xuICAgIGdldFZhbHVlT3JEZWZhdWx0KGRmbHQ/OiBUKTogVHx1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDYWxscyBhIHN1cHBsaWVkIHtAbGluayBTdWNjZXNzQ29udGludWF0aW9uIHwgc3VjY2VzcyBjb250aW51YXRpb259IGlmXG4gICAgICogdGhlIG9wZXJhdGlvbiB3YXMgYSBzdWNjZXNzLlxuICAgICAqIEByZW1hcmtzXG4gICAgICogVGhlIHtAbGluayBTdWNjZXNzQ29udGludWF0aW9uIHwgc3VjY2VzcyBjb250aW51YXRpb259IG1pZ2h0IHJldHVybiBhXG4gICAgICogZGlmZmVyZW50IHJlc3VsdCB0eXBlIHRoYW4ge0BsaW5rIElSZXN1bHR9IG9uIHdoaWNoIGl0IGlzIGludm9rZWQuIFRoaXNcbiAgICAgKiBlbmFibGVzIGNoYWluaW5nIG9mIG9wZXJhdGlvbnMgd2l0aCBoZXRlcm9nZW5vdXMgcmV0dXJuIHR5cGVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNiIC0gVGhlIHtAbGluayBTdWNjZXNzQ29udGludWF0aW9uIHwgc3VjY2VzcyBjb250aW51YXRpb259IHRvXG4gICAgICogYmUgY2FsbGVkIGluIHRoZSBldmVudCBvZiBzdWNjZXNzLlxuICAgICAqIEByZXR1cm5zIElmIHRoaXMgb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsLCByZXR1cm5zIHRoZSB2YWx1ZSByZXR1cm5lZFxuICAgICAqIGJ5IHRoZSB7QGxpbmsgU3VjY2Vzc0NvbnRpbnVhdGlvbiB8IHN1Y2Nlc3MgY29udGludWF0aW9ufS4gIElmIHRoaXMgcmVzdWx0XG4gICAgICogZmFpbGVkLCBwcm9wYWdhdGVzIHRoZSBlcnJvciBtZXNzYWdlIGZyb20gdGhpcyBmYWlsdXJlLlxuICAgICAqL1xuICAgIG9uU3VjY2VzczxUTj4oY2I6IFN1Y2Nlc3NDb250aW51YXRpb248VCwgVE4+KTogUmVzdWx0PFROPjtcblxuICAgIC8qKlxuICAgICAqIENhbGxzIGEgc3VwcGxpZWQge0BsaW5rIEZhaWx1cmVDb250aW51YXRpb24gfCBmYWlsZWQgY29udGludWF0aW9ufSBpZlxuICAgICAqIHRoZSBvcGVyYXRpb24gZmFpbGVkLlxuICAgICAqIEBwYXJhbSBjYiAtIFRoZSB7QGxpbmsgRmFpbHVyZUNvbnRpbnVhdGlvbiB8IGZhaWx1cmUgY29udGludWF0aW9ufSB0b1xuICAgICAqIGJlIGNhbGxlZCBpbiB0aGUgZXZlbnQgb2YgZmFpbHVyZS5cbiAgICAgKiBAcmV0dXJucyBJZiB0aGlzIG9wZXJhdGlvbiBmYWlsZWQsIHJldHVybnMgdGhlIHZhbHVlIHJldHVybmVkIGJ5IHRoZVxuICAgICAqIHtAbGluayBGYWlsdXJlQ29udGludWF0aW9uIHwgZmFpbHVyZSBjb250aW51YXRpb259LiAgSWYgdGhpcyByZXN1bHRcbiAgICAgKiB3YXMgc3VjY2Vzc2Z1bCwgcHJvcGFnYXRlcyB0aGUgcmVzdWx0IHZhbHVlIGZyb20gdGhlIHN1Y2Nlc3NmdWwgZXZlbnQuXG4gICAgICovXG4gICAgb25GYWlsdXJlKGNiOiBGYWlsdXJlQ29udGludWF0aW9uPFQ+KTogUmVzdWx0PFQ+O1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYSB7QGxpbmsgSVJlc3VsdCB8IElSZXN1bHQ8VD59IHRvIGEge0BsaW5rIERldGFpbGVkUmVzdWx0IHwgRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+fSxcbiAgICAgKiBhZGRpbmcgYSBzdXBwbGllZCBkZXRhaWwgaWYgdGhlIG9wZXJhdGlvbiBmYWlsZWQuXG4gICAgICogQHBhcmFtIGRldGFpbCAtIFRoZSBkZXRhaWwgdG8gYmUgYWRkZWQgaWYgdGhpcyBvcGVyYXRpb24gZmFpbGVkLlxuICAgICAqIEByZXR1cm5zIEEgbmV3IHtAbGluayBEZXRhaWxlZFJlc3VsdCB8IERldGFpbGVkUmVzdWx0PFQsIFREPn0gd2l0aCBlaXRoZXJcbiAgICAgKiB0aGUgc3VjY2VzcyByZXN1bHQgb3IgdGhlIGVycm9yIG1lc3NhZ2UgZnJvbSB0aGlzIHtAbGluayBJUmVzdWx0fSwgd2l0aFxuICAgICAqIHRoZSBzdXBwbGllZCBkZXRhaWwgKGlmIHRoaXMgZXZlbnQgZmFpbGVkKSBvciBkZXRhaWwgYHVuZGVmaW5lZGAgKGlmXG4gICAgICogdGhpcyByZXN1bHQgc3VjY2VlZGVkKS5cbiAgICAgKi9cbiAgICB3aXRoRmFpbHVyZURldGFpbDxURD4oZGV0YWlsOiBURCk6IERldGFpbGVkUmVzdWx0PFQsIFREPjtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGEge0BsaW5rIElSZXN1bHQgfCBJUmVzdWx0PFQ+fSB0byBhIHtAbGluayBEZXRhaWxlZFJlc3VsdCB8IERldGFpbGVkUmVzdWx0PFQsIFREPn0sXG4gICAgICogYWRkaW5nIHN1cHBsaWVkIGRldGFpbHMuXG4gICAgICogQHBhcmFtIGRldGFpbCAtIFRoZSBkZWZhdWx0IGRldGFpbCB0byBiZSBhZGRlZCB0byB0aGUgbmV3IHtAbGluayBEZXRhaWxlZFJlc3VsdH0uXG4gICAgICogQHBhcmFtIHN1Y2Nlc3NEZXRhaWwgLSBBbiBvcHRpb25hbCBkZXRhaWwgdG8gYmUgYWRkZWQgaWYgdGhpcyByZXN1bHQgd2FzIHN1Y2Nlc3NmdWwuXG4gICAgICogQHJldHVybnMgQSBuZXcge0BsaW5rIERldGFpbGVkUmVzdWx0IHwgRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+fSB3aXRoIGVpdGhlclxuICAgICAqIHRoZSBzdWNjZXNzIHJlc3VsdCBvciB0aGUgZXJyb3IgbWVzc2FnZSBmcm9tIHRoaXMge0BsaW5rIElSZXN1bHR9IGFuZCB0aGVcbiAgICAgKiBhcHByb3ByaWF0ZSBhZGRlZCBkZXRhaWwuXG4gICAgICovXG4gICAgd2l0aERldGFpbDxURD4oZGV0YWlsOiBURCwgc3VjY2Vzc0RldGFpbD86IFREKTogRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+O1xufVxuXG4vKipcbiAqIFJlcG9ydHMgYSBzdWNjZXNzZnVsIHtAbGluayBJUmVzdWx0IHwgcmVzdWx0fSBmcm9tIHNvbWUgb3BlcmF0aW9uIGFuZCB0aGVcbiAqIGNvcnJlc3BvbmRpbmcgdmFsdWUuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBTdWNjZXNzPFQ+IGltcGxlbWVudHMgSVJlc3VsdDxUPiB7XG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQuc3VjY2Vzc31cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VjY2VzcyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdmFsdWU6IFQ7XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGEge0BsaW5rIFN1Y2Nlc3N9IHdpdGggdGhlIHN1cHBsaWVkIHZhbHVlLlxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBiZSByZXR1cm5lZC5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcih2YWx1ZTogVCkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSByZXN1bHQgdmFsdWUgcmV0dXJuZWQgYnkgdGhlIHN1Y2Nlc3NmdWwgb3BlcmF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC5pc1N1Y2Nlc3N9XG4gICAgICovXG4gICAgcHVibGljIGlzU3VjY2VzcygpOiB0aGlzIGlzIFN1Y2Nlc3M8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC5pc0ZhaWx1cmV9XG4gICAgICovXG4gICAgcHVibGljIGlzRmFpbHVyZSgpOiB0aGlzIGlzIEZhaWx1cmU8VD4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQuZ2V0VmFsdWVPclRocm93fVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWYWx1ZU9yVGhyb3coX2xvZ2dlcj86IElSZXN1bHRMb2dnZXIpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBJUmVzdWx0LmdldFZhbHVlT3JEZWZhdWx0fVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWYWx1ZU9yRGVmYXVsdChkZmx0PzogVCk6IFR8dW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlID8/IGRmbHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQub25TdWNjZXNzfVxuICAgICAqL1xuICAgIHB1YmxpYyBvblN1Y2Nlc3M8VE4+KGNiOiBTdWNjZXNzQ29udGludWF0aW9uPFQsIFROPik6IFJlc3VsdDxUTj4ge1xuICAgICAgICByZXR1cm4gY2IodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQub25GYWlsdXJlfVxuICAgICAqL1xuICAgIHB1YmxpYyBvbkZhaWx1cmUoXzogRmFpbHVyZUNvbnRpbnVhdGlvbjxUPik6IFJlc3VsdDxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBJUmVzdWx0LndpdGhGYWlsdXJlRGV0YWlsfVxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRmFpbHVyZURldGFpbDxURD4oX2RldGFpbDogVEQpOiBEZXRhaWxlZFJlc3VsdDxULCBURD4ge1xuICAgICAgICByZXR1cm4gc3VjY2VlZFdpdGhEZXRhaWwodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQud2l0aERldGFpbH1cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERldGFpbDxURD4oZGV0YWlsOiBURCwgc3VjY2Vzc0RldGFpbD86IFREKTogRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+IHtcbiAgICAgICAgcmV0dXJuIHN1Y2NlZWRXaXRoRGV0YWlsKHRoaXMudmFsdWUsIHN1Y2Nlc3NEZXRhaWwgPz8gZGV0YWlsKTtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwb3J0cyBhIGZhaWxlZCB7QGxpbmsgSVJlc3VsdCB8IHJlc3VsdH0gZnJvbSBzb21lIG9wZXJhdGlvbiwgd2l0aCBhbiBlcnJvciBtZXNzYWdlLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgRmFpbHVyZTxUPiBpbXBsZW1lbnRzIElSZXN1bHQ8VD4ge1xuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBJUmVzdWx0LnN1Y2Nlc3N9XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lc3NhZ2U6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYSB7QGxpbmsgRmFpbHVyZX0gd2l0aCB0aGUgc3VwcGxpZWQgbWVzc2FnZS5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSAtIEVycm9yIG1lc3NhZ2UgdG8gYmUgcmVwb3J0ZWQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX21lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGVycm9yIG1lc3NhZ2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZXJyb3IuXG4gICAgICovXG4gICAgcHVibGljIGdldCBtZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBJUmVzdWx0LmlzU3VjY2Vzc31cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTdWNjZXNzKCk6IHRoaXMgaXMgU3VjY2VzczxUPiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC5pc0ZhaWx1cmV9XG4gICAgICovXG4gICAgcHVibGljIGlzRmFpbHVyZSgpOiB0aGlzIGlzIEZhaWx1cmU8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC5nZXRWYWx1ZU9yVGhyb3d9XG4gICAgICovXG4gICAgcHVibGljIGdldFZhbHVlT3JUaHJvdyhsb2dnZXI/OiBJUmVzdWx0TG9nZ2VyKTogbmV2ZXIge1xuICAgICAgICBpZiAobG9nZ2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvZ2dlci5lcnJvcih0aGlzLl9tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5fbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQuZ2V0VmFsdWVPckRlZmF1bHR9XG4gICAgICovXG4gICAgcHVibGljIGdldFZhbHVlT3JEZWZhdWx0KGRmbHQ/OiBUKTogVHx1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gZGZsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC5vblN1Y2Nlc3N9XG4gICAgICovXG4gICAgcHVibGljIG9uU3VjY2VzczxUTj4oXzogU3VjY2Vzc0NvbnRpbnVhdGlvbjxULCBUTj4pOiBSZXN1bHQ8VE4+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKHRoaXMubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICoge0Bpbmhlcml0ZG9jIElSZXN1bHQub25GYWlsdXJlfVxuICAgICAqL1xuICAgIHB1YmxpYyBvbkZhaWx1cmUoY2I6IEZhaWx1cmVDb250aW51YXRpb248VD4pOiBSZXN1bHQ8VD4ge1xuICAgICAgICByZXR1cm4gY2IodGhpcy5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgSVJlc3VsdC53aXRoRmFpbHVyZURldGFpbH1cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aEZhaWx1cmVEZXRhaWw8VEQ+KGRldGFpbDogVEQpOiBEZXRhaWxlZFJlc3VsdDxULCBURD4ge1xuICAgICAgICByZXR1cm4gZmFpbFdpdGhEZXRhaWwodGhpcy5tZXNzYWdlLCBkZXRhaWwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdGRvYyBJUmVzdWx0LndpdGhEZXRhaWx9XG4gICAgICovXG4gICAgcHVibGljIHdpdGhEZXRhaWw8VEQ+KGRldGFpbDogVEQsIF9zdWNjZXNzRGV0YWlsPzogVEQpOiBEZXRhaWxlZFJlc3VsdDxULCBURD4ge1xuICAgICAgICByZXR1cm4gZmFpbFdpdGhEZXRhaWwodGhpcy5tZXNzYWdlLCBkZXRhaWwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhICdmcmllbmRseScgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgb2JqZWN0LlxuICAgICAqIEByZW1hcmtzXG4gICAgICogVGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIHtAbGluayBGYWlsdXJlfSB2YWx1ZSBpcyB0aGUgZXJyb3IgbWVzc2FnZS5cbiAgICAgKiBAcmV0dXJucyBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhpcyBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2U7XG4gICAgfVxufVxuXG4vKipcbiAqIFJldHVybnMge0BsaW5rIFN1Y2Nlc3MgfCBTdWNjZXNzPFQ+fSB3aXRoIHRoZSBzdXBwbGllZCByZXN1bHQgdmFsdWUuXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgc3VjY2Vzc2Z1bCByZXN1bHQgdmFsdWUgdG8gYmUgcmV0dXJuZWRcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1Y2NlZWQ8VD4odmFsdWU6IFQpOiBTdWNjZXNzPFQ+IHtcbiAgICByZXR1cm4gbmV3IFN1Y2Nlc3M8VD4odmFsdWUpO1xufVxuXG4vKipcbiAqIFJldHVybnMge0BsaW5rIEZhaWx1cmUgfCBGYWlsdXJlPFQ+fSB3aXRoIHRoZSBzdXBwbGllZCBlcnJvciBtZXNzYWdlLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBFcnJvciBtZXNzYWdlIHRvIGJlIHJldHVybmVkLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmFpbDxUPihtZXNzYWdlOiBzdHJpbmcpOiBGYWlsdXJlPFQ+IHtcbiAgICByZXR1cm4gbmV3IEZhaWx1cmU8VD4obWVzc2FnZSk7XG59XG5cbi8qKlxuICogQ2FsbGJhY2sgdG8gYmUgY2FsbGVkIHdoZW4gYSB7QGxpbmsgRGV0YWlsZWRSZXN1bHR9IGVuY291bnRlcnMgc3VjY2Vzcy5cbiAqIEByZW1hcmtzXG4gKiBBIHN1Y2Nlc3MgY2FsbGJhY2sgY2FuIHJldHVybiBhIGRpZmZlcmVudCByZXN1bHQgdHlwZSB0aGFuIGl0IHJlY2VpdmVzLCBhbGxvd2luZ1xuICogc3VjY2VzcyByZXN1bHRzIHRvIGNoYWluIHRocm91Z2ggaW50ZXJtZWRpYXRlIHJlc3VsdCB0eXBlcy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRGV0YWlsZWRTdWNjZXNzQ29udGludWF0aW9uPFQsIFRELCBUTj4gPSAodmFsdWU6IFQsIGRldGFpbD86IFREKSA9PiBEZXRhaWxlZFJlc3VsdDxUTiwgVEQ+O1xuXG4vKipcbiAqIENhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIGEge0BsaW5rIERldGFpbGVkUmVzdWx0fSBlbmNvdW50ZXJzIGEgZmFpbHVyZS5cbiAqIEByZW1hcmtzXG4gKiBBIGZhaWx1cmUgY2FsbGJhY2sgY2FuIGNoYW5nZSB7QGxpbmsgRmFpbHVyZX0gdG8ge0BsaW5rIFN1Y2Nlc3N9IChlLmcuIGJ5IHJldHVybmluZyBhIGRlZmF1bHQgdmFsdWUpXG4gKiBvciBpdCBjYW4gY2hhbmdlIG9yIGVtYmVsbGlzaCB0aGUgZXJyb3IgbWVzc2FnZSwgYnV0IGl0IGNhbm5vdCBjaGFuZ2UgdGhlIHN1Y2Nlc3MgcmV0dXJuIHR5cGUuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIERldGFpbGVkRmFpbHVyZUNvbnRpbnVhdGlvbjxULCBURD4gPSAobWVzc2FnZTogc3RyaW5nLCBkZXRhaWw6IFREKSA9PiBEZXRhaWxlZFJlc3VsdDxULCBURD47XG5cbi8qKlxuICogQSB7QGxpbmsgRGV0YWlsZWRTdWNjZXNzfSBleHRlbmRzIHtAbGluayBTdWNjZXNzfSB0byByZXBvcnQgb3B0aW9uYWwgc3VjY2VzcyBkZXRhaWxzIGluXG4gKiBhZGRpdGlvbiB0byB0aGUgZXJyb3IgbWVzc2FnZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIERldGFpbGVkU3VjY2VzczxULCBURD4gZXh0ZW5kcyBTdWNjZXNzPFQ+IHtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2RldGFpbD86IFREO1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBhIG5ldyB7QGxpbmsgRGV0YWlsZWRTdWNjZXNzIHwgRGV0YWlsZWRTdWNjZXNzPFQsIFREPn0gd2l0aCB0aGUgc3VwcGxpZWRcbiAgICAgKiB2YWx1ZSBhbmQgZGV0YWlsLlxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBiZSByZXR1cm5lZC5cbiAgICAgKiBAcGFyYW0gZGV0YWlsIC0gQW4gb3B0aW9uYWwgc3VjY2Vzc2Z1bCBkZXRhaWwgdG8gYmUgcmV0dXJuZWQuICBJZiBvbWl0dGVkLCBkZXRhaWxcbiAgICAgKiB3aWxsIGJlIGB1bmRlZmluZWRgLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcih2YWx1ZTogVCwgZGV0YWlsPzogVEQpIHtcbiAgICAgICAgc3VwZXIodmFsdWUpO1xuICAgICAgICB0aGlzLl9kZXRhaWwgPSBkZXRhaWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHN1Y2Nlc3MgZGV0YWlsIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3N9LCBvciBgdW5kZWZpbmVkYCBpZlxuICAgICAqIG5vIGRldGFpbCB3YXMgc3VwcGxpZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBkZXRhaWwoKTogVER8dW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RldGFpbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXBvcnRzIHRoYXQgdGhpcyB7QGxpbmsgRGV0YWlsZWRTdWNjZXNzfSBpcyBhIHN1Y2Nlc3MuXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBBbHdheXMgdHJ1ZSBmb3Ige0BsaW5rIERldGFpbGVkU3VjY2Vzc30gYnV0IGNhbiBiZSB1c2VkIGFzIHR5cGUgZ3VhcmRcbiAgICAgKiB0byBkaXNjcmltaW5hdGUge0BsaW5rIERldGFpbGVkU3VjY2Vzc30gZnJvbSB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlfSBpblxuICAgICAqIGEge0BsaW5rIERldGFpbGVkUmVzdWx0fS5cbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWBcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTdWNjZXNzKCk6IHRoaXMgaXMgRGV0YWlsZWRTdWNjZXNzPFQsIFREPiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEludm9rZXMgdGhlIHN1cHBsaWVkIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3NDb250aW51YXRpb24gfCBzdWNjZXNzIGNhbGxiYWNrfSBhbmQgcHJvcGFnYXRlc1xuICAgICAqIGl0cyByZXR1cm5lZCB7QGxpbmsgRGV0YWlsZWRSZXN1bHQgfCBEZXRhaWxlZFJlc3VsdDxUTiwgVEQ+fS5cbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIFRoZSBzdWNjZXNzIGNhbGxiYWNrIG11dGF0ZXMgdGhlIHJldHVybiB0eXBlIGZyb20gYDxUPmAgdG8gYDxUTj5gLlxuICAgICAqIEBwYXJhbSBjYiAtIFRoZSB7QGxpbmsgRGV0YWlsZWRTdWNjZXNzQ29udGludWF0aW9uIHwgc3VjY2VzcyBjYWxsYmFja30gdG8gYmUgaW52b2tlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUge0BsaW5rIERldGFpbGVkUmVzdWx0IHwgRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+fSByZXR1cm5lZCBieSB0aGUgc3VjY2VzcyBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBwdWJsaWMgb25TdWNjZXNzPFROPihjYjogRGV0YWlsZWRTdWNjZXNzQ29udGludWF0aW9uPFQsIFRELCBUTj4pOiBEZXRhaWxlZFJlc3VsdDxUTiwgVEQ+IHtcbiAgICAgICAgcmV0dXJuIGNiKHRoaXMudmFsdWUsIHRoaXMuX2RldGFpbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvcGFnYXRlcyB0aGlzIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3N9LlxuICAgICAqIEByZW1hcmtzXG4gICAgICogRmFpbHVyZSBkb2VzIG5vdCBtdXRhdGUgcmV0dXJuIHR5cGUgc28gd2UgY2FuIHJldHVybiB0aGlzIGV2ZW50IGRpcmVjdGx5LlxuICAgICAqIEBwYXJhbSBfY2IgLSB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlQ29udGludWF0aW9uIHwgRmFpbHVyZSBjYWxsYmFja30gdG8gYmUgY2FsbGVkXG4gICAgICogb24gYSB7QGxpbmsgRGV0YWlsZWRSZXN1bHR9IGluIGNhc2Ugb2YgZmFpbHVyZSAoaWdub3JlZCkuXG4gICAgICogQHJldHVybnMgYHRoaXNgXG4gICAgICovXG4gICAgcHVibGljIG9uRmFpbHVyZShfY2I6IERldGFpbGVkRmFpbHVyZUNvbnRpbnVhdGlvbjxULCBURD4pOiBEZXRhaWxlZFJlc3VsdDxULCBURD4ge1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59XG5cbi8qKlxuICogQSB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlfSBleHRlbmRzIHtAbGluayBGYWlsdXJlfSB0byByZXBvcnQgb3B0aW9uYWwgZmFpbHVyZSBkZXRhaWxzIGluXG4gKiBhZGRpdGlvbiB0byB0aGUgZXJyb3IgbWVzc2FnZS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIERldGFpbGVkRmFpbHVyZTxULCBURD4gZXh0ZW5kcyBGYWlsdXJlPFQ+IHtcbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2RldGFpbDogVEQ7XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IHtAbGluayBEZXRhaWxlZEZhaWx1cmUgfCBEZXRhaWxlZEZhaWx1cmU8VCwgVEQ+fSB3aXRoIHRoZSBzdXBwbGllZFxuICAgICAqIG1lc3NhZ2UgYW5kIGRldGFpbC5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGJlIHJldHVybmVkLlxuICAgICAqIEBwYXJhbSBkZXRhaWwgLSBUaGUgZXJyb3IgZGV0YWlsIHRvIGJlIHJldHVybmVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogVEQpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMuX2RldGFpbCA9IGRldGFpbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXJyb3IgZGV0YWlsIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHtAbGluayBEZXRhaWxlZEZhaWx1cmV9LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZGV0YWlsKCk6IFREIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RldGFpbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXBvcnRzIHRoYXQgdGhpcyB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlfSBpcyBhIGZhaWx1cmUuXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBBbHdheXMgdHJ1ZSBmb3Ige0BsaW5rIERldGFpbGVkRmFpbHVyZX0gYnV0IGNhbiBiZSB1c2VkIGFzIHR5cGUgZ3VhcmRcbiAgICAgKiB0byBkaXNjcmltaW5hdGUge0BsaW5rIERldGFpbGVkU3VjY2Vzc30gZnJvbSB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlfSBpblxuICAgICAqIGEge0BsaW5rIERldGFpbGVkUmVzdWx0fS5cbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWBcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNGYWlsdXJlKCk6IHRoaXMgaXMgRGV0YWlsZWRGYWlsdXJlPFQsIFREPiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb3BhZ2F0ZXMgdGhlIGVycm9yIG1lc3NhZ2UgYW5kIGRldGFpbCBmcm9tIHRoaXMgcmVzdWx0LlxuICAgICAqIEByZW1hcmtzXG4gICAgICogTXV0YXRlcyB0aGUgc3VjY2VzcyB0eXBlIGFzIHRoZSBzdWNjZXNzIGNhbGxiYWNrIHdvdWxkIGhhdmUsIGJ1dCBkb2VzIG5vdFxuICAgICAqIGNhbGwgdGhlIHN1Y2Nlc3MgY2FsbGJhY2suXG4gICAgICogQHBhcmFtIF9jYiAtIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3NDb250aW51YXRpb24gfCBTdWNjZXNzIGNhbGxiYWNrfSB0byBiZSBjYWxsZWRcbiAgICAgKiBvbiBhIHtAbGluayBEZXRhaWxlZFJlc3VsdH0gaW4gY2FzZSBvZiBzdWNjZXNzIChpZ25vcmVkKS5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlIHwgRGV0YWlsZWRGYWlsdXJlPFROLCBURD59IHdoaWNoIGNvbnRhaW5zXG4gICAgICogdGhlIGVycm9yIG1lc3NhZ2UgYW5kIGRldGFpbCBmcm9tIHRoaXMgb25lLlxuICAgICAqL1xuICAgIHB1YmxpYyBvblN1Y2Nlc3M8VE4+KF9jYjogRGV0YWlsZWRTdWNjZXNzQ29udGludWF0aW9uPFQsIFRELCBUTj4pOiBEZXRhaWxlZFJlc3VsdDxUTiwgVEQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEZXRhaWxlZEZhaWx1cmU8VE4sIFREPih0aGlzLm1lc3NhZ2UsIHRoaXMuX2RldGFpbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW52b2tlcyB0aGUgc3VwcGxpZWQge0BsaW5rIERldGFpbGVkRmFpbHVyZUNvbnRpbnVhdGlvbiB8IGZhaWx1cmUgY2FsbGJhY2t9IGFuZCBwcm9wYWdhdGVzXG4gICAgICogaXRzIHJldHVybmVkIHtAbGluayBEZXRhaWxlZFJlc3VsdCB8IERldGFpbGVkUmVzdWx0PFQsIFREPn0uXG4gICAgICogQHBhcmFtIGNiIC0gVGhlIHtAbGluayBEZXRhaWxlZEZhaWx1cmVDb250aW51YXRpb24gfCBmYWlsdXJlIGNhbGxiYWNrfSB0byBiZSBpbnZva2VkLlxuICAgICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgRGV0YWlsZWRSZXN1bHQgfCBEZXRhaWxlZFJlc3VsdDxULCBURD59IHJldHVybmVkIGJ5IHRoZSBmYWlsdXJlIGNhbGxiYWNrLlxuICAgICAqL1xuICAgIHB1YmxpYyBvbkZhaWx1cmUoY2I6IERldGFpbGVkRmFpbHVyZUNvbnRpbnVhdGlvbjxULCBURD4pOiBEZXRhaWxlZFJlc3VsdDxULCBURD4ge1xuICAgICAgICByZXR1cm4gY2IodGhpcy5tZXNzYWdlLCB0aGlzLl9kZXRhaWwpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUeXBlIGluZmVyZW5jZSB0byBkZXRlcm1pbmUgdGhlIHJlc3VsdCB0eXBlIGBUYCBvZiBhIHtAbGluayBEZXRhaWxlZFJlc3VsdCB8IERldGFpbGVkUmVzdWx0PFQsIFREPn0uXG4gKiBAYmV0YVxuICovXG5leHBvcnQgdHlwZSBEZXRhaWxlZFJlc3VsdDxULCBURD4gPSBEZXRhaWxlZFN1Y2Nlc3M8VCwgVEQ+fERldGFpbGVkRmFpbHVyZTxULCBURD47XG5cbi8qKlxuICogVHlwZSBpbmZlcmVuY2UgdG8gZGV0ZXJtaW5lIHRoZSBkZXRhaWwgdHlwZSBgVERgIG9mIGEge0BsaW5rIERldGFpbGVkUmVzdWx0IHwgRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+fS5cbiAqIEBiZXRhXG4gKi9cbmV4cG9ydCB0eXBlIFJlc3VsdERldGFpbFR5cGU8VD4gPSBUIGV4dGVuZHMgRGV0YWlsZWRSZXN1bHQ8dW5rbm93biwgaW5mZXIgVEQ+ID8gVEQgOiBuZXZlcjtcblxuLyoqXG4gKiBSZXR1cm5zIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3MgfCBEZXRhaWxlZFN1Y2Nlc3M8VCwgVEQ+fSB3aXRoIGEgc3VwcGxpZWQgdmFsdWUgYW5kIG9wdGlvbmFsXG4gKiBkZXRhaWwuXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgb2YgdHlwZSBgPFQ+YCB0byBiZSByZXR1cm5lZC5cbiAqIEBwYXJhbSBkZXRhaWwgLSBBbiBvcHRpb25hbCBkZXRhaWwgb2YgdHlwZSBgPFREPmAgdG8gYmUgcmV0dXJuZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBEZXRhaWxlZFN1Y2Nlc3MgfCBEZXRhaWxlZFN1Y2Nlc3M8VCwgVEQ+fSB3aXRoIHRoZSBzdXBwbGllZCB2YWx1ZVxuICogYW5kIGRldGFpbCwgaWYgc3VwcGxpZWQuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWNjZWVkV2l0aERldGFpbDxULCBURD4odmFsdWU6IFQsIGRldGFpbD86IFREKTogRGV0YWlsZWRTdWNjZXNzPFQsIFREPiB7XG4gICAgcmV0dXJuIG5ldyBEZXRhaWxlZFN1Y2Nlc3M8VCwgVEQ+KHZhbHVlLCBkZXRhaWwpO1xufVxuXG4vKipcbiAqIFJldHVybnMge0BsaW5rIERldGFpbGVkRmFpbHVyZSB8IERldGFpbGVkRmFpbHVyZTxULCBURD59IHdpdGggYSBzdXBwbGllZCBlcnJvciBtZXNzYWdlIGFuZCBkZXRhaWwuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBlcnJvciBtZXNzYWdlIHRvIGJlIHJldHVybmVkLlxuICogQHBhcmFtIGRldGFpbCAtIFRoZSBldmVudCBkZXRhaWwgdG8gYmUgcmV0dXJuZWQuXG4gKiBAcmV0dXJucyBBbiB7QGxpbmsgRGV0YWlsZWRGYWlsdXJlIHwgRGV0YWlsZWRGYWlsdXJlPFQsIFREPn0gd2l0aCB0aGUgc3VwcGxpZWQgZXJyb3JcbiAqIG1lc3NhZ2UgYW5kIGRldGFpbC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZhaWxXaXRoRGV0YWlsPFQsIFREPihtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogVEQpOiBEZXRhaWxlZEZhaWx1cmU8VCwgVEQ+IHtcbiAgICByZXR1cm4gbmV3IERldGFpbGVkRmFpbHVyZTxULCBURD4obWVzc2FnZSwgZGV0YWlsKTtcbn1cblxuLyoqXG4gKiBQcm9wYWdhdGVzIGEge0BsaW5rIFN1Y2Nlc3N9IG9yIHtAbGluayBGYWlsdXJlfSB7QGxpbmsgUmVzdWx0fSwgYWRkaW5nIHN1cHBsaWVkXG4gKiBldmVudCBkZXRhaWxzIGFzIGFwcHJvcHJpYXRlLlxuICogQHBhcmFtIHJlc3VsdCAtIFRoZSB7QGxpbmsgUmVzdWx0fSB0byBiZSBwcm9wYWdhdGVkLlxuICogQHBhcmFtIGRldGFpbCAtIFRoZSBldmVudCBkZXRhaWwgKHR5cGUgYDxURD5gKSB0byBiZSBhZGRlZCB0byB0aGUge0BsaW5rIFJlc3VsdCB8IHJlc3VsdH0uXG4gKiBAcGFyYW0gc3VjY2Vzc0RldGFpbCAtIEFuIG9wdGlvbmFsIGRpc3RpbmN0IGV2ZW50IGRldGFpbCB0byBiZSBhZGRlZCB0byB7QGxpbmsgU3VjY2Vzc30gcmVzdWx0cy4gIElmIGBzdWNjZXNzRGV0YWlsYFxuICogaXMgb21pdHRlZCBvciBgdW5kZWZpbmVkYCwgdGhlbiBgZGV0YWlsYCB3aWxsIGJlIGFwcGxpZWQgdG8ge0BsaW5rIFN1Y2Nlc3N9IHJlc3VsdHMuXG4gKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgRGV0YWlsZWRSZXN1bHQgfCBEZXRhaWxlZFJlc3VsdDxULCBURD59IHdpdGggdGhlIHN1Y2Nlc3MgdmFsdWUgb3IgZXJyb3JcbiAqIG1lc3NhZ2UgZnJvbSB0aGUgb3JpZ2luYWwgYHJlc3VsdGAgYnV0IHdpdGggdGhlIHNwZWNpZmllZCBkZXRhaWwgYWRkZWQuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9wYWdhdGVXaXRoRGV0YWlsPFQsIFREPihyZXN1bHQ6IFJlc3VsdDxUPiwgZGV0YWlsOiBURCwgc3VjY2Vzc0RldGFpbD86IFREKTogRGV0YWlsZWRSZXN1bHQ8VCwgVEQ+IHtcbiAgICByZXR1cm4gcmVzdWx0LmlzU3VjY2VzcygpXG4gICAgICAgID8gc3VjY2VlZFdpdGhEZXRhaWwocmVzdWx0LnZhbHVlLCBzdWNjZXNzRGV0YWlsID8/IGRldGFpbClcbiAgICAgICAgOiBmYWlsV2l0aERldGFpbChyZXN1bHQubWVzc2FnZSwgZGV0YWlsKTtcbn1cblxuLyoqXG4gKiBXcmFwcyBhIGZ1bmN0aW9uIHdoaWNoIG1pZ2h0IHRocm93IHRvIGNvbnZlcnQgZXhjZXB0aW9uIHJlc3VsdHNcbiAqIHRvIHtAbGluayBGYWlsdXJlfS5cbiAqIEBwYXJhbSBmdW5jIC0gVGhlIGZ1bmN0aW9uIHRvIGJlIGNhcHR1cmVkLlxuICogQHJldHVybnMgUmV0dXJucyB7QGxpbmsgU3VjY2Vzc30gd2l0aCBhIHZhbHVlIG9mIHR5cGUgYDxUPmAgb25cbiAqIHN1Y2Nlc3MgLCBvciB7QGxpbmsgRmFpbHVyZX0gd2l0aCB0aGUgdGhyb3duIGVycm9yIG1lc3NhZ2UgaWZcbiAqIGBmdW5jYCB0aHJvd3MgYW4gYEVycm9yYC5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhcHR1cmVSZXN1bHQ8VD4oZnVuYzogKCkgPT4gVCk6IFJlc3VsdDxUPiB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHN1Y2NlZWQoZnVuYygpKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICByZXR1cm4gZmFpbCgoZXJyIGFzIEVycm9yKS5tZXNzYWdlKTtcbiAgICB9XG59XG5cbi8qKlxuICogQWdncmVnYXRlcyBzdWNjZXNzZnVsIHJlc3VsdCB2YWx1ZXMgZnJvbSBhIGNvbGxlY3Rpb24gb2Yge0BsaW5rIFJlc3VsdCB8IFJlc3VsdDxUPn0uXG4gKiBAcGFyYW0gcmVzdWx0cyAtIFRoZSBjb2xsZWN0aW9uIG9mIHtAbGluayBSZXN1bHQgfCBSZXN1bHQ8VD59IHRvIGJlIG1hcHBlZC5cbiAqIEByZXR1cm5zICBJZiBhbGwge0BsaW5rIFJlc3VsdCB8IHJlc3VsdHN9IGFyZSBzdWNjZXNzZnVsLCByZXR1cm5zIHtAbGluayBTdWNjZXNzfSB3aXRoIGFuXG4gKiBhcnJheSBjb250YWluaW5nIGFsbCByZXR1cm5lZCB2YWx1ZXMuICBJZiBhbnkge0BsaW5rIFJlc3VsdCB8IHJlc3VsdHN9IGZhaWxlZCwgcmV0dXJuc1xuICoge0BsaW5rIEZhaWx1cmV9IHdpdGggYSBjb25jYXRlbmF0ZWQgc3VtbWFyeSBvZiBhbGwgZXJyb3IgbWVzc2FnZXMuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXBSZXN1bHRzPFQ+KHJlc3VsdHM6IEl0ZXJhYmxlPFJlc3VsdDxUPj4pOiBSZXN1bHQ8VFtdPiB7XG4gICAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGVsZW1lbnRzOiBUW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcmVzdWx0IG9mIHJlc3VsdHMpIHtcbiAgICAgICAgaWYgKHJlc3VsdC5pc1N1Y2Nlc3MoKSkge1xuICAgICAgICAgICAgZWxlbWVudHMucHVzaChyZXN1bHQudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZXJyb3JzLnB1c2gocmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWlsKGVycm9ycy5qb2luKCdcXG4nKSk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZWVkKGVsZW1lbnRzKTtcbn1cblxuLyoqXG4gKiBBZ2dyZWdhdGVzIHN1Y2Nlc3NmdWwgcmVzdWx0cyBmcm9tIGEgY29sbGVjdGlvbiBvZiB7QGxpbmsgRGV0YWlsZWRSZXN1bHQgfCBEZXRhaWxlZFJlc3VsdDxULCBURD59LFxuICogb3B0aW9uYWxseSBpZ25vcmluZyBjZXJ0YWluIGVycm9yIGRldGFpbHMuXG4gKiBAcGFyYW0gcmVzdWx0cyAtIFRoZSBjb2xsZWN0aW9uIG9mIHtAbGluayBEZXRhaWxlZFJlc3VsdCB8IERldGFpbGVkUmVzdWx0PFQsIFREPn0gdG8gYmUgbWFwcGVkLlxuICogQHBhcmFtIGlnbm9yZSAtIEFuIGFycmF5IG9mIGVycm9yIGRldGFpbCB2YWx1ZXMgKG9mIHR5cGUgYDxURD5gKSB0aGF0IHNob3VsZCBiZSBpZ25vcmVkLlxuICogQHJldHVybnMge0BsaW5rIFN1Y2Nlc3N9IHdpdGggYW4gYXJyYXkgY29udGFpbmluZyBhbGwgc3VjY2Vzc2Z1bCByZXN1bHRzIGlmIGFsbCByZXN1bHRzIGVpdGhlclxuICogc3VjY2VlZGVkIG9yIHJldHVybmVkIGVycm9yIGRldGFpbHMgbGlzdGVkIGluIGBpZ25vcmVgLiAgSWYgYW55IHJlc3VsdHMgZmFpbGVkIHdpdGggZGV0YWlsc1xuICogdGhhdCBjYW5ub3QgYmUgaWdub3JlZCwgcmV0dXJucyB7QGxpbmsgRmFpbHVyZX0gd2l0aCBhbiBjb25jYXRlbmF0ZWQgc3VtbWFyeSBvZiBhbGwgbm9uLWlnbm9yYWJsZVxuICogZXJyb3IgbWVzc2FnZXMuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXBEZXRhaWxlZFJlc3VsdHM8VCwgVEQ+KHJlc3VsdHM6IEl0ZXJhYmxlPERldGFpbGVkUmVzdWx0PFQsIFREPj4sIGlnbm9yZTogVERbXSk6IFJlc3VsdDxUW10+IHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgZWxlbWVudHM6IFRbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICBpZiAocmVzdWx0LmlzU3VjY2VzcygpKSB7XG4gICAgICAgICAgICBlbGVtZW50cy5wdXNoKHJlc3VsdC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIWlnbm9yZS5pbmNsdWRlcyhyZXN1bHQuZGV0YWlsKSkge1xuICAgICAgICAgICAgZXJyb3JzLnB1c2gocmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWlsKGVycm9ycy5qb2luKCdcXG4nKSk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZWVkKGVsZW1lbnRzKTtcbn1cblxuLyoqXG4gKiBBZ2dyZWdhdGVzIHN1Y2Nlc3NmdWwgcmVzdWx0cyBmcm9tIGEgYSBjb2xsZWN0aW9uIG9mIHtAbGluayBSZXN1bHQgfCBSZXN1bHQ8VD59LlxuICogQHBhcmFtIHJlc3VsdHMgLSBBbiBgSXRlcmFibGVgIG9mIHtAbGluayBSZXN1bHQgfCBSZXN1bHQ8VD59IGZyb20gd2hpY2ggc3VjY2Vzc1xuICogcmVzdWx0cyBhcmUgdG8gYmUgYWdncmVnYXRlZC5cbiAqIEByZXR1cm5zIHtAbGluayBTdWNjZXNzfSB3aXRoIGFuIGFycmF5IG9mIGA8VD5gIGlmIGFueSByZXN1bHRzIHdlcmUgc3VjY2Vzc2Z1bC4gSWZcbiAqIGFsbCB7QGxpbmsgUmVzdWx0IHwgcmVzdWx0c30gZmFpbGVkLCByZXR1cm5zIHtAbGluayBGYWlsdXJlfSB3aXRoIGEgY29uY2F0ZW5hdGVkXG4gKiBzdW1tYXJ5IG9mIGFsbCBlcnJvciBtZXNzYWdlcy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFN1Y2Nlc3M8VD4ocmVzdWx0czogSXRlcmFibGU8UmVzdWx0PFQ+Pik6IFJlc3VsdDxUW10+IHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgZWxlbWVudHM6IFRbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICBpZiAocmVzdWx0LmlzU3VjY2VzcygpKSB7XG4gICAgICAgICAgICBlbGVtZW50cy5wdXNoKHJlc3VsdC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaChyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoKGVsZW1lbnRzLmxlbmd0aCA9PT0gMCkgJiYgKGVycm9ycy5sZW5ndGggPiAwKSkge1xuICAgICAgICByZXR1cm4gZmFpbChlcnJvcnMuam9pbignXFxuJykpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2VlZChlbGVtZW50cyk7XG59XG5cbi8qKlxuICogQWdncmVnYXRlcyBlcnJvciBtZXNzYWdlcyBmcm9tIGEgY29sbGVjdGlvbiBvZiB7QGxpbmsgUmVzdWx0IHwgUmVzdWx0PFQ+fS5cbiAqIEBwYXJhbSByZXN1bHRzIC0gQW4gaXRlcmFibGUgY29sbGVjdGlvbiBvZiB7QGxpbmsgUmVzdWx0IHwgUmVzdWx0PFQ+fSBmb3Igd2hpY2hcbiAqIGVycm9yIG1lc3NhZ2VzIGFyZSBhZ2dyZWdhdGVkLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2Ygc3RyaW5ncyBjb25zaXN0aW5nIG9mIGFsbCBlcnJvciBtZXNzYWdlcyByZXR1cm5lZCBieVxuICoge0BsaW5rIFJlc3VsdCB8IHJlc3VsdHN9IGluIHRoZSBzb3VyY2UgY29sbGVjdGlvbi4gSWdub3JlcyB7QGxpbmsgU3VjY2Vzc31cbiAqIHJlc3VsdHMgYW5kIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgdGhlcmUgd2VyZSBubyBlcnJvcnMuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXBGYWlsdXJlczxUPihyZXN1bHRzOiBJdGVyYWJsZTxSZXN1bHQ8VD4+KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHJlc3VsdCBvZiByZXN1bHRzKSB7XG4gICAgICAgIGlmIChyZXN1bHQuaXNGYWlsdXJlKCkpIHtcbiAgICAgICAgICAgIGVycm9ycy5wdXNoKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgYW4gaXRlcmFibGUgY29sbGVjdGlvbiBvZiB7QGxpbmsgUmVzdWx0IHwgUmVzdWx0PFQ+fSB3ZXJlIGFsbCBzdWNjZXNzZnVsLlxuICogQHBhcmFtIHJlc3VsdHMgLSBUaGUgY29sbGVjdGlvbiBvZiB7QGxpbmsgUmVzdWx0IHwgUmVzdWx0PFQ+fSB0byBiZSB0ZXN0ZWQuXG4gKiBAcmV0dXJucyBSZXR1cm5zIHtAbGluayBTdWNjZXNzfSB3aXRoIGB0cnVlYCBpZiBhbGwge0BsaW5rIFJlc3VsdCB8IHJlc3VsdHN9IGFyZSBzdWNjZXNzZnVsLlxuICogSWYgYW55IGFyZSB1bnN1Y2Nlc3NmdWwsIHJldHVybnMge0BsaW5rIEZhaWx1cmV9IHdpdGggYSBjb25jYXRlbmF0ZWQgc3VtbWFyeSB0aGUgZXJyb3JcbiAqIG1lc3NhZ2VzIGZyb20gYWxsIGZhaWxlZCBlbGVtZW50cy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFsbFN1Y2NlZWQ8VD4ocmVzdWx0czogSXRlcmFibGU8UmVzdWx0PHVua25vd24+Piwgc3VjY2Vzc1ZhbHVlOiBUKTogUmVzdWx0PFQ+IHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgZWxzZVxuICAgIGlmIChyZXN1bHRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0ZhaWx1cmUoKSkge1xuICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gZmFpbChlcnJvcnMuam9pbignXFxuJykpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2VlZChzdWNjZXNzVmFsdWUpO1xufVxuXG4vKipcbiAqIFN0cmluZy1rZXllZCByZWNvcmQgb2YgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zIHRvIGJlIHBhc3NlZCB0byB7QGxpbmsgcG9wdWxhdGVPYmplY3R9LlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBGaWVsZEluaXRpYWxpemVyczxUPiA9IHsgWyBrZXkgaW4ga2V5b2YgVCBdOiAoc3RhdGU6IFBhcnRpYWw8VD4pID0+IFJlc3VsdDxUW2tleV0+IH07XG5cbi8qKlxuICogUG9wdWxhdGVzIGFuIGFuIG9iamVjdCBiYXNlZCBvbiBhIHByb3RvdHlwZSBmdWxsIG9mIGZpZWxkIGluaXRpYWxpemVycyB0aGF0IHJldHVybiB7QGxpbmsgUmVzdWx0IHwgUmVzdWx0PFRba2V5XT59LlxuICogUmV0dXJucyB7QGxpbmsgU3VjY2Vzc30gd2l0aCB0aGUgcG9wdWxhdGVkIG9iamVjdCBpZiBhbGwgaW5pdGlhbGl6ZXJzIHN1Y2NlZWQsIG9yIHtAbGluayBGYWlsdXJlfSB3aXRoIGFcbiAqIGNvbmNhdGVuYXRlZCBsaXN0IG9mIGFsbCBlcnJvciBtZXNzYWdlcy5cbiAqIEBwYXJhbSBpbml0aWFsaXplcnMgLSBBbiBvYmplY3Qgd2l0aCB0aGUgc2hhcGUgb2YgdGhlIHRhcmdldCBidXQgd2l0aCBpbml0aWFsaXplciBmdW5jdGlvbnMgZm9yXG4gKiBlYWNoIHByb3BlcnR5LlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdWxhdGVPYmplY3Q8VD4oaW5pdGlhbGl6ZXJzOiBGaWVsZEluaXRpYWxpemVyczxUPiwgb3JkZXI/OiAoa2V5b2YgVClbXSk6IFJlc3VsdDxUPiB7XG4gICAgY29uc3Qgc3RhdGUgPSB7fSBhcyB7IFtrZXkgaW4ga2V5b2YgVF06IFRba2V5XSB9O1xuICAgIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBrZXlzOiAoa2V5b2YgVClbXSA9IEFycmF5LmZyb20ob3JkZXIgPz8gW10pO1xuICAgIGNvbnN0IGZvdW5kS2V5cyA9IG5ldyBTZXQ8a2V5b2YgVD4ob3JkZXIpO1xuXG4gICAgLy8gc3RhcnQgd2l0aCB0aGUgc3VwcGxpZWQgb3JkZXIgdGhlbiBhcHBlbmQgYW55dGhpbmcgZWxzZSB3ZSBmaW5kXG4gICAgZm9yIChjb25zdCBrZXkgaW4gaW5pdGlhbGl6ZXJzKSB7XG4gICAgICAgIGlmICghZm91bmRLZXlzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgICAgIGZvdW5kS2V5cy5hZGQoa2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgaWYgKGluaXRpYWxpemVyc1trZXldKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBpbml0aWFsaXplcnNba2V5XShzdGF0ZSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0LmlzU3VjY2VzcygpKSB7XG4gICAgICAgICAgICAgICAgc3RhdGVba2V5XSA9IHJlc3VsdC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVycm9ycy5wdXNoKGBwb3B1bGF0ZU9iamVjdDogS2V5ICR7U3RyaW5nKGtleSl9IGlzIHByZXNlbnQgYnV0IGhhcyBubyBpbml0aWFsaXplcmApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWlsKGVycm9ycy5qb2luKCdcXG4nKSk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZWVkKHN0YXRlIGFzIFQpO1xufVxuIl19
package/utils.d.ts CHANGED
@@ -34,7 +34,7 @@ export declare function getTypeOfProperty<T extends object>(key: string | number
34
34
  * Type for factory methods which convert a key-value pair to a new unique value.
35
35
  * @public
36
36
  */
37
- declare type KeyedThingFactory<TS, TD, TK extends string = string> = (key: TK, thing: TS) => Result<TD>;
37
+ type KeyedThingFactory<TS, TD, TK extends string = string> = (key: TK, thing: TS) => Result<TD>;
38
38
  /**
39
39
  * Applies a factory method to convert a `Record<TK, TS>` into a `Map<TK, TD>`.
40
40
  * @param src - The `Record` to be converted.
package/utils.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { GenericValidator, GenericValidatorConstructorParams } from './genericVa
4
4
  * Parameters used to construct a {@link Validation.Classes.BooleanValidator | BooleanValidator}.
5
5
  * @public
6
6
  */
7
- export declare type BooleanValidatorConstructorParams<TC = unknown> = GenericValidatorConstructorParams<boolean, TC>;
7
+ export type BooleanValidatorConstructorParams<TC = unknown> = GenericValidatorConstructorParams<boolean, TC>;
8
8
  /**
9
9
  * An in-place {@link Validation.Validator | Validator} for `boolean` values.
10
10
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/validation/boolean.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEzF;;;GAGG;AACH,oBAAY,iCAAiC,CAAC,EAAE,GAAG,OAAO,IAAI,iCAAiC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAE7G;;;GAGG;AACH,qBAAa,gBAAgB,CAAC,EAAE,GAAG,OAAO,CAAE,SAAQ,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;IAC7E;;;;OAIG;gBACgB,MAAM,CAAC,EAAE,iCAAiC,CAAC,EAAE,CAAC;IASjE;;;;;OAKG;WACW,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAM3E"}
1
+ {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/validation/boolean.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,iCAAiC,CAAC,EAAE,GAAG,OAAO,IAAI,iCAAiC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAE7G;;;GAGG;AACH,qBAAa,gBAAgB,CAAC,EAAE,GAAG,OAAO,CAAE,SAAQ,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;IAC7E;;;;OAIG;gBACgB,MAAM,CAAC,EAAE,iCAAiC,CAAC,EAAE,CAAC;IASjE;;;;;OAKG;WACW,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAM3E"}
@@ -8,7 +8,7 @@ import { Brand } from '../brand';
8
8
  * an optionally-supplied validation context of type `<TC>`.
9
9
  * @public
10
10
  */
11
- export declare type ValidatorFunc<T, TC> = (from: unknown, context?: TC) => boolean | Failure<T>;
11
+ export type ValidatorFunc<T, TC> = (from: unknown, context?: TC) => boolean | Failure<T>;
12
12
  /**
13
13
  * Options used to initialize a {@link Validation.Base.GenericValidator | GenericValidator}.
14
14
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"genericValidator.d.ts","sourceRoot":"","sources":["../../src/validation/genericValidator.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAiB,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC;;;;;GAKG;AACH,oBAAY,aAAa,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEzF;;;GAGG;AACH,MAAM,WAAW,iCAAiC,CAAC,CAAC,EAAE,EAAE;IACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;CACnC;AAED;;;GAGG;AACH,qBAAa,gBAAgB,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,CAAE,YAAW,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IACxE;;OAEG;IACH,SAAgB,MAAM,EAAE,eAAe,CAAC;IAExC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAElD;;;;OAIG;gBACgB,MAAM,EAAE,OAAO,CAAC,iCAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAS5E;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,MAAM,GAAG,SAAS,CAErC;IAED;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAQvD;;OAEG;IACI,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3E;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC;IAIpD;;OAEG;IACI,QAAQ,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,EAAE,EAAE,CAAC;IAU/C;;OAEG;IACI,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IAmB3F;;OAEG;IACI,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAaxE;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS;CAG3D"}
1
+ {"version":3,"file":"genericValidator.d.ts","sourceRoot":"","sources":["../../src/validation/genericValidator.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAiB,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEzF;;;GAGG;AACH,MAAM,WAAW,iCAAiC,CAAC,CAAC,EAAE,EAAE;IACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;CACnC;AAED;;;GAGG;AACH,qBAAa,gBAAgB,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,CAAE,YAAW,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IACxE;;OAEG;IACH,SAAgB,MAAM,EAAE,eAAe,CAAC;IAExC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAElD;;;;OAIG;gBACgB,MAAM,EAAE,OAAO,CAAC,iCAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAS5E;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,MAAM,GAAG,SAAS,CAErC;IAED;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAQvD;;OAEG;IACI,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3E;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC;IAIpD;;OAEG;IACI,QAAQ,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,EAAE,EAAE,CAAC;IAU/C;;OAEG;IACI,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IAmB3F;;OAEG;IACI,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAaxE;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS;CAG3D"}
@@ -4,7 +4,7 @@ import { GenericValidator, GenericValidatorConstructorParams } from './genericVa
4
4
  * Parameters used to construct a {@link Validation.Classes.NumberValidator | NumberValidator}.
5
5
  * @public
6
6
  */
7
- export declare type NumberValidatorConstructorParams<T extends number = number, TC = unknown> = GenericValidatorConstructorParams<T, TC>;
7
+ export type NumberValidatorConstructorParams<T extends number = number, TC = unknown> = GenericValidatorConstructorParams<T, TC>;
8
8
  /**
9
9
  * An in-place {@link Validation.Validator | Validator} for `number` values.
10
10
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/validation/number.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEzF;;;GAGG;AACH,oBAAY,gCAAgC,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO,IAAI,iCAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAGjI;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO,CAAE,SAAQ,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;IACjG;;;;OAIG;gBACgB,MAAM,CAAC,EAAE,gCAAgC,CAAC,CAAC,EAAE,EAAE,CAAC;IAOnE;;;;;OAKG;WACW,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAMtF"}
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/validation/number.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO,IAAI,iCAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAGjI;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO,CAAE,SAAQ,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;IACjG;;;;OAIG;gBACgB,MAAM,CAAC,EAAE,gCAAgC,CAAC,CAAC,EAAE,EAAE,CAAC;IAOnE;;;;;OAKG;WACW,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAMtF"}
@@ -5,7 +5,7 @@ import { ValidatorBase, ValidatorBaseConstructorParams } from './validatorBase';
5
5
  * Per-property {@link Validation.Validator | validators} for each of the properties in `<T>`.
6
6
  * @public
7
7
  */
8
- export declare type FieldValidators<T, TC = unknown> = {
8
+ export type FieldValidators<T, TC = unknown> = {
9
9
  [key in keyof T]: Validator<T[key], TC>;
10
10
  };
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/validation/object.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAIhF;;;GAGG;AACH,oBAAY,eAAe,CAAC,CAAC,EAAE,EAAE,GAAC,OAAO,IAAI;KAAG,GAAG,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;CAAE,CAAC;AAEzF;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAE,SAAQ,gBAAgB,CAAC,EAAE,CAAC;IACvE;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,gCAAgC,CAAC,CAAC,EAAE,EAAE,CAAE,SAAQ,8BAA8B,CAAC,CAAC,EAAE,EAAE,CAAC;IAClG;;;;OAIG;IACH,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CAC3C;AAED;;;;;;;GAOG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,EAAE,GAAC,OAAO,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC;IACpE;;;OAGG;IACH,SAAgB,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C;;;OAGG;IACH,SAAgB,OAAO,EAAE,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjD;;;;;;OAMG;gBACgB,MAAM,EAAE,gCAAgC,CAAC,CAAC,EAAE,EAAE,CAAC;IAWlE;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,EACrC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,EAC9B,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,GACxC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC;IAYzB;;;;;;;;OAQG;IACI,OAAO,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAaxF;;;;;;OAMG;IACI,UAAU,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAMlF;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CA2BzE"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/validation/object.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAIhF;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,EAAE,GAAC,OAAO,IAAI;KAAG,GAAG,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;CAAE,CAAC;AAEzF;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAE,SAAQ,gBAAgB,CAAC,EAAE,CAAC;IACvE;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,gCAAgC,CAAC,CAAC,EAAE,EAAE,CAAE,SAAQ,8BAA8B,CAAC,CAAC,EAAE,EAAE,CAAC;IAClG;;;;OAIG;IACH,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CAC3C;AAED;;;;;;;GAOG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,EAAE,GAAC,OAAO,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC;IACpE;;;OAGG;IACH,SAAgB,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C;;;OAGG;IACH,SAAgB,OAAO,EAAE,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjD;;;;;;OAMG;gBACgB,MAAM,EAAE,gCAAgC,CAAC,CAAC,EAAE,EAAE,CAAC;IAWlE;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,EACrC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,EAC9B,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,GACxC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC;IAYzB;;;;;;;;OAQG;IACI,OAAO,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAaxF;;;;;;OAMG;IACI,UAAU,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAMlF;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CA2BzE"}
@@ -4,7 +4,7 @@ import { GenericValidator, GenericValidatorConstructorParams } from './genericVa
4
4
  * Parameters used to construct a {@link Validation.Classes.StringValidator | StringValidator}.
5
5
  * @public
6
6
  */
7
- export declare type StringValidatorConstructorParams<T extends string = string, TC = unknown> = GenericValidatorConstructorParams<T, TC>;
7
+ export type StringValidatorConstructorParams<T extends string = string, TC = unknown> = GenericValidatorConstructorParams<T, TC>;
8
8
  /**
9
9
  * An in-place {@link Validation.Validator | Validator} for `string` values.
10
10
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/validation/string.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEzF;;;GAGG;AACH,oBAAY,gCAAgC,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO,IAAI,iCAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEjI;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO,CAAE,SAAQ,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;IACjG;;;;OAIG;gBACgB,MAAM,CAAC,EAAE,gCAAgC,CAAC,CAAC,EAAE,EAAE,CAAC;IAOnE;;;;;OAKG;WACW,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAMtF"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/validation/string.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO,IAAI,iCAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEjI;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO,CAAE,SAAQ,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;IACjG;;;;OAIG;gBACgB,MAAM,CAAC,EAAE,gCAAgC,CAAC,CAAC,EAAE,EAAE,CAAC;IAOnE;;;;;OAKG;WACW,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAMtF"}
@@ -11,7 +11,7 @@ export interface FunctionConstraintTrait {
11
11
  * Union of all supported constraint traits.
12
12
  * @public
13
13
  */
14
- export declare type ConstraintTrait = FunctionConstraintTrait;
14
+ export type ConstraintTrait = FunctionConstraintTrait;
15
15
  /**
16
16
  * Interface describing the supported validator traits.
17
17
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../src/validation/traits.ts"],"names":[],"mappings":"AAsBA;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,UAAU,CAAC;CACpB;AAED;;;GAGG;AACH,oBAAY,eAAe,GAAG,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC;CAC3C;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,oBAGpC,CAAC;AAEF;;;GAGG;AACH,qBAAa,eAAgB,YAAW,oBAAoB;IACxD;;OAEG;IACH,SAAgB,UAAU,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAgB,WAAW,EAAE,eAAe,EAAE,CAAC;IAE/C;;;;;;;OAOG;gBAEC,IAAI,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACpC,IAAI,CAAC,EAAE,oBAAoB;CAUlC"}
1
+ {"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../src/validation/traits.ts"],"names":[],"mappings":"AAsBA;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,UAAU,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC;CAC3C;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,oBAGpC,CAAC;AAEF;;;GAGG;AACH,qBAAa,eAAgB,YAAW,oBAAoB;IACxD;;OAEG;IACH,SAAgB,UAAU,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAgB,WAAW,EAAE,eAAe,EAAE,CAAC;IAE/C;;;;;;;OAOG;gBAEC,IAAI,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACpC,IAAI,CAAC,EAAE,oBAAoB;CAUlC"}
@@ -15,7 +15,7 @@ export interface ValidatorOptions<TC> {
15
15
  * for a default message.
16
16
  * @public
17
17
  */
18
- export declare type Constraint<T> = (val: T) => boolean | Failure<T>;
18
+ export type Constraint<T> = (val: T) => boolean | Failure<T>;
19
19
  /**
20
20
  * In-place validation that a supplied unknown matches some
21
21
  * required characteristics (type, values, etc).
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAAC,EAAE;IAChC,cAAc,CAAC,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;GAMG;AACH,oBAAY,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,EAAE,GAAC,SAAS;IAClC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC;;OAEG;IACF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;;;;;;QAOI;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAElD;;;;;;;QAOI;IACJ,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAErE;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;IAE7C;;;OAGG;IACH,QAAQ,IAAI,SAAS,CAAC,CAAC,GAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAErF;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CAC1E"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAAC,EAAE;IAChC,cAAc,CAAC,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,EAAE,GAAC,SAAS;IAClC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC;;OAEG;IACF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;;;;;;QAOI;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAElD;;;;;;;QAOI;IACJ,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAErE;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;IAE7C;;;OAGG;IACH,QAAQ,IAAI,SAAS,CAAC,CAAC,GAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAErF;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CAC1E"}
@@ -1,6 +1,6 @@
1
1
  import { GenericValidator, GenericValidatorConstructorParams } from './genericValidator';
2
2
  import { Failure } from '../result';
3
- export declare type ValidatorBaseConstructorParams<T, TC> = Omit<GenericValidatorConstructorParams<T, TC>, 'validator'>;
3
+ export type ValidatorBaseConstructorParams<T, TC> = Omit<GenericValidatorConstructorParams<T, TC>, 'validator'>;
4
4
  /**
5
5
  * Abstract base helper class for specific validator implementations
6
6
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"validatorBase.d.ts","sourceRoot":"","sources":["../../src/validation/validatorBase.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,oBAAY,8BAA8B,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,iCAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAEhH;;;GAGG;AACH,8BAAsB,aAAa,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,CAAE,SAAQ,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;IAClF;;;;OAIG;IACH,SAAS,aAAa,MAAM,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAO5E;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAClF"}
1
+ {"version":3,"file":"validatorBase.d.ts","sourceRoot":"","sources":["../../src/validation/validatorBase.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,MAAM,8BAA8B,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,iCAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAEhH;;;GAGG;AACH,8BAAsB,aAAa,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,CAAE,SAAQ,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;IAClF;;;;OAIG;IACH,SAAS,aAAa,MAAM,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAO5E;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAClF"}