react-elmish 10.4.0 → 10.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/Common.d.ts +2 -2
- package/dist/Common.js +41 -36
- package/dist/ElmComponent.js +4 -2
- package/dist/cmd.d.ts +5 -4
- package/dist/cmd.js +35 -13
- package/dist/fakeOptions.js +7 -5
- package/dist/immutable/ElmComponent.js +4 -2
- package/dist/immutable/index.d.ts +8 -3
- package/dist/immutable/index.js +8 -1
- package/dist/immutable/testing/getUpdateFn.js +29 -27
- package/dist/immutable/testing/index.d.ts +4 -2
- package/dist/immutable/testing/index.js +1 -1
- package/dist/immutable/useElmish.js +6 -4
- package/dist/index.d.ts +8 -3
- package/dist/index.js +8 -1
- package/dist/noop.d.ts +10 -0
- package/dist/noop.js +18 -0
- package/dist/testing/index.d.ts +4 -2
- package/dist/testing/index.js +1 -1
- package/dist/testing/renderWithModel.js +9 -2
- package/dist/useElmish.js +6 -4
- package/package.json +16 -16
package/README.md
CHANGED
|
@@ -14,6 +14,7 @@ This library brings the elmish pattern to react.
|
|
|
14
14
|
- [Call an async function](#call-an-async-function)
|
|
15
15
|
- [Dispatch a command from `init`](#dispatch-a-command-from-init)
|
|
16
16
|
- [Dispatching multiple commands](#dispatching-multiple-commands)
|
|
17
|
+
- [Ignoring a result conditionally with `noop`](#ignoring-a-result-conditionally-with-noop)
|
|
17
18
|
- [Subscriptions](#subscriptions)
|
|
18
19
|
- [Working with external sources of events](#working-with-external-sources-of-events)
|
|
19
20
|
- [Cleanup subscriptions](#cleanup-subscriptions)
|
|
@@ -380,6 +381,24 @@ To dispatch more than one command from `init` or `update` you can either use the
|
|
|
380
381
|
return [{}, cmd.ofMsg(Msg.loadData()), cmd.ofEither(doStuff, Msg.success, Msg.error)];
|
|
381
382
|
```
|
|
382
383
|
|
|
384
|
+
### Ignoring a result conditionally with `noop`
|
|
385
|
+
|
|
386
|
+
Sometimes the result of an async operation determines whether a message should be dispatched at all. Instead of defining a dedicated "do nothing" message in every component, you can use the built-in `noop()` function:
|
|
387
|
+
|
|
388
|
+
```ts
|
|
389
|
+
import { cmd, noop } from "react-elmish";
|
|
390
|
+
|
|
391
|
+
{
|
|
392
|
+
load() {
|
|
393
|
+
return [{}, cmd.ofEither(fetchData, (result) => result ? Msg.loaded(result) : noop(), Msg.error)];
|
|
394
|
+
},
|
|
395
|
+
}
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
When `noop()` is returned from a callback, the dispatch is silently skipped — no message is sent through the update system. This means you do not need to add a `noop` entry to your message type or `UpdateMap`.
|
|
399
|
+
|
|
400
|
+
`noop()` can be returned from the callback of `cmd.ofMsg`, `cmd.ofEither`, `cmd.ofSuccess`, and `cmd.ofError`.
|
|
401
|
+
|
|
383
402
|
## Subscriptions
|
|
384
403
|
|
|
385
404
|
### Working with external sources of events
|
package/dist/Common.d.ts
CHANGED
|
@@ -9,6 +9,6 @@ declare function useIsMounted(): RefObject<boolean>;
|
|
|
9
9
|
declare function useSubscription<TProps, TModel, TMessage extends Message>(subscription: Subscription<TProps, TModel, TMessage> | undefined, model: TModel, props: TProps, dispatch: Dispatch<TMessage>, reInitOn: unknown[] | undefined): void;
|
|
10
10
|
declare function useReInit(setModel: (model: null) => void, reInitOn: unknown[] | undefined): void;
|
|
11
11
|
declare function getDispatch<TMessage extends Message>(handleMessage: (msg: TMessage) => boolean, callSetModel: () => void, callDevTools?: (msg: TMessage) => void, fakeDispatch?: Dispatch<TMessage>): Dispatch<TMessage>;
|
|
12
|
-
declare function runInit<TModel, TProps, TMessage extends Message>(name: string, initFn: InitFunction<TProps, TModel, TMessage>, props: TProps, setModel: (model: TModel) => void, dispatch: Dispatch<TMessage>,
|
|
12
|
+
declare function runInit<TModel, TProps, TMessage extends Message>(name: string, initFn: InitFunction<TProps, TModel, TMessage>, props: TProps, setModel: (model: TModel) => void, dispatch: Dispatch<TMessage>, getDevTools: () => Nullable<ReduxDevTools>, fakeModel: TModel | undefined): TModel;
|
|
13
13
|
declare function useDispose<TModel>(dispose: DisposeFunction<TModel> | undefined, model: TModel, reInitOn: unknown[] | undefined): void;
|
|
14
|
-
export { execCmd, logMessage, modelHasChanged,
|
|
14
|
+
export { execCmd, getDispatch, logMessage, modelHasChanged, runInit, useDispose, useIsMounted, useRedux, useReInit, useSubscription, };
|
package/dist/Common.js
CHANGED
|
@@ -60,18 +60,18 @@ function execCmd(dispatch) {
|
|
|
60
60
|
|
|
61
61
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters -- We need to type Model.
|
|
62
62
|
function useRedux(name, setModel) {
|
|
63
|
-
var
|
|
63
|
+
var devToolsRef = (0, _react.useRef)(null);
|
|
64
64
|
(0, _react.useEffect)(function () {
|
|
65
65
|
var reduxUnsubscribe;
|
|
66
66
|
if (_Init.Services.enableDevTools === true && (0, _reduxDevTools.isReduxDevToolsEnabled)(window)) {
|
|
67
67
|
// eslint-disable-next-line no-underscore-dangle
|
|
68
|
-
|
|
68
|
+
devToolsRef.current = window.__REDUX_DEVTOOLS_EXTENSION__.connect({
|
|
69
69
|
name: name,
|
|
70
70
|
serialize: {
|
|
71
71
|
options: true
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
|
-
reduxUnsubscribe =
|
|
74
|
+
reduxUnsubscribe = devToolsRef.current.subscribe(function (message) {
|
|
75
75
|
if (message.type === "DISPATCH" && message.payload.type === "JUMP_TO_ACTION") {
|
|
76
76
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
77
77
|
setModel(JSON.parse(message.state));
|
|
@@ -83,7 +83,7 @@ function useRedux(name, setModel) {
|
|
|
83
83
|
(_reduxUnsubscribe = reduxUnsubscribe) === null || _reduxUnsubscribe === void 0 || _reduxUnsubscribe();
|
|
84
84
|
};
|
|
85
85
|
}, [name, setModel]);
|
|
86
|
-
return
|
|
86
|
+
return devToolsRef;
|
|
87
87
|
}
|
|
88
88
|
function useIsMounted() {
|
|
89
89
|
var isMountedRef = (0, _react.useRef)(true);
|
|
@@ -97,35 +97,36 @@ function useIsMounted() {
|
|
|
97
97
|
}
|
|
98
98
|
function useSubscription(subscription, model, props, dispatch, reInitOn) {
|
|
99
99
|
(0, _react.useEffect)(function () {
|
|
100
|
-
if (subscription) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
_iterator2.e(err);
|
|
118
|
-
} finally {
|
|
119
|
-
_iterator2.f();
|
|
100
|
+
if (!subscription) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
var subscriptionResult = subscription(model, props);
|
|
104
|
+
if ((0, _Types.subscriptionIsFunctionArray)(subscriptionResult)) {
|
|
105
|
+
var destructors = subscriptionResult.map(function (sub) {
|
|
106
|
+
return sub(dispatch);
|
|
107
|
+
}).filter(function (current) {
|
|
108
|
+
return current !== undefined;
|
|
109
|
+
});
|
|
110
|
+
return function combinedDestructor() {
|
|
111
|
+
var _iterator2 = _createForOfIteratorHelper(destructors),
|
|
112
|
+
_step2;
|
|
113
|
+
try {
|
|
114
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
115
|
+
var _destructor = _step2.value;
|
|
116
|
+
_destructor();
|
|
120
117
|
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return destructor;
|
|
118
|
+
} catch (err) {
|
|
119
|
+
_iterator2.e(err);
|
|
120
|
+
} finally {
|
|
121
|
+
_iterator2.f();
|
|
122
|
+
}
|
|
123
|
+
};
|
|
128
124
|
}
|
|
125
|
+
var _subscriptionResult = _slicedToArray(subscriptionResult, 2),
|
|
126
|
+
subCmd = _subscriptionResult[0],
|
|
127
|
+
destructor = _subscriptionResult[1];
|
|
128
|
+
execCmd(dispatch, subCmd);
|
|
129
|
+
return destructor;
|
|
129
130
|
// biome-ignore lint/correctness/useExhaustiveDependencies: We only want to reinitialize when the reInitOn dependencies change
|
|
130
131
|
}, reInitOn !== null && reInitOn !== void 0 ? reInitOn : []);
|
|
131
132
|
}
|
|
@@ -156,6 +157,8 @@ function getDispatch(handleMessage, callSetModel, callDevTools, fakeDispatch) {
|
|
|
156
157
|
modified = true;
|
|
157
158
|
}
|
|
158
159
|
callDevTools === null || callDevTools === void 0 || callDevTools(nextMsg);
|
|
160
|
+
|
|
161
|
+
// eslint-disable-next-line unicorn/no-array-front-mutation -- We need to remove messages from the start.
|
|
159
162
|
nextMsg = buffer.shift();
|
|
160
163
|
} while (nextMsg);
|
|
161
164
|
running = false;
|
|
@@ -164,21 +167,23 @@ function getDispatch(handleMessage, callSetModel, callDevTools, fakeDispatch) {
|
|
|
164
167
|
}
|
|
165
168
|
};
|
|
166
169
|
}
|
|
167
|
-
function runInit(name, initFn, props, setModel, dispatch,
|
|
168
|
-
var _Services$logger3;
|
|
170
|
+
function runInit(name, initFn, props, setModel, dispatch, getDevTools, fakeModel) {
|
|
171
|
+
var _getDevTools, _Services$logger3;
|
|
169
172
|
var _ref = fakeModel ? [fakeModel] : initFn(props),
|
|
170
173
|
_ref2 = _toArray(_ref),
|
|
171
174
|
initModel = _ref2[0],
|
|
172
175
|
initCommands = _arrayLikeToArray(_ref2).slice(1);
|
|
173
176
|
setModel(initModel);
|
|
174
|
-
|
|
177
|
+
(_getDevTools = getDevTools()) === null || _getDevTools === void 0 || _getDevTools.init(initModel);
|
|
175
178
|
(_Services$logger3 = _Init.Services.logger) === null || _Services$logger3 === void 0 || _Services$logger3.debug("Initial model for", name, initModel);
|
|
176
179
|
execCmd.apply(void 0, [dispatch].concat(_toConsumableArray(initCommands)));
|
|
177
180
|
return initModel;
|
|
178
181
|
}
|
|
179
182
|
function useDispose(dispose, model, reInitOn) {
|
|
180
183
|
var modelRef = (0, _react.useRef)(model);
|
|
181
|
-
|
|
184
|
+
(0, _react.useLayoutEffect)(function () {
|
|
185
|
+
modelRef.current = model;
|
|
186
|
+
});
|
|
182
187
|
(0, _react.useEffect)(function () {
|
|
183
188
|
if (dispose) {
|
|
184
189
|
return function () {
|
|
@@ -188,4 +193,4 @@ function useDispose(dispose, model, reInitOn) {
|
|
|
188
193
|
// biome-ignore lint/correctness/useExhaustiveDependencies: We only want to run dispose when the reInitOn dependencies change or on unmount
|
|
189
194
|
}, reInitOn !== null && reInitOn !== void 0 ? reInitOn : []);
|
|
190
195
|
}
|
|
191
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0luaXQiLCJfcmVkdXhEZXZUb29scyIsIl9UeXBlcyIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJTeW1ib2wiLCJpdGVyYXRvciIsImZyb20iLCJfc2xpY2VkVG9BcnJheSIsImUiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJsIiwidCIsIm4iLCJpIiwidSIsImEiLCJmIiwibyIsImNhbGwiLCJuZXh0IiwiT2JqZWN0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImxlbmd0aCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJ0ZXN0IiwibG9nTWVzc2FnZSIsIm1zZyIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl9TZXJ2aWNlcyRkaXNwYXRjaE1pZCIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiaW5mbyIsImRlYnVnIiwiZGlzcGF0Y2hNaWRkbGV3YXJlIiwibW9kZWxIYXNDaGFuZ2VkIiwiY3VycmVudE1vZGVsIiwibW9kZWwiLCJpcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJleGVjQ21kIiwiZGlzcGF0Y2giLCJfbGVuIiwiYXJndW1lbnRzIiwiY29tbWFuZHMiLCJfa2V5IiwiX2l0ZXJhdG9yIiwiZmxhdCIsIl9zdGVwIiwiZXJyIiwidXNlUmVkdXgiLCJzZXRNb2RlbCIsImRldlRvb2xzIiwidXNlUmVmIiwidXNlRWZmZWN0IiwicmVkdXhVbnN1YnNjcmliZSIsImVuYWJsZURldlRvb2xzIiwiaXNSZWR1eERldlRvb2xzRW5hYmxlZCIsIndpbmRvdyIsImN1cnJlbnQiLCJfX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fIiwiY29ubmVjdCIsInNlcmlhbGl6ZSIsIm9wdGlvbnMiLCJzdWJzY3JpYmUiLCJtZXNzYWdlIiwidHlwZSIsInBheWxvYWQiLCJKU09OIiwicGFyc2UiLCJzdGF0ZSIsIl9yZWR1eFVuc3Vic2NyaWJlIiwidXNlSXNNb3VudGVkIiwiaXNNb3VudGVkUmVmIiwidXNlU3Vic2NyaXB0aW9uIiwic3Vic2NyaXB0aW9uIiwicHJvcHMiLCJyZUluaXRPbiIsInN1YnNjcmlwdGlvblJlc3VsdCIsInN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSIsImRlc3RydWN0b3JzIiwibWFwIiwic3ViIiwiZmlsdGVyIiwiZGVzdHJ1Y3RvciIsInVuZGVmaW5lZCIsImNvbWJpbmVkRGVzdHJ1Y3RvciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJfc3Vic2NyaXB0aW9uUmVzdWx0Iiwic3ViQ21kIiwidXNlUmVJbml0IiwiZmlyc3RDYWxsUmVmIiwiZ2V0RGlzcGF0Y2giLCJoYW5kbGVNZXNzYWdlIiwiY2FsbFNldE1vZGVsIiwiY2FsbERldlRvb2xzIiwiZmFrZURpc3BhdGNoIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJtb2RpZmllZCIsInNoaWZ0IiwicnVuSW5pdCIsImluaXRGbiIsImZha2VNb2RlbCIsIl9TZXJ2aWNlcyRsb2dnZXIzIiwiX3JlZiIsIl9yZWYyIiwiaW5pdE1vZGVsIiwiaW5pdENvbW1hbmRzIiwiaW5pdCIsImFwcGx5IiwiY29uY2F0IiwidXNlRGlzcG9zZSIsImRpc3Bvc2UiLCJtb2RlbFJlZiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Db21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IGlzUmVkdXhEZXZUb29sc0VuYWJsZWQsIHR5cGUgUmVkdXhEZXZUb29scyB9IGZyb20gXCIuL3JlZHV4RGV2VG9vbHNcIjtcbmltcG9ydCB7XG5cdHR5cGUgQ21kLFxuXHR0eXBlIERpc3BhdGNoLFxuXHR0eXBlIERpc3Bvc2VGdW5jdGlvbixcblx0dHlwZSBJbml0RnVuY3Rpb24sXG5cdHR5cGUgTWVzc2FnZSxcblx0dHlwZSBOdWxsYWJsZSxcblx0dHlwZSBTdWJzY3JpcHRpb24sXG5cdHN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSxcbn0gZnJvbSBcIi4vVHlwZXNcIjtcblxuZnVuY3Rpb24gbG9nTWVzc2FnZShuYW1lOiBzdHJpbmcsIG1zZzogTWVzc2FnZSk6IHZvaWQge1xuXHRTZXJ2aWNlcy5sb2dnZXI/LmluZm8oXCJNZXNzYWdlIGZyb21cIiwgbmFtZSwgbXNnLm5hbWUpO1xuXHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiTWVzc2FnZSBmcm9tXCIsIG5hbWUsIG1zZyk7XG5cblx0U2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlPy4obXNnKTtcbn1cblxuZnVuY3Rpb24gbW9kZWxIYXNDaGFuZ2VkPFRNb2RlbD4oY3VycmVudE1vZGVsOiBUTW9kZWwsIG1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4pOiBib29sZWFuIHtcblx0cmV0dXJuICFPYmplY3QuaXMobW9kZWwsIGN1cnJlbnRNb2RlbCkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMobW9kZWwpLmxlbmd0aCA+IDA7XG59XG5cbmZ1bmN0aW9uIGV4ZWNDbWQ8VE1lc3NhZ2U+KGRpc3BhdGNoOiBEaXNwYXRjaDxUTWVzc2FnZT4sIC4uLmNvbW1hbmRzOiAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXSk6IHZvaWQge1xuXHRmb3IgKGNvbnN0IGNhbGwgb2YgY29tbWFuZHMuZmxhdCgpKSB7XG5cdFx0aWYgKGNhbGwpIHtcblx0XHRcdGNhbGwoZGlzcGF0Y2gpO1xuXHRcdH1cblx0fVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBXZSBuZWVkIHRvIHR5cGUgTW9kZWwuXG5mdW5jdGlvbiB1c2VSZWR1eDxUTW9kZWw+KG5hbWU6IHN0cmluZywgc2V0TW9kZWw6IChtb2RlbDogVE1vZGVsKSA9PiB2b2lkKTogUmVmT2JqZWN0PE51bGxhYmxlPFJlZHV4RGV2VG9vbHM+PiB7XG5cdGNvbnN0IGRldlRvb2xzID0gdXNlUmVmPE51bGxhYmxlPFJlZHV4RGV2VG9vbHM+PihudWxsKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGxldCByZWR1eFVuc3Vic2NyaWJlOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5cblx0XHRpZiAoU2VydmljZXMuZW5hYmxlRGV2VG9vbHMgPT09IHRydWUgJiYgaXNSZWR1eERldlRvb2xzRW5hYmxlZCh3aW5kb3cpKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcblx0XHRcdGRldlRvb2xzLmN1cnJlbnQgPSB3aW5kb3cuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXy5jb25uZWN0KHsgbmFtZSwgc2VyaWFsaXplOiB7IG9wdGlvbnM6IHRydWUgfSB9KTtcblxuXHRcdFx0cmVkdXhVbnN1YnNjcmliZSA9IGRldlRvb2xzLmN1cnJlbnQuc3Vic2NyaWJlKChtZXNzYWdlKSA9PiB7XG5cdFx0XHRcdGlmIChtZXNzYWdlLnR5cGUgPT09IFwiRElTUEFUQ0hcIiAmJiBtZXNzYWdlLnBheWxvYWQudHlwZSA9PT0gXCJKVU1QX1RPX0FDVElPTlwiKSB7XG5cdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb25cblx0XHRcdFx0XHRzZXRNb2RlbChKU09OLnBhcnNlKG1lc3NhZ2Uuc3RhdGUpIGFzIFRNb2RlbCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRyZWR1eFVuc3Vic2NyaWJlPy4oKTtcblx0XHR9O1xuXHR9LCBbbmFtZSwgc2V0TW9kZWxdKTtcblxuXHRyZXR1cm4gZGV2VG9vbHM7XG59XG5cbmZ1bmN0aW9uIHVzZUlzTW91bnRlZCgpOiBSZWZPYmplY3Q8Ym9vbGVhbj4ge1xuXHRjb25zdCBpc01vdW50ZWRSZWYgPSB1c2VSZWYodHJ1ZSk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpc01vdW50ZWRSZWYuY3VycmVudCA9IHRydWU7XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0aXNNb3VudGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcblx0XHR9O1xuXHR9LCBbXSk7XG5cblx0cmV0dXJuIGlzTW91bnRlZFJlZjtcbn1cblxuZnVuY3Rpb24gdXNlU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgdW5kZWZpbmVkLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LFxuXHRyZUluaXRPbjogdW5rbm93bltdIHwgdW5kZWZpbmVkLFxuKTogdm9pZCB7XG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKHN1YnNjcmlwdGlvbikge1xuXHRcdFx0Y29uc3Qgc3Vic2NyaXB0aW9uUmVzdWx0ID0gc3Vic2NyaXB0aW9uKG1vZGVsLCBwcm9wcyk7XG5cblx0XHRcdGlmIChzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkoc3Vic2NyaXB0aW9uUmVzdWx0KSkge1xuXHRcdFx0XHRjb25zdCBkZXN0cnVjdG9ycyA9IHN1YnNjcmlwdGlvblJlc3VsdC5tYXAoKHN1YikgPT4gc3ViKGRpc3BhdGNoKSkuZmlsdGVyKChkZXN0cnVjdG9yKSA9PiBkZXN0cnVjdG9yICE9PSB1bmRlZmluZWQpO1xuXG5cdFx0XHRcdHJldHVybiBmdW5jdGlvbiBjb21iaW5lZERlc3RydWN0b3IoKSB7XG5cdFx0XHRcdFx0Zm9yIChjb25zdCBkZXN0cnVjdG9yIG9mIGRlc3RydWN0b3JzKSB7XG5cdFx0XHRcdFx0XHRkZXN0cnVjdG9yKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBbc3ViQ21kLCBkZXN0cnVjdG9yXSA9IHN1YnNjcmlwdGlvblJlc3VsdDtcblxuXHRcdFx0ZXhlY0NtZChkaXNwYXRjaCwgc3ViQ21kKTtcblxuXHRcdFx0cmV0dXJuIGRlc3RydWN0b3I7XG5cdFx0fVxuXHRcdC8vIGJpb21lLWlnbm9yZSBsaW50L2NvcnJlY3RuZXNzL3VzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXM6IFdlIG9ubHkgd2FudCB0byByZWluaXRpYWxpemUgd2hlbiB0aGUgcmVJbml0T24gZGVwZW5kZW5jaWVzIGNoYW5nZVxuXHR9LCByZUluaXRPbiA/PyBbXSk7XG59XG5cbmZ1bmN0aW9uIHVzZVJlSW5pdChzZXRNb2RlbDogKG1vZGVsOiBudWxsKSA9PiB2b2lkLCByZUluaXRPbjogdW5rbm93bltdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG5cdGNvbnN0IGZpcnN0Q2FsbFJlZiA9IHVzZVJlZih0cnVlKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmIChmaXJzdENhbGxSZWYuY3VycmVudCkge1xuXHRcdFx0Zmlyc3RDYWxsUmVmLmN1cnJlbnQgPSBmYWxzZTtcblxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHNldE1vZGVsKG51bGwpO1xuXHRcdC8vIGJpb21lLWlnbm9yZSBsaW50L2NvcnJlY3RuZXNzL3VzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXM6IFdlIG9ubHkgd2FudCB0byByZWluaXRpYWxpemUgd2hlbiB0aGUgcmVJbml0T24gZGVwZW5kZW5jaWVzIGNoYW5nZVxuXHR9LCByZUluaXRPbiA/PyBbXSk7XG59XG5cbmZ1bmN0aW9uIGdldERpc3BhdGNoPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdGhhbmRsZU1lc3NhZ2U6IChtc2c6IFRNZXNzYWdlKSA9PiBib29sZWFuLFxuXHRjYWxsU2V0TW9kZWw6ICgpID0+IHZvaWQsXG5cdGNhbGxEZXZUb29scz86IChtc2c6IFRNZXNzYWdlKSA9PiB2b2lkLFxuXHRmYWtlRGlzcGF0Y2g/OiBEaXNwYXRjaDxUTWVzc2FnZT4sXG4pOiBEaXNwYXRjaDxUTWVzc2FnZT4ge1xuXHRsZXQgcnVubmluZyA9IGZhbHNlO1xuXHRjb25zdCBidWZmZXI6IFRNZXNzYWdlW10gPSBbXTtcblxuXHRyZXR1cm4gKFxuXHRcdGZha2VEaXNwYXRjaCA/P1xuXHRcdCgobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuXHRcdFx0aWYgKHJ1bm5pbmcpIHtcblx0XHRcdFx0YnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdHJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0XHRsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG5cdFx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdFx0ZG8ge1xuXHRcdFx0XHRpZiAoaGFuZGxlTWVzc2FnZShuZXh0TXNnKSkge1xuXHRcdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNhbGxEZXZUb29scz8uKG5leHRNc2cpO1xuXG5cdFx0XHRcdG5leHRNc2cgPSBidWZmZXIuc2hpZnQoKTtcblx0XHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0XHRydW5uaW5nID0gZmFsc2U7XG5cblx0XHRcdGlmIChtb2RpZmllZCkge1xuXHRcdFx0XHRjYWxsU2V0TW9kZWwoKTtcblx0XHRcdH1cblx0XHR9KVxuXHQpO1xufVxuXG5mdW5jdGlvbiBydW5Jbml0PFRNb2RlbCwgVFByb3BzLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRuYW1lOiBzdHJpbmcsXG5cdGluaXRGbjogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdHNldE1vZGVsOiAobW9kZWw6IFRNb2RlbCkgPT4gdm9pZCxcblx0ZGlzcGF0Y2g6IERpc3BhdGNoPFRNZXNzYWdlPixcblx0ZGV2VG9vbHM6IE51bGxhYmxlPFJlZHV4RGV2VG9vbHM+LFxuXHRmYWtlTW9kZWw6IFRNb2RlbCB8IHVuZGVmaW5lZCxcbik6IFRNb2RlbCB7XG5cdGNvbnN0IFtpbml0TW9kZWwsIC4uLmluaXRDb21tYW5kc10gPSBmYWtlTW9kZWwgPyBbZmFrZU1vZGVsXSA6IGluaXRGbihwcm9wcyk7XG5cblx0c2V0TW9kZWwoaW5pdE1vZGVsKTtcblx0ZGV2VG9vbHM/LmluaXQoaW5pdE1vZGVsKTtcblx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIGluaXRNb2RlbCk7XG5cdGV4ZWNDbWQoZGlzcGF0Y2gsIC4uLmluaXRDb21tYW5kcyk7XG5cblx0cmV0dXJuIGluaXRNb2RlbDtcbn1cblxuZnVuY3Rpb24gdXNlRGlzcG9zZTxUTW9kZWw+KFxuXHRkaXNwb3NlOiBEaXNwb3NlRnVuY3Rpb248VE1vZGVsPiB8IHVuZGVmaW5lZCxcblx0bW9kZWw6IFRNb2RlbCxcblx0cmVJbml0T246IHVua25vd25bXSB8IHVuZGVmaW5lZCxcbik6IHZvaWQge1xuXHRjb25zdCBtb2RlbFJlZiA9IHVzZVJlZihtb2RlbCk7XG5cblx0bW9kZWxSZWYuY3VycmVudCA9IG1vZGVsO1xuXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKGRpc3Bvc2UpIHtcblx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdGRpc3Bvc2UobW9kZWxSZWYuY3VycmVudCk7XG5cdFx0XHR9O1xuXHRcdH1cblx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSBvbmx5IHdhbnQgdG8gcnVuIGRpc3Bvc2Ugd2hlbiB0aGUgcmVJbml0T24gZGVwZW5kZW5jaWVzIGNoYW5nZSBvciBvbiB1bm1vdW50XG5cdH0sIHJlSW5pdE9uID8/IFtdKTtcbn1cblxuZXhwb3J0IHsgZXhlY0NtZCwgbG9nTWVzc2FnZSwgbW9kZWxIYXNDaGFuZ2VkLCB1c2VSZWR1eCwgdXNlSXNNb3VudGVkLCB1c2VTdWJzY3JpcHRpb24sIHVzZVJlSW5pdCwgdXNlRGlzcG9zZSwgZ2V0RGlzcGF0Y2gsIHJ1bkluaXQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsY0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBU2lCLFNBQUFJLG1CQUFBQyxDQUFBLFdBQUFDLGtCQUFBLENBQUFELENBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsQ0FBQSxLQUFBRywyQkFBQSxDQUFBSCxDQUFBLEtBQUFJLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFKLG1CQUFBRCxDQUFBLFFBQUFNLEtBQUEsQ0FBQUMsT0FBQSxDQUFBUCxDQUFBLFVBQUFRLGlCQUFBLENBQUFSLENBQUE7QUFBQSxTQUFBUyxTQUFBVCxDQUFBLFdBQUFVLGVBQUEsQ0FBQVYsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQVcsZ0JBQUE7QUFBQSxTQUFBVCxpQkFBQUYsQ0FBQSw4QkFBQVksTUFBQSxZQUFBWixDQUFBLENBQUFZLE1BQUEsQ0FBQUMsUUFBQSxhQUFBYixDQUFBLHVCQUFBTSxLQUFBLENBQUFRLElBQUEsQ0FBQWQsQ0FBQTtBQUFBLFNBQUFlLGVBQUFmLENBQUEsRUFBQWdCLENBQUEsV0FBQU4sZUFBQSxDQUFBVixDQUFBLEtBQUFpQixxQkFBQSxDQUFBakIsQ0FBQSxFQUFBZ0IsQ0FBQSxLQUFBYiwyQkFBQSxDQUFBSCxDQUFBLEVBQUFnQixDQUFBLEtBQUFMLGdCQUFBO0FBQUEsU0FBQUEsaUJBQUEsY0FBQU4sU0FBQTtBQUFBLFNBQUFZLHNCQUFBakIsQ0FBQSxFQUFBa0IsQ0FBQSxRQUFBQyxDQUFBLFdBQUFuQixDQUFBLGdDQUFBWSxNQUFBLElBQUFaLENBQUEsQ0FBQVksTUFBQSxDQUFBQyxRQUFBLEtBQUFiLENBQUEsNEJBQUFtQixDQUFBLFFBQUFILENBQUEsRUFBQUksQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxPQUFBQyxDQUFBLE9BQUFDLENBQUEsaUJBQUFKLENBQUEsSUFBQUYsQ0FBQSxHQUFBQSxDQUFBLENBQUFPLElBQUEsQ0FBQTFCLENBQUEsR0FBQTJCLElBQUEsUUFBQVQsQ0FBQSxRQUFBVSxNQUFBLENBQUFULENBQUEsTUFBQUEsQ0FBQSxVQUFBSyxDQUFBLHVCQUFBQSxDQUFBLElBQUFSLENBQUEsR0FBQUssQ0FBQSxDQUFBSyxJQUFBLENBQUFQLENBQUEsR0FBQVUsSUFBQSxNQUFBTixDQUFBLENBQUFPLElBQUEsQ0FBQWQsQ0FBQSxDQUFBZSxLQUFBLEdBQUFSLENBQUEsQ0FBQVMsTUFBQSxLQUFBZCxDQUFBLEdBQUFNLENBQUEsaUJBQUF4QixDQUFBLElBQUF5QixDQUFBLE9BQUFMLENBQUEsR0FBQXBCLENBQUEseUJBQUF3QixDQUFBLFlBQUFMLENBQUEsZUFBQUcsQ0FBQSxHQUFBSCxDQUFBLGNBQUFTLE1BQUEsQ0FBQU4sQ0FBQSxNQUFBQSxDQUFBLDJCQUFBRyxDQUFBLFFBQUFMLENBQUEsYUFBQUcsQ0FBQTtBQUFBLFNBQUFiLGdCQUFBVixDQUFBLFFBQUFNLEtBQUEsQ0FBQUMsT0FBQSxDQUFBUCxDQUFBLFVBQUFBLENBQUE7QUFBQSxTQUFBaUMsMkJBQUFqQyxDQUFBLEVBQUFnQixDQUFBLFFBQUFHLENBQUEseUJBQUFQLE1BQUEsSUFBQVosQ0FBQSxDQUFBWSxNQUFBLENBQUFDLFFBQUEsS0FBQWIsQ0FBQSxxQkFBQW1CLENBQUEsUUFBQWIsS0FBQSxDQUFBQyxPQUFBLENBQUFQLENBQUEsTUFBQW1CLENBQUEsR0FBQWhCLDJCQUFBLENBQUFILENBQUEsTUFBQWdCLENBQUEsSUFBQWhCLENBQUEsdUJBQUFBLENBQUEsQ0FBQWdDLE1BQUEsSUFBQWIsQ0FBQSxLQUFBbkIsQ0FBQSxHQUFBbUIsQ0FBQSxPQUFBZSxFQUFBLE1BQUFDLENBQUEsWUFBQUEsRUFBQSxlQUFBQyxDQUFBLEVBQUFELENBQUEsRUFBQWYsQ0FBQSxXQUFBQSxFQUFBLFdBQUFjLEVBQUEsSUFBQWxDLENBQUEsQ0FBQWdDLE1BQUEsS0FBQUgsSUFBQSxXQUFBQSxJQUFBLE1BQUFFLEtBQUEsRUFBQS9CLENBQUEsQ0FBQWtDLEVBQUEsVUFBQWxCLENBQUEsV0FBQUEsRUFBQWhCLENBQUEsVUFBQUEsQ0FBQSxLQUFBd0IsQ0FBQSxFQUFBVyxDQUFBLGdCQUFBOUIsU0FBQSxpSkFBQW9CLENBQUEsRUFBQUYsQ0FBQSxPQUFBRCxDQUFBLGdCQUFBYyxDQUFBLFdBQUFBLEVBQUEsSUFBQWpCLENBQUEsR0FBQUEsQ0FBQSxDQUFBTyxJQUFBLENBQUExQixDQUFBLE1BQUFvQixDQUFBLFdBQUFBLEVBQUEsUUFBQXBCLENBQUEsR0FBQW1CLENBQUEsQ0FBQVEsSUFBQSxXQUFBSixDQUFBLEdBQUF2QixDQUFBLENBQUE2QixJQUFBLEVBQUE3QixDQUFBLEtBQUFnQixDQUFBLFdBQUFBLEVBQUFoQixDQUFBLElBQUFzQixDQUFBLE9BQUFHLENBQUEsR0FBQXpCLENBQUEsS0FBQXdCLENBQUEsV0FBQUEsRUFBQSxVQUFBRCxDQUFBLFlBQUFKLENBQUEsY0FBQUEsQ0FBQSw4QkFBQUcsQ0FBQSxRQUFBRyxDQUFBO0FBQUEsU0FBQXRCLDRCQUFBSCxDQUFBLEVBQUF1QixDQUFBLFFBQUF2QixDQUFBLDJCQUFBQSxDQUFBLFNBQUFRLGlCQUFBLENBQUFSLENBQUEsRUFBQXVCLENBQUEsT0FBQUosQ0FBQSxNQUFBa0IsUUFBQSxDQUFBWCxJQUFBLENBQUExQixDQUFBLEVBQUFzQyxLQUFBLDZCQUFBbkIsQ0FBQSxJQUFBbkIsQ0FBQSxDQUFBdUMsV0FBQSxLQUFBcEIsQ0FBQSxHQUFBbkIsQ0FBQSxDQUFBdUMsV0FBQSxDQUFBQyxJQUFBLGFBQUFyQixDQUFBLGNBQUFBLENBQUEsR0FBQWIsS0FBQSxDQUFBUSxJQUFBLENBQUFkLENBQUEsb0JBQUFtQixDQUFBLCtDQUFBc0IsSUFBQSxDQUFBdEIsQ0FBQSxJQUFBWCxpQkFBQSxDQUFBUixDQUFBLEVBQUF1QixDQUFBO0FBQUEsU0FBQWYsa0JBQUFSLENBQUEsRUFBQXVCLENBQUEsYUFBQUEsQ0FBQSxJQUFBQSxDQUFBLEdBQUF2QixDQUFBLENBQUFnQyxNQUFBLE1BQUFULENBQUEsR0FBQXZCLENBQUEsQ0FBQWdDLE1BQUEsWUFBQWhCLENBQUEsTUFBQUksQ0FBQSxHQUFBZCxLQUFBLENBQUFpQixDQUFBLEdBQUFQLENBQUEsR0FBQU8sQ0FBQSxFQUFBUCxDQUFBLElBQUFJLENBQUEsQ0FBQUosQ0FBQSxJQUFBaEIsQ0FBQSxDQUFBZ0IsQ0FBQSxVQUFBSSxDQUFBO0FBRWpCLFNBQVNzQixVQUFVQSxDQUFDRixJQUFZLEVBQUVHLEdBQVksRUFBUTtFQUFBLElBQUFDLGdCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLHFCQUFBO0VBQ3JELENBQUFGLGdCQUFBLEdBQUFHLGNBQVEsQ0FBQ0MsTUFBTSxjQUFBSixnQkFBQSxlQUFmQSxnQkFBQSxDQUFpQkssSUFBSSxDQUFDLGNBQWMsRUFBRVQsSUFBSSxFQUFFRyxHQUFHLENBQUNILElBQUksQ0FBQztFQUNyRCxDQUFBSyxpQkFBQSxHQUFBRSxjQUFRLENBQUNDLE1BQU0sY0FBQUgsaUJBQUEsZUFBZkEsaUJBQUEsQ0FBaUJLLEtBQUssQ0FBQyxjQUFjLEVBQUVWLElBQUksRUFBRUcsR0FBRyxDQUFDO0VBRWpELENBQUFHLHFCQUFBLEdBQUFDLGNBQVEsQ0FBQ0ksa0JBQWtCLGNBQUFMLHFCQUFBLGVBQTNCQSxxQkFBQSxDQUFBcEIsSUFBQSxDQUFBcUIsY0FBUSxFQUFzQkosR0FBRyxDQUFDO0FBQ25DO0FBRUEsU0FBU1MsZUFBZUEsQ0FBU0MsWUFBb0IsRUFBRUMsS0FBc0IsRUFBVztFQUN2RixPQUFPLENBQUMxQixNQUFNLENBQUMyQixFQUFFLENBQUNELEtBQUssRUFBRUQsWUFBWSxDQUFDLElBQUl6QixNQUFNLENBQUM0QixtQkFBbUIsQ0FBQ0YsS0FBSyxDQUFDLENBQUN0QixNQUFNLEdBQUcsQ0FBQztBQUN2RjtBQUVBLFNBQVN5QixPQUFPQSxDQUFXQyxRQUE0QixFQUFvRDtFQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBNUIsTUFBQSxFQUEvQzZCLFFBQVEsT0FBQXZELEtBQUEsQ0FBQXFELElBQUEsT0FBQUEsSUFBQSxXQUFBRyxJQUFBLE1BQUFBLElBQUEsR0FBQUgsSUFBQSxFQUFBRyxJQUFBO0lBQVJELFFBQVEsQ0FBQUMsSUFBQSxRQUFBRixTQUFBLENBQUFFLElBQUE7RUFBQTtFQUFBLElBQUFDLFNBQUEsR0FBQTlCLDBCQUFBLENBQ2hENEIsUUFBUSxDQUFDRyxJQUFJLENBQUMsQ0FBQztJQUFBQyxLQUFBO0VBQUE7SUFBbEMsS0FBQUYsU0FBQSxDQUFBM0IsQ0FBQSxNQUFBNkIsS0FBQSxHQUFBRixTQUFBLENBQUEzQyxDQUFBLElBQUFTLElBQUEsR0FBb0M7TUFBQSxJQUF6QkgsSUFBSSxHQUFBdUMsS0FBQSxDQUFBbEMsS0FBQTtNQUNkLElBQUlMLElBQUksRUFBRTtRQUNUQSxJQUFJLENBQUNnQyxRQUFRLENBQUM7TUFDZjtJQUNEO0VBQUMsU0FBQVEsR0FBQTtJQUFBSCxTQUFBLENBQUEvQyxDQUFBLENBQUFrRCxHQUFBO0VBQUE7SUFBQUgsU0FBQSxDQUFBdkMsQ0FBQTtFQUFBO0FBQ0Y7O0FBRUE7QUFDQSxTQUFTMkMsUUFBUUEsQ0FBUzNCLElBQVksRUFBRTRCLFFBQWlDLEVBQXNDO0VBQzlHLElBQU1DLFFBQVEsR0FBRyxJQUFBQyxhQUFNLEVBQTBCLElBQUksQ0FBQztFQUV0RCxJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZixJQUFJQyxnQkFBMEM7SUFFOUMsSUFBSXpCLGNBQVEsQ0FBQzBCLGNBQWMsS0FBSyxJQUFJLElBQUksSUFBQUMscUNBQXNCLEVBQUNDLE1BQU0sQ0FBQyxFQUFFO01BQ3ZFO01BQ0FOLFFBQVEsQ0FBQ08sT0FBTyxHQUFHRCxNQUFNLENBQUNFLDRCQUE0QixDQUFDQyxPQUFPLENBQUM7UUFBRXRDLElBQUksRUFBSkEsSUFBSTtRQUFFdUMsU0FBUyxFQUFFO1VBQUVDLE9BQU8sRUFBRTtRQUFLO01BQUUsQ0FBQyxDQUFDO01BRXRHUixnQkFBZ0IsR0FBR0gsUUFBUSxDQUFDTyxPQUFPLENBQUNLLFNBQVMsQ0FBQyxVQUFDQyxPQUFPLEVBQUs7UUFDMUQsSUFBSUEsT0FBTyxDQUFDQyxJQUFJLEtBQUssVUFBVSxJQUFJRCxPQUFPLENBQUNFLE9BQU8sQ0FBQ0QsSUFBSSxLQUFLLGdCQUFnQixFQUFFO1VBQzdFO1VBQ0FmLFFBQVEsQ0FBQ2lCLElBQUksQ0FBQ0MsS0FBSyxDQUFDSixPQUFPLENBQUNLLEtBQUssQ0FBVyxDQUFDO1FBQzlDO01BQ0QsQ0FBQyxDQUFDO0lBQ0g7SUFFQSxPQUFPLFlBQU07TUFBQSxJQUFBQyxpQkFBQTtNQUNaLENBQUFBLGlCQUFBLEdBQUFoQixnQkFBZ0IsY0FBQWdCLGlCQUFBLGVBQWhCQSxpQkFBQSxDQUFtQixDQUFDO0lBQ3JCLENBQUM7RUFDRixDQUFDLEVBQUUsQ0FBQ2hELElBQUksRUFBRTRCLFFBQVEsQ0FBQyxDQUFDO0VBRXBCLE9BQU9DLFFBQVE7QUFDaEI7QUFFQSxTQUFTb0IsWUFBWUEsQ0FBQSxFQUF1QjtFQUMzQyxJQUFNQyxZQUFZLEdBQUcsSUFBQXBCLGFBQU0sRUFBQyxJQUFJLENBQUM7RUFFakMsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2ZtQixZQUFZLENBQUNkLE9BQU8sR0FBRyxJQUFJO0lBRTNCLE9BQU8sWUFBTTtNQUNaYyxZQUFZLENBQUNkLE9BQU8sR0FBRyxLQUFLO0lBQzdCLENBQUM7RUFDRixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sT0FBT2MsWUFBWTtBQUNwQjtBQUVBLFNBQVNDLGVBQWVBLENBQ3ZCQyxZQUFnRSxFQUNoRXRDLEtBQWEsRUFDYnVDLEtBQWEsRUFDYm5DLFFBQTRCLEVBQzVCb0MsUUFBK0IsRUFDeEI7RUFDUCxJQUFBdkIsZ0JBQVMsRUFBQyxZQUFNO0lBQ2YsSUFBSXFCLFlBQVksRUFBRTtNQUNqQixJQUFNRyxrQkFBa0IsR0FBR0gsWUFBWSxDQUFDdEMsS0FBSyxFQUFFdUMsS0FBSyxDQUFDO01BRXJELElBQUksSUFBQUcsa0NBQTJCLEVBQUNELGtCQUFrQixDQUFDLEVBQUU7UUFDcEQsSUFBTUUsV0FBVyxHQUFHRixrQkFBa0IsQ0FBQ0csR0FBRyxDQUFDLFVBQUNDLEdBQUc7VUFBQSxPQUFLQSxHQUFHLENBQUN6QyxRQUFRLENBQUM7UUFBQSxFQUFDLENBQUMwQyxNQUFNLENBQUMsVUFBQ0MsVUFBVTtVQUFBLE9BQUtBLFVBQVUsS0FBS0MsU0FBUztRQUFBLEVBQUM7UUFFbkgsT0FBTyxTQUFTQyxrQkFBa0JBLENBQUEsRUFBRztVQUFBLElBQUFDLFVBQUEsR0FBQXZFLDBCQUFBLENBQ1hnRSxXQUFXO1lBQUFRLE1BQUE7VUFBQTtZQUFwQyxLQUFBRCxVQUFBLENBQUFwRSxDQUFBLE1BQUFxRSxNQUFBLEdBQUFELFVBQUEsQ0FBQXBGLENBQUEsSUFBQVMsSUFBQSxHQUFzQztjQUFBLElBQTNCd0UsV0FBVSxHQUFBSSxNQUFBLENBQUExRSxLQUFBO2NBQ3BCc0UsV0FBVSxDQUFDLENBQUM7WUFDYjtVQUFDLFNBQUFuQyxHQUFBO1lBQUFzQyxVQUFBLENBQUF4RixDQUFBLENBQUFrRCxHQUFBO1VBQUE7WUFBQXNDLFVBQUEsQ0FBQWhGLENBQUE7VUFBQTtRQUNGLENBQUM7TUFDRjtNQUVBLElBQUFrRixtQkFBQSxHQUFBM0YsY0FBQSxDQUE2QmdGLGtCQUFrQjtRQUF4Q1ksTUFBTSxHQUFBRCxtQkFBQTtRQUFFTCxVQUFVLEdBQUFLLG1CQUFBO01BRXpCakQsT0FBTyxDQUFDQyxRQUFRLEVBQUVpRCxNQUFNLENBQUM7TUFFekIsT0FBT04sVUFBVTtJQUNsQjtJQUNBO0VBQ0QsQ0FBQyxFQUFFUCxRQUFRLGFBQVJBLFFBQVEsY0FBUkEsUUFBUSxHQUFJLEVBQUUsQ0FBQztBQUNuQjtBQUVBLFNBQVNjLFNBQVNBLENBQUN4QyxRQUErQixFQUFFMEIsUUFBK0IsRUFBUTtFQUMxRixJQUFNZSxZQUFZLEdBQUcsSUFBQXZDLGFBQU0sRUFBQyxJQUFJLENBQUM7RUFFakMsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2YsSUFBSXNDLFlBQVksQ0FBQ2pDLE9BQU8sRUFBRTtNQUN6QmlDLFlBQVksQ0FBQ2pDLE9BQU8sR0FBRyxLQUFLO01BRTVCO0lBQ0Q7SUFFQVIsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNkO0VBQ0QsQ0FBQyxFQUFFMEIsUUFBUSxhQUFSQSxRQUFRLGNBQVJBLFFBQVEsR0FBSSxFQUFFLENBQUM7QUFDbkI7QUFFQSxTQUFTZ0IsV0FBV0EsQ0FDbkJDLGFBQXlDLEVBQ3pDQyxZQUF3QixFQUN4QkMsWUFBc0MsRUFDdENDLFlBQWlDLEVBQ1o7RUFDckIsSUFBSUMsT0FBTyxHQUFHLEtBQUs7RUFDbkIsSUFBTUMsTUFBa0IsR0FBRyxFQUFFO0VBRTdCLE9BQ0NGLFlBQVksYUFBWkEsWUFBWSxjQUFaQSxZQUFZLEdBQ1gsVUFBQ3ZFLEdBQWEsRUFBVztJQUN6QixJQUFJd0UsT0FBTyxFQUFFO01BQ1pDLE1BQU0sQ0FBQ3RGLElBQUksQ0FBQ2EsR0FBRyxDQUFDO01BRWhCO0lBQ0Q7SUFFQXdFLE9BQU8sR0FBRyxJQUFJO0lBRWQsSUFBSUUsT0FBNkIsR0FBRzFFLEdBQUc7SUFDdkMsSUFBSTJFLFFBQVEsR0FBRyxLQUFLO0lBRXBCLEdBQUc7TUFDRixJQUFJUCxhQUFhLENBQUNNLE9BQU8sQ0FBQyxFQUFFO1FBQzNCQyxRQUFRLEdBQUcsSUFBSTtNQUNoQjtNQUVBTCxZQUFZLGFBQVpBLFlBQVksZUFBWkEsWUFBWSxDQUFHSSxPQUFPLENBQUM7TUFFdkJBLE9BQU8sR0FBR0QsTUFBTSxDQUFDRyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDLFFBQVFGLE9BQU87SUFFaEJGLE9BQU8sR0FBRyxLQUFLO0lBRWYsSUFBSUcsUUFBUSxFQUFFO01BQ2JOLFlBQVksQ0FBQyxDQUFDO0lBQ2Y7RUFDRCxDQUFDO0FBRUg7QUFFQSxTQUFTUSxPQUFPQSxDQUNmaEYsSUFBWSxFQUNaaUYsTUFBOEMsRUFDOUM1QixLQUFhLEVBQ2J6QixRQUFpQyxFQUNqQ1YsUUFBNEIsRUFDNUJXLFFBQWlDLEVBQ2pDcUQsU0FBNkIsRUFDcEI7RUFBQSxJQUFBQyxpQkFBQTtFQUNULElBQUFDLElBQUEsR0FBcUNGLFNBQVMsR0FBRyxDQUFDQSxTQUFTLENBQUMsR0FBR0QsTUFBTSxDQUFDNUIsS0FBSyxDQUFDO0lBQUFnQyxLQUFBLEdBQUFwSCxRQUFBLENBQUFtSCxJQUFBO0lBQXJFRSxTQUFTLEdBQUFELEtBQUE7SUFBS0UsWUFBWSxHQUFBdkgsaUJBQUEsQ0FBQXFILEtBQUEsRUFBQXZGLEtBQUE7RUFFakM4QixRQUFRLENBQUMwRCxTQUFTLENBQUM7RUFDbkJ6RCxRQUFRLGFBQVJBLFFBQVEsZUFBUkEsUUFBUSxDQUFFMkQsSUFBSSxDQUFDRixTQUFTLENBQUM7RUFDekIsQ0FBQUgsaUJBQUEsR0FBQTVFLGNBQVEsQ0FBQ0MsTUFBTSxjQUFBMkUsaUJBQUEsZUFBZkEsaUJBQUEsQ0FBaUJ6RSxLQUFLLENBQUMsbUJBQW1CLEVBQUVWLElBQUksRUFBRXNGLFNBQVMsQ0FBQztFQUM1RHJFLE9BQU8sQ0FBQXdFLEtBQUEsVUFBQ3ZFLFFBQVEsRUFBQXdFLE1BQUEsQ0FBQW5JLGtCQUFBLENBQUtnSSxZQUFZLEdBQUM7RUFFbEMsT0FBT0QsU0FBUztBQUNqQjtBQUVBLFNBQVNLLFVBQVVBLENBQ2xCQyxPQUE0QyxFQUM1QzlFLEtBQWEsRUFDYndDLFFBQStCLEVBQ3hCO0VBQ1AsSUFBTXVDLFFBQVEsR0FBRyxJQUFBL0QsYUFBTSxFQUFDaEIsS0FBSyxDQUFDO0VBRTlCK0UsUUFBUSxDQUFDekQsT0FBTyxHQUFHdEIsS0FBSztFQUV4QixJQUFBaUIsZ0JBQVMsRUFBQyxZQUFNO0lBQ2YsSUFBSTZELE9BQU8sRUFBRTtNQUNaLE9BQU8sWUFBTTtRQUNaQSxPQUFPLENBQUNDLFFBQVEsQ0FBQ3pELE9BQU8sQ0FBQztNQUMxQixDQUFDO0lBQ0Y7SUFDQTtFQUNELENBQUMsRUFBRWtCLFFBQVEsYUFBUkEsUUFBUSxjQUFSQSxRQUFRLEdBQUksRUFBRSxDQUFDO0FBQ25CIiwiaWdub3JlTGlzdCI6W119
|
|
196
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0luaXQiLCJfcmVkdXhEZXZUb29scyIsIl9UeXBlcyIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJTeW1ib2wiLCJpdGVyYXRvciIsImZyb20iLCJfc2xpY2VkVG9BcnJheSIsImUiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJsIiwidCIsIm4iLCJpIiwidSIsImEiLCJmIiwibyIsImNhbGwiLCJuZXh0IiwiT2JqZWN0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImxlbmd0aCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJ0ZXN0IiwibG9nTWVzc2FnZSIsIm1zZyIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl9TZXJ2aWNlcyRkaXNwYXRjaE1pZCIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiaW5mbyIsImRlYnVnIiwiZGlzcGF0Y2hNaWRkbGV3YXJlIiwibW9kZWxIYXNDaGFuZ2VkIiwiY3VycmVudE1vZGVsIiwibW9kZWwiLCJpcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJleGVjQ21kIiwiZGlzcGF0Y2giLCJfbGVuIiwiYXJndW1lbnRzIiwiY29tbWFuZHMiLCJfa2V5IiwiX2l0ZXJhdG9yIiwiZmxhdCIsIl9zdGVwIiwiZXJyIiwidXNlUmVkdXgiLCJzZXRNb2RlbCIsImRldlRvb2xzUmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwicmVkdXhVbnN1YnNjcmliZSIsImVuYWJsZURldlRvb2xzIiwiaXNSZWR1eERldlRvb2xzRW5hYmxlZCIsIndpbmRvdyIsImN1cnJlbnQiLCJfX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fIiwiY29ubmVjdCIsInNlcmlhbGl6ZSIsIm9wdGlvbnMiLCJzdWJzY3JpYmUiLCJtZXNzYWdlIiwidHlwZSIsInBheWxvYWQiLCJKU09OIiwicGFyc2UiLCJzdGF0ZSIsIl9yZWR1eFVuc3Vic2NyaWJlIiwidXNlSXNNb3VudGVkIiwiaXNNb3VudGVkUmVmIiwidXNlU3Vic2NyaXB0aW9uIiwic3Vic2NyaXB0aW9uIiwicHJvcHMiLCJyZUluaXRPbiIsInN1YnNjcmlwdGlvblJlc3VsdCIsInN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSIsImRlc3RydWN0b3JzIiwibWFwIiwic3ViIiwiZmlsdGVyIiwidW5kZWZpbmVkIiwiY29tYmluZWREZXN0cnVjdG9yIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImRlc3RydWN0b3IiLCJfc3Vic2NyaXB0aW9uUmVzdWx0Iiwic3ViQ21kIiwidXNlUmVJbml0IiwiZmlyc3RDYWxsUmVmIiwiZ2V0RGlzcGF0Y2giLCJoYW5kbGVNZXNzYWdlIiwiY2FsbFNldE1vZGVsIiwiY2FsbERldlRvb2xzIiwiZmFrZURpc3BhdGNoIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJtb2RpZmllZCIsInNoaWZ0IiwicnVuSW5pdCIsImluaXRGbiIsImdldERldlRvb2xzIiwiZmFrZU1vZGVsIiwiX2dldERldlRvb2xzIiwiX1NlcnZpY2VzJGxvZ2dlcjMiLCJfcmVmIiwiX3JlZjIiLCJpbml0TW9kZWwiLCJpbml0Q29tbWFuZHMiLCJpbml0IiwiYXBwbHkiLCJjb25jYXQiLCJ1c2VEaXNwb3NlIiwiZGlzcG9zZSIsIm1vZGVsUmVmIiwidXNlTGF5b3V0RWZmZWN0Il0sInNvdXJjZXMiOlsiLi4vc3JjL0NvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi9Jbml0XCI7XG5pbXBvcnQgeyBpc1JlZHV4RGV2VG9vbHNFbmFibGVkLCB0eXBlIFJlZHV4RGV2VG9vbHMgfSBmcm9tIFwiLi9yZWR1eERldlRvb2xzXCI7XG5pbXBvcnQge1xuXHR0eXBlIENtZCxcblx0dHlwZSBEaXNwYXRjaCxcblx0dHlwZSBEaXNwb3NlRnVuY3Rpb24sXG5cdHR5cGUgSW5pdEZ1bmN0aW9uLFxuXHR0eXBlIE1lc3NhZ2UsXG5cdHR5cGUgTnVsbGFibGUsXG5cdHR5cGUgU3Vic2NyaXB0aW9uLFxuXHRzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXksXG59IGZyb20gXCIuL1R5cGVzXCI7XG5cbmZ1bmN0aW9uIGxvZ01lc3NhZ2UobmFtZTogc3RyaW5nLCBtc2c6IE1lc3NhZ2UpOiB2b2lkIHtcblx0U2VydmljZXMubG9nZ2VyPy5pbmZvKFwiTWVzc2FnZSBmcm9tXCIsIG5hbWUsIG1zZy5uYW1lKTtcblx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIk1lc3NhZ2UgZnJvbVwiLCBuYW1lLCBtc2cpO1xuXG5cdFNlcnZpY2VzLmRpc3BhdGNoTWlkZGxld2FyZT8uKG1zZyk7XG59XG5cbmZ1bmN0aW9uIG1vZGVsSGFzQ2hhbmdlZDxUTW9kZWw+KGN1cnJlbnRNb2RlbDogVE1vZGVsLCBtb2RlbDogUGFydGlhbDxUTW9kZWw+KTogYm9vbGVhbiB7XG5cdHJldHVybiAhT2JqZWN0LmlzKG1vZGVsLCBjdXJyZW50TW9kZWwpICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG1vZGVsKS5sZW5ndGggPiAwO1xufVxuXG5mdW5jdGlvbiBleGVjQ21kPFRNZXNzYWdlPihkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LCAuLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10pOiB2b2lkIHtcblx0Zm9yIChjb25zdCBjYWxsIG9mIGNvbW1hbmRzLmZsYXQoKSkge1xuXHRcdGlmIChjYWxsKSB7XG5cdFx0XHRjYWxsKGRpc3BhdGNoKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLXBhcmFtZXRlcnMgLS0gV2UgbmVlZCB0byB0eXBlIE1vZGVsLlxuZnVuY3Rpb24gdXNlUmVkdXg8VE1vZGVsPihuYW1lOiBzdHJpbmcsIHNldE1vZGVsOiAobW9kZWw6IFRNb2RlbCkgPT4gdm9pZCk6IFJlZk9iamVjdDxOdWxsYWJsZTxSZWR1eERldlRvb2xzPj4ge1xuXHRjb25zdCBkZXZUb29sc1JlZiA9IHVzZVJlZjxOdWxsYWJsZTxSZWR1eERldlRvb2xzPj4obnVsbCk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRsZXQgcmVkdXhVbnN1YnNjcmliZTogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG5cdFx0aWYgKFNlcnZpY2VzLmVuYWJsZURldlRvb2xzID09PSB0cnVlICYmIGlzUmVkdXhEZXZUb29sc0VuYWJsZWQod2luZG93KSkge1xuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG5cdFx0XHRkZXZUb29sc1JlZi5jdXJyZW50ID0gd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uY29ubmVjdCh7IG5hbWUsIHNlcmlhbGl6ZTogeyBvcHRpb25zOiB0cnVlIH0gfSk7XG5cblx0XHRcdHJlZHV4VW5zdWJzY3JpYmUgPSBkZXZUb29sc1JlZi5jdXJyZW50LnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuXHRcdFx0XHRpZiAobWVzc2FnZS50eXBlID09PSBcIkRJU1BBVENIXCIgJiYgbWVzc2FnZS5wYXlsb2FkLnR5cGUgPT09IFwiSlVNUF9UT19BQ1RJT05cIikge1xuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uXG5cdFx0XHRcdFx0c2V0TW9kZWwoSlNPTi5wYXJzZShtZXNzYWdlLnN0YXRlKSBhcyBUTW9kZWwpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0cmVkdXhVbnN1YnNjcmliZT8uKCk7XG5cdFx0fTtcblx0fSwgW25hbWUsIHNldE1vZGVsXSk7XG5cblx0cmV0dXJuIGRldlRvb2xzUmVmO1xufVxuXG5mdW5jdGlvbiB1c2VJc01vdW50ZWQoKTogUmVmT2JqZWN0PGJvb2xlYW4+IHtcblx0Y29uc3QgaXNNb3VudGVkUmVmID0gdXNlUmVmKHRydWUpO1xuXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aXNNb3VudGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuXG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdGlzTW91bnRlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG5cdFx0fTtcblx0fSwgW10pO1xuXG5cdHJldHVybiBpc01vdW50ZWRSZWY7XG59XG5cbmZ1bmN0aW9uIHVzZVN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0c3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IHVuZGVmaW5lZCxcblx0bW9kZWw6IFRNb2RlbCxcblx0cHJvcHM6IFRQcm9wcyxcblx0ZGlzcGF0Y2g6IERpc3BhdGNoPFRNZXNzYWdlPixcblx0cmVJbml0T246IHVua25vd25bXSB8IHVuZGVmaW5lZCxcbik6IHZvaWQge1xuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmICghc3Vic2NyaXB0aW9uKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3Qgc3Vic2NyaXB0aW9uUmVzdWx0ID0gc3Vic2NyaXB0aW9uKG1vZGVsLCBwcm9wcyk7XG5cblx0XHRpZiAoc3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5KHN1YnNjcmlwdGlvblJlc3VsdCkpIHtcblx0XHRcdGNvbnN0IGRlc3RydWN0b3JzID0gc3Vic2NyaXB0aW9uUmVzdWx0Lm1hcCgoc3ViKSA9PiBzdWIoZGlzcGF0Y2gpKS5maWx0ZXIoKGN1cnJlbnQpID0+IGN1cnJlbnQgIT09IHVuZGVmaW5lZCk7XG5cblx0XHRcdHJldHVybiBmdW5jdGlvbiBjb21iaW5lZERlc3RydWN0b3IoKSB7XG5cdFx0XHRcdGZvciAoY29uc3QgZGVzdHJ1Y3RvciBvZiBkZXN0cnVjdG9ycykge1xuXHRcdFx0XHRcdGRlc3RydWN0b3IoKTtcblx0XHRcdFx0fVxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHRjb25zdCBbc3ViQ21kLCBkZXN0cnVjdG9yXSA9IHN1YnNjcmlwdGlvblJlc3VsdDtcblxuXHRcdGV4ZWNDbWQoZGlzcGF0Y2gsIHN1YkNtZCk7XG5cblx0XHRyZXR1cm4gZGVzdHJ1Y3Rvcjtcblx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSBvbmx5IHdhbnQgdG8gcmVpbml0aWFsaXplIHdoZW4gdGhlIHJlSW5pdE9uIGRlcGVuZGVuY2llcyBjaGFuZ2Vcblx0fSwgcmVJbml0T24gPz8gW10pO1xufVxuXG5mdW5jdGlvbiB1c2VSZUluaXQoc2V0TW9kZWw6IChtb2RlbDogbnVsbCkgPT4gdm9pZCwgcmVJbml0T246IHVua25vd25bXSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuXHRjb25zdCBmaXJzdENhbGxSZWYgPSB1c2VSZWYodHJ1ZSk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoZmlyc3RDYWxsUmVmLmN1cnJlbnQpIHtcblx0XHRcdGZpcnN0Q2FsbFJlZi5jdXJyZW50ID0gZmFsc2U7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRzZXRNb2RlbChudWxsKTtcblx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSBvbmx5IHdhbnQgdG8gcmVpbml0aWFsaXplIHdoZW4gdGhlIHJlSW5pdE9uIGRlcGVuZGVuY2llcyBjaGFuZ2Vcblx0fSwgcmVJbml0T24gPz8gW10pO1xufVxuXG5mdW5jdGlvbiBnZXREaXNwYXRjaDxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRoYW5kbGVNZXNzYWdlOiAobXNnOiBUTWVzc2FnZSkgPT4gYm9vbGVhbixcblx0Y2FsbFNldE1vZGVsOiAoKSA9PiB2b2lkLFxuXHRjYWxsRGV2VG9vbHM/OiAobXNnOiBUTWVzc2FnZSkgPT4gdm9pZCxcblx0ZmFrZURpc3BhdGNoPzogRGlzcGF0Y2g8VE1lc3NhZ2U+LFxuKTogRGlzcGF0Y2g8VE1lc3NhZ2U+IHtcblx0bGV0IHJ1bm5pbmcgPSBmYWxzZTtcblx0Y29uc3QgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cblx0cmV0dXJuIChcblx0XHRmYWtlRGlzcGF0Y2ggPz9cblx0XHQoKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRcdGlmIChydW5uaW5nKSB7XG5cdFx0XHRcdGJ1ZmZlci5wdXNoKG1zZyk7XG5cblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRydW5uaW5nID0gdHJ1ZTtcblxuXHRcdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRcdGRvIHtcblx0XHRcdFx0aWYgKGhhbmRsZU1lc3NhZ2UobmV4dE1zZykpIHtcblx0XHRcdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjYWxsRGV2VG9vbHM/LihuZXh0TXNnKTtcblxuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby1hcnJheS1mcm9udC1tdXRhdGlvbiAtLSBXZSBuZWVkIHRvIHJlbW92ZSBtZXNzYWdlcyBmcm9tIHRoZSBzdGFydC5cblx0XHRcdFx0bmV4dE1zZyA9IGJ1ZmZlci5zaGlmdCgpO1xuXHRcdFx0fSB3aGlsZSAobmV4dE1zZyk7XG5cblx0XHRcdHJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdFx0aWYgKG1vZGlmaWVkKSB7XG5cdFx0XHRcdGNhbGxTZXRNb2RlbCgpO1xuXHRcdFx0fVxuXHRcdH0pXG5cdCk7XG59XG5cbmZ1bmN0aW9uIHJ1bkluaXQ8VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdG5hbWU6IHN0cmluZyxcblx0aW5pdEZuOiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0cHJvcHM6IFRQcm9wcyxcblx0c2V0TW9kZWw6IChtb2RlbDogVE1vZGVsKSA9PiB2b2lkLFxuXHRkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LFxuXHRnZXREZXZUb29sczogKCkgPT4gTnVsbGFibGU8UmVkdXhEZXZUb29scz4sXG5cdGZha2VNb2RlbDogVE1vZGVsIHwgdW5kZWZpbmVkLFxuKTogVE1vZGVsIHtcblx0Y29uc3QgW2luaXRNb2RlbCwgLi4uaW5pdENvbW1hbmRzXSA9IGZha2VNb2RlbCA/IFtmYWtlTW9kZWxdIDogaW5pdEZuKHByb3BzKTtcblxuXHRzZXRNb2RlbChpbml0TW9kZWwpO1xuXHRnZXREZXZUb29scygpPy5pbml0KGluaXRNb2RlbCk7XG5cdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJJbml0aWFsIG1vZGVsIGZvclwiLCBuYW1lLCBpbml0TW9kZWwpO1xuXHRleGVjQ21kKGRpc3BhdGNoLCAuLi5pbml0Q29tbWFuZHMpO1xuXG5cdHJldHVybiBpbml0TW9kZWw7XG59XG5cbmZ1bmN0aW9uIHVzZURpc3Bvc2U8VE1vZGVsPihkaXNwb3NlOiBEaXNwb3NlRnVuY3Rpb248VE1vZGVsPiB8IHVuZGVmaW5lZCwgbW9kZWw6IFRNb2RlbCwgcmVJbml0T246IHVua25vd25bXSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuXHRjb25zdCBtb2RlbFJlZiA9IHVzZVJlZihtb2RlbCk7XG5cblx0dXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcblx0XHRtb2RlbFJlZi5jdXJyZW50ID0gbW9kZWw7XG5cdH0pO1xuXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKGRpc3Bvc2UpIHtcblx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdGRpc3Bvc2UobW9kZWxSZWYuY3VycmVudCk7XG5cdFx0XHR9O1xuXHRcdH1cblx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSBvbmx5IHdhbnQgdG8gcnVuIGRpc3Bvc2Ugd2hlbiB0aGUgcmVJbml0T24gZGVwZW5kZW5jaWVzIGNoYW5nZSBvciBvbiB1bm1vdW50XG5cdH0sIHJlSW5pdE9uID8/IFtdKTtcbn1cblxuZXhwb3J0IHtcblx0ZXhlY0NtZCxcblx0Z2V0RGlzcGF0Y2gsXG5cdGxvZ01lc3NhZ2UsXG5cdG1vZGVsSGFzQ2hhbmdlZCxcblx0cnVuSW5pdCxcblx0dXNlRGlzcG9zZSxcblx0dXNlSXNNb3VudGVkLFxuXHR1c2VSZWR1eCxcblx0dXNlUmVJbml0LFxuXHR1c2VTdWJzY3JpcHRpb24sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxjQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFTaUIsU0FBQUksbUJBQUFDLENBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQUksa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUosbUJBQUFELENBQUEsUUFBQU0sS0FBQSxDQUFBQyxPQUFBLENBQUFQLENBQUEsVUFBQVEsaUJBQUEsQ0FBQVIsQ0FB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
|
package/dist/ElmComponent.js
CHANGED
|
@@ -108,6 +108,8 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
|
|
|
108
108
|
modified = true;
|
|
109
109
|
}
|
|
110
110
|
_Common.execCmd.apply(void 0, [_this.dispatch].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands)));
|
|
111
|
+
|
|
112
|
+
// eslint-disable-next-line unicorn/no-array-front-mutation -- We need to remove messages from the start.
|
|
111
113
|
nextMsg = _this.buffer.shift();
|
|
112
114
|
} while (nextMsg);
|
|
113
115
|
_this.running = false;
|
|
@@ -178,7 +180,7 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
|
|
|
178
180
|
* @type {Readonly<TModel>}
|
|
179
181
|
* @memberof ElmComponent
|
|
180
182
|
*/
|
|
181
|
-
// eslint-disable-next-line react/no-unused-class-component-
|
|
183
|
+
// eslint-disable-next-line react/no-unused-class-component-members -- We need it internally.
|
|
182
184
|
}, {
|
|
183
185
|
key: "model",
|
|
184
186
|
get: function get() {
|
|
@@ -186,4 +188,4 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
|
|
|
186
188
|
}
|
|
187
189
|
}]);
|
|
188
190
|
}(_react["default"].Component);
|
|
189
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXIzIiwiX2Zha2VPcHRpb25zIiwiX0luaXQiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiYSIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuIiwibCIsImkiLCJ1IiwiZiIsIm5leHQiLCJkb25lIiwidmFsdWUiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydGllcyIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfaW5oZXJpdHMiLCJjcmVhdGUiLCJfc2V0UHJvdG90eXBlT2YiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkVsbUNvbXBvbmVudCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwiZGlzcG9zZUhhbmRsZXIiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl90aGlzIiwibXNnIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJtb2RpZmllZCIsImN1cnJlbnRNZXNzYWdlIiwibG9nTWVzc2FnZSIsImNvbXBvbmVudE5hbWUiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsImN1cnJlbnRNb2RlbCIsIl90aGlzJHVwZGF0ZSIsInVwZGF0ZSIsIl90aGlzJHVwZGF0ZTIiLCJtb2RlbCIsImNvbW1hbmRzIiwiX2dldERlZmVycmVkIiwiX2dldERlZmVycmVkMiIsImRlZmVycmVkTW9kZWwiLCJkZWZlcnJlZENvbW1hbmRzIiwibW9kZWxIYXNDaGFuZ2VkIiwiZXhlY0NtZCIsImRpc3BhdGNoIiwiY29uY2F0Iiwic2hpZnQiLCJtb3VudGVkIiwiX1NlcnZpY2VzJGxvZ2dlciIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZGVidWciLCJmb3JjZVVwZGF0ZSIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiX3JlZiIsIl9yZWYyIiwiaW5pdENvbW1hbmRzIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIl90aGlzJGRpc3Bvc2VIYW5kbGVyIiwiZ2V0IiwiUmVhY3QiLCJDb21wb25lbnQiXSwic291cmNlcyI6WyIuLi9zcmMvRWxtQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UsIG1vZGVsSGFzQ2hhbmdlZCB9IGZyb20gXCIuL0NvbW1vblwiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi9jcmVhdGVDYWxsQmFzZVwiO1xuaW1wb3J0IHsgY3JlYXRlRGVmZXIgfSBmcm9tIFwiLi9jcmVhdGVEZWZlclwiO1xuaW1wb3J0IHsgZ2V0RmFrZU9wdGlvbnNPbmNlIH0gZnJvbSBcIi4vZmFrZU9wdGlvbnNcIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3Bvc2VGdW5jdGlvbiwgSW5pdEZ1bmN0aW9uLCBNZXNzYWdlLCBOdWxsYWJsZSwgVXBkYXRlRnVuY3Rpb24gfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgRWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzLlxuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKi9cbi8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZVJlYWN0RnVuY3Rpb25Db21wb25lbnRzOiBUaGlzIGlzIG9ubHkgZm9yIGRvd253YXJkIGNvbXBhdGliaWxpdHkuXG5hYnN0cmFjdCBjbGFzcyBFbG1Db21wb25lbnQ8VE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRQcm9wcz4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8VFByb3BzPiB7XG5cdHByaXZhdGUgaW5pdENvbW1hbmRzOiBOdWxsYWJsZTwoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXT4gfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuXHRwcml2YXRlIHJlYWRvbmx5IGJ1ZmZlcjogVE1lc3NhZ2VbXSA9IFtdO1xuXHRwcml2YXRlIHJ1bm5pbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBtb3VudGVkID0gZmFsc2U7XG5cdHByaXZhdGUgY3VycmVudE1vZGVsOiBUTW9kZWw7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRWxtQ29tcG9uZW50LlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIGZvciB0aGUgY29tcG9uZW50LlxuXHQgKiBAcGFyYW0geygpID0+IFRNb2RlbH0gaW5pdCBUaGUgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wczogVFByb3BzLCBpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgbmFtZTogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IGRpc3Bvc2VIYW5kbGVyPzogRGlzcG9zZUZ1bmN0aW9uPFRNb2RlbD4pIHtcblx0XHRzdXBlcihwcm9wcyk7XG5cblx0XHRjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZTxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXG5cdFx0aWYgKGZha2VPcHRpb25zPy5kaXNwYXRjaCkge1xuXHRcdFx0dGhpcy5kaXNwYXRjaCA9IGZha2VPcHRpb25zLmRpc3BhdGNoO1xuXHRcdH1cblxuXHRcdGNvbnN0IFttb2RlbCwgLi4uY29tbWFuZHNdID0gZmFrZU9wdGlvbnM/Lm1vZGVsID8gW2Zha2VPcHRpb25zLm1vZGVsIGFzIFRNb2RlbF0gOiBpbml0KHRoaXMucHJvcHMpO1xuXG5cdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIG1vZGVsKTtcblxuXHRcdHRoaXMuY29tcG9uZW50TmFtZSA9IG5hbWU7XG5cdFx0dGhpcy5jdXJyZW50TW9kZWwgPSBtb2RlbDtcblx0XHR0aGlzLmluaXRDb21tYW5kcyA9IGNvbW1hbmRzO1xuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IHRydWU7XG5cblx0XHRpZiAodGhpcy5pbml0Q29tbWFuZHMpIHtcblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4udGhpcy5pbml0Q29tbWFuZHMpO1xuXHRcdFx0dGhpcy5pbml0Q29tbWFuZHMgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJcyBjYWxsZWQgYmVmb3JlIHVubG9hZGluZyB0aGUgY29tcG9uZW50LlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMuZGlzcG9zZUhhbmRsZXI/Lih0aGlzLmN1cnJlbnRNb2RlbCk7XG5cdFx0dGhpcy5tb3VudGVkID0gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY3VycmVudCBtb2RlbC5cblx0ICogQHJlYWRvbmx5XG5cdCAqIEB0eXBlIHtSZWFkb25seTxUTW9kZWw+fVxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW51c2VkLWNsYXNzLWNvbXBvbmVudC1tZXRob2RzIC0tIFdlIG5lZWQgaXQgaW50ZXJuYWxseS5cblx0cHVibGljIGdldCBtb2RlbCgpOiBSZWFkb25seTxUTW9kZWw+IHtcblx0XHRyZXR1cm4gdGhpcy5jdXJyZW50TW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc3BhdGNoID0gKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRpZiAodGhpcy5ydW5uaW5nKSB7XG5cdFx0XHR0aGlzLmJ1ZmZlci5wdXNoKG1zZyk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdGxldCBtb2RpZmllZCA9IGZhbHNlO1xuXG5cdFx0ZG8ge1xuXHRcdFx0Y29uc3QgY3VycmVudE1lc3NhZ2UgPSBuZXh0TXNnO1xuXG5cdFx0XHRsb2dNZXNzYWdlKHRoaXMuY29tcG9uZW50TmFtZSwgY3VycmVudE1lc3NhZ2UpO1xuXG5cdFx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdFx0XHRjb25zdCBjYWxsQmFzZSA9IGNyZWF0ZUNhbGxCYXNlKGN1cnJlbnRNZXNzYWdlLCB0aGlzLmN1cnJlbnRNb2RlbCwgdGhpcy5wcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSB0aGlzLnVwZGF0ZSh0aGlzLmN1cnJlbnRNb2RlbCwgY3VycmVudE1lc3NhZ2UsIHRoaXMucHJvcHMsIHsgZGVmZXIsIGNhbGxCYXNlIH0pO1xuXG5cdFx0XHRjb25zdCBbZGVmZXJyZWRNb2RlbCwgZGVmZXJyZWRDb21tYW5kc10gPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0XHRpZiAobW9kZWxIYXNDaGFuZ2VkKHRoaXMuY3VycmVudE1vZGVsLCB7IC4uLmRlZmVycmVkTW9kZWwsIC4uLm1vZGVsIH0pKSB7XG5cdFx0XHRcdHRoaXMuY3VycmVudE1vZGVsID0geyAuLi50aGlzLmN1cnJlbnRNb2RlbCwgLi4uZGVmZXJyZWRNb2RlbCwgLi4ubW9kZWwgfTtcblx0XHRcdFx0bW9kaWZpZWQgPSB0cnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRleGVjQ21kKHRoaXMuZGlzcGF0Y2gsIC4uLmNvbW1hbmRzLCAuLi5kZWZlcnJlZENvbW1hbmRzKTtcblxuXHRcdFx0bmV4dE1zZyA9IHRoaXMuYnVmZmVyLnNoaWZ0KCk7XG5cdFx0fSB3aGlsZSAobmV4dE1zZyk7XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdGlmICh0aGlzLm1vdW50ZWQgJiYgbW9kaWZpZWQpIHtcblx0XHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJVcGRhdGUgbW9kZWwgZm9yXCIsIHRoaXMuY29tcG9uZW50TmFtZSwgdGhpcy5jdXJyZW50TW9kZWwpO1xuXHRcdFx0dGhpcy5mb3JjZVVwZGF0ZSgpO1xuXHRcdH1cblx0fTtcblxuXHQvKipcblx0ICogRnVuY3Rpb24gdG8gbW9kaWZ5IHRoZSBtb2RlbCBiYXNlZCBvbiBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1vZGVsfSBtb2RlbCBUaGUgY3VycmVudCBtb2RlbC5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIHByb2Nlc3MuXG5cdCAqIEBwYXJhbSB7VFByb3BzfSBwcm9wcyBUaGUgcHJvcHMgb2YgdGhlIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSB1cGRhdGUgZnVuY3Rpb24uXG5cdCAqIEByZXR1cm5zIFRoZSBuZXcgbW9kZWwgKGNhbiBhbHNvIGJlIGFuIGVtcHR5IG9iamVjdCB7fSkgYW5kIGFuIG9wdGlvbmFsIG5ldyBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAYWJzdHJhY3Rcblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGFic3RyYWN0IHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcbn1cblxuZXhwb3J0IHsgRWxtQ29tcG9uZW50IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGVBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFlBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUwsT0FBQTtBQUFrQyxTQUFBRCx1QkFBQU8sQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxD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
|
|
191
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXIzIiwiX2Zha2VPcHRpb25zIiwiX0luaXQiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiYSIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuIiwibCIsImkiLCJ1IiwiZiIsIm5leHQiLCJkb25lIiwidmFsdWUiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydGllcyIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfaW5oZXJpdHMiLCJjcmVhdGUiLCJfc2V0UHJvdG90eXBlT2YiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkVsbUNvbXBvbmVudCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwiZGlzcG9zZUhhbmRsZXIiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl90aGlzIiwibXNnIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJtb2RpZmllZCIsImN1cnJlbnRNZXNzYWdlIiwibG9nTWVzc2FnZSIsImNvbXBvbmVudE5hbWUiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsImN1cnJlbnRNb2RlbCIsIl90aGlzJHVwZGF0ZSIsInVwZGF0ZSIsIl90aGlzJHVwZGF0ZTIiLCJtb2RlbCIsImNvbW1hbmRzIiwiX2dldERlZmVycmVkIiwiX2dldERlZmVycmVkMiIsImRlZmVycmVkTW9kZWwiLCJkZWZlcnJlZENvbW1hbmRzIiwibW9kZWxIYXNDaGFuZ2VkIiwiZXhlY0NtZCIsImRpc3BhdGNoIiwiY29uY2F0Iiwic2hpZnQiLCJtb3VudGVkIiwiX1NlcnZpY2VzJGxvZ2dlciIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZGVidWciLCJmb3JjZVVwZGF0ZSIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiX3JlZiIsIl9yZWYyIiwiaW5pdENvbW1hbmRzIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIl90aGlzJGRpc3Bvc2VIYW5kbGVyIiwiZ2V0IiwiUmVhY3QiLCJDb21wb25lbnQiXSwic291cmNlcyI6WyIuLi9zcmMvRWxtQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UsIG1vZGVsSGFzQ2hhbmdlZCB9IGZyb20gXCIuL0NvbW1vblwiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi9jcmVhdGVDYWxsQmFzZVwiO1xuaW1wb3J0IHsgY3JlYXRlRGVmZXIgfSBmcm9tIFwiLi9jcmVhdGVEZWZlclwiO1xuaW1wb3J0IHsgZ2V0RmFrZU9wdGlvbnNPbmNlIH0gZnJvbSBcIi4vZmFrZU9wdGlvbnNcIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3Bvc2VGdW5jdGlvbiwgSW5pdEZ1bmN0aW9uLCBNZXNzYWdlLCBOdWxsYWJsZSwgVXBkYXRlRnVuY3Rpb24gfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgRWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzLlxuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKi9cbi8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZVJlYWN0RnVuY3Rpb25Db21wb25lbnRzOiBUaGlzIGlzIG9ubHkgZm9yIGRvd253YXJkIGNvbXBhdGliaWxpdHkuXG5hYnN0cmFjdCBjbGFzcyBFbG1Db21wb25lbnQ8VE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRQcm9wcz4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8VFByb3BzPiB7XG5cdHByaXZhdGUgaW5pdENvbW1hbmRzOiBOdWxsYWJsZTwoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXT4gfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuXHRwcml2YXRlIHJlYWRvbmx5IGJ1ZmZlcjogVE1lc3NhZ2VbXSA9IFtdO1xuXHRwcml2YXRlIHJ1bm5pbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBtb3VudGVkID0gZmFsc2U7XG5cdHByaXZhdGUgY3VycmVudE1vZGVsOiBUTW9kZWw7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRWxtQ29tcG9uZW50LlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIGZvciB0aGUgY29tcG9uZW50LlxuXHQgKiBAcGFyYW0geygpID0+IFRNb2RlbH0gaW5pdCBUaGUgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihcblx0XHRwcm9wczogVFByb3BzLFxuXHRcdGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRcdG5hbWU6IHN0cmluZyxcblx0XHRwcml2YXRlIHJlYWRvbmx5IGRpc3Bvc2VIYW5kbGVyPzogRGlzcG9zZUZ1bmN0aW9uPFRNb2RlbD4sXG5cdCkge1xuXHRcdHN1cGVyKHByb3BzKTtcblxuXHRcdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cblx0XHRpZiAoZmFrZU9wdGlvbnM/LmRpc3BhdGNoKSB7XG5cdFx0XHR0aGlzLmRpc3BhdGNoID0gZmFrZU9wdGlvbnMuZGlzcGF0Y2g7XG5cdFx0fVxuXG5cdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQodGhpcy5wcm9wcyk7XG5cblx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiSW5pdGlhbCBtb2RlbCBmb3JcIiwgbmFtZSwgbW9kZWwpO1xuXG5cdFx0dGhpcy5jb21wb25lbnROYW1lID0gbmFtZTtcblx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuXHRcdHRoaXMuaW5pdENvbW1hbmRzID0gY29tbWFuZHM7XG5cdH1cblxuXHQvKipcblx0ICogSXMgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuXHRcdGlmICh0aGlzLmluaXRDb21tYW5kcykge1xuXHRcdFx0ZXhlY0NtZCh0aGlzLmRpc3BhdGNoLCAuLi50aGlzLmluaXRDb21tYW5kcyk7XG5cdFx0XHR0aGlzLmluaXRDb21tYW5kcyA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCBiZWZvcmUgdW5sb2FkaW5nIHRoZSBjb21wb25lbnQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50V2lsbFVubW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5kaXNwb3NlSGFuZGxlcj8uKHRoaXMuY3VycmVudE1vZGVsKTtcblx0XHR0aGlzLm1vdW50ZWQgPSBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjdXJyZW50IG1vZGVsLlxuXHQgKiBAcmVhZG9ubHlcblx0ICogQHR5cGUge1JlYWRvbmx5PFRNb2RlbD59XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bnVzZWQtY2xhc3MtY29tcG9uZW50LW1lbWJlcnMgLS0gV2UgbmVlZCBpdCBpbnRlcm5hbGx5LlxuXHRwdWJsaWMgZ2V0IG1vZGVsKCk6IFJlYWRvbmx5PFRNb2RlbD4ge1xuXHRcdHJldHVybiB0aGlzLmN1cnJlbnRNb2RlbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwYXRjaGVzIGEgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzcGF0Y2ggPSAobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuXHRcdGlmICh0aGlzLnJ1bm5pbmcpIHtcblx0XHRcdHRoaXMuYnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucnVubmluZyA9IHRydWU7XG5cblx0XHRsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG5cdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRkbyB7XG5cdFx0XHRjb25zdCBjdXJyZW50TWVzc2FnZSA9IG5leHRNc2c7XG5cblx0XHRcdGxvZ01lc3NhZ2UodGhpcy5jb21wb25lbnROYW1lLCBjdXJyZW50TWVzc2FnZSk7XG5cblx0XHRcdGNvbnN0IFtkZWZlciwgZ2V0RGVmZXJyZWRdID0gY3JlYXRlRGVmZXI8VE1vZGVsLCBUTWVzc2FnZT4oKTtcblx0XHRcdGNvbnN0IGNhbGxCYXNlID0gY3JlYXRlQ2FsbEJhc2UoY3VycmVudE1lc3NhZ2UsIHRoaXMuY3VycmVudE1vZGVsLCB0aGlzLnByb3BzLCB7IGRlZmVyIH0pO1xuXG5cdFx0XHRjb25zdCBbbW9kZWwsIC4uLmNvbW1hbmRzXSA9IHRoaXMudXBkYXRlKHRoaXMuY3VycmVudE1vZGVsLCBjdXJyZW50TWVzc2FnZSwgdGhpcy5wcm9wcywgeyBkZWZlciwgY2FsbEJhc2UgfSk7XG5cblx0XHRcdGNvbnN0IFtkZWZlcnJlZE1vZGVsLCBkZWZlcnJlZENvbW1hbmRzXSA9IGdldERlZmVycmVkKCk7XG5cblx0XHRcdGlmIChtb2RlbEhhc0NoYW5nZWQodGhpcy5jdXJyZW50TW9kZWwsIHsgLi4uZGVmZXJyZWRNb2RlbCwgLi4ubW9kZWwgfSkpIHtcblx0XHRcdFx0dGhpcy5jdXJyZW50TW9kZWwgPSB7IC4uLnRoaXMuY3VycmVudE1vZGVsLCAuLi5kZWZlcnJlZE1vZGVsLCAuLi5tb2RlbCB9O1xuXHRcdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0XHR9XG5cblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby1hcnJheS1mcm9udC1tdXRhdGlvbiAtLSBXZSBuZWVkIHRvIHJlbW92ZSBtZXNzYWdlcyBmcm9tIHRoZSBzdGFydC5cblx0XHRcdG5leHRNc2cgPSB0aGlzLmJ1ZmZlci5zaGlmdCgpO1xuXHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0dGhpcy5ydW5uaW5nID0gZmFsc2U7XG5cblx0XHRpZiAodGhpcy5tb3VudGVkICYmIG1vZGlmaWVkKSB7XG5cdFx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiVXBkYXRlIG1vZGVsIGZvclwiLCB0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuY3VycmVudE1vZGVsKTtcblx0XHRcdHRoaXMuZm9yY2VVcGRhdGUoKTtcblx0XHR9XG5cdH07XG5cblx0LyoqXG5cdCAqIEZ1bmN0aW9uIHRvIG1vZGlmeSB0aGUgbW9kZWwgYmFzZWQgb24gYSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0ge1RNb2RlbH0gbW9kZWwgVGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBwcm9jZXNzLlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgdXBkYXRlIGZ1bmN0aW9uLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3IG1vZGVsIChjYW4gYWxzbyBiZSBhbiBlbXB0eSBvYmplY3Qge30pIGFuZCBhbiBvcHRpb25hbCBuZXcgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQGFic3RyYWN0XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBhYnN0cmFjdCB1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbmV4cG9ydCB7IEVsbUNvbXBvbmVudCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7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
|
package/dist/cmd.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { type NoopMessage } from "./noop";
|
|
1
2
|
import type { Cmd, Message, Sub } from "./Types";
|
|
2
3
|
declare const cmd: {
|
|
3
4
|
/**
|
|
4
5
|
* Creates a command out of a specific message.
|
|
5
6
|
* @param {TMessage} msg The specific message.
|
|
6
7
|
*/
|
|
7
|
-
ofMsg<TMessage extends Message>(msg: TMessage): Cmd<TMessage>;
|
|
8
|
+
ofMsg<TMessage extends Message>(msg: TMessage | NoopMessage): Cmd<TMessage>;
|
|
8
9
|
/**
|
|
9
10
|
* Aggregates multiple commands.
|
|
10
11
|
* @param {Cmd<TMessage> []} commands Array of commands.
|
|
@@ -22,21 +23,21 @@ declare const cmd: {
|
|
|
22
23
|
* @param ofError Creates the message to dispatch when the function throws an error or, for an async function, the promise is rejected.
|
|
23
24
|
* @param args The parameters of the task.
|
|
24
25
|
*/
|
|
25
|
-
ofEither<TSuccessMessage extends Message, TErrorMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: Awaited<TReturn>) => TSuccessMessage, ofError: (error: Error) => TErrorMessage, ...args: TArgs): Cmd<TSuccessMessage | TErrorMessage>;
|
|
26
|
+
ofEither<TSuccessMessage extends Message, TErrorMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: Awaited<TReturn>) => TSuccessMessage | NoopMessage, ofError: (error: Error) => TErrorMessage | NoopMessage, ...args: TArgs): Cmd<TSuccessMessage | TErrorMessage>;
|
|
26
27
|
/**
|
|
27
28
|
* Creates a command out of a function and ignores the error case. This can also be an async function.
|
|
28
29
|
* @param task The async function to call.
|
|
29
30
|
* @param ofSuccess Creates the message to dispatch when the function runs successfully or, for an async function, the promise is resolved.
|
|
30
31
|
* @param args The parameters of the task.
|
|
31
32
|
*/
|
|
32
|
-
ofSuccess<TSuccessMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: Awaited<TReturn>) => TSuccessMessage, ...args: TArgs): Cmd<TSuccessMessage>;
|
|
33
|
+
ofSuccess<TSuccessMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: Awaited<TReturn>) => TSuccessMessage | NoopMessage, ...args: TArgs): Cmd<TSuccessMessage>;
|
|
33
34
|
/**
|
|
34
35
|
* Creates a command out of a function and ignores the success case. This can also be an async function.
|
|
35
36
|
* @param task The function to call.
|
|
36
37
|
* @param ofError Creates the message to dispatch when the function runs successfully or, for an async function, the promise is rejected.
|
|
37
38
|
* @param args The parameters of the task.
|
|
38
39
|
*/
|
|
39
|
-
ofError<TErrorMessage extends Message, TArgs extends unknown[]>(task: (...args: TArgs) => unknown, ofError: (error: Error) => TErrorMessage, ...args: TArgs): Cmd<TErrorMessage>;
|
|
40
|
+
ofError<TErrorMessage extends Message, TArgs extends unknown[]>(task: (...args: TArgs) => unknown, ofError: (error: Error) => TErrorMessage | NoopMessage, ...args: TArgs): Cmd<TErrorMessage>;
|
|
40
41
|
/**
|
|
41
42
|
* Creates a command out of a function and ignores both, the success case and the error case. This can also be an async function.
|
|
42
43
|
* @param task The function to call.
|
package/dist/cmd.js
CHANGED
|
@@ -4,12 +4,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.cmd = void 0;
|
|
7
|
+
var _noop = require("./noop");
|
|
8
|
+
/* eslint-disable unicorn/prefer-await -- We can't use async functions here. */
|
|
9
|
+
|
|
7
10
|
var cmd = exports.cmd = {
|
|
8
11
|
/**
|
|
9
12
|
* Creates a command out of a specific message.
|
|
10
13
|
* @param {TMessage} msg The specific message.
|
|
11
14
|
*/
|
|
12
15
|
ofMsg: function ofMsg(msg) {
|
|
16
|
+
if ((0, _noop.isNoop)(msg)) {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
13
19
|
return [function (dispatch) {
|
|
14
20
|
return dispatch(msg);
|
|
15
21
|
}];
|
|
@@ -48,15 +54,23 @@ var cmd = exports.cmd = {
|
|
|
48
54
|
try {
|
|
49
55
|
var taskResult = task.apply(void 0, args);
|
|
50
56
|
Promise.resolve(taskResult).then(function (result) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
var msg = ofSuccess(result);
|
|
58
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
59
|
+
dispatch(msg);
|
|
60
|
+
}
|
|
61
|
+
})["catch"](function (ex) {
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
|
|
63
|
+
var msg = ofError(ex);
|
|
64
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
65
|
+
dispatch(msg);
|
|
66
|
+
}
|
|
56
67
|
});
|
|
57
68
|
} catch (ex) {
|
|
58
69
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
|
|
59
|
-
|
|
70
|
+
var msg = ofError(ex);
|
|
71
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
72
|
+
dispatch(msg);
|
|
73
|
+
}
|
|
60
74
|
}
|
|
61
75
|
};
|
|
62
76
|
return [bind];
|
|
@@ -76,7 +90,10 @@ var cmd = exports.cmd = {
|
|
|
76
90
|
try {
|
|
77
91
|
var taskResult = task.apply(void 0, args);
|
|
78
92
|
Promise.resolve(taskResult).then(function (result) {
|
|
79
|
-
|
|
93
|
+
var msg = _ofSuccess(result);
|
|
94
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
95
|
+
dispatch(msg);
|
|
96
|
+
}
|
|
80
97
|
})["catch"](function () {
|
|
81
98
|
return fallback();
|
|
82
99
|
});
|
|
@@ -101,14 +118,19 @@ var cmd = exports.cmd = {
|
|
|
101
118
|
var taskResult = task.apply(void 0, args);
|
|
102
119
|
Promise.resolve(taskResult).then(function () {
|
|
103
120
|
return fallback === null || fallback === void 0 ? void 0 : fallback();
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
121
|
+
})["catch"](function (ex) {
|
|
122
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
|
|
123
|
+
var msg = _ofError(ex);
|
|
124
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
125
|
+
dispatch(msg);
|
|
126
|
+
}
|
|
108
127
|
});
|
|
109
128
|
} catch (ex) {
|
|
110
129
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
|
|
111
|
-
|
|
130
|
+
var msg = _ofError(ex);
|
|
131
|
+
if (!(0, _noop.isNoop)(msg)) {
|
|
132
|
+
dispatch(msg);
|
|
133
|
+
}
|
|
112
134
|
}
|
|
113
135
|
};
|
|
114
136
|
return [bind];
|
|
@@ -140,4 +162,4 @@ var cmd = exports.cmd = {
|
|
|
140
162
|
function defaultFallbackHandler() {
|
|
141
163
|
// blank
|
|
142
164
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbWQiLCJleHBvcnRzIiwib2ZNc2ciLCJtc2ciLCJkaXNwYXRjaCIsImJhdGNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImNvbW1hbmRzIiwiQXJyYXkiLCJfa2V5IiwiZmlsdGVyIiwiY3VycmVudCIsImZsYXQiLCJvZlN1YiIsInN1YiIsIm9mRWl0aGVyIiwidGFzayIsIm9mU3VjY2VzcyIsIm9mRXJyb3IiLCJfbGVuMiIsImFyZ3MiLCJfa2V5MiIsImJpbmQiLCJ0YXNrUmVzdWx0IiwiYXBwbHkiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJyZXN1bHQiLCJleCIsIl9sZW4zIiwiX2tleTMiLCJmYWxsYmFjayIsInVuZGVmaW5lZCIsImRlZmF1bHRGYWxsYmFja0hhbmRsZXIiLCJfdW51c2VkIiwiX2xlbjQiLCJfa2V5NCIsIm9mTm9uZSIsIl9sZW41IiwiX2tleTUiLCJfZGlzcGF0Y2giLCJfdW51c2VkMiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jbWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDbWQsIERpc3BhdGNoLCBGYWxsYmFja0hhbmRsZXIsIE1lc3NhZ2UsIFN1YiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmNvbnN0IGNtZCA9IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNwZWNpZmljIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgc3BlY2lmaWMgbWVzc2FnZS5cblx0ICovXG5cdG9mTXNnPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4obXNnOiBUTWVzc2FnZSk6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBbKGRpc3BhdGNoKSA9PiBkaXNwYXRjaChtc2cpXTtcblx0fSxcblxuXHQvKipcblx0ICogQWdncmVnYXRlcyBtdWx0aXBsZSBjb21tYW5kcy5cblx0ICogQHBhcmFtIHtDbWQ8VE1lc3NhZ2U+IFtdfSBjb21tYW5kcyBBcnJheSBvZiBjb21tYW5kcy5cblx0ICovXG5cdGJhdGNoPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oLi4uY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkIHwgbnVsbClbXSk6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBjb21tYW5kcy5maWx0ZXIoKGN1cnJlbnQpID0+IGN1cnJlbnQgIT0gbnVsbCkuZmxhdCgpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDb21tYW5kIHRvIGNhbGwgdGhlIHN1YnNjcmliZXIuXG5cdCAqIEBwYXJhbSB7U3ViPFRNZXNzYWdlPn0gc3ViIFRoZSBzdWJzY3JpYmVyIGZ1bmN0aW9uLlxuXHQgKi9cblx0b2ZTdWI8VE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihzdWI6IFN1YjxUTWVzc2FnZT4pOiBDbWQ8VE1lc3NhZ2U+IHtcblx0XHRyZXR1cm4gW3N1Yl07XG5cdH0sXG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIGZ1bmN0aW9uIGFuZCBtYXBzIHRoZSByZXN1bHQuIFRoaXMgY2FuIGFsc28gYmUgYW4gYXN5bmMgZnVuY3Rpb24uXG5cdCAqIEBwYXJhbSB0YXNrIFRoZSBmdW5jdGlvbiB0byBjYWxsLlxuXHQgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gcnVucyBzdWNjZXNzZnVsbHkgb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVzb2x2ZWQuXG5cdCAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gdGhyb3dzIGFuIGVycm9yIG9yLCBmb3IgYW4gYXN5bmMgZnVuY3Rpb24sIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLlxuXHQgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cblx0ICovXG5cdG9mRWl0aGVyPFRTdWNjZXNzTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJldHVybj4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLFxuXHRcdG9mU3VjY2VzczogKHJlc3VsdDogQXdhaXRlZDxUUmV0dXJuPikgPT4gVFN1Y2Nlc3NNZXNzYWdlLFxuXHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UsXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRTdWNjZXNzTWVzc2FnZSB8IFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2UgfCBURXJyb3JNZXNzYWdlPik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4gZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpKVxuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IGRpc3BhdGNoKG9mRXJyb3IoZXggYXMgRXJyb3IpKSk7XG5cdFx0XHR9IGNhdGNoIChleDogdW5rbm93bikge1xuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS10eXBlLWFzc2VydGlvbiAtLSBXZSBvbmx5IHN1cHBvcnQgRXJyb3IgdHlwZXMgaGVyZS5cblx0XHRcdFx0ZGlzcGF0Y2gob2ZFcnJvcihleCBhcyBFcnJvcikpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZlN1Y2Nlc3M8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybixcblx0XHRvZlN1Y2Nlc3M6IChyZXN1bHQ6IEF3YWl0ZWQ8VFJldHVybj4pID0+IFRTdWNjZXNzTWVzc2FnZSxcblx0XHQuLi5hcmdzOiBUQXJnc1xuXHQpOiBDbWQ8VFN1Y2Nlc3NNZXNzYWdlPiB7XG5cdFx0Y29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VFN1Y2Nlc3NNZXNzYWdlPiwgZmFsbGJhY2s6IEZhbGxiYWNrSGFuZGxlciA9IGRlZmF1bHRGYWxsYmFja0hhbmRsZXIpOiB2b2lkID0+IHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHRhc2tSZXN1bHQgPSB0YXNrKC4uLmFyZ3MpO1xuXG5cdFx0XHRcdFByb21pc2UucmVzb2x2ZSh0YXNrUmVzdWx0KVxuXHRcdFx0XHRcdC50aGVuKChyZXN1bHQpID0+IGRpc3BhdGNoKG9mU3VjY2VzcyhyZXN1bHQpKSlcblx0XHRcdFx0XHQuY2F0Y2goKCkgPT4gZmFsbGJhY2soKSk7XG5cdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0ZmFsbGJhY2soKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0cmV0dXJuIFtiaW5kXTtcblx0fSxcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIHN1Y2Nlc3MgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gcnVucyBzdWNjZXNzZnVsbHkgb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZFcnJvcjxURXJyb3JNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KFxuXHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gdW5rbm93bixcblx0XHRvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBURXJyb3JNZXNzYWdlLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxURXJyb3JNZXNzYWdlPiB7XG5cdFx0Y29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VEVycm9yTWVzc2FnZT4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCB0YXNrUmVzdWx0ID0gdGFzayguLi5hcmdzKTtcblxuXHRcdFx0XHRQcm9taXNlLnJlc29sdmUodGFza1Jlc3VsdClcblx0XHRcdFx0XHQudGhlbigoKSA9PiBmYWxsYmFjaz8uKCkpXG5cdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb24gLS0gV2Ugb25seSBzdXBwb3J0IEVycm9yIHR5cGVzIGhlcmUuXG5cdFx0XHRcdFx0LmNhdGNoKChleDogdW5rbm93bikgPT4gZGlzcGF0Y2gob2ZFcnJvcihleCBhcyBFcnJvcikpKTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRkaXNwYXRjaChvZkVycm9yKGV4IGFzIEVycm9yKSk7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdHJldHVybiBbYmluZF07XG5cdH0sXG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIGJvdGgsIHRoZSBzdWNjZXNzIGNhc2UgYW5kIHRoZSBlcnJvciBjYXNlLiBUaGlzIGNhbiBhbHNvIGJlIGFuIGFzeW5jIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZk5vbmU8VEVycm9yTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRBcmdzIGV4dGVuZHMgdW5rbm93bltdPihcblx0XHR0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IHVua25vd24sXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKF9kaXNwYXRjaDogRGlzcGF0Y2g8VEVycm9yTWVzc2FnZT4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCB0YXNrUmVzdWx0ID0gdGFzayguLi5hcmdzKTtcblxuXHRcdFx0XHRQcm9taXNlLnJlc29sdmUodGFza1Jlc3VsdClcblx0XHRcdFx0XHQudGhlbigoKSA9PiBmYWxsYmFjaz8uKCkpXG5cdFx0XHRcdFx0LmNhdGNoKCgpID0+IGZhbGxiYWNrPy4oKSk7XG5cdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0ZmFsbGJhY2s/LigpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxufTtcblxuZnVuY3Rpb24gZGVmYXVsdEZhbGxiYWNrSGFuZGxlcigpOiB2b2lkIHtcblx0Ly8gYmxhbmtcbn1cblxuZXhwb3J0IHsgY21kIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBQUMsT0FBQSxDQUFBRCxHQUFBLEdBQUc7RUFDWDtBQUNEO0FBQ0E7QUFDQTtFQUNDRSxLQUFLLFdBQUxBLEtBQUtBLENBQTJCQyxHQUFhLEVBQWlCO0lBQzdELE9BQU8sQ0FBQyxVQUFDQyxRQUFRO01BQUEsT0FBS0EsUUFBUSxDQUFDRCxHQUFHLENBQUM7SUFBQSxFQUFDO0VBQ3JDLENBQUM7RUFFRDtBQUNEO0FBQ0E7QUFDQTtFQUNDRSxLQUFLLFdBQUxBLEtBQUtBLENBQUEsRUFBNkY7SUFBQSxTQUFBQyxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUEvREMsUUFBUSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtNQUFSRixRQUFRLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO0lBQUE7SUFDMUMsT0FBT0YsUUFBUSxDQUFDRyxNQUFNLENBQUMsVUFBQ0MsT0FBTztNQUFBLE9BQUtBLE9BQU8sSUFBSSxJQUFJO0lBQUEsRUFBQyxDQUFDQyxJQUFJLENBQUMs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
|
|
165
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9vcCIsInJlcXVpcmUiLCJjbWQiLCJleHBvcnRzIiwib2ZNc2ciLCJtc2ciLCJpc05vb3AiLCJkaXNwYXRjaCIsImJhdGNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImNvbW1hbmRzIiwiQXJyYXkiLCJfa2V5IiwiZmlsdGVyIiwiY3VycmVudCIsImZsYXQiLCJvZlN1YiIsInN1YiIsIm9mRWl0aGVyIiwidGFzayIsIm9mU3VjY2VzcyIsIm9mRXJyb3IiLCJfbGVuMiIsImFyZ3MiLCJfa2V5MiIsImJpbmQiLCJ0YXNrUmVzdWx0IiwiYXBwbHkiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJyZXN1bHQiLCJleCIsIl9sZW4zIiwiX2tleTMiLCJmYWxsYmFjayIsInVuZGVmaW5lZCIsImRlZmF1bHRGYWxsYmFja0hhbmRsZXIiLCJfdW51c2VkIiwiX2xlbjQiLCJfa2V5NCIsIm9mTm9uZSIsIl9sZW41IiwiX2tleTUiLCJfZGlzcGF0Y2giLCJfdW51c2VkMiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jbWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgdW5pY29ybi9wcmVmZXItYXdhaXQgLS0gV2UgY2FuJ3QgdXNlIGFzeW5jIGZ1bmN0aW9ucyBoZXJlLiAqL1xuaW1wb3J0IHsgaXNOb29wLCB0eXBlIE5vb3BNZXNzYWdlIH0gZnJvbSBcIi4vbm9vcFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3BhdGNoLCBGYWxsYmFja0hhbmRsZXIsIE1lc3NhZ2UsIFN1YiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmNvbnN0IGNtZCA9IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNwZWNpZmljIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgc3BlY2lmaWMgbWVzc2FnZS5cblx0ICovXG5cdG9mTXNnPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4obXNnOiBUTWVzc2FnZSB8IE5vb3BNZXNzYWdlKTogQ21kPFRNZXNzYWdlPiB7XG5cdFx0aWYgKGlzTm9vcChtc2cpKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXG5cdFx0cmV0dXJuIFsoZGlzcGF0Y2gpID0+IGRpc3BhdGNoKG1zZyldO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBBZ2dyZWdhdGVzIG11bHRpcGxlIGNvbW1hbmRzLlxuXHQgKiBAcGFyYW0ge0NtZDxUTWVzc2FnZT4gW119IGNvbW1hbmRzIEFycmF5IG9mIGNvbW1hbmRzLlxuXHQgKi9cblx0YmF0Y2g8VE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiguLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQgfCBudWxsKVtdKTogQ21kPFRNZXNzYWdlPiB7XG5cdFx0cmV0dXJuIGNvbW1hbmRzLmZpbHRlcigoY3VycmVudCkgPT4gY3VycmVudCAhPSBudWxsKS5mbGF0KCk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENvbW1hbmQgdG8gY2FsbCB0aGUgc3Vic2NyaWJlci5cblx0ICogQHBhcmFtIHtTdWI8VE1lc3NhZ2U+fSBzdWIgVGhlIHN1YnNjcmliZXIgZnVuY3Rpb24uXG5cdCAqL1xuXHRvZlN1YjxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KHN1YjogU3ViPFRNZXNzYWdlPik6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBbc3ViXTtcblx0fSxcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgZnVuY3Rpb24gYW5kIG1hcHMgdGhlIHJlc3VsdC4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiB0aHJvd3MgYW4gZXJyb3Igb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZFaXRoZXI8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEVycm9yTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmV0dXJuPihcblx0XHR0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sXG5cdFx0b2ZTdWNjZXNzOiAocmVzdWx0OiBBd2FpdGVkPFRSZXR1cm4+KSA9PiBUU3VjY2Vzc01lc3NhZ2UgfCBOb29wTWVzc2FnZSxcblx0XHRvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBURXJyb3JNZXNzYWdlIHwgTm9vcE1lc3NhZ2UsXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRTdWNjZXNzTWVzc2FnZSB8IFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2UgfCBURXJyb3JNZXNzYWdlPik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZTdWNjZXNzKHJlc3VsdCk7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IHtcblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZFcnJvcihleCBhcyBFcnJvcik7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRjb25zdCBtc2cgPSBvZkVycm9yKGV4IGFzIEVycm9yKTtcblxuXHRcdFx0XHRpZiAoIWlzTm9vcChtc2cpKSB7XG5cdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZlN1Y2Nlc3M8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybixcblx0XHRvZlN1Y2Nlc3M6IChyZXN1bHQ6IEF3YWl0ZWQ8VFJldHVybj4pID0+IFRTdWNjZXNzTWVzc2FnZSB8IE5vb3BNZXNzYWdlLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxUU3VjY2Vzc01lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2U+LCBmYWxsYmFjazogRmFsbGJhY2tIYW5kbGVyID0gZGVmYXVsdEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZTdWNjZXNzKHJlc3VsdCk7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5jYXRjaCgoKSA9PiBmYWxsYmFjaygpKTtcblx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRmYWxsYmFjaygpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgc3VjY2VzcyBjYXNlLiBUaGlzIGNhbiBhbHNvIGJlIGFuIGFzeW5jIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cblx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZWplY3RlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZkVycm9yPFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXT4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiB1bmtub3duLFxuXHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UgfCBOb29wTWVzc2FnZSxcblx0XHQuLi5hcmdzOiBUQXJnc1xuXHQpOiBDbWQ8VEVycm9yTWVzc2FnZT4ge1xuXHRcdGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRFcnJvck1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gZmFsbGJhY2s/LigpKVxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IHtcblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZFcnJvcihleCBhcyBFcnJvcik7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRjb25zdCBtc2cgPSBvZkVycm9yKGV4IGFzIEVycm9yKTtcblxuXHRcdFx0XHRpZiAoIWlzTm9vcChtc2cpKSB7XG5cdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyBib3RoLCB0aGUgc3VjY2VzcyBjYXNlIGFuZCB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZOb25lPFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXT4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiB1bmtub3duLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxURXJyb3JNZXNzYWdlPiB7XG5cdFx0Y29uc3QgYmluZCA9IChfZGlzcGF0Y2g6IERpc3BhdGNoPFRFcnJvck1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gZmFsbGJhY2s/LigpKVxuXHRcdFx0XHRcdC5jYXRjaCgoKSA9PiBmYWxsYmFjaz8uKCkpO1xuXHRcdFx0fSBjYXRjaCB7XG5cdFx0XHRcdGZhbGxiYWNrPy4oKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0cmV0dXJuIFtiaW5kXTtcblx0fSxcbn07XG5cbmZ1bmN0aW9uIGRlZmF1bHRGYWxsYmFja0hhbmRsZXIoKTogdm9pZCB7XG5cdC8vIGJsYW5rXG59XG5cbmV4cG9ydCB7IGNtZCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFEQTs7QUFJQSxJQUFNQyxHQUFHLEdBQUFDLE9BQUEsQ0FBQUQsR0FBQSxHQUFHO0VBQ1g7QUFDRDtBQUNBO0FBQ0E7RUFDQ0UsS0FBSyxXQUFMQSxLQUFLQSxDQUEyQkMsR0FBMkIsRUFBaUI7SUFDM0UsSUFBSSxJQUFBQyxZQUFNLEVBQUNELEdBQUcsQ0FBQyxFQUFFO01BQ2hCLE9BQU8sRUFBRTtJQUNWO0lBRUEsT0FBTyxDQUFDLFVBQUNFLFFBQVE7TUFBQSxPQUFLQSxRQUFRLENBQUNGLEdBQUcsQ0FBQztJQUFBLEVBQUM7RUFDckMsQ0FBQztFQUVEO0FBQ0Q7QUFDQTtBQUNBO0VBQ0NHLEtBQUssV0FBTEEsS0FBS0EsQ0FBQSxFQUE2RjtJQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLEVBQS9EQyxRQUFRLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxHQUFBSyxJQUFBLE1BQUFBLElBQUEsR0FBQUwsSUFBQSxFQUFBSyxJQUFBO01BQVJGLFFBQVEsQ0FBQUUsSUFBQSxJQUFBSixTQUFBLENBQUFJLElBQUE7SUFBQTtJQUMxQyxPQUFPRixRQUFRLENBQUNHLE1BQU0s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
|