single-scripture-rcl 3.4.9-beta.8 → 3.4.10-beta
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.
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "core-js/modules/es.array.concat.js";
|
|
2
2
|
import "core-js/modules/es.array.find.js";
|
|
3
3
|
import "core-js/modules/es.array.index-of.js";
|
|
4
|
+
import "core-js/modules/es.array.is-array.js";
|
|
4
5
|
import "core-js/modules/es.array.iterator.js";
|
|
5
|
-
import "core-js/modules/es.object.define-property.js";
|
|
6
6
|
import "core-js/modules/es.object.to-string.js";
|
|
7
7
|
import "core-js/modules/es.parse-int.js";
|
|
8
8
|
import "core-js/modules/es.regexp.exec.js";
|
|
@@ -24,6 +24,12 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
|
|
|
24
24
|
|
|
25
25
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
26
26
|
|
|
27
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
28
|
+
|
|
29
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
30
|
+
|
|
31
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
32
|
+
|
|
27
33
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
28
34
|
|
|
29
35
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -36,12 +42,6 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
|
|
|
36
42
|
|
|
37
43
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
38
44
|
|
|
39
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
40
|
-
|
|
41
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
42
|
-
|
|
43
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
44
|
-
|
|
45
45
|
import { CONTENT_NOT_FOUND_ERROR, INVALID_MANIFEST_ERROR, LOADING_STATE, MANIFEST_NOT_LOADED_ERROR, SCRIPTURE_NOT_LOADED_ERROR } from 'translation-helps-rcl';
|
|
46
46
|
import { BOOK_NOT_FOUND_ERROR_MSG, LOADING_RESOURCE, MANIFEST_INVALID_ERROR_MSG, MANIFEST_NOT_FOUND_ERROR_MSG, NT_ORIG_LANG, NT_ORIG_LANG_BIBLE, ORIGINAL_SOURCE, OT_ORIG_LANG, OT_ORIG_LANG_BIBLE, SCRIPTURE_NOT_FOUND_ERROR_MSG, TARGET_LITERAL, TARGET_SIMPLIFIED } from './common';
|
|
47
47
|
export var DISABLE_WORD_POPOVER = true; // disable word popover for every scripture pane but original languages
|
|
@@ -50,6 +50,21 @@ export function getResourceLink(scripture) {
|
|
|
50
50
|
var ref = scripture.ref || scripture.branch;
|
|
51
51
|
return "".concat(scripture.owner, "/").concat(scripture.languageId, "/").concat(scripture.resourceId, "/").concat(ref);
|
|
52
52
|
}
|
|
53
|
+
export function parseResourceLink(resourceLink) {
|
|
54
|
+
var _resourceLink$split = resourceLink.split('/'),
|
|
55
|
+
_resourceLink$split2 = _slicedToArray(_resourceLink$split, 4),
|
|
56
|
+
owner = _resourceLink$split2[0],
|
|
57
|
+
languageId = _resourceLink$split2[1],
|
|
58
|
+
resourceId = _resourceLink$split2[2],
|
|
59
|
+
ref = _resourceLink$split2[3];
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
owner: owner,
|
|
63
|
+
languageId: languageId,
|
|
64
|
+
resourceId: resourceId,
|
|
65
|
+
ref: ref
|
|
66
|
+
};
|
|
67
|
+
}
|
|
53
68
|
export function getScriptureObject(_ref) {
|
|
54
69
|
var title = _ref.title,
|
|
55
70
|
server = _ref.server,
|
|
@@ -244,11 +259,11 @@ export function getRepoUrl(resourceLink, server, isNT) {
|
|
|
244
259
|
var repoUrl;
|
|
245
260
|
|
|
246
261
|
try {
|
|
247
|
-
var _resourceLink$
|
|
248
|
-
_resourceLink$
|
|
249
|
-
owner = _resourceLink$
|
|
250
|
-
languageId = _resourceLink$
|
|
251
|
-
resourceId = _resourceLink$
|
|
262
|
+
var _resourceLink$split3 = resourceLink.split('/'),
|
|
263
|
+
_resourceLink$split4 = _slicedToArray(_resourceLink$split3, 3),
|
|
264
|
+
owner = _resourceLink$split4[0],
|
|
265
|
+
languageId = _resourceLink$split4[1],
|
|
266
|
+
resourceId = _resourceLink$split4[2];
|
|
252
267
|
|
|
253
268
|
switch (resourceId) {
|
|
254
269
|
case ORIGINAL_SOURCE:
|
|
@@ -464,4 +479,4 @@ export function getBibleIdFromUsfmContentID(bibleUsfm) {
|
|
|
464
479
|
|
|
465
480
|
return null;
|
|
466
481
|
}
|
|
467
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9TY3JpcHR1cmVTZXR0aW5ncy50cyJdLCJuYW1lcyI6WyJDT05URU5UX05PVF9GT1VORF9FUlJPUiIsIklOVkFMSURfTUFOSUZFU1RfRVJST1IiLCJMT0FESU5HX1NUQVRFIiwiTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUiIsIlNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SIiwiQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHIiwiTE9BRElOR19SRVNPVVJDRSIsIk1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHIiwiTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyIsIk5UX09SSUdfTEFORyIsIk5UX09SSUdfTEFOR19CSUJMRSIsIk9SSUdJTkFMX1NPVVJDRSIsIk9UX09SSUdfTEFORyIsIk9UX09SSUdfTEFOR19CSUJMRSIsIlNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHIiwiVEFSR0VUX0xJVEVSQUwiLCJUQVJHRVRfU0lNUExJRklFRCIsIkRJU0FCTEVfV09SRF9QT1BPVkVSIiwiZ2V0UmVzb3VyY2VMaW5rIiwic2NyaXB0dXJlIiwicmVmIiwiYnJhbmNoIiwib3duZXIiLCJsYW5ndWFnZUlkIiwicmVzb3VyY2VJZCIsImdldFNjcmlwdHVyZU9iamVjdCIsInRpdGxlIiwic2VydmVyIiwicmVzb3VyY2VMaW5rIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiZ2V0VmVyc2VEYXRhRnJvbVNjcmlwQ29uZmlnIiwic2NyaXB0dXJlQ29uZmlnIiwidmVyc2VOdW0iLCJ2ZXJzZXNGb3JSZWYiLCJmaW5kIiwidmVyc2VSZWYiLCJ2ZXJzZSIsImlzT3JpZ2luYWxCaWJsZSIsImlzT3JpZyIsImNsZWFudXBBY2NvdW50U2V0dGluZ3MiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRPd25lciIsImN1cnJlbnRMYW5ndWFnZUlkIiwic3BsaXRVcmwiLCJvcmlnaW5hbFJlcG9VcmwiLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJib29rSWQiLCJzY3JpcHR1cmVTZXR0aW5nc18iLCJpc05ld1Rlc3RhbWVudCIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsImxhYmVsIiwic2V0U2NyaXB0dXJlIiwic2NyaXB0dXJlVmVyc2lvbkhpc3QiLCJoaXN0b3J5IiwiZ2V0TGF0ZXN0IiwiaW5kZXgiLCJmaW5kSXRlbUluZGV4QnlLZXkiLCJzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyIsIm9wdGlvbnMiLCJjdXJyZW50IiwiYWxsb3dVc2VySW5wdXQiLCJvbkNoYW5nZSIsInZhbGlkYXRpb25DQiIsIml0ZW0iLCJuZXdJdGVtIiwiYWRkSXRlbVRvSGlzdG9yeSIsImdldEl0ZW1CeVRpdGxlIiwiZGVsZXRlSXRlbSIsImRlbGV0ZUluZGV4IiwicmVtb3ZlSXRlbUJ5SW5kZXgiLCJnZXRSZXBvVXJsIiwiaXNOVCIsInJlcG9VcmwiLCJzcGxpdCIsImUiLCJnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsiLCJlcnJvckNvZGUiLCJlcnJvck1zZyIsInZhbGlkYXRlRGNzVXJsIiwidmFsaWRSZXBvUGF0aCIsInZhbGlkVXJsIiwicGFydHMiLCJwcm90b2NvbCIsImhvc3QiLCJ1c2VyIiwicmVwbyIsImhvc3RQYXJ0cyIsImxlbmd0aCIsInBhcnQiLCJwcm9qZWN0SWQiLCJjb25zb2xlIiwibG9nIiwiZ2V0UmVzb3VyY2VFcnJvck1lc3NhZ2UiLCJyZXNvdXJjZVN0YXR1cyIsIm1lc3NhZ2UiLCJnZXRSZXNvdXJjZU1lc3NhZ2UiLCJnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyIsImZpeE9jY3VycmVuY2UiLCJvY2N1cnJlbmNlIiwicGFyc2VJbnQiLCJjbGVhbnVwVmVyc2VPYmplY3RzIiwidmVyc2VPYmplY3RzIiwidmVyc2VPYmplY3RzXyIsImkiLCJsIiwidm8iLCJ0eXBlIiwib2NjdXJyZW5jZXMiLCJ3b3JkIiwiY2hpbGRyZW4iLCJuZXdWbyIsImdldEJvb2tOYW1lRnJvbVVzZm1GaWxlTmFtZSIsImZpbGVuYW1lIiwicmVnZXgiLCJib29rTmFtZSIsIm1hdGNoIiwiZ2V0QmlibGVJZEZyb21Vc2ZtQ29udGVudElEIiwiYmlibGVVc2ZtIiwiaWRIZWFkZXIiLCJwb3NJZCIsImluZGV4T2YiLCJpZFN0YXJ0IiwiaGVhZGVySWQiLCJzdWJzdHJpbmciLCJ0cmltIiwiaGVhZGVyQm9va0lEIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQ0VBLHVCQURGLEVBRUVDLHNCQUZGLEVBR0VDLGFBSEYsRUFJRUMseUJBSkYsRUFLRUMsMEJBTEYsUUFNTyx1QkFOUDtBQU9BLFNBQ0VDLHdCQURGLEVBRUVDLGdCQUZGLEVBR0VDLDBCQUhGLEVBSUVDLDRCQUpGLEVBS0VDLFlBTEYsRUFNRUMsa0JBTkYsRUFPRUMsZUFQRixFQVFFQyxZQVJGLEVBU0VDLGtCQVRGLEVBVUVDLDZCQVZGLEVBV0VDLGNBWEYsRUFZRUMsaUJBWkYsUUFhTyxVQWJQO0FBZUEsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyxJQUE3QixDLENBQWtDOztBQUV6QyxPQUFPLFNBQVNDLGVBQVQsQ0FBeUJDLFNBQXpCLEVBQW9DO0FBQ3pDLE1BQU1DLEdBQUcsR0FBR0QsU0FBUyxDQUFDQyxHQUFWLElBQWlCRCxTQUFTLENBQUNFLE1BQXZDO0FBQ0EsbUJBQVVGLFNBQVMsQ0FBQ0csS0FBcEIsY0FBNkJILFNBQVMsQ0FBQ0ksVUFBdkMsY0FBcURKLFNBQVMsQ0FBQ0ssVUFBL0QsY0FBNkVKLEdBQTdFO0FBQ0Q7QUFFRCxPQUFPLFNBQVNLLGtCQUFULE9BVUo7QUFBQSxNQVREQyxLQVNDLFFBVERBLEtBU0M7QUFBQSxNQVJEQyxNQVFDLFFBUkRBLE1BUUM7QUFBQSxNQVBETCxLQU9DLFFBUERBLEtBT0M7QUFBQSxNQU5ERixHQU1DLFFBTkRBLEdBTUM7QUFBQSxNQUxERyxVQUtDLFFB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akM7QUFDQSxRQUFJbUMsUUFBUSxHQUFHTCxTQUFILGFBQUdBLFNBQUgsdUJBQUdBLFNBQVMsQ0FBRU0sU0FBWCxDQUFzQkYsT0FBdEIsRUFBK0JBLE9BQU8sR0FBRyxHQUF6QyxFQUE4Q0csSUFBOUMsRUFBZjtBQUNBLFFBQUlDLFlBQVksR0FBRyxJQUFuQjs7QUFFQSxRQUFJLENBQUFILFFBQVEsU0FBUixJQUFBQSxRQUFRLFdBQVIsWUFBQUEsUUFBUSxDQUFFbkMsTUFBVixJQUFtQixDQUF2QixFQUEwQjtBQUFBOztBQUN4QnNDLE1BQUFBLFlBQVksR0FBR0gsUUFBSCxhQUFHQSxRQUFILHVCQUFHQSxRQUFRLENBQUVqRCxLQUFWLENBQWdCLEdBQWhCLENBQWY7QUFDQW9ELE1BQUFBLFlBQVksb0JBQUdBLFlBQUgsa0RBQUcsY0FBZSxDQUFmLEVBQWtCRCxJQUFsQixFQUFmO0FBQ0Q7O0FBQ0QsV0FBT0MsWUFBUDtBQUNEOztBQUNELFNBQU8sSUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IsXG4gIElOVkFMSURfTUFOSUZFU1RfRVJST1IsXG4gIExPQURJTkdfU1RBVEUsXG4gIE1BTklGRVNUX05PVF9MT0FERURfRVJST1IsXG4gIFNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SLFxufSBmcm9tICd0cmFuc2xhdGlvbi1oZWxwcy1yY2wnXG5pbXBvcnQge1xuICBCT09LX05PVF9GT1VORF9FUlJPUl9NU0csXG4gIExPQURJTkdfUkVTT1VSQ0UsXG4gIE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHLFxuICBNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBOVF9PUklHX0xBTkcsXG4gIE5UX09SSUdfTEFOR19CSUJMRSxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkcsXG4gIE9UX09SSUdfTEFOR19CSUJMRSxcbiAgU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0csXG4gIFRBUkdFVF9MSVRFUkFMLFxuICBUQVJHRVRfU0lNUExJRklFRCxcbn0gZnJvbSAnLi9jb21tb24nXG5cbmV4cG9ydCBjb25zdCBESVNBQkxFX1dPUkRfUE9QT1ZFUiA9IHRydWUgLy8gZGlzYWJsZSB3b3JkIHBvcG92ZXIgZm9yIGV2ZXJ5IHNjcmlwdHVyZSBwYW5lIGJ1dCBvcmlnaW5hbCBsYW5ndWFnZXNcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTGluayhzY3JpcHR1cmUpIHtcbiAgY29uc3QgcmVmID0gc2NyaXB0dXJlLnJlZiB8fCBzY3JpcHR1cmUuYnJhbmNoXG4gIHJldHVybiBgJHtzY3JpcHR1cmUub3duZXJ9LyR7c2NyaXB0dXJlLmxhbmd1YWdlSWR9LyR7c2NyaXB0dXJlLnJlc291cmNlSWR9LyR7cmVmfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZU9iamVjdCh7XG4gIHRpdGxlLFxuICBzZXJ2ZXIsXG4gIG93bmVyLFxuICByZWYsXG4gIGxhbmd1YWdlSWQsXG4gIHJlc291cmNlSWQsXG4gIHJlc291cmNlTGluayxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG59KSB7XG4gIGNvbnN0IHNjcmlwdHVyZSA9IHtcbiAgICB0aXRsZSxcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICAgIHJlZixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgIHJlc291cmNlTGluayxcbiAgfVxuXG4gIGlmICghcmVzb3VyY2VMaW5rKSB7XG4gICAgc2NyaXB0dXJlLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayh7XG4gICAgICBvd25lcixcbiAgICAgIHJlZixcbiAgICAgIGxhbmd1YWdlSWQsXG4gICAgICByZXNvdXJjZUlkLFxuICAgIH0pXG4gIH1cbiAgcmV0dXJuIHNjcmlwdHVyZVxufVxuXG4vKipcbiAqIHJldHVybiB2ZXJzZSBkYXRhIGdpdmVuIGEgc2NyaXB0dXJlIGNvbmZpZyBhbmQgdmVyc2UgbnVtYmVyXG4gKiBAcGFyYW0gc2NyaXB0dXJlQ29uZmlnXG4gKiBAcGFyYW0gdmVyc2VOdW1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNlRGF0YUZyb21TY3JpcENvbmZpZyhzY3JpcHR1cmVDb25maWcsIHZlcnNlTnVtKSB7XG4gIHJldHVybiBzY3JpcHR1cmVDb25maWc/LnZlcnNlc0ZvclJlZj8uZmluZChcbiAgICB2ZXJzZVJlZiA9PiB2ZXJzZVJlZi52ZXJzZSA9PT0gdmVyc2VOdW1cbiAgKVxufVxuXG4vKipcbiAqIHJldHVybiB0cnVlIGlmIHJlc291cmNlIGlzIGFuIG9yaWdpbmFsIGxhbmd1YWdlIGJpYmxlXG4gKiBAcGFyYW0gcmVzb3VyY2VJZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPcmlnaW5hbEJpYmxlKHJlc291cmNlSWQpIHtcbiAgY29uc3QgaXNPcmlnID0gKChyZXNvdXJjZUlkID09PSBOVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPUklHSU5BTF9TT1VSQ0UpKVxuICByZXR1cm4gaXNPcmlnXG59XG5cbi8qKlxuICogbWFrZSBzdXJlIHNjcmlwdHVyZVNldHRpbmdzIGFyZSB1cCB0byBkYXRlIHdpdGggY3VycmVudCBvd25lciBhbmQgbGFuZ3VhZ2VcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc1xuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5nczogYW55LCBjdXJyZW50T3duZXI6IGFueSwgY3VycmVudExhbmd1YWdlSWQ6IGFueSkge1xuICBpZiAoY3VycmVudE93bmVyICYmIChjdXJyZW50T3duZXIgIT09IHNjcmlwdHVyZVNldHRpbmdzLm93bmVyKSkgeyAvLyBpZiBvd25lciBjaGFuZ2VkLCB1cGRhdGUgc2NyaXB0dXJlU2V0dGluZ3NcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IGN1cnJlbnRPd25lclxuICB9XG5cbiAgaWYgKGN1cnJlbnRMYW5ndWFnZUlkICYmIChjdXJyZW50TGFuZ3VhZ2VJZCAhPT0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCkpIHsgLy8gaWYgbGFuZ3VhZ2UgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9IGN1cnJlbnRMYW5ndWFnZUlkXG4gIH1cbn1cblxuLyoqXG4gKiBzZXBhcmF0ZSBVUkwgaW50byBzZXJ2ZXIgYW5kIHJlc291cmNlIGxpbmtcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybCkge1xuICBpZiAob3JpZ2luYWxSZXBvVXJsKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChvcmlnaW5hbFJlcG9VcmwpXG4gICAgY29uc3Qgc2VydmVyID0gdXJsLm9yaWdpblxuICAgIGNvbnN0IHJlc291cmNlTGluayA9IHVybC5wYXRobmFtZSArICh1cmwuc2VhcmNoIHx8ICcnKVxuICAgIHJldHVybiB7IHNlcnZlciwgcmVzb3VyY2VMaW5rIH1cbiAgfVxuICByZXR1cm4ge31cbn1cblxuLyoqXG4gKiBnZXQgdGhlIHNjcmlwdHVyZSBzZXR0aW5ncyBuZWVkZWQgZm9yIGZldGNoIC0gZm9yIE9yaWdMYW5nLCBVTFQsIEdMVCB3aWxsIHJlcGxhY2Ugb3duZXIgYW5kIGxhbmd1YWdlSWQgd2l0aCBjb3JyZWN0IHZhbHVlc1xuICogQHBhcmFtIHtzdHJpbmd9IGJvb2tJZFxuICogQHBhcmFtIHtvYmplY3R9IHNjcmlwdHVyZVNldHRpbmdzX1xuICogQHBhcmFtIHtib29sZWFufSBpc05ld1Rlc3RhbWVudFxuICogQHBhcmFtIHtzdHJpbmd9IG9yaWdpbmFsUmVwb1VybCAtIG9wdGlvbmFsIHBhdGggdG8gcmVwbyBmb3Igb3JpZ2luYWwgbGFuZ3VhZ2VcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50TGFuZ3VhZ2VJZCAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgbGFuZ3VhZ2UgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudE93bmVyIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBvd25lciBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MoXG4gIGJvb2tJZCwgc2NyaXB0dXJlU2V0dGluZ3NfLCBpc05ld1Rlc3RhbWVudCxcbiAgb3JpZ2luYWxSZXBvVXJsPW51bGwsXG4gIGN1cnJlbnRMYW5ndWFnZUlkPW51bGwsXG4gIGN1cnJlbnRPd25lcj1udWxsLFxuKSB7XG4gIGNvbnN0IHNjcmlwdHVyZVNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVTZXR0aW5nc18gfVxuICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBESVNBQkxFX1dPUkRfUE9QT1ZFUlxuICBjb25zdCByZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3NfLnJlc291cmNlSWRcblxuICBpZiAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSB7XG4gICAgLy8gc2VsZWN0IG9yaWdpbmFsIGxhbmd1YWdlIEJpYmxlIGJhc2VkIG9uIHdoaWNoIHRlc3RhbWVudCB0aGUgYm9vayBiZWxvbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9IGlzTmV3VGVzdGFtZW50ID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IGlzTmV3VGVzdGFtZW50XG4gICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgOiBPVF9PUklHX0xBTkdfQklCTEVcblxuICAgIGlmIChzY3JpcHR1cmVTZXR0aW5ncy5vcmlnaW5hbExhbmd1YWdlT3duZXIpIHtcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLm93bmVyID0gc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyXG4gICAgfVxuXG4gICAgaWYgKG9yaWdpbmFsUmVwb1VybCkgeyAvLyB1c2UgdGhpcyB1cmwgaWYgZGVmaW5lZFxuICAgICAgY29uc3QgeyBzZXJ2ZXIsIHJlc291cmNlTGluayB9ID0gc3BsaXRVcmwob3JpZ2luYWxSZXBvVXJsKVxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3Muc2VydmVyID0gc2VydmVyXG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSByZXNvdXJjZUxpbmtcbiAgICB9IGVsc2UgeyAvLyBmYWxsIGJhY2sgdG8gYXBwIGRlZmF1bHRzXG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgfVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLmRpc2FibGVXb3JkUG9wb3ZlciA9IGZhbHNlXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX0xJVEVSQUwpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VsdCcgOiAnZ2x0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfSBlbHNlIGlmIChyZXNvdXJjZUlkID09PSBUQVJHRVRfU0lNUExJRklFRCkge1xuICAgIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3MsIGN1cnJlbnRPd25lciwgY3VycmVudExhbmd1YWdlSWQpXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPT09ICdlbicgPyAndXN0JyA6ICdnc3QnXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVTZXR0aW5nc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzKHtcbiAgbGFiZWwsXG4gIHJlc291cmNlTGluayxcbiAgc2V0U2NyaXB0dXJlLFxuICBzY3JpcHR1cmVWZXJzaW9uSGlzdCxcbn0pIHtcbiAgY29uc3QgaGlzdG9yeSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldExhdGVzdCgpXG4gIGxldCBpbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCAncmVzb3VyY2VMaW5rJywgcmVzb3VyY2VMaW5rKVxuXG4gIGNvbnN0IHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnID0ge1xuICAgIGxhYmVsLCAvLyBsYWJlbCBmb3IgY29tYm9ib3hcbiAgICBvcHRpb25zOiBoaXN0b3J5LFxuICAgIGN1cnJlbnQ6IGluZGV4LFxuICAgIGFsbG93VXNlcklucHV0OiB0cnVlLFxuICAgIG9uQ2hhbmdlOiAodGl0bGUsIGluZGV4LCB2YWxpZGF0aW9uQ0I9bnVsbCkgPT4ge1xuICAgICAgbGV0IGl0ZW1cblxuICAgICAgaWYgKChpbmRleCA8IDApICYmIHRpdGxlKSB7XG4gICAgICAgIGNvbnN0IG5ld0l0ZW0gPSB7XG4gICAgICAgICAgdXJsOiB0aXRsZSxcbiAgICAgICAgICB0aXRsZSxcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3SXRlbSlcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVtpbmRleF1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXRlbSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldEl0ZW1CeVRpdGxlKHRpdGxlKVxuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbSkge1xuICAgICAgICBzZXRTY3JpcHR1cmUoaXRlbSwgdmFsaWRhdGlvbkNCKVxuICAgICAgfVxuICAgIH0sXG4gICAgZGVsZXRlSXRlbTogdGl0bGUgPT4ge1xuICAgICAgY29uc3QgaGlzdG9yeSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldExhdGVzdCgpXG4gICAgICBjb25zdCBkZWxldGVJbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCAndGl0bGUnLCB0aXRsZSlcbiAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LnJlbW92ZUl0ZW1CeUluZGV4KGRlbGV0ZUluZGV4KVxuICAgIH0sXG4gIH1cblxuICByZXR1cm4gc2NyaXB0dXJlU2VsZWN0b3JDb25maWdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlcG9VcmwocmVzb3VyY2VMaW5rOiBzdHJpbmcsIHNlcnZlcjogc3RyaW5nLCBpc05UOiBib29sZWFuKTogc3RyaW5nIHtcbiAgbGV0IHJlcG9VcmxcblxuICB0cnkge1xuICAgIGxldCBbb3duZXIsIGxhbmd1YWdlSWQsIHJlc291cmNlSWRdID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcblxuICAgIHN3aXRjaCAocmVzb3VyY2VJZCkge1xuICAgIGNhc2UgT1JJR0lOQUxfU09VUkNFOlxuICAgICAgbGFuZ3VhZ2VJZCA9IGlzTlQgPyBOVF9PUklHX0xBTkcgOiBPVF9PUklHX0xBTkdcbiAgICAgIHJlc291cmNlSWQgPSBpc05UXG4gICAgICAgID8gTlRfT1JJR19MQU5HX0JJQkxFXG4gICAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG4gICAgICBicmVha1xuXG4gICAgY2FzZSBUQVJHRVRfTElURVJBTDpcbiAgICAgIHJlc291cmNlSWQgPSAobGFuZ3VhZ2VJZCA9PT0gJ2VuJykgPyAndWx0JyA6ICdnbHQnXG4gICAgICBicmVha1xuXG4gICAgY2FzZSBUQVJHRVRfU0lNUExJRklFRDpcbiAgICAgIHJlc291cmNlSWQgPSAobGFuZ3VhZ2VJZCA9PT0gJ2VuJykgPyAndXN0JyA6ICdnc3QnXG4gICAgICBicmVha1xuICAgIH1cbiAgICByZXBvVXJsID0gYCR7b3duZXJ9LyR7bGFuZ3VhZ2VJZH1fJHtyZXNvdXJjZUlkfWBcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIHJlc291cmNlTGluayB3YXMgaW52YWxpZFxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gYCR7c2VydmVyIHx8ICcnfS8ke3JlcG9Vcmx9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JNZXNzYWdlRm9yUmVzb3VyY2VMaW5rKFxuICByZXNvdXJjZUxpbms6IHN0cmluZyxcbiAgc2VydmVyOiBzdHJpbmcsXG4gIGVycm9yQ29kZTogc3RyaW5nLFxuICBpc05UOiBib29sZWFuKTogc3RyaW5nXG57XG4gIGNvbnN0IHJlcG9VcmwgPSBnZXRSZXBvVXJsKHJlc291cmNlTGluaywgc2VydmVyLCBpc05UKVxuICBjb25zdCBlcnJvck1zZyA9IGVycm9yQ29kZSArIHJlcG9VcmxcbiAgcmV0dXJuIGVycm9yTXNnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURjc1VybCh1cmwpIHtcbiAgbGV0IHZhbGlkUmVwb1BhdGggPSBmYWxzZVxuICBsZXQgdmFsaWRVcmwgPSBmYWxzZVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcGFydHMgPSB1cmwuc3BsaXQoJy8nKVxuICAgIGNvbnN0IFtwcm90b2NvbCwgLCBob3N0LCB1c2VyLCByZXBvXSA9IHBhcnRzXG4gICAgdmFsaWRVcmwgPSAocHJvdG9jb2wgPT09ICdodHRwczonKVxuICAgIGNvbnN0IGhvc3RQYXJ0cyA9IGhvc3QgPyBob3N0LnNwbGl0KCcuJykgOiBbXVxuXG4gICAgaWYgKGhvc3RQYXJ0cy5sZW5ndGggPj0gMikge1xuICAgICAgZm9yIChsZXQgcGFydCBvZiBob3N0UGFydHMpIHtcbiAgICAgICAgaWYgKCFwYXJ0KSB7XG4gICAgICAgICAgdmFsaWRVcmwgPSBmYWxzZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFsaWRVcmwgPSBmYWxzZVxuICAgIH1cblxuICAgIGlmICggcHJvdG9jb2wgJiYgaG9zdCAmJiB1c2VyICYmIHJlcG8gKSB7XG4gICAgICBjb25zdCBbbGFuZ3VhZ2VJZCwgcHJvamVjdElkXSA9IHJlcG8uc3BsaXQoJ18nKVxuICAgICAgdmFsaWRSZXBvUGF0aCA9IGxhbmd1YWdlSWQgJiYgcHJvamVjdElkXG4gICAgfVxuICB9IGNhdGNoIHtcbiAgICBjb25zb2xlLmxvZygnSW52YWxpZCBEQ1MgVVJMOiAnICsgdXJsKVxuICB9XG4gIHJldHVybiB7IHZhbGlkVXJsLCB2YWxpZFJlcG9QYXRoIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzOiBvYmplY3QpIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbSU5WQUxJRF9NQU5JRkVTVF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfSU5WQUxJRF9FUlJPUl9NU0dcbiAgfSBlbHNlIGlmIChyZXNvdXJjZVN0YXR1c1tDT05URU5UX05PVF9GT1VORF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH1cbiAgcmV0dXJuIG1lc3NhZ2Vcbn1cblxuLyoqXG4gKiBkZWNvZGUgcmVzb3VyY2Ugc3RhdHVzIGludG8gc3RyaW5nLiAgQ3VycmVudGx5IG9ubHkgRW5nbGlzaFxuICogQHBhcmFtIHJlc291cmNlU3RhdHVzIC0gb2JqZWN0IHRoYXQgY29udGFpbnMgc3RhdGUgYW5kIGVycm9ycyB0aGF0IGFyZSBkZXRlY3RlZFxuICogQHBhcmFtIHNlcnZlciAtIGNvbnRhaW5zIHRoZSBzZXJ2ZXIgYmVpbmcgdXNlZFxuICogQHBhcmFtIHJlc291cmNlTGluayAtIHBhdGggdG8gcmVwbyBvbiBzZXJ2ZXJcbiAqIEBwYXJhbSBpc05UIC0gdHJ1ZSBpZiBOVCBib29rXG4gKiBAcmV0dXJuIGVtcHR5IHN0cmluZyBpZiBubyBlcnJvciwgZWxzZSByZXR1cm5zIHVzZXIgZXJyb3IgbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VNZXNzYWdlKHJlc291cmNlU3RhdHVzOiBvYmplY3QsIHNlcnZlcjogc3RyaW5nLCByZXNvdXJjZUxpbms6IHN0cmluZywgaXNOVDogYm9vbGVhbikge1xuICBsZXQgbWVzc2FnZSA9ICcnXG5cbiAgaWYgKHJlc291cmNlU3RhdHVzW0xPQURJTkdfU1RBVEVdKSB7XG4gICAgbWVzc2FnZSA9IExPQURJTkdfUkVTT1VSQ0VcbiAgfSBlbHNlIHtcbiAgICBtZXNzYWdlID0gZ2V0UmVzb3VyY2VFcnJvck1lc3NhZ2UocmVzb3VyY2VTdGF0dXMpXG5cbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgbWVzc2FnZSA9IGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhyZXNvdXJjZUxpbmssIHNlcnZlciwgbWVzc2FnZSwgaXNOVClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1lc3NhZ2Vcbn1cblxuLyoqXG4gKiBnZW5lcmF0ZSByZXNvdXJjZSBzdHJpbmdcbiAqIEBwYXJhbSBvd25lclxuICogQHBhcmFtIGxhbmd1YWdlSWRcbiAqIEBwYXJhbSBwcm9qZWN0SWRcbiAqIEBwYXJhbSByZWZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTGlua1NwZWNpZmljKG93bmVyOiBzdHJpbmcsIGxhbmd1YWdlSWQ6IHN0cmluZywgcHJvamVjdElkOiBzdHJpbmcsIHJlZjogc3RyaW5nKSB7XG4gIHJldHVybiBgYXBpL3YxL3JlcG9zLyR7b3duZXJ9LyR7bGFuZ3VhZ2VJZH1fJHtwcm9qZWN0SWR9L2NvbnRlbnRzP3JlZj0ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXhPY2N1cnJlbmNlKG9jY3VycmVuY2UpIHtcbiAgaWYgKHR5cGVvZiBvY2N1cnJlbmNlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBwYXJzZUludChvY2N1cnJlbmNlKVxuICB9XG4gIHJldHVybiBvY2N1cnJlbmNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbnVwVmVyc2VPYmplY3RzKHZlcnNlT2JqZWN0cykge1xuICBpZiAodmVyc2VPYmplY3RzPy5sZW5ndGgpIHtcbiAgICBjb25zdCB2ZXJzZU9iamVjdHNfID0gWy4uLnZlcnNlT2JqZWN0c11cblxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gdmVyc2VPYmplY3RzXy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNvbnN0IHZvID0gdmVyc2VPYmplY3RzX1tpXVxuXG4gICAgICBpZiAodm8udHlwZSA9PT0gJ3dvcmQnICYmICh2by5vY2N1cnJlbmNlIHx8IHZvLm9jY3VycmVuY2VzKSkge1xuICAgICAgICBjb25zdCB3b3JkID0geyAuLi52byB9XG5cbiAgICAgICAgaWYgKHZvLm9jY3VycmVuY2UpIHtcbiAgICAgICAgICB3b3JkLm9jY3VycmVuY2UgPSBmaXhPY2N1cnJlbmNlKHZvLm9jY3VycmVuY2UpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodm8ub2NjdXJyZW5jZXMpIHtcbiAgICAgICAgICB3b3JkLm9jY3VycmVuY2VzID0gZml4T2NjdXJyZW5jZSh2by5vY2N1cnJlbmNlcylcbiAgICAgICAgfVxuICAgICAgICB2ZXJzZU9iamVjdHNfW2ldID0gd29yZFxuICAgICAgfSBlbHNlIGlmICh2by5jaGlsZHJlbikge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGNsZWFudXBWZXJzZU9iamVjdHModm8uY2hpbGRyZW4pXG4gICAgICAgIGNvbnN0IG5ld1ZvID0ge1xuICAgICAgICAgIC4uLnZvLFxuICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICB9XG4gICAgICAgIHZlcnNlT2JqZWN0c19baV0gPSBuZXdWb1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmVyc2VPYmplY3RzX1xuICB9XG4gIHJldHVybiBbXVxufVxuXG4vKipcbiAqIHRha2UgdGhlIGZpbGVuYW1lIG9mIHRoZSBib29rIChlLmcuIFwiNTctVElULnVzZm1cIikgYW5kIHBhcnNlIG91dCB0aGUgYm9va0lkXG4gKiBAcGFyYW0ge3N0cmluZ30gZmlsZW5hbWVcbiAqIEByZXR1cm4ge3N0cmluZ30gYm9va0lkIGlmIGZvdW5kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCb29rTmFtZUZyb21Vc2ZtRmlsZU5hbWUoZmlsZW5hbWUpIHtcbiAgY29uc3QgcmVnZXggPSAvXiguKj8pXFwudXNmbS9cbiAgY29uc3QgYm9va05hbWUgPSBmaWxlbmFtZT8ubWF0Y2gocmVnZXgpPy5bMV1cbiAgcmV0dXJuIGJvb2tOYW1lXG59XG5cbi8qKlxuICogcGFyc2UgdGhlIFVTRk0gdG8gZmluZCBib29rSUQgaW4gaGVhZGVyXG4gKiBAcGFyYW0ge3N0cmluZ30gYmlibGVVc2ZtXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGJvb2tJZCBpZiBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmlibGVJZEZyb21Vc2ZtQ29udGVudElEKGJpYmxlVXNmbSkge1xuICBjb25zdCBpZEhlYWRlciA9ICdcXFxcaWQgJ1xuICBjb25zdCBwb3NJZCA9IGJpYmxlVXNmbT8uaW5kZXhPZihpZEhlYWRlcilcblxuICBpZiAocG9zSWQgPj0gMCkge1xuICAgIGNvbnN0IGlkU3RhcnQgPSBwb3NJZCArIGlkSGVhZGVyLmxlbmd0aFxuICAgIGxldCBoZWFkZXJJZCA9IGJpYmxlVXNmbT8uc3Vic3RyaW5nKCBpZFN0YXJ0LCBpZFN0YXJ0ICsgMTAwKS50cmltKClcbiAgICBsZXQgaGVhZGVyQm9va0lEID0gbnVsbFxuXG4gICAgaWYgKGhlYWRlcklkPy5sZW5ndGggPiAxKSB7XG4gICAgICBoZWFkZXJCb29rSUQgPSBoZWFkZXJJZD8uc3BsaXQoJyAnKVxuICAgICAgaGVhZGVyQm9va0lEID0gaGVhZGVyQm9va0lEPy5bMF0udHJpbSgpXG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJCb29rSURcbiAgfVxuICByZXR1cm4gbnVsbFxufVxuIl19
|
|
482
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9TY3JpcHR1cmVTZXR0aW5ncy50cyJdLCJuYW1lcyI6WyJDT05URU5UX05PVF9GT1VORF9FUlJPUiIsIklOVkFMSURfTUFOSUZFU1RfRVJST1IiLCJMT0FESU5HX1NUQVRFIiwiTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUiIsIlNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SIiwiQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHIiwiTE9BRElOR19SRVNPVVJDRSIsIk1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHIiwiTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyIsIk5UX09SSUdfTEFORyIsIk5UX09SSUdfTEFOR19CSUJMRSIsIk9SSUdJTkFMX1NPVVJDRSIsIk9UX09SSUdfTEFORyIsIk9UX09SSUdfTEFOR19CSUJMRSIsIlNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHIiwiVEFSR0VUX0xJVEVSQUwiLCJUQVJHRVRfU0lNUExJRklFRCIsIkRJU0FCTEVfV09SRF9QT1BPVkVSIiwiZ2V0UmVzb3VyY2VMaW5rIiwic2NyaXB0dXJlIiwicmVmIiwiYnJhbmNoIiwib3duZXIiLCJsYW5ndWFnZUlkIiwicmVzb3VyY2VJZCIsInBhcnNlUmVzb3VyY2VMaW5rIiwicmVzb3VyY2VMaW5rIiwic3BsaXQiLCJnZXRTY3JpcHR1cmVPYmplY3QiLCJ0aXRsZSIsInNlcnZlciIsImRpc2FibGVXb3JkUG9wb3ZlciIsIm9yaWdpbmFsTGFuZ3VhZ2VPd25lciIsImdldFZlcnNlRGF0YUZyb21TY3JpcENvbmZpZyIsInNjcmlwdHVyZUNvbmZpZyIsInZlcnNlTnVtIiwidmVyc2VzRm9yUmVmIiwiZmluZCIsInZlcnNlUmVmIiwidmVyc2UiLCJpc09yaWdpbmFsQmlibGUiLCJpc09yaWciLCJjbGVhbnVwQWNjb3VudFNldHRpbmdzIiwic2NyaXB0dXJlU2V0dGluZ3MiLCJjdXJyZW50T3duZXIiLCJjdXJyZW50TGFuZ3VhZ2VJZCIsInNwbGl0VXJsIiwib3JpZ2luYWxSZXBvVXJsIiwidXJsIiwiVVJMIiwib3JpZ2luIiwicGF0aG5hbWUiLCJzZWFyY2giLCJnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzIiwiYm9va0lkIiwic2NyaXB0dXJlU2V0dGluZ3NfIiwiaXNOZXdUZXN0YW1lbnQiLCJnZXRTY3JpcHR1cmVWZXJzaW9uU2V0dGluZ3MiLCJsYWJlbCIsInNldFNjcmlwdHVyZSIsInNjcmlwdHVyZVZlcnNpb25IaXN0IiwiaGlzdG9yeSIsImdldExhdGVzdCIsImluZGV4IiwiZmluZEl0ZW1JbmRleEJ5S2V5Iiwic2NyaXB0dXJlU2VsZWN0b3JDb25maWciLCJvcHRpb25zIiwiY3VycmVudCIsImFsbG93VXNlcklucHV0Iiwib25DaGFuZ2UiLCJ2YWxpZGF0aW9uQ0IiLCJpdGVtIiwibmV3SXRlbSIsImFkZEl0ZW1Ub0hpc3RvcnkiLCJnZXRJdGVtQnlUaXRsZSIsImRlbGV0ZUl0ZW0iLCJkZWxldGVJbmRleCIsInJlbW92ZUl0ZW1CeUluZGV4IiwiZ2V0UmVwb1VybCIsImlzTlQiLCJyZXBvVXJsIiwiZSIsImdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayIsImVycm9yQ29kZSIsImVycm9yTXNnIiwidmFsaWRhdGVEY3NVcmwiLCJ2YWxpZFJlcG9QYXRoIiwidmFsaWRVcmwiLCJwYXJ0cyIsInByb3RvY29sIiwiaG9zdCIsInVzZXIiLCJyZXBvIiwiaG9zdFBhcnRzIiwibGVuZ3RoIiwicGFydCIsInByb2plY3RJZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIiwiZml4T2NjdXJyZW5jZSIsIm9jY3VycmVuY2UiLCJwYXJzZUludCIsImNsZWFudXBWZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHNfIiwiaSIsImwiLCJ2byIsInR5cGUiLCJvY2N1cnJlbmNlcyIsIndvcmQiLCJjaGlsZHJlbiIsIm5ld1ZvIiwiZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lIiwiZmlsZW5hbWUiLCJyZWdleCIsImJvb2tOYW1lIiwibWF0Y2giLCJnZXRCaWJsZUlkRnJvbVVzZm1Db250ZW50SUQiLCJiaWJsZVVzZm0iLCJpZEhlYWRlciIsInBvc0lkIiwiaW5kZXhPZiIsImlkU3RhcnQiLCJoZWFkZXJJZCIsInN1YnN0cmluZyIsInRyaW0iLCJoZWFkZXJCb29rSUQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FDRUEsdUJBREYsRUFFRUMsc0JBRkYsRUFHRUMsYUFIRixFQUlFQyx5QkFKRixFQUtFQywwQkFMRixRQU1PLHVCQU5QO0FBT0EsU0FDRUMsd0JBREYsRUFFRUMsZ0JBRkYsRUFHRUMsMEJBSEYsRUFJRUMsNEJBSkYsRUFLRUMsWUFMRixFQU1FQyxrQkFORixFQU9FQyxlQVBGLEVBUUVDLFlBUkYsRUFTRUMsa0JBVEYsRUFVRUMsNkJBVkYsRUFXRUMsY0FYRixFQVlFQyxpQkFaRixRQWFPLFVBYlA7QUFlQSxPQUFPLElBQU1DLG9CQUFvQixHQUFHLElBQTdCLEMsQ0FBa0M7O0FBRXpDLE9BQU8sU0FBU0MsZUFBVCxDQUF5QkMsU0FBekIsRUFBb0M7QUFDekMsTUFBTUMsR0FBRyxHQUFHRCxTQUFTLENBQUNDLEdBQVYsSUFBaUJELFNBQVMsQ0FBQ0UsTUFBdkM7QUFDQSxtQkFBVUYsU0FBUyxDQUFDRyxLQUFwQixjQUE2QkgsU0FBUyxDQUFDSSxVQUF2QyxjQUFxREosU0FBUyxDQUFDSyxVQUEvRCxjQUE2RUosR0FBN0U7QUFDRDtBQUVELE9BQU8sU0FBU0ssaUJBQVQsQ0FBMkJDLFlBQTNCLEVBQXlDO0FBQUEsNEJBQ0RBLFlBQVksQ0FBQ0MsS0FBYixDQUFtQixHQUFuQixDQURDO0FBQUE7QUFBQSxNQUN2Q0wsS0FEdUM7QUFBQSxNQUNoQ0MsVUFEZ0M7QUFBQSxN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LEtBQVYsQ0FBZ0JGLEtBQWhCLENBQUgsb0RBQUcsZ0JBQXlCLENBQXpCLENBQWpCO0FBQ0EsU0FBT0MsUUFBUDtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLFNBQVNFLDJCQUFULENBQXFDQyxTQUFyQyxFQUFnRDtBQUNyRCxNQUFNQyxRQUFRLEdBQUcsT0FBakI7QUFDQSxNQUFNQyxLQUFLLEdBQUdGLFNBQUgsYUFBR0EsU0FBSCx1QkFBR0EsU0FBUyxDQUFFRyxPQUFYLENBQW1CRixRQUFuQixDQUFkOztBQUVBLE1BQUlDLEtBQUssSUFBSSxDQUFiLEVBQWdCO0FBQ2QsUUFBTUUsT0FBTyxHQUFHRixLQUFLLEdBQUdELFFBQVEsQ0FBQy9CLE1BQWpDO0FBQ0EsUUFBSW1DLFFBQVEsR0FBR0wsU0FBSCxhQUFHQSxTQUFILHVCQUFHQSxTQUFTLENBQUVNLFNBQVgsQ0FBc0JGLE9BQXRCLEVBQStCQSxPQUFPLEdBQUcsR0FBekMsRUFBOENHLElBQTlDLEVBQWY7QUFDQSxRQUFJQyxZQUFZLEdBQUcsSUFBbkI7O0FBRUEsUUFBSSxDQUFBSCxRQUFRLFNBQVIsSUFBQUEsUUFBUSxXQUFSLFlBQUFBLFFBQVEsQ0FBRW5DLE1BQVYsSUFBbUIsQ0FBdkIsRUFBMEI7QUFBQTs7QUFDeEJzQyxNQUFBQSxZQUFZLEdBQUdILFFBQUgsYUFBR0EsUUFBSCx1QkFBR0EsUUFBUSxDQUFFdEcsS0FBVixDQUFnQixHQUFoQixDQUFmO0FBQ0F5RyxNQUFBQSxZQUFZLG9CQUFHQSxZQUFILGtEQUFHLGNBQWUsQ0FBZixFQUFrQkQsSUFBbEIsRUFBZjtBQUNEOztBQUNELFdBQU9DLFlBQVA7QUFDRDs7QUFDRCxTQUFPLElBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SLFxuICBJTlZBTElEX01BTklGRVNUX0VSUk9SLFxuICBMT0FESU5HX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxuICBTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHtcbiAgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBMT0FESU5HX1JFU09VUkNFLFxuICBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyxcbiAgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyxcbiAgTlRfT1JJR19MQU5HLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBUQVJHRVRfTElURVJBTCxcbiAgVEFSR0VUX1NJTVBMSUZJRUQsXG59IGZyb20gJy4vY29tbW9uJ1xuXG5leHBvcnQgY29uc3QgRElTQUJMRV9XT1JEX1BPUE9WRVIgPSB0cnVlIC8vIGRpc2FibGUgd29yZCBwb3BvdmVyIGZvciBldmVyeSBzY3JpcHR1cmUgcGFuZSBidXQgb3JpZ2luYWwgbGFuZ3VhZ2VzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlKSB7XG4gIGNvbnN0IHJlZiA9IHNjcmlwdHVyZS5yZWYgfHwgc2NyaXB0dXJlLmJyYW5jaFxuICByZXR1cm4gYCR7c2NyaXB0dXJlLm93bmVyfS8ke3NjcmlwdHVyZS5sYW5ndWFnZUlkfS8ke3NjcmlwdHVyZS5yZXNvdXJjZUlkfS8ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlc291cmNlTGluayhyZXNvdXJjZUxpbmspIHtcbiAgY29uc3QgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkLCByZWZdID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcbiAgcmV0dXJuIHtcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgcmVmLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICB0aXRsZSxcbiAgc2VydmVyLFxuICBvd25lcixcbiAgcmVmLFxuICBsYW5ndWFnZUlkLFxuICByZXNvdXJjZUlkLFxuICByZXNvdXJjZUxpbmssXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxufSkge1xuICBjb25zdCBzY3JpcHR1cmUgPSB7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICByZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICByZXNvdXJjZUxpbmssXG4gIH1cblxuICBpZiAoIXJlc291cmNlTGluaykge1xuICAgIHNjcmlwdHVyZS5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgICAgb3duZXIsXG4gICAgICByZWYsXG4gICAgICBsYW5ndWFnZUlkLFxuICAgICAgcmVzb3VyY2VJZCxcbiAgICB9KVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVcbn1cblxuLyoqXG4gKiByZXR1cm4gdmVyc2UgZGF0YSBnaXZlbiBhIHNjcmlwdHVyZSBjb25maWcgYW5kIHZlcnNlIG51bWJlclxuICogQHBhcmFtIHNjcmlwdHVyZUNvbmZpZ1xuICogQHBhcmFtIHZlcnNlTnVtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzZURhdGFGcm9tU2NyaXBDb25maWcoc2NyaXB0dXJlQ29uZmlnLCB2ZXJzZU51bSkge1xuICByZXR1cm4gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWY/LmZpbmQoXG4gICAgdmVyc2VSZWYgPT4gdmVyc2VSZWYudmVyc2UgPT09IHZlcnNlTnVtXG4gIClcbn1cblxuLyoqXG4gKiByZXR1cm4gdHJ1ZSBpZiByZXNvdXJjZSBpcyBhbiBvcmlnaW5hbCBsYW5ndWFnZSBiaWJsZVxuICogQHBhcmFtIHJlc291cmNlSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3JpZ2luYWxCaWJsZShyZXNvdXJjZUlkKSB7XG4gIGNvbnN0IGlzT3JpZyA9ICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSlcbiAgcmV0dXJuIGlzT3JpZ1xufVxuXG4vKipcbiAqIG1ha2Ugc3VyZSBzY3JpcHR1cmVTZXR0aW5ncyBhcmUgdXAgdG8gZGF0ZSB3aXRoIGN1cnJlbnQgb3duZXIgYW5kIGxhbmd1YWdlXG4gKiBAcGFyYW0ge29iamVjdH0gc2NyaXB0dXJlU2V0dGluZ3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3M6IGFueSwgY3VycmVudE93bmVyOiBhbnksIGN1cnJlbnRMYW5ndWFnZUlkOiBhbnkpIHtcbiAgaWYgKGN1cnJlbnRPd25lciAmJiAoY3VycmVudE93bmVyICE9PSBzY3JpcHR1cmVTZXR0aW5ncy5vd25lcikpIHsgLy8gaWYgb3duZXIgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBjdXJyZW50T3duZXJcbiAgfVxuXG4gIGlmIChjdXJyZW50TGFuZ3VhZ2VJZCAmJiAoY3VycmVudExhbmd1YWdlSWQgIT09IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQpKSB7IC8vIGlmIGxhbmd1YWdlIGNoYW5nZWQsIHVwZGF0ZSBzY3JpcHR1cmVTZXR0aW5nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBjdXJyZW50TGFuZ3VhZ2VJZFxuICB9XG59XG5cbi8qKlxuICogc2VwYXJhdGUgVVJMIGludG8gc2VydmVyIGFuZCByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpIHtcbiAgaWYgKG9yaWdpbmFsUmVwb1VybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3JpZ2luYWxSZXBvVXJsKVxuICAgIGNvbnN0IHNlcnZlciA9IHVybC5vcmlnaW5cbiAgICBjb25zdCByZXNvdXJjZUxpbmsgPSB1cmwucGF0aG5hbWUgKyAodXJsLnNlYXJjaCB8fCAnJylcbiAgICByZXR1cm4geyBzZXJ2ZXIsIHJlc291cmNlTGluayB9XG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogZ2V0IHRoZSBzY3JpcHR1cmUgc2V0dGluZ3MgbmVlZGVkIGZvciBmZXRjaCAtIGZvciBPcmlnTGFuZywgVUxULCBHTFQgd2lsbCByZXBsYWNlIG93bmVyIGFuZCBsYW5ndWFnZUlkIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc19cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdUZXN0YW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmwgLSBvcHRpb25hbCBwYXRoIHRvIHJlcG8gZm9yIG9yaWdpbmFsIGxhbmd1YWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKFxuICBib29rSWQsIHNjcmlwdHVyZVNldHRpbmdzXywgaXNOZXdUZXN0YW1lbnQsXG4gIG9yaWdpbmFsUmVwb1VybD1udWxsLFxuICBjdXJyZW50TGFuZ3VhZ2VJZD1udWxsLFxuICBjdXJyZW50T3duZXI9bnVsbCxcbikge1xuICBjb25zdCBzY3JpcHR1cmVTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlU2V0dGluZ3NfIH1cbiAgc2NyaXB0dXJlU2V0dGluZ3MuZGlzYWJsZVdvcmRQb3BvdmVyID0gRElTQUJMRV9XT1JEX1BPUE9WRVJcbiAgY29uc3QgcmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzXy5yZXNvdXJjZUlkXG5cbiAgaWYgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkge1xuICAgIC8vIHNlbGVjdCBvcmlnaW5hbCBsYW5ndWFnZSBCaWJsZSBiYXNlZCBvbiB3aGljaCB0ZXN0YW1lbnQgdGhlIGJvb2sgYmVsb25nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBpc05ld1Rlc3RhbWVudCA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBpc05ld1Rlc3RhbWVudFxuICAgICAgPyBOVF9PUklHX0xBTkdfQklCTEVcbiAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG5cbiAgICBpZiAoc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyKSB7XG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IHNjcmlwdHVyZVNldHRpbmdzLm9yaWdpbmFsTGFuZ3VhZ2VPd25lclxuICAgIH1cblxuICAgIGlmIChvcmlnaW5hbFJlcG9VcmwpIHsgLy8gdXNlIHRoaXMgdXJsIGlmIGRlZmluZWRcbiAgICAgIGNvbnN0IHsgc2VydmVyLCByZXNvdXJjZUxpbmsgfSA9IHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybClcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnNlcnZlciA9IHNlcnZlclxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rXG4gICAgfSBlbHNlIHsgLy8gZmFsbCBiYWNrIHRvIGFwcCBkZWZhdWx0c1xuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICAgIH1cbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBmYWxzZVxuICB9IGVsc2UgaWYgKHJlc291cmNlSWQgPT09IFRBUkdFVF9MSVRFUkFMKSB7XG4gICAgY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5ncywgY3VycmVudE93bmVyLCBjdXJyZW50TGFuZ3VhZ2VJZClcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9PT0gJ2VuJyA/ICd1bHQnIDogJ2dsdCdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX1NJTVBMSUZJRUQpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VzdCcgOiAnZ3N0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfVxuICByZXR1cm4gc2NyaXB0dXJlU2V0dGluZ3Ncbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyh7XG4gIGxhYmVsLFxuICByZXNvdXJjZUxpbmssXG4gIHNldFNjcmlwdHVyZSxcbiAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG59KSB7XG4gIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICBsZXQgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3Jlc291cmNlTGluaycsIHJlc291cmNlTGluaylcblxuICBjb25zdCBzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyA9IHtcbiAgICBsYWJlbCwgLy8gbGFiZWwgZm9yIGNvbWJvYm94XG4gICAgb3B0aW9uczogaGlzdG9yeSxcbiAgICBjdXJyZW50OiBpbmRleCxcbiAgICBhbGxvd1VzZXJJbnB1dDogdHJ1ZSxcbiAgICBvbkNoYW5nZTogKHRpdGxlLCBpbmRleCwgdmFsaWRhdGlvbkNCPW51bGwpID0+IHtcbiAgICAgIGxldCBpdGVtXG5cbiAgICAgIGlmICgoaW5kZXggPCAwKSAmJiB0aXRsZSkge1xuICAgICAgICBjb25zdCBuZXdJdGVtID0ge1xuICAgICAgICAgIHVybDogdGl0bGUsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KG5ld0l0ZW0pXG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBpdGVtID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClbaW5kZXhdXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRJdGVtQnlUaXRsZSh0aXRsZSlcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgc2V0U2NyaXB0dXJlKGl0ZW0sIHZhbGlkYXRpb25DQilcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlbGV0ZUl0ZW06IHRpdGxlID0+IHtcbiAgICAgIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICAgICAgY29uc3QgZGVsZXRlSW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3RpdGxlJywgdGl0bGUpXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVJdGVtQnlJbmRleChkZWxldGVJbmRleClcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXBvVXJsKHJlc291cmNlTGluazogc3RyaW5nLCBzZXJ2ZXI6IHN0cmluZywgaXNOVDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGxldCByZXBvVXJsXG5cbiAgdHJ5IHtcbiAgICBsZXQgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkXSA9IHJlc291cmNlTGluay5zcGxpdCgnLycpXG5cbiAgICBzd2l0Y2ggKHJlc291cmNlSWQpIHtcbiAgICBjYXNlIE9SSUdJTkFMX1NPVVJDRTpcbiAgICAgIGxhbmd1YWdlSWQgPSBpc05UID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgICByZXNvdXJjZUlkID0gaXNOVFxuICAgICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgICA6IE9UX09SSUdfTEFOR19CSUJMRVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX0xJVEVSQUw6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VsdCcgOiAnZ2x0J1xuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX1NJTVBMSUZJRUQ6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VzdCcgOiAnZ3N0J1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVwb1VybCA9IGAke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cmVzb3VyY2VJZH1gXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyByZXNvdXJjZUxpbmsgd2FzIGludmFsaWRcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGAke3NlcnZlciB8fCAnJ30vJHtyZXBvVXJsfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhcbiAgcmVzb3VyY2VMaW5rOiBzdHJpbmcsXG4gIHNlcnZlcjogc3RyaW5nLFxuICBlcnJvckNvZGU6IHN0cmluZyxcbiAgaXNOVDogYm9vbGVhbik6IHN0cmluZ1xue1xuICBjb25zdCByZXBvVXJsID0gZ2V0UmVwb1VybChyZXNvdXJjZUxpbmssIHNlcnZlciwgaXNOVClcbiAgY29uc3QgZXJyb3JNc2cgPSBlcnJvckNvZGUgKyByZXBvVXJsXG4gIHJldHVybiBlcnJvck1zZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEY3NVcmwodXJsKSB7XG4gIGxldCB2YWxpZFJlcG9QYXRoID0gZmFsc2VcbiAgbGV0IHZhbGlkVXJsID0gZmFsc2VcblxuICB0cnkge1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCcvJylcbiAgICBjb25zdCBbcHJvdG9jb2wsICwgaG9zdCwgdXNlciwgcmVwb10gPSBwYXJ0c1xuICAgIHZhbGlkVXJsID0gKHByb3RvY29sID09PSAnaHR0cHM6JylcbiAgICBjb25zdCBob3N0UGFydHMgPSBob3N0ID8gaG9zdC5zcGxpdCgnLicpIDogW11cblxuICAgIGlmIChob3N0UGFydHMubGVuZ3RoID49IDIpIHtcbiAgICAgIGZvciAobGV0IHBhcnQgb2YgaG9zdFBhcnRzKSB7XG4gICAgICAgIGlmICghcGFydCkge1xuICAgICAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoIHByb3RvY29sICYmIGhvc3QgJiYgdXNlciAmJiByZXBvICkge1xuICAgICAgY29uc3QgW2xhbmd1YWdlSWQsIHByb2plY3RJZF0gPSByZXBvLnNwbGl0KCdfJylcbiAgICAgIHZhbGlkUmVwb1BhdGggPSBsYW5ndWFnZUlkICYmIHByb2plY3RJZFxuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgY29uc29sZS5sb2coJ0ludmFsaWQgRENTIFVSTDogJyArIHVybClcbiAgfVxuICByZXR1cm4geyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUVycm9yTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0KSB7XG4gIGxldCBtZXNzYWdlID0gJydcblxuICBpZiAocmVzb3VyY2VTdGF0dXNbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW0lOVkFMSURfTUFOSUZFU1RfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbQ09OVEVOVF9OT1RfRk9VTkRfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IEJPT0tfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW1NDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBTQ1JJUFRVUkVfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZGVjb2RlIHJlc291cmNlIHN0YXR1cyBpbnRvIHN0cmluZy4gIEN1cnJlbnRseSBvbmx5IEVuZ2xpc2hcbiAqIEBwYXJhbSByZXNvdXJjZVN0YXR1cyAtIG9iamVjdCB0aGF0IGNvbnRhaW5zIHN0YXRlIGFuZCBlcnJvcnMgdGhhdCBhcmUgZGV0ZWN0ZWRcbiAqIEBwYXJhbSBzZXJ2ZXIgLSBjb250YWlucyB0aGUgc2VydmVyIGJlaW5nIHVzZWRcbiAqIEBwYXJhbSByZXNvdXJjZUxpbmsgLSBwYXRoIHRvIHJlcG8gb24gc2VydmVyXG4gKiBAcGFyYW0gaXNOVCAtIHRydWUgaWYgTlQgYm9va1xuICogQHJldHVybiBlbXB0eSBzdHJpbmcgaWYgbm8gZXJyb3IsIGVsc2UgcmV0dXJucyB1c2VyIGVycm9yIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0LCBzZXJ2ZXI6IHN0cmluZywgcmVzb3VyY2VMaW5rOiBzdHJpbmcsIGlzTlQ6IGJvb2xlYW4pIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tMT0FESU5HX1NUQVRFXSkge1xuICAgIG1lc3NhZ2UgPSBMT0FESU5HX1JFU09VUkNFXG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9IGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzKVxuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rLCBzZXJ2ZXIsIG1lc3NhZ2UsIGlzTlQpXG4gICAgfVxuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZ2VuZXJhdGUgcmVzb3VyY2Ugc3RyaW5nXG4gKiBAcGFyYW0gb3duZXJcbiAqIEBwYXJhbSBsYW5ndWFnZUlkXG4gKiBAcGFyYW0gcHJvamVjdElkXG4gKiBAcGFyYW0gcmVmXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyhvd25lcjogc3RyaW5nLCBsYW5ndWFnZUlkOiBzdHJpbmcsIHByb2plY3RJZDogc3RyaW5nLCByZWY6IHN0cmluZykge1xuICByZXR1cm4gYGFwaS92MS9yZXBvcy8ke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cHJvamVjdElkfS9jb250ZW50cz9yZWY9JHtyZWZ9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZml4T2NjdXJyZW5jZShvY2N1cnJlbmNlKSB7XG4gIGlmICh0eXBlb2Ygb2NjdXJyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQob2NjdXJyZW5jZSlcbiAgfVxuICByZXR1cm4gb2NjdXJyZW5jZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cFZlcnNlT2JqZWN0cyh2ZXJzZU9iamVjdHMpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgY29uc3QgdmVyc2VPYmplY3RzXyA9IFsuLi52ZXJzZU9iamVjdHNdXG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHZlcnNlT2JqZWN0c18ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB2byA9IHZlcnNlT2JqZWN0c19baV1cblxuICAgICAgaWYgKHZvLnR5cGUgPT09ICd3b3JkJyAmJiAodm8ub2NjdXJyZW5jZSB8fCB2by5vY2N1cnJlbmNlcykpIHtcbiAgICAgICAgY29uc3Qgd29yZCA9IHsgLi4udm8gfVxuXG4gICAgICAgIGlmICh2by5vY2N1cnJlbmNlKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlID0gZml4T2NjdXJyZW5jZSh2by5vY2N1cnJlbmNlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZvLm9jY3VycmVuY2VzKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlcyA9IGZpeE9jY3VycmVuY2Uodm8ub2NjdXJyZW5jZXMpXG4gICAgICAgIH1cbiAgICAgICAgdmVyc2VPYmplY3RzX1tpXSA9IHdvcmRcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBjbGVhbnVwVmVyc2VPYmplY3RzKHZvLmNoaWxkcmVuKVxuICAgICAgICBjb25zdCBuZXdWbyA9IHtcbiAgICAgICAgICAuLi52byxcbiAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgfVxuICAgICAgICB2ZXJzZU9iamVjdHNfW2ldID0gbmV3Vm9cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZlcnNlT2JqZWN0c19cbiAgfVxuICByZXR1cm4gW11cbn1cblxuLyoqXG4gKiB0YWtlIHRoZSBmaWxlbmFtZSBvZiB0aGUgYm9vayAoZS5nLiBcIjU3LVRJVC51c2ZtXCIpIGFuZCBwYXJzZSBvdXQgdGhlIGJvb2tJZFxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGJvb2tJZCBpZiBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lKGZpbGVuYW1lKSB7XG4gIGNvbnN0IHJlZ2V4ID0gL14oLio/KVxcLnVzZm0vXG4gIGNvbnN0IGJvb2tOYW1lID0gZmlsZW5hbWU/Lm1hdGNoKHJlZ2V4KT8uWzFdXG4gIHJldHVybiBib29rTmFtZVxufVxuXG4vKipcbiAqIHBhcnNlIHRoZSBVU0ZNIHRvIGZpbmQgYm9va0lEIGluIGhlYWRlclxuICogQHBhcmFtIHtzdHJpbmd9IGJpYmxlVXNmbVxuICogQHJldHVybiB7c3RyaW5nfSBib29rSWQgaWYgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJpYmxlSWRGcm9tVXNmbUNvbnRlbnRJRChiaWJsZVVzZm0pIHtcbiAgY29uc3QgaWRIZWFkZXIgPSAnXFxcXGlkICdcbiAgY29uc3QgcG9zSWQgPSBiaWJsZVVzZm0/LmluZGV4T2YoaWRIZWFkZXIpXG5cbiAgaWYgKHBvc0lkID49IDApIHtcbiAgICBjb25zdCBpZFN0YXJ0ID0gcG9zSWQgKyBpZEhlYWRlci5sZW5ndGhcbiAgICBsZXQgaGVhZGVySWQgPSBiaWJsZVVzZm0/LnN1YnN0cmluZyggaWRTdGFydCwgaWRTdGFydCArIDEwMCkudHJpbSgpXG4gICAgbGV0IGhlYWRlckJvb2tJRCA9IG51bGxcblxuICAgIGlmIChoZWFkZXJJZD8ubGVuZ3RoID4gMSkge1xuICAgICAgaGVhZGVyQm9va0lEID0gaGVhZGVySWQ/LnNwbGl0KCcgJylcbiAgICAgIGhlYWRlckJvb2tJRCA9IGhlYWRlckJvb2tJRD8uWzBdLnRyaW0oKVxuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyQm9va0lEXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "single-scripture-rcl",
|
|
3
3
|
"description": "A React Component Library for Rendering a Single Scripture Resource.",
|
|
4
|
-
"version": "3.4.
|
|
4
|
+
"version": "3.4.10-beta",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/unfoldingWord/single-scripture-rcl.git"
|
|
@@ -72,8 +72,7 @@
|
|
|
72
72
|
"eslint-plugin-prettier": "3.1.4",
|
|
73
73
|
"eslint-plugin-react": "7.21.5",
|
|
74
74
|
"eslint-plugin-react-hooks": "^4.2.0",
|
|
75
|
-
"
|
|
76
|
-
"gitea-react-toolkit": "file:.yalc/gitea-react-toolkit",
|
|
75
|
+
"gitea-react-toolkit": "1.11.0",
|
|
77
76
|
"jest": "^29.6.4",
|
|
78
77
|
"path-extra": "^4.3.0",
|
|
79
78
|
"prop-types": "^15.7.2",
|