single-scripture-rcl 3.1.0 → 3.2.1-alpha
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 +1 -0
- package/dist/components/ComboBox/ComboBox.js +3 -2
- package/dist/components/ComboBox/index.js +1 -1
- package/dist/components/Row/index.js +4 -12
- package/dist/components/ScriptureCard/ScriptureCard.js +85 -31
- package/dist/components/ScriptureCard/index.js +1 -1
- package/dist/components/ScripturePane/ScripturePane.js +21 -7
- package/dist/components/ScripturePane/index.js +1 -1
- package/dist/components/ScripturePane/styled.js +7 -45
- package/dist/components/ScriptureSelector/ScriptureSelector.js +3 -2
- package/dist/components/ScriptureSelector/index.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/parseResourceManifest.js +1 -1
- package/dist/hooks/useComboBox.js +18 -5
- package/dist/hooks/useScripture.js +95 -39
- package/dist/hooks/useScriptureResources.js +26 -9
- package/dist/hooks/useScriptureSelector.js +14 -3
- package/dist/hooks/useScriptureSettings.js +54 -28
- package/dist/index.js +1 -1
- package/dist/types/index.js +1 -1
- package/dist/utils/LocalStorage.js +1 -1
- package/dist/utils/ScriptureSettings.js +30 -16
- package/dist/utils/ScriptureVersionHistory.js +3 -3
- package/dist/utils/common.js +1 -1
- package/dist/utils/delay.js +1 -1
- package/dist/utils/index.js +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import "core-js/modules/es.array.find-index.js";
|
|
2
|
-
import "core-js/modules/es.array.is-array.js";
|
|
3
2
|
import "core-js/modules/es.array.splice.js";
|
|
3
|
+
import "core-js/modules/es.array.is-array.js";
|
|
4
|
+
import "core-js/modules/es.symbol.js";
|
|
5
|
+
import "core-js/modules/es.symbol.description.js";
|
|
6
|
+
import "core-js/modules/es.object.to-string.js";
|
|
7
|
+
import "core-js/modules/es.symbol.iterator.js";
|
|
8
|
+
import "core-js/modules/es.array.iterator.js";
|
|
9
|
+
import "core-js/modules/es.string.iterator.js";
|
|
10
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
11
|
+
import "core-js/modules/es.array.slice.js";
|
|
12
|
+
import "core-js/modules/es.function.name.js";
|
|
13
|
+
import "core-js/modules/es.array.from.js";
|
|
14
|
+
import "core-js/modules/es.regexp.exec.js";
|
|
4
15
|
|
|
5
16
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
17
|
|
|
@@ -10,7 +21,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
10
21
|
|
|
11
22
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
12
23
|
|
|
13
|
-
function _iterableToArrayLimit(arr, i) {
|
|
24
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
14
25
|
|
|
15
26
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
27
|
|
|
@@ -158,4 +169,4 @@ export function useScriptureSelector(_ref) {
|
|
|
158
169
|
}
|
|
159
170
|
};
|
|
160
171
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVTZWxlY3Rvci50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJIaWdobGlnaHRPZmZJY29uIiwiSWNvbkJ1dHRvbiIsIlRvb2x0aXAiLCJkZWxheSIsInVzZUNvbWJvQm94IiwidXNlU2NyaXB0dXJlU2VsZWN0b3IiLCJsYWJlbCIsIm9wdGlvbnMiLCJjdXJyZW50IiwiYWxsb3dVc2VySW5wdXQiLCJvbkNoYW5nZSIsImRlbGV0ZUl0ZW0iLCJpbml0aWFsUHJvbXB0Iiwic2NyaXB0dXJlU2VsZWN0b3JPbkNoYW5nZSIsIm5ld1NlbGVjdGlvbiIsImluZGV4Iiwic3VjY2VzcyIsIml0ZW0iLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1ha2VTdXJlSXRlbUlzU2VsZWN0ZWRJbkNvbWJvQm94Iiwic3RhdGUiLCJhY3Rpb25zIiwidXNlU3RhdGUiLCJjdXJyZW50T3B0aW9ucyIsInNldE9wdGlvbnMiLCJmaW5kVGl0bGUiLCJ0aXRsZSIsImZpbmRJbmRleCIsInNlbGVjdGVkSXRlbSIsIm5ld09wdGlvbnMiLCJ1bnNoaWZ0IiwidGhlbiIsInNldFZhbHVlIiwiaGFuZGxlRGVsZXRlIiwib3B0aW9uIiwiY3VycmVudFRpdGxlIiwidmFsdWUiLCJyZW1vdmVUaXRsZSIsInJlbW92ZUluZGV4IiwiY3VycmVudFNlbGVjdGlvbkluZGV4IiwiZGVsZXRpbmciLCJzcGxpY2UiLCJuZXdJbmRleCIsImN1cnJlbnRTZWxlY3Rpb24iLCJyZW5kZXJPcHRpb24iLCJ1c2VyQWRkZWQiLCJmaWx0ZXJPcHRpb25zIiwiZ2V0T3B0aW9uTGFiZWwiLCJyZW5kZXJJbnB1dCIsImZyZWVTb2xvIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUVBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2QjtBQUNBLE9BQU9DLGdCQUFQLE1BQTZCLGlDQUE3QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIs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O0FBS0xILE1BQUFBLFlBQVksRUFBWkEsWUFMSztBQU1MSSxNQUFBQSxXQUFXLEVBQUU1QixLQUFLLENBQUM0QixXQU5kO0FBT0xDLE1BQUFBLFFBQVEsRUFBRTdCLEtBQUssQ0FBQzZCO0FBUFgsS0FERjtBQVVMNUIsSUFBQUEsT0FBTyxFQUFFO0FBQUVkLE1BQUFBLFFBQVEsRUFBRWMsT0FBTyxDQUFDZDtBQUFwQjtBQVZKLEdBQVA7QUFZRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEJhc2VkIG9uIE1hdGVyaWFsIFVJIENyZWF0YWJsZSBleGFtcGxlOiBodHRwczovL21hdGVyaWFsLXVpLmNvbS9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS8jY3JlYXRhYmxlXG4vLyBjb252ZXJ0ZWQgdG8gaGVhZGxlc3NcblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgSGlnaGxpZ2h0T2ZmSWNvbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvSGlnaGxpZ2h0T2ZmJ1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvSWNvbkJ1dHRvbidcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1Rvb2x0aXAnXG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJy4uL3V0aWxzL2RlbGF5J1xuaW1wb3J0IHsgdXNlQ29tYm9Cb3ggfSBmcm9tICcuL3VzZUNvbWJvQm94J1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvKiogdGV4dCB0byBkaXNwbGF5IGluIGlucHV0IGJveCAqL1xuICBsYWJlbDogc3RyaW5nLFxuICAvKiogYXJyYXkgb2Ygb3B0aW9ucyB0byBzaG93IGluIGRyb3Bkb3duICovXG4gIG9wdGlvbnM6IGFueVtdLFxuICAvKiogYXJyYXkgaW5kZXggaW50byBvcHRpb25zIG9mIGN1cnJlbnQgc2VsZWN0aW9uICovXG4gIGN1cnJlbnQ6IG51bWJlcixcbiAgLyoqIGlmIHRydWUgdGhlbiB1c2VyIGNhbiB0eXBlIGluIGFueSB0ZXh0ICovXG4gIGFsbG93VXNlcklucHV0OiBib29sZWFuLFxuICAvKiogY2FsbGJhY2sgZnVuY3Rpb24gZm9yIHdoZW4gdXNlciBtYWtlcyBhIHNlbGVjdGlvbiAqL1xuICBvbkNoYW5nZTogRnVuY3Rpb24sXG4gIC8qKiBjYWxsYmFjayBmdW5jdGlvbiBmb3Igd2hlbiB1c2VyIG1ha2VzIGRlbGV0ZXMgYSBzY3JpcHR1cmUgZnJvbSBvcHRpb25zICovXG4gIGRlbGV0ZUl0ZW06IEZ1bmN0aW9uLFxuICAvKiogaWYgdHJ1dGh5IHRoZSBsYWJlbCBpcyBpbml0aWFsbHkgc2hvd24gaW4gaW5wdXQgYm94LCBvdGhlcndpc2UgY3VycmVudCBzZWxlY3Rpb24gc2hvd24gKi9cbiAgaW5pdGlhbFByb21wdDogYW55IHwgbnVsbCxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNjcmlwdHVyZVNlbGVjdG9yKHtcbiAgbGFiZWwsXG4gIG9wdGlvbnMsXG4gIGN1cnJlbnQsXG4gIGFsbG93VXNlcklucHV0LFxuICBvbkNoYW5nZSxcbiAgZGVsZXRlSXRlbSxcbiAgaW5pdGlhbFByb21wdCxcbn06IFByb3BzKSB7XG4gIGZ1bmN0aW9uIHNjcmlwdHVyZVNlbGVjdG9yT25DaGFuZ2UobmV3U2VsZWN0aW9uLCBpbmRleCkge1xuICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKG5ld1NlbGVjdGlvbiwgaW5kZXgsIChzdWNjZXNzLCBpdGVtKSA9PiB7XG4gICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBuZXdTZWxlY3Rpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgZGVsZXRlSXRlbShuZXdTZWxlY3Rpb24pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZVNlbGVjdG9yLXNjcmlwdHVyZVNlbGVjdG9yT25DaGFuZ2UoKSBjYW5ub3QgZGVsZXRlIGl0ZW0gJyR7SlNPTi5zdHJpbmdpZnkobmV3U2VsZWN0aW9uKX0nYClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWFrZVN1cmVJdGVtSXNTZWxlY3RlZEluQ29tYm9Cb3goaXRlbSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgbGV0IHsgc3RhdGUsIGFjdGlvbnMgfSA9IHVzZUNvbWJvQm94KHtcbiAgICBsYWJlbCxcbiAgICBvcHRpb25zLFxuICAgIGN1cnJlbnQsXG4gICAgYWxsb3dVc2VySW5wdXQsXG4gICAgb25DaGFuZ2U6IHNjcmlwdHVyZVNlbGVjdG9yT25DaGFuZ2UsXG4gICAgaW5pdGlhbFByb21wdCxcbiAgfSlcbiAgY29uc3QgW2N1cnJlbnRPcHRpb25zLCBzZXRPcHRpb25zXSA9IFJlYWN0LnVzZVN0YXRlKHN0YXRlLm9wdGlvbnMpXG5cbiAgZnVuY3Rpb24gZmluZFRpdGxlKHRpdGxlKSB7XG4gICAgY29uc3QgaW5kZXggPSBjdXJyZW50T3B0aW9ucy5maW5kSW5kZXgoaXRlbSA9PiAoaXRlbS50aXRsZSA9PT0gdGl0bGUpKVxuICAgIHJldHVybiBpbmRleFxuICB9XG5cbiAgZnVuY3Rpb24gbWFrZVN1cmVJdGVtSXNTZWxlY3RlZEluQ29tYm9Cb3goaXRlbSkge1xuICAgIGNvbnN0IHRpdGxlID0gaXRlbT8udGl0bGVcblxuICAgIGlmICh0aXRsZSkge1xuICAgICAgbGV0IGluZGV4ID0gZmluZFRpdGxlKHRpdGxlKVxuICAgICAgbGV0IHNlbGVjdGVkSXRlbVxuXG4gICAgICBpZiAoaW5kZXggPCAwKSB7IC8vIGlmIHdlIG5lZWQgdG8gYWRkXG4gICAgICAgIGNvbnN0IG5ld09wdGlvbnMgPSBjdXJyZW50T3B0aW9uc1xuICAgICAgICBuZXdPcHRpb25zLnVuc2hpZnQoaXRlbSlcbiAgICAgICAgc2V0T3B0aW9ucyhuZXdPcHRpb25zKVxuICAgICAgICBzZWxlY3RlZEl0ZW0gPSBpdGVtXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxlY3RlZEl0ZW0gPSBjdXJyZW50T3B0aW9uc1tpbmRleF1cbiAgICAgIH1cbiAgICAgIGRlbGF5KDUwMCkudGhlbigoKSA9PiB7XG4gICAgICAgIGFjdGlvbnMuc2V0VmFsdWUoc2VsZWN0ZWRJdGVtKSAvLyBzZWxlY3QgdGhpcyBpdGVtXG4gICAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKHNlbGVjdGVkSXRlbT8udGl0bGUsIDApXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZURlbGV0ZShvcHRpb24pIHtcbiAgICBjb25zdCBjdXJyZW50VGl0bGUgPSBzdGF0ZT8udmFsdWU/LnRpdGxlIHx8ICcnXG4gICAgY29uc3QgcmVtb3ZlVGl0bGUgPSBvcHRpb24udGl0bGVcbiAgICBkZWxldGVJdGVtKHJlbW92ZVRpdGxlKVxuICAgIGNvbnN0IHJlbW92ZUluZGV4ID0gZmluZFRpdGxlKHJlbW92ZVRpdGxlKVxuICAgIGNvbnN0IGN1cnJlbnRTZWxlY3Rpb25JbmRleCA9IGZpbmRUaXRsZShjdXJyZW50VGl0bGUpXG5cbiAgICBpZiAocmVtb3ZlSW5kZXggPj0gMCkge1xuICAgICAgY3VycmVudE9wdGlvbnNbcmVtb3ZlSW5kZXhdLmRlbGV0aW5nID0gdHJ1ZSAvLyBmbGFnIHdlIGFyZSBkZWxldGluZyBiZWZvcmUgb25DaGFuZ2UgY2FsbGVkXG4gICAgICBjdXJyZW50T3B0aW9ucy5zcGxpY2UocmVtb3ZlSW5kZXgsIDEpXG4gICAgICBzZXRPcHRpb25zKGN1cnJlbnRPcHRpb25zKVxuXG4gICAgICBpZiAoKGN1cnJlbnRTZWxlY3Rpb25JbmRleCA8IDApIHx8ICFjdXJyZW50VGl0bGUgfHxcbiAgICAgICAgKGN1cnJlbnRUaXRsZSA9PT0gcmVtb3ZlVGl0bGUpKSB7IC8vIGlmIHdlIHJlbW92ZWQgY3VycmVudCBvciBjdXJyZW50IGFscmVhZHkgcmVtb3ZlZCwgd2UgbmVlZCB0byBzZWxlY3QgYW5vdGhlclxuICAgICAgICBjb25zdCBuZXdJbmRleCA9IDBcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gY3VycmVudE9wdGlvbnNbbmV3SW5kZXhdXG5cbiAgICAgICAgZGVsYXkoNTAwKS50aGVuKCgpID0+IHtcbiAgICAgICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShuZXdTZWxlY3Rpb24udGl0bGUsIG5ld0luZGV4KVxuICAgICAgICAgIGFjdGlvbnMuc2V0VmFsdWUobmV3U2VsZWN0aW9uKVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHsgLy8gcmVzZWxlY3QgY3VycmVudCBpdGVtIHNpbmNlIHJhY2UgY29uZGl0aW9uIGNhbiBsZWF2ZSB3cm9uZyBpdGVtIHNob3duIHNlbGVjdGVkXG4gICAgICAgIGlmIChjdXJyZW50U2VsZWN0aW9uSW5kZXggPj0gMCkge1xuICAgICAgICAgIGRlbGF5KDUwMCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50U2VsZWN0aW9uID0gY3VycmVudE9wdGlvbnNbY3VycmVudFNlbGVjdGlvbkluZGV4XVxuICAgICAgICAgICAgYWN0aW9ucy5zZXRWYWx1ZShjdXJyZW50U2VsZWN0aW9uLnRpdGxlKVxuICAgICAgICAgICAgc2V0T3B0aW9ucyhjdXJyZW50T3B0aW9ucylcbiAgICAgICAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKGN1cnJlbnRTZWxlY3Rpb24udGl0bGUsIGN1cnJlbnRTZWxlY3Rpb25JbmRleClcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmVuZGVyT3B0aW9uID0gKG9wdGlvbikgPT4ge1xuICAgIHJldHVybiA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICB7b3B0aW9uLnRpdGxlfVxuICAgICAge29wdGlvbi51c2VyQWRkZWQgJiZcbiAgICAgIDxUb29sdGlwIHRpdGxlPVwiUmVtb3ZlXCI+XG4gICAgICAgIDxJY29uQnV0dG9uIGFyaWEtbGFiZWw9XCJkZWxldGVcIiBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRGVsZXRlKG9wdGlvbilcbiAgICAgICAgfX0+XG4gICAgICAgICAgPEhpZ2hsaWdodE9mZkljb24gLz5cbiAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgPC9Ub29sdGlwPlxuICAgICAgfVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN0YXRlOiB7XG4gICAgICB2YWx1ZTogc3RhdGUudmFsdWUsXG4gICAgICBvcHRpb25zOiBjdXJyZW50T3B0aW9ucyxcbiAgICAgIGZpbHRlck9wdGlvbnM6IHN0YXRlLmZpbHRlck9wdGlvbnMsXG4gICAgICBnZXRPcHRpb25MYWJlbDogc3RhdGUuZ2V0T3B0aW9uTGFiZWwsXG4gICAgICByZW5kZXJPcHRpb24sXG4gICAgICByZW5kZXJJbnB1dDogc3RhdGUucmVuZGVySW5wdXQsXG4gICAgICBmcmVlU29sbzogc3RhdGUuZnJlZVNvbG8sXG4gICAgfSxcbiAgICBhY3Rpb25zOiB7IG9uQ2hhbmdlOiBhY3Rpb25zLm9uQ2hhbmdlIH0sXG4gIH1cbn1cbiJdfQ==
|
|
172
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkhpZ2hsaWdodE9mZkljb24iLCJJY29uQnV0dG9uIiwiVG9vbHRpcCIsImRlbGF5IiwidXNlQ29tYm9Cb3giLCJ1c2VTY3JpcHR1cmVTZWxlY3RvciIsImxhYmVsIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwiZGVsZXRlSXRlbSIsImluaXRpYWxQcm9tcHQiLCJzY3JpcHR1cmVTZWxlY3Rvck9uQ2hhbmdlIiwibmV3U2VsZWN0aW9uIiwiaW5kZXgiLCJzdWNjZXNzIiwiaXRlbSIsImNvbnNvbGUiLCJsb2ciLCJKU09OIiwic3RyaW5naWZ5IiwibWFrZVN1cmVJdGVtSXNTZWxlY3RlZEluQ29tYm9Cb3giLCJzdGF0ZSIsImFjdGlvbnMiLCJ1c2VTdGF0ZSIsImN1cnJlbnRPcHRpb25zIiwic2V0T3B0aW9ucyIsImZpbmRUaXRsZSIsInRpdGxlIiwiZmluZEluZGV4Iiwic2VsZWN0ZWRJdGVtIiwibmV3T3B0aW9ucyIsInVuc2hpZnQiLCJ0aGVuIiwic2V0VmFsdWUiLCJoYW5kbGVEZWxldGUiLCJvcHRpb24iLCJjdXJyZW50VGl0bGUiLCJ2YWx1ZSIsInJlbW92ZVRpdGxlIiwicmVtb3ZlSW5kZXgiLCJjdXJyZW50U2VsZWN0aW9uSW5kZXgiLCJkZWxldGluZyIsInNwbGljZSIsIm5ld0luZGV4IiwiY3VycmVudFNlbGVjdGlvbiIsInJlbmRlck9wdGlvbiIsInVzZXJBZGRlZCIsImZpbHRlck9wdGlvbnMiLCJnZXRPcHRpb25MYWJlbCIsInJlbmRlcklucHV0IiwiZnJlZVNvbG8iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlU2NyaXB0dXJlU2VsZWN0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEJhc2VkIG9uIE1hdGVyaWFsIFVJIENyZWF0YWJsZSBleGFtcGxlOiBodHRwczovL21hdGVyaWFsLXVpLmNvbS9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS8jY3JlYXRhYmxlXG4vLyBjb252ZXJ0ZWQgdG8gaGVhZGxlc3NcblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgSGlnaGxpZ2h0T2ZmSWNvbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvSGlnaGxpZ2h0T2ZmJ1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvSWNvbkJ1dHRvbidcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1Rvb2x0aXAnXG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJy4uL3V0aWxzL2RlbGF5J1xuaW1wb3J0IHsgdXNlQ29tYm9Cb3ggfSBmcm9tICcuL3VzZUNvbWJvQm94J1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvKiogdGV4dCB0byBkaXNwbGF5IGluIGlucHV0IGJveCAqL1xuICBsYWJlbDogc3RyaW5nLFxuICAvKiogYXJyYXkgb2Ygb3B0aW9ucyB0byBzaG93IGluIGRyb3Bkb3duICovXG4gIG9wdGlvbnM6IGFueVtdLFxuICAvKiogYXJyYXkgaW5kZXggaW50byBvcHRpb25zIG9mIGN1cnJlbnQgc2VsZWN0aW9uICovXG4gIGN1cnJlbnQ6IG51bWJlcixcbiAgLyoqIGlmIHRydWUgdGhlbiB1c2VyIGNhbiB0eXBlIGluIGFueSB0ZXh0ICovXG4gIGFsbG93VXNlcklucHV0OiBib29sZWFuLFxuICAvKiogY2FsbGJhY2sgZnVuY3Rpb24gZm9yIHdoZW4gdXNlciBtYWtlcyBhIHNlbGVjdGlvbiAqL1xuICBvbkNoYW5nZTogRnVuY3Rpb24sXG4gIC8qKiBjYWxsYmFjayBmdW5jdGlvbiBmb3Igd2hlbiB1c2VyIG1ha2VzIGRlbGV0ZXMgYSBzY3JpcHR1cmUgZnJvbSBvcHRpb25zICovXG4gIGRlbGV0ZUl0ZW06IEZ1bmN0aW9uLFxuICAvKiogaWYgdHJ1dGh5IHRoZSBsYWJlbCBpcyBpbml0aWFsbHkgc2hvd24gaW4gaW5wdXQgYm94LCBvdGhlcndpc2UgY3VycmVudCBzZWxlY3Rpb24gc2hvd24gKi9cbiAgaW5pdGlhbFByb21wdDogYW55IHwgbnVsbCxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNjcmlwdHVyZVNlbGVjdG9yKHtcbiAgbGFiZWwsXG4gIG9wdGlvbnMsXG4gIGN1cnJlbnQsXG4gIGFsbG93VXNlcklucHV0LFxuICBvbkNoYW5nZSxcbiAgZGVsZXRlSXRlbSxcbiAgaW5pdGlhbFByb21wdCxcbn06IFByb3BzKSB7XG4gIGZ1bmN0aW9uIHNjcmlwdHVyZVNlbGVjdG9yT25DaGFuZ2UobmV3U2VsZWN0aW9uLCBpbmRleCkge1xuICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKG5ld1NlbGVjdGlvbiwgaW5kZXgsIChzdWNjZXNzLCBpdGVtKSA9PiB7XG4gICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBuZXdTZWxlY3Rpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgZGVsZXRlSXRlbShuZXdTZWxlY3Rpb24pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZVNlbGVjdG9yLXNjcmlwdHVyZVNlbGVjdG9yT25DaGFuZ2UoKSBjYW5ub3QgZGVsZXRlIGl0ZW0gJyR7SlNPTi5zdHJpbmdpZnkobmV3U2VsZWN0aW9uKX0nYClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWFrZVN1cmVJdGVtSXNTZWxlY3RlZEluQ29tYm9Cb3goaXRlbSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgbGV0IHsgc3RhdGUsIGFjdGlvbnMgfSA9IHVzZUNvbWJvQm94KHtcbiAgICBsYWJlbCxcbiAgICBvcHRpb25zLFxuICAgIGN1cnJlbnQsXG4gICAgYWxsb3dVc2VySW5wdXQsXG4gICAgb25DaGFuZ2U6IHNjcmlwdHVyZVNlbGVjdG9yT25DaGFuZ2UsXG4gICAgaW5pdGlhbFByb21wdCxcbiAgfSlcbiAgY29uc3QgW2N1cnJlbnRPcHRpb25zLCBzZXRPcHRpb25zXSA9IFJlYWN0LnVzZVN0YXRlKHN0YXRlLm9wdGlvbnMpXG5cbiAgZnVuY3Rpb24gZmluZFRpdGxlKHRpdGxlKSB7XG4gICAgY29uc3QgaW5kZXggPSBjdXJyZW50T3B0aW9ucy5maW5kSW5kZXgoaXRlbSA9PiAoaXRlbS50aXRsZSA9PT0gdGl0bGUpKVxuICAgIHJldHVybiBpbmRleFxuICB9XG5cbiAgZnVuY3Rpb24gbWFrZVN1cmVJdGVtSXNTZWxlY3RlZEluQ29tYm9Cb3goaXRlbSkge1xuICAgIGNvbnN0IHRpdGxlID0gaXRlbT8udGl0bGVcblxuICAgIGlmICh0aXRsZSkge1xuICAgICAgbGV0IGluZGV4ID0gZmluZFRpdGxlKHRpdGxlKVxuICAgICAgbGV0IHNlbGVjdGVkSXRlbVxuXG4gICAgICBpZiAoaW5kZXggPCAwKSB7IC8vIGlmIHdlIG5lZWQgdG8gYWRkXG4gICAgICAgIGNvbnN0IG5ld09wdGlvbnMgPSBjdXJyZW50T3B0aW9uc1xuICAgICAgICBuZXdPcHRpb25zLnVuc2hpZnQoaXRlbSlcbiAgICAgICAgc2V0T3B0aW9ucyhuZXdPcHRpb25zKVxuICAgICAgICBzZWxlY3RlZEl0ZW0gPSBpdGVtXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxlY3RlZEl0ZW0gPSBjdXJyZW50T3B0aW9uc1tpbmRleF1cbiAgICAgIH1cbiAgICAgIGRlbGF5KDUwMCkudGhlbigoKSA9PiB7XG4gICAgICAgIGFjdGlvbnMuc2V0VmFsdWUoc2VsZWN0ZWRJdGVtKSAvLyBzZWxlY3QgdGhpcyBpdGVtXG4gICAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKHNlbGVjdGVkSXRlbT8udGl0bGUsIDApXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZURlbGV0ZShvcHRpb24pIHtcbiAgICBjb25zdCBjdXJyZW50VGl0bGUgPSBzdGF0ZT8udmFsdWU/LnRpdGxlIHx8ICcnXG4gICAgY29uc3QgcmVtb3ZlVGl0bGUgPSBvcHRpb24udGl0bGVcbiAgICBkZWxldGVJdGVtKHJlbW92ZVRpdGxlKVxuICAgIGNvbnN0IHJlbW92ZUluZGV4ID0gZmluZFRpdGxlKHJlbW92ZVRpdGxlKVxuICAgIGNvbnN0IGN1cnJlbnRTZWxlY3Rpb25JbmRleCA9IGZpbmRUaXRsZShjdXJyZW50VGl0bGUpXG5cbiAgICBpZiAocmVtb3ZlSW5kZXggPj0gMCkge1xuICAgICAgY3VycmVudE9wdGlvbnNbcmVtb3ZlSW5kZXhdLmRlbGV0aW5nID0gdHJ1ZSAvLyBmbGFnIHdlIGFyZSBkZWxldGluZyBiZWZvcmUgb25DaGFuZ2UgY2FsbGVkXG4gICAgICBjdXJyZW50T3B0aW9ucy5zcGxpY2UocmVtb3ZlSW5kZXgsIDEpXG4gICAgICBzZXRPcHRpb25zKGN1cnJlbnRPcHRpb25zKVxuXG4gICAgICBpZiAoKGN1cnJlbnRTZWxlY3Rpb25JbmRleCA8IDApIHx8ICFjdXJyZW50VGl0bGUgfHxcbiAgICAgICAgKGN1cnJlbnRUaXRsZSA9PT0gcmVtb3ZlVGl0bGUpKSB7IC8vIGlmIHdlIHJlbW92ZWQgY3VycmVudCBvciBjdXJyZW50IGFscmVhZHkgcmVtb3ZlZCwgd2UgbmVlZCB0byBzZWxlY3QgYW5vdGhlclxuICAgICAgICBjb25zdCBuZXdJbmRleCA9IDBcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gY3VycmVudE9wdGlvbnNbbmV3SW5kZXhdXG5cbiAgICAgICAgZGVsYXkoNTAwKS50aGVuKCgpID0+IHtcbiAgICAgICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShuZXdTZWxlY3Rpb24udGl0bGUsIG5ld0luZGV4KVxuICAgICAgICAgIGFjdGlvbnMuc2V0VmFsdWUobmV3U2VsZWN0aW9uKVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHsgLy8gcmVzZWxlY3QgY3VycmVudCBpdGVtIHNpbmNlIHJhY2UgY29uZGl0aW9uIGNhbiBsZWF2ZSB3cm9uZyBpdGVtIHNob3duIHNlbGVjdGVkXG4gICAgICAgIGlmIChjdXJyZW50U2VsZWN0aW9uSW5kZXggPj0gMCkge1xuICAgICAgICAgIGRlbGF5KDUwMCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50U2VsZWN0aW9uID0gY3VycmVudE9wdGlvbnNbY3VycmVudFNlbGVjdGlvbkluZGV4XVxuICAgICAgICAgICAgYWN0aW9ucy5zZXRWYWx1ZShjdXJyZW50U2VsZWN0aW9uLnRpdGxlKVxuICAgICAgICAgICAgc2V0T3B0aW9ucyhjdXJyZW50T3B0aW9ucylcbiAgICAgICAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKGN1cnJlbnRTZWxlY3Rpb24udGl0bGUsIGN1cnJlbnRTZWxlY3Rpb25JbmRleClcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmVuZGVyT3B0aW9uID0gKG9wdGlvbikgPT4ge1xuICAgIHJldHVybiA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICB7b3B0aW9uLnRpdGxlfVxuICAgICAge29wdGlvbi51c2VyQWRkZWQgJiZcbiAgICAgIDxUb29sdGlwIHRpdGxlPVwiUmVtb3ZlXCI+XG4gICAgICAgIDxJY29uQnV0dG9uIGFyaWEtbGFiZWw9XCJkZWxldGVcIiBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRGVsZXRlKG9wdGlvbilcbiAgICAgICAgfX0+XG4gICAgICAgICAgPEhpZ2hsaWdodE9mZkljb24gLz5cbiAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgPC9Ub29sdGlwPlxuICAgICAgfVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN0YXRlOiB7XG4gICAgICB2YWx1ZTogc3RhdGUudmFsdWUsXG4gICAgICBvcHRpb25zOiBjdXJyZW50T3B0aW9ucyxcbiAgICAgIGZpbHRlck9wdGlvbnM6IHN0YXRlLmZpbHRlck9wdGlvbnMsXG4gICAgICBnZXRPcHRpb25MYWJlbDogc3RhdGUuZ2V0T3B0aW9uTGFiZWwsXG4gICAgICByZW5kZXJPcHRpb24sXG4gICAgICByZW5kZXJJbnB1dDogc3RhdGUucmVuZGVySW5wdXQsXG4gICAgICBmcmVlU29sbzogc3RhdGUuZnJlZVNvbG8sXG4gICAgfSxcbiAgICBhY3Rpb25zOiB7IG9uQ2hhbmdlOiBhY3Rpb25zLm9uQ2hhbmdlIH0sXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUVBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2QjtBQUNBLE9BQU9DLGdCQUFQLE1BQTZCLGlDQUE3QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsOEJBQXZCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQiwyQkFBcEI7QUFDQSxTQUFTQyxLQUFULFFBQXNCLGdCQUF0QjtBQUNBLFNBQVNDLFdBQVQsUUFBNEIsZUFBNUI7QUFtQkEsT0FBTyxTQUFTQyxvQkFBVCxPQVFHO0VBQUEsSUFQUkMsS0FPUSxRQVBSQSxLQU9RO0VBQUEsSUFOUkMsT0FNUSxRQU5SQSxPQU1RO0VBQUEsSUFMUkMsT0FLUSxRQUxSQSxPQUtRO0VBQUEsSUFKUkMsY0FJUSxRQUpSQSxjQUlRO0VBQUEsSUFIUkMsUUFHUSxRQUhSQSxRQUdRO0VBQUEsSUFGUkMsVUFFUSxRQUZSQSxVQUVRO0VBQUEsSUFEUkMsYUFDUSxRQURSQSxhQUNROztFQUNSLFNBQVNDLHlCQUFULENBQW1DQyxZQUFuQyxFQUFpREMsS0FBakQsRUFBd0Q7SUFDdERMLFFBQVEsSUFBSUEsUUFBUSxDQUFDSSxZQUFELEVBQWVDLEtBQWYsRUFBc0IsVUFBQ0MsT0FBRCxFQUFVQyxJQUFWLEVBQW1CO01BQzNELElBQUksQ0FBQ0QsT0FBTCxFQUFjO1FBQ1osSUFBSSxPQUFPRixZQUFQLEtBQXdCLFFBQTVCLEVBQXNDO1VBQ3BDSCxVQUFVLENBQUNHLFlBQUQsQ0FBVjtRQUNELENBRkQsTUFFTztVQUNMSSxPQUFPLENBQUNDLEdBQVIsZ0ZBQW9GQyxJQUFJLENBQUNDLFNBQUwsQ0FBZVAsWUFBZixDQUFwRjtRQUNEO01BQ0YsQ0FORCxNQU1PO1FBQ0xRLGdDQUFnQyxDQUFDTCxJQUFELENBQWhDO01BQ0Q7SUFDRixDQVZtQixD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
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
import "core-js/modules/es.array.concat.js";
|
|
2
|
-
import "core-js/modules/es.array.includes.js";
|
|
3
|
-
import "core-js/modules/es.array.iterator.js";
|
|
4
|
-
import "core-js/modules/es.array.join.js";
|
|
5
|
-
import "core-js/modules/es.array.slice.js";
|
|
6
|
-
import "core-js/modules/es.array.splice.js";
|
|
7
|
-
import "core-js/modules/es.object.define-property.js";
|
|
8
|
-
import "core-js/modules/es.object.to-string.js";
|
|
9
|
-
import "core-js/modules/es.regexp.exec.js";
|
|
10
|
-
import "core-js/modules/es.string.includes.js";
|
|
11
|
-
import "core-js/modules/es.string.iterator.js";
|
|
12
|
-
import "core-js/modules/es.string.split.js";
|
|
13
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
14
|
-
import "core-js/modules/web.url.js";
|
|
15
|
-
|
|
16
1
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
2
|
|
|
18
3
|
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."); }
|
|
@@ -21,17 +6,46 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
21
6
|
|
|
22
7
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
8
|
|
|
24
|
-
function _iterableToArrayLimit(arr, i) {
|
|
9
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
25
10
|
|
|
26
11
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
27
12
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
13
|
+
import "core-js/modules/es.array.splice.js";
|
|
14
|
+
import "core-js/modules/es.array.includes.js";
|
|
15
|
+
import "core-js/modules/es.regexp.exec.js";
|
|
16
|
+
import "core-js/modules/es.string.split.js";
|
|
17
|
+
import "core-js/modules/es.array.join.js";
|
|
18
|
+
import "core-js/modules/es.array.slice.js";
|
|
19
|
+
import "core-js/modules/es.string.includes.js";
|
|
20
|
+
import "core-js/modules/es.array.concat.js";
|
|
21
|
+
import "core-js/modules/es.array.iterator.js";
|
|
22
|
+
import "core-js/modules/es.object.to-string.js";
|
|
23
|
+
import "core-js/modules/es.string.iterator.js";
|
|
24
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
25
|
+
import "core-js/modules/web.url.js";
|
|
26
|
+
import "core-js/modules/web.url-search-params.js";
|
|
27
|
+
import "core-js/modules/es.object.define-property.js";
|
|
28
|
+
import "core-js/modules/es.object.keys.js";
|
|
29
|
+
import "core-js/modules/es.symbol.js";
|
|
30
|
+
import "core-js/modules/es.array.filter.js";
|
|
31
|
+
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
|
32
|
+
import "core-js/modules/es.array.for-each.js";
|
|
33
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
|
34
|
+
import "core-js/modules/es.object.get-own-property-descriptors.js";
|
|
35
|
+
import "core-js/modules/es.object.define-properties.js";
|
|
36
|
+
import "core-js/modules/es.array.is-array.js";
|
|
37
|
+
import "core-js/modules/es.symbol.description.js";
|
|
38
|
+
import "core-js/modules/es.symbol.iterator.js";
|
|
39
|
+
import "core-js/modules/es.function.name.js";
|
|
40
|
+
import "core-js/modules/es.array.from.js";
|
|
41
|
+
|
|
42
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
43
|
+
|
|
44
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
45
|
|
|
32
46
|
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; }
|
|
33
47
|
|
|
34
|
-
import { useEffect, useState } from 'react';
|
|
48
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
35
49
|
import { core } from 'scripture-resources-rcl';
|
|
36
50
|
import * as isEqual from 'deep-equal';
|
|
37
51
|
import { KEY_SCRIPTURE_VER_HISTORY, ScriptureVersionHistory } from '../utils/ScriptureVersionHistory';
|
|
@@ -102,6 +116,7 @@ export function useScriptureSettings(_ref) {
|
|
|
102
116
|
chapter = _ref.chapter,
|
|
103
117
|
verse = _ref.verse,
|
|
104
118
|
bookId = _ref.bookId,
|
|
119
|
+
bcvQuery = _ref.bcvQuery,
|
|
105
120
|
owner = _ref.owner,
|
|
106
121
|
server = _ref.server,
|
|
107
122
|
appRef = _ref.appRef,
|
|
@@ -141,22 +156,32 @@ export function useScriptureSettings(_ref) {
|
|
|
141
156
|
scriptureSettings = _useUserLocalStorage4[0],
|
|
142
157
|
setScriptureSettings = _useUserLocalStorage4[1];
|
|
143
158
|
|
|
144
|
-
var
|
|
159
|
+
var _useState = useState({
|
|
145
160
|
server: server,
|
|
146
161
|
owner: owner,
|
|
147
162
|
languageId: languageId
|
|
148
|
-
}
|
|
163
|
+
}),
|
|
164
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
165
|
+
currentTarget = _useState2[0],
|
|
166
|
+
setCurrentTarget = _useState2[1];
|
|
149
167
|
|
|
150
168
|
var _useUserLocalStorage5 = useUserLocalStorage(KEY_TARGET_BASE + cardNum, currentTarget),
|
|
151
169
|
_useUserLocalStorage6 = _slicedToArray(_useUserLocalStorage5, 2),
|
|
152
170
|
target = _useUserLocalStorage6[0],
|
|
153
171
|
setTarget = _useUserLocalStorage6[1];
|
|
154
172
|
|
|
155
|
-
var
|
|
156
|
-
|
|
157
|
-
cleanUp =
|
|
158
|
-
setCleanUp =
|
|
173
|
+
var _useState3 = useState(true),
|
|
174
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
175
|
+
cleanUp = _useState4[0],
|
|
176
|
+
setCleanUp = _useState4[1];
|
|
159
177
|
|
|
178
|
+
useEffect(function () {
|
|
179
|
+
return setCurrentTarget({
|
|
180
|
+
server: server,
|
|
181
|
+
owner: owner,
|
|
182
|
+
languageId: languageId
|
|
183
|
+
});
|
|
184
|
+
}, [server, owner, languageId]);
|
|
160
185
|
useEffect(function () {
|
|
161
186
|
if (languageId && owner) {
|
|
162
187
|
// make sure we have languageId and owner selected first
|
|
@@ -180,13 +205,14 @@ export function useScriptureSettings(_ref) {
|
|
|
180
205
|
scriptureVersionHist.addItemToHistory(scriptureSettings); // make sure current scripture version persisted in history
|
|
181
206
|
}
|
|
182
207
|
}
|
|
183
|
-
}, [languageId, owner, cleanUp]);
|
|
208
|
+
}, [languageId, owner, cleanUp, currentTarget, target, scriptureVersionHist, scriptureSettings, cardNum, scriptureDefaultSettings, setScriptureSettings, setTarget]);
|
|
184
209
|
var originalRepoUrl = isNewTestament ? greekRepoUrl : hebrewRepoUrl;
|
|
185
210
|
var scriptureConfig = useScriptureResources({
|
|
186
211
|
bookId: bookId,
|
|
187
212
|
scriptureSettings: scriptureSettings,
|
|
188
213
|
chapter: chapter,
|
|
189
214
|
verse: verse,
|
|
215
|
+
bcvQuery: bcvQuery,
|
|
190
216
|
isNewTestament: isNewTestament,
|
|
191
217
|
originalRepoUrl: originalRepoUrl,
|
|
192
218
|
currentLanguageId: languageId,
|
|
@@ -378,4 +404,4 @@ export function useScriptureSettings(_ref) {
|
|
|
378
404
|
};
|
|
379
405
|
}
|
|
380
406
|
export default useScriptureSettings;
|
|
381
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVTZXR0aW5ncy50c3giXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJjb3JlIiwiaXNFcXVhbCIsIktFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlkiLCJTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSIsIklOVkFMSURfUkVQT19VUkxfRVJST1IiLCJJTlZBTElEX1VSTCIsIk1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1IiLCJOVF9PUklHX0xBTkdfQklCTEUiLCJOVF9PUklHX0xBTkciLCJPUklHSU5BTF9TT1VSQ0UiLCJPVF9PUklHX0xBTkdfQklCTEUiLCJPVF9PUklHX0xBTkciLCJSRVBPX05PVF9GT1VORF9FUlJPUiIsIlJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUiIsInNldExvY2FsU3RvcmFnZVZhbHVlIiwicGFyc2VSZXNvdXJjZU1hbmlmZXN0IiwidmFsaWRhdGVEY3NVcmwiLCJnZXRSZXNvdXJjZUxpbmsiLCJnZXRTY3JpcHR1cmVPYmplY3QiLCJnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzIiwidXNlU2NyaXB0dXJlUmVzb3VyY2VzIiwiS0VZX1NFVFRJTkdTX0JBU0UiLCJLRVlfVEFSR0VUX0JBU0UiLCJmaXhTY3JpcHR1cmVTZXR0aW5ncyIsInZlcnNpb25IaXN0Iiwic2NyaXB0dXJlU2V0dGluZ3MiLCJsYW5ndWFnZUlkIiwiY2FyZE51bSIsIm93bmVyIiwicmVzb3VyY2VJZCIsIm5ld1NjcmlwdHVyZVNldHRpbmdzIiwicmVzb3VyY2VMaW5rIiwiYWRkSXRlbVRvSGlzdG9yeSIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJtb2RpZmllZCIsImkiLCJsZW5ndGgiLCJpdGVtIiwiaiIsIm1hdGNoX2l0ZW0iLCJtYXRjaF9yZXNvdXJjZUlkIiwicmVmIiwic2VydmVyIiwic3BsaWNlIiwic2F2ZUhpc3RvcnkiLCJpc1NjcmlwdHVyZVJlc291cmNlIiwic3ViamVjdCIsIkJpYmxlUmVzb3VyY2VzIiwiaXNTY3JpcHR1cmUiLCJpbmNsdWRlcyIsInVzZVNjcmlwdHVyZVNldHRpbmdzIiwiaXNOVCIsInRpdGxlIiwiY2hhcHRlciIsInZlcnNlIiwiYm9va0lkIiwiYXBwUmVmIiwidXNlVXNlckxvY2FsU3RvcmFnZSIsImRpc2FibGVXb3JkUG9wb3ZlciIsIm9yaWdpbmFsTGFuZ3VhZ2VPd25lciIsInNldFVybEVycm9yIiwiaHR0cENvbmZpZyIsImdyZWVrUmVwb1VybCIsImhlYnJld1JlcG9VcmwiLCJpc05ld1Rlc3RhbWVudCIsInNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncyIsInZlcnNpb25IaXN0b3J5Iiwic2F2ZVZlcnNpb25IaXN0IiwicmVmcmVzaFZlcnNpb25IaXN0Iiwic2NyaXB0dXJlVmVyc2lvbkhpc3QiLCJzZXRTY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJzZXRUYXJnZXQiLCJjbGVhblVwIiwic2V0Q2xlYW5VcCIsIm9sZERlZmF1bHRTZXR0aW5ncyIsInJlbW92ZUl0ZW0iLCJvcmlnaW5hbFJlcG9VcmwiLCJzY3JpcHR1cmVDb25maWciLCJjdXJyZW50TGFuZ3VhZ2VJZCIsImN1cnJlbnRPd25lciIsImNsZWFuUmVzb3VyY2VMaW5rIiwicmVzb3VyY2VMaW5rXyIsInJlc291cmNlTGlua3MiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsInNldFNjcmlwdHVyZSIsInZhbGlkYXRpb25DQiIsInVybCIsIm5ld1VybCIsInBhcnRzIiwiaG9zdG5hbWUiLCJVUkwiLCJjb25zb2xlIiwibG9nIiwicmVtb3ZlVXJsIiwic2VydmVyXyIsInBvcnQiLCJ1cmxfIiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwicmVmZXJlbmNlIiwicHJvamVjdElkIiwiY29uZmlnIiwiY2FjaGUiLCJtYXhBZ2UiLCJ0aGVuIiwicmVzb3VyY2UiLCJlcnJvciIsIm5ld1NjcmlwdHVyZSIsInZlcnNpb24iLCJ3YXJuIiwidXNlcm5hbWUiLCJ2YWxpZFVybCIs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Q2lELEtBQUQsQ0FBWDtBQUNBcEIsUUFBQUEsWUFBWSxJQUFJQSxZQUFZLENBQUMsQ0FBQ29CLEtBQUYsRUFBU0MsWUFBVCxDQUE1QjtBQUNELE9BbEVEO0FBbUVELEtBNUZELE1BNEZPO0FBQUU7QUFDUGxELE1BQUFBLFdBQVcsQ0FBQyxJQUFELENBQVgsQ0FESyxDQUNhOztBQUNsQlUsTUFBQUEsb0JBQW9CLENBQUNqQyxJQUFELENBQXBCO0FBQ0FvRCxNQUFBQSxZQUFZLElBQUlBLFlBQVksQ0FBQyxJQUFELENBQTVCO0FBQ0Q7QUFDRixHQTNIRDs7QUE2SEEsU0FBTztBQUNMVixJQUFBQSxlQUFlLEVBQWZBLGVBREs7QUFFTFMsSUFBQUEsWUFBWSxFQUFaQSxZQUZLO0FBR0xuQixJQUFBQSxvQkFBb0IsRUFBcEJBO0FBSEssR0FBUDtBQUtEO0FBRUQsZUFBZW5CLG9CQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0ICogYXMgaXNFcXVhbCBmcm9tICdkZWVwLWVxdWFsJ1xuaW1wb3J0IHsgS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSwgU2NyaXB0dXJlVmVyc2lvbkhpc3RvcnkgfSBmcm9tICcuLi91dGlscy9TY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSdcbmltcG9ydCB7XG4gIElOVkFMSURfUkVQT19VUkxfRVJST1IsXG4gIElOVkFMSURfVVJMLFxuICBNQU5JRkVTVF9JTlZBTElEX1NIT1JUX0VSUk9SLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE5UX09SSUdfTEFORyxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIE9UX09SSUdfTEFORyxcbiAgUkVQT19OT1RfRk9VTkRfRVJST1IsXG4gIFJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUixcbiAgc2V0TG9jYWxTdG9yYWdlVmFsdWUsXG4gIHBhcnNlUmVzb3VyY2VNYW5pZmVzdCxcbiAgdmFsaWRhdGVEY3NVcmwsXG59IGZyb20gJy4uJ1xuaW1wb3J0IHtcbiAgZ2V0UmVzb3VyY2VMaW5rLFxuICBnZXRTY3JpcHR1cmVPYmplY3QsXG4gIGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MsXG59IGZyb20gJy4uL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHVzZVNjcmlwdHVyZVJlc291cmNlcyBmcm9tICcuL3VzZVNjcmlwdHVyZVJlc291cmNlcydcblxuY29uc3QgS0VZX1NFVFRJTkdTX0JBU0UgPSAnc2NyaXB0dXJlUGFuZUNvbmZpZ18nXG5jb25zdCBLRVlfVEFSR0VUX0JBU0UgPSAnc2NyaXB0dXJlUGFuZVRhcmdldF8nXG5cbmZ1bmN0aW9uIGZpeFNjcmlwdHVyZVNldHRpbmdzKHZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpIHtcbiAgLy8gY2xlYW4gdXAgaGFyZC1jb2RlZCBvcmlnaW5hbCBzb3VyY2VzXG4gIGlmICgoc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAoc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSkge1xuICAgIGlmICgoc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCAhPT0gTlRfT1JJR19MQU5HKSAmJiAoc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCAhPT0gT1RfT1JJR19MQU5HKSkgeyAvLyBpZiB0aGlzIGlzIHRyYWNrIHdpdGggY3VycmVudCBzZWxlY3RlZCBsYW5ndWFnZSBhbmQgdGVzdGFtZW50IG9mIGJvb2tcbiAgICAgIGNvbnN0IG5ld1NjcmlwdHVyZVNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVTZXR0aW5ncyB9XG4gICAgICBuZXdTY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID0gbGFuZ3VhZ2VJZFxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IE9SSUdJTkFMX1NPVVJDRVxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBvd25lclxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKG5ld1NjcmlwdHVyZVNldHRpbmdzKVxuICAgICAgc2V0TG9jYWxTdG9yYWdlVmFsdWUoS0VZX1NFVFRJTkdTX0JBU0UgKyBjYXJkTnVtLCBuZXdTY3JpcHR1cmVTZXR0aW5ncylcbiAgICAgIHZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3U2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgfVxuICB9XG5cbiAgLy8gY2xlYW4gaGlzdG9yeSBvZiBvcmlnaW5hbCBzb3VyY2VzXG4gIGxldCBoaXN0b3J5ID0gdmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KCkgfHwgW11cbiAgbGV0IG1vZGlmaWVkID0gZmFsc2VcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGhpc3RvcnkubGVuZ3RoOyBpKyspIHsgLy8gc2VhcmNoIGZvciBvcmlnaW5hbCBzb3VyY2UgZHVwbGljYXRlcyBpbiBoaXN0b3J5XG4gICAgY29uc3QgaXRlbSA9IGhpc3RvcnlbaV1cbiAgICBjb25zdCByZXNvdXJjZUlkID0gaXRlbS5yZXNvdXJjZUlkXG5cbiAgICBpZiAoKHJlc291cmNlSWQgPT09IE5UX09SSUdfTEFOR19CSUJMRSkgfHwgKHJlc291cmNlSWQgPT09IE9UX09SSUdfTEFOR19CSUJMRSkgfHwgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkpIHtcbiAgICAgIGZvciAoIGxldCBqID0gaSArIDE7IGogPCBoaXN0b3J5Lmxlbmd0aDsgaisrKSB7IC8vIHNlYXJjaCByZXN0IG9mIGxpc3QgZm9yIGR1cGxpY2F0ZXMgb2YgaXRlbSBhdCBpXG4gICAgICAgIGNvbnN0IG1hdGNoX2l0ZW0gPSBoaXN0b3J5W2pdXG4gICAgICAgIGNvbnN0IG1hdGNoX3Jlc291cmNlSWQgPSBtYXRjaF9pdGVtLnJlc291cmNlSWRcblxuICAgICAgICBpZiAoKG1hdGNoX3Jlc291cmNlSWQgPT09IHJlc291cmNlSWQpKSB7XG4gICAgICAgICAgaWYgKChpdGVtLm93bmVyID09PSBtYXRjaF9pdGVtLm93bmVyKSAmJlxuICAgICAgICAgICAgKGl0ZW0ucmVmID09PSBtYXRjaF9pdGVtLnJlZikgJiZcbiAgICAgICAgICAgIChpdGVtLnNlcnZlciA9PT0gbWF0Y2hfaXRlbS5zZXJ2ZXIpICYmXG4gICAgICAgICAgICAoaXRlbS5yZXNvdXJjZUlkID09PSBtYXRjaF9pdGVtLnJlc291cmNlSWQpKSB7XG4gICAgICAgICAgICBoaXN0b3J5LnNwbGljZShqLCAxKSAvLyByZW1vdmUgZHVwbGljYXRlIGl0ZW1cbiAgICAgICAgICAgIG1vZGlmaWVkID0gdHJ1ZVxuICAgICAgICAgICAgai0tIC8vIGJhY2sgdXAgaW5kZXggc2luY2UgY29udGVudHMgc2hpZnRlZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChtb2RpZmllZCkge1xuICAgIHZlcnNpb25IaXN0LnNhdmVIaXN0b3J5KGhpc3RvcnkpXG4gIH1cbn1cblxuZnVuY3Rpb24gaXNTY3JpcHR1cmVSZXNvdXJjZShzdWJqZWN0KSB7XG4gIGNvbnN0IEJpYmxlUmVzb3VyY2VzID0gWyAnQmlibGUnLCAnQWxpZ25lZCBCaWJsZScsICdHcmVlayBOZXcgVGVzdGFtZW50JywgJ0hlYnJldyBPbGQgVGVzdGFtZW50JyBdXG4gIGNvbnN0IGlzU2NyaXB0dXJlID0gQmlibGVSZXNvdXJjZXMuaW5jbHVkZXMoc3ViamVjdClcbiAgcmV0dXJuIGlzU2NyaXB0dXJlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTY3JpcHR1cmVTZXR0aW5ncyh7XG4gIGlzTlQsXG4gIHRpdGxlLFxuICBjYXJkTnVtLFxuICBjaGFwdGVyLFxuICB2ZXJzZSxcbiAgYm9va0lkLFxuICBvd25lcixcbiAgc2VydmVyLFxuICBhcHBSZWYsXG4gIGxhbmd1YWdlSWQsXG4gIHJlc291cmNlSWQsXG4gIHJlc291cmNlTGluayxcbiAgdXNlVXNlckxvY2FsU3RvcmFnZSxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gIHNldFVybEVycm9yLFxuICBodHRwQ29uZmlnLFxuICBncmVla1JlcG9VcmwsXG4gIGhlYnJld1JlcG9VcmwsXG59KSB7XG4gIGNvbnN0IGlzTmV3VGVzdGFtZW50ID0gaXNOVChib29rSWQpXG4gIGNvbnN0IHNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncyA9IGdldFNjcmlwdHVyZU9iamVjdCh7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIHJlZjogYXBwUmVmLFxuICAgIGxhbmd1YWdlSWQsXG4gICAgcmVzb3VyY2VJZCxcbiAgICByZXNvdXJjZUxpbmssXG4gICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgfSlcbiAgY29uc3QgW3ZlcnNpb25IaXN0b3J5LCBzYXZlVmVyc2lvbkhpc3QsIHJlZnJlc2hWZXJzaW9uSGlzdF0gPSB1c2VVc2VyTG9jYWxTdG9yYWdlKEtFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlksIFtdKVxuICBjb25zdCBzY3JpcHR1cmVWZXJzaW9uSGlzdCA9IG5ldyBTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSh2ZXJzaW9uSGlzdG9yeSwgc2F2ZVZlcnNpb25IaXN0LCByZWZyZXNoVmVyc2lvbkhpc3QpXG5cbiAgbGV0IFtzY3JpcHR1cmVTZXR0aW5ncywgc2V0U2NyaXB0dXJlU2V0dGluZ3NdID0gdXNlVXNlckxvY2FsU3RvcmFnZShLRVlfU0VUVElOR1NfQkFTRSArIGNhcmROdW0sIHNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncylcbiAgY29uc3QgY3VycmVudFRhcmdldCA9IHtcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgfVxuICBjb25zdCBbdGFyZ2V0LCBzZXRUYXJnZXRdID0gdXNlVXNlckxvY2FsU3RvcmFnZShLRVlfVEFSR0VUX0JBU0UgKyBjYXJkTnVtLCBjdXJyZW50VGFyZ2V0KVxuICBjb25zdCBbY2xlYW5VcCwgc2V0Q2xlYW5VcF0gPSB1c2VTdGF0ZSh0cnVlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxhbmd1YWdlSWQgJiYgb3duZXIpIHsgLy8gbWFrZSBzdXJlIHdlIGhhdmUgbGFuZ3VhZ2VJZCBhbmQgb3duZXIgc2VsZWN0ZWQgZmlyc3RcbiAgICAgIGlmIChjbGVhblVwKSB7IC8vIGRvIGluaXRpYWwgY2xlYW51cFxuICAgICAgICBmaXhTY3JpcHR1cmVTZXR0aW5ncyhzY3JpcHR1cmVWZXJzaW9uSGlzdCwgc2NyaXB0dXJlU2V0dGluZ3MsIGxhbmd1YWdlSWQsIGNhcmROdW0sIG93bmVyKVxuICAgICAgICBzZXRDbGVhblVwKGZhbHNlKVxuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRXF1YWwoY3VycmVudFRhcmdldCwgdGFyZ2V0KSkgeyAvLyB3aGVuIHRhcmdldCBjaGFuZ2VzLCBzd2l0Y2ggYmFjayB0byBkZWZhdWx0c1xuICAgICAgICBjb25zdCBvbGREZWZhdWx0U2V0dGluZ3MgPSB7IC4uLnNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncywgLi4udGFyZ2V0IH1cbiAgICAgICAgb2xkRGVmYXVsdFNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhvbGREZWZhdWx0U2V0dGluZ3MpXG4gICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LnJlbW92ZUl0ZW0ob2xkRGVmYXVsdFNldHRpbmdzKSAvLyByZW1vdmUgb2xkIGRlZmF1bHQgc2V0dGluZ3MgZnJvbSBoaXN0b3J5XG4gICAgICAgIGZpeFNjcmlwdHVyZVNldHRpbmdzKHNjcmlwdHVyZVZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpXG5cbiAgICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3Moc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzKVxuICAgICAgICBzZXRUYXJnZXQoY3VycmVudFRhcmdldClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3Rvcnkoc2NyaXB0dXJlU2V0dGluZ3MpIC8vIG1ha2Ugc3VyZSBjdXJyZW50IHNjcmlwdHVyZSB2ZXJzaW9uIHBlcnNpc3RlZCBpbiBoaXN0b3J5XG4gICAgICB9XG4gICAgfVxuICB9LCBbbGFuZ3VhZ2VJZCwgb3duZXIsIGNsZWFuVXBdKVxuXG4gIGNvbnN0IG9yaWdpbmFsUmVwb1VybCA9IGlzTmV3VGVzdGFtZW50ID8gZ3JlZWtSZXBvVXJsIDogaGVicmV3UmVwb1VybFxuICBjb25zdCBzY3JpcHR1cmVDb25maWcgPSB1c2VTY3JpcHR1cmVSZXNvdXJjZXMoe1xuICAgIGJvb2tJZCxcbiAgICBzY3JpcHR1cmVTZXR0aW5ncyxcbiAgICBjaGFwdGVyLFxuICAgIHZlcnNlLFxuICAgIGlzTmV3VGVzdGFtZW50LFxuICAgIG9yaWdpbmFsUmVwb1VybCxcbiAgICBjdXJyZW50TGFuZ3VhZ2VJZDogbGFuZ3VhZ2VJZCxcbiAgICBjdXJyZW50T3duZXI6IG93bmVyLFxuICAgIGh0dHBDb25maWcsXG4gICAgYXBwUmVmLFxuICB9KVxuXG4gIC8qKlxuICAgKiBtYWtlIHN1cmUgdGhhdCBib29rSWQgb3IgcHJvamVjdElkIGFyZSBub3QgZW1iZWRkZWQgaW4gbGluay5cbiAgICogICAgRm9yIGV4YW1wbGUgaW4gYHJ1X2dsL3J1L3Jzb2IvbWFzdGVyL2hlYmAgdGhlIHByb2plY3RJZCBoZWIgaXMgaW4gdGhlIGxpbmsgYW5kIHdpbGwgb3ZlcnJpZGUgdGhlXG4gICAqICAgIHByb2plY3RJZCBpbiB0aGUgcmVmZXJlbmNlIHdoZW4gd2UgdHJ5IHRvIGZldGNoIGxhdGVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZXNvdXJjZUxpbmtcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIGNsZWFuZWQgdXAgcmVzb3VyY2UgbGlua1xuICAgKi9cbiAgZnVuY3Rpb24gY2xlYW5SZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rKSB7XG4gICAgbGV0IHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtcbiAgICBjb25zdCByZXNvdXJjZUxpbmtzID0gcmVzb3VyY2VMaW5rXz8uc3BsaXQoJy8nKVxuXG4gICAgaWYgKHJlc291cmNlTGlua3M/Lmxlbmd0aCA+IDQpIHsgLy8gaWYgdG9vIG1hbnkgZmllbGRzLCB0aGVuIHRyaW1cbiAgICAgIHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtzPy5zbGljZSgwLCA0KS5qb2luKCcvJylcbiAgICB9XG4gICAgcmV0dXJuIHJlc291cmNlTGlua19cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayB0byBlaXRoZXIgYWRkIG5ldyBzY3JpcHR1cmUgaXRlbSBvciBzZWxlY3QgZXhpc3RpbmcgaXRlbSBpbiBoaXN0b3J5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBpdGVtIC0gbmV3IGl0ZW0gdG8gYWRkIG9yIGV4aXN0aW5nIGl0ZW0gdG8gc2VsZWN0IGZyb20gaGlzdG9yeVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSB2YWxpZGF0aW9uQ0IgLSBjYWxsYmFjayBmdW5jdGlvbiB0byBwYXNzIGJhY2sgaWYgaXRlbSB1cmwgd2FzIHZhbGlkIG9yIG5vdFxuICAgKi9cbiAgY29uc3Qgc2V0U2NyaXB0dXJlID0gKGl0ZW0sIHZhbGlkYXRpb25DQiA9IG51bGwpID0+IHtcbiAgICBsZXQgdXJsXG4gICAgbGV0IG5ld1VybCA9IGl0ZW0/LnVybFxuXG4gICAgaWYgKG5ld1VybCkge1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcblxuICAgICAgLy8gaGFuZGxlOiBgZ2l0QGdpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdGBcbiAgICAgIC8vICAgIGJ5IG1hcHBpbmcgdG8gaHR0cHMgZ2l0IGZldGNoIHVybCAoZS5nLiBodHRwczovL2dpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdClcbiAgICAgIGlmIChuZXdVcmw/LmluY2x1ZGVzKCdnaXRAJykpIHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBuZXdVcmw/LnNwbGl0KCc6JylcbiAgICAgICAgY29uc3QgWywgaG9zdG5hbWVdID0gcGFydHNbMF0uc3BsaXQoJ0AnKVxuICAgICAgICBuZXdVcmwgPSBgaHR0cHM6Ly8ke2hvc3RuYW1lfS8ke3BhcnRzLnNsaWNlKDEpLmpvaW4oJzonKX1gXG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwobmV3VXJsKVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdpbGxlZ2FsIHVybCcsIGl0ZW0udXJsKVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG4gICAgICAgIHNldFVybEVycm9yKElOVkFMSURfVVJMKVxuICAgICAgICB2YWxpZGF0aW9uQ0IgJiYgdmFsaWRhdGlvbkNCKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgbGV0IHNlcnZlcl9cbiAgICAgIGxldCBob3N0bmFtZSA9IHVybC5ob3N0bmFtZVxuXG4gICAgICBpZiAoaG9zdG5hbWUpIHtcbiAgICAgICAgaWYgKGhvc3RuYW1lID09PSBgZG9vcjQzLm9yZ2ApIHtcbiAgICAgICAgICAvLyBoYW5kbGUgY2FzZSBvZiBsaW5rIHRvIGQ0MyByZWFkZXIgcGFnZSAoZS5nLiBodHRwczovL2Rvb3I0My5vcmcvdS91bmZvbGRpbmdXb3JkL2VuX3VsdC8pXG4gICAgICAgICAgaG9zdG5hbWUgPSAnZ2l0LicgKyBob3N0bmFtZSAvLyByZWRpcmVjdCB0byBnaXQgcmVwb1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHVybC5wb3J0KSB7XG4gICAgICAgICAgaG9zdG5hbWUgKz0gJzonICsgdXJsLnBvcnRcbiAgICAgICAgfVxuICAgICAgICBzZXJ2ZXJfID0gJ2h0dHBzOi8vJyArIGhvc3RuYW1lXG4gICAgICB9XG5cbiAgICAgIGxldCB1cmxfID0gbmV3VXJsXG5cbiAgICAgIGlmICghdXJsKSB7IC8vIGlmIG5vdCBhIG5ldyByZXNvdXJjZVxuICAgICAgICBzY3JpcHR1cmVTZXR0aW5ncyA9IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MocmVzb3VyY2VJZCwgYm9va0lkLCBpc05ld1Rlc3RhbWVudCwgb3JpZ2luYWxSZXBvVXJsKSAvLyBjb252ZXJ0IGFueSBkZWZhdWx0IHNldHRpbmdzIHN0cmluZ3NcbiAgICAgICAgdXJsXyA9IHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGlua1xuICAgICAgfVxuXG4gICAgICAvLyBtYWtlIHN1cmUgaXQgZXhpc3RzXG4gICAgICBjb3JlLnJlc291cmNlRnJvbVJlc291cmNlTGluayh7XG4gICAgICAgIHJlc291cmNlTGluazogdXJsXyxcbiAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgcHJvamVjdElkOiBib29rSWQsXG4gICAgICAgICAgY2hhcHRlcjogY2hhcHRlcixcbiAgICAgICAgICB2ZXJzZTogdmVyc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIHNlcnZlcjogc2VydmVyXyxcbiAgICAgICAgICBjYWNoZTogeyBtYXhBZ2U6IDEgKiA2MCAqIDYwICogMTAwMCB9LCAvLyAxIGhyXG4gICAgICAgIH0sXG4gICAgICB9KS50aGVuKHJlc291cmNlID0+IHtcbiAgICAgICAgbGV0IGVycm9yID0gUkVQT19OT1RfRk9VTkRfRVJST1JcbiAgICAgICAgbGV0IG5ld1NjcmlwdHVyZSA9IG51bGxcblxuICAgICAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgICBzdWJqZWN0LFxuICAgICAgICAgIH0gPSBwYXJzZVJlc291cmNlTWFuaWZlc3QocmVzb3VyY2UpXG4gICAgICAgICAgY29uc3QgaXNTY3JpcHR1cmUgPSBpc1NjcmlwdHVyZVJlc291cmNlKHN1YmplY3QpXG5cbiAgICAgICAgICBpZiAoIWlzU2NyaXB0dXJlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYHVzZVNjcmlwdHVyZVNldHRpbmdzLnNldFNjcmlwdHVyZSAtIFVSTCBpcyBub3QgYSBzY3JpcHR1cmUgcmVzb3VyY2U6ICR7dXJsX31gKVxuICAgICAgICAgICAgZXJyb3IgPSBSRVBPX05PVF9TQ1JJUFRVUkVfRVJST1JcbiAgICAgICAgICB9IGVsc2UgaWYgKHRpdGxlICYmIHZlcnNpb24pIHtcbiAgICAgICAgICAgIC8vIHdlIHN1Y2NlZWRlZCBpbiBnZXR0aW5nIHJlc291cmNlIC0gdXNlIGl0XG4gICAgICAgICAgICBuZXdTY3JpcHR1cmUgPSBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgc2VydmVyOiBzZXJ2ZXJfLFxuICAgICAgICAgICAgICBvd25lcjogcmVzb3VyY2UudXNlcm5hbWUsXG4gICAgICAgICAgICAgIHJlZjogcmVzb3VyY2UucmVmIHx8ICdtYXN0ZXInLFxuICAgICAgICAgICAgICBsYW5ndWFnZUlkOiByZXNvdXJjZS5sYW5ndWFnZUlkLFxuICAgICAgICAgICAgICByZXNvdXJjZUlkOiByZXNvdXJjZS5yZXNvdXJjZUlkLFxuICAgICAgICAgICAgICByZXNvdXJjZUxpbms6IGNsZWFuUmVzb3VyY2VMaW5rKHJlc291cmNlPy5yZXNvdXJjZUxpbmspLFxuICAgICAgICAgICAgICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gICAgICAgICAgICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBuZXdTY3JpcHR1cmVbJ3VzZXJBZGRlZCddID0gdHJ1ZVxuICAgICAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QuYWRkSXRlbVRvSGlzdG9yeShuZXdTY3JpcHR1cmUpIC8vIHBlcnNpc3QgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3MobmV3U2NyaXB0dXJlKVxuICAgICAgICAgICAgZXJyb3IgPSBudWxsIC8vIG5vIGVycm9yXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIHBhcnNpbmcgbWFuaWZlc3QnLCBpdGVtLnVybClcbiAgICAgICAgICAgIGVycm9yID0gTUFOSUZFU1RfSU5WQUxJRF9TSE9SVF9FUlJPUlxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdub3QgZm91bmQnLCBpdGVtLnVybClcbiAgICAgICAgfVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG5cbiAgICAgICAgaWYgKGVycm9yID09PSBSRVBPX05PVF9GT1VORF9FUlJPUikgeyAvLyBpZiBnZW5lcmljIGVycm9yLCB2YWxpZGF0ZSB0aGUgVVJMXG4gICAgICAgICAgY29uc3QgeyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9ID0gdmFsaWRhdGVEY3NVcmwoaXRlbS51cmwpXG5cbiAgICAgICAgICBpZiAoIXZhbGlkVXJsKSB7XG4gICAgICAgICAgICBlcnJvciA9IElOVkFMSURfVVJMXG4gICAgICAgICAgfSBlbHNlIGlmICh2YWxpZFJlcG9QYXRoKSB7XG4gICAgICAgICAgICBlcnJvciA9IFJFUE9fTk9UX0ZPVU5EX0VSUk9SXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yID0gSU5WQUxJRF9SRVBPX1VSTF9FUlJPUlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZXRVcmxFcnJvcihlcnJvcilcbiAgICAgICAgdmFsaWRhdGlvbkNCICYmIHZhbGlkYXRpb25DQighZXJyb3IsIG5ld1NjcmlwdHVyZSlcbiAgICAgIH0pXG4gICAgfSBlbHNlIHsgLy8gc2VsZWN0ZWQgYSBwcmV2aW91cyBzZXR0aW5nXG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3MoaXRlbSlcbiAgICAgIHZhbGlkYXRpb25DQiAmJiB2YWxpZGF0aW9uQ0IodHJ1ZSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHNjcmlwdHVyZUNvbmZpZyxcbiAgICBzZXRTY3JpcHR1cmUsXG4gICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlU2NyaXB0dXJlU2V0dGluZ3NcbiJdfQ==
|
|
407
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlU3RhdGUiLCJjb3JlIiwiaXNFcXVhbCIsIktFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlkiLCJTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSIsIklOVkFMSURfUkVQT19VUkxfRVJST1IiLCJJTlZBTElEX1VSTCIsIk1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1IiLCJOVF9PUklHX0xBTkdfQklCTEUiLCJOVF9PUklHX0xBTkciLCJPUklHSU5BTF9TT1VSQ0UiLCJPVF9PUklHX0xBTkdfQklCTEUiLCJPVF9PUklHX0xBTkciLCJSRVBPX05PVF9GT1VORF9FUlJPUiIsIlJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUiIsInNldExvY2FsU3RvcmFnZVZhbHVlIiwicGFyc2VSZXNvdXJjZU1hbmlmZXN0IiwidmFsaWRhdGVEY3NVcmwiLCJnZXRSZXNvdXJjZUxpbmsiLCJnZXRTY3JpcHR1cmVPYmplY3QiLCJnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzIiwidXNlU2NyaXB0dXJlUmVzb3VyY2VzIiwiS0VZX1NFVFRJTkdTX0JBU0UiLCJLRVlfVEFSR0VUX0JBU0UiLCJmaXhTY3JpcHR1cmVTZXR0aW5ncyIsInZlcnNpb25IaXN0Iiwic2NyaXB0dXJlU2V0dGluZ3MiLCJsYW5ndWFnZUlkIiwiY2FyZE51bSIsIm93bmVyIiwicmVzb3VyY2VJZCIsIm5ld1NjcmlwdHVyZVNldHRpbmdzIiwicmVzb3VyY2VMaW5rIiwiYWRkSXRlbVRvSGlzdG9yeSIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJtb2RpZmllZCIsImkiLCJsZW5ndGgiLCJpdGVtIiwiaiIsIm1hdGNoX2l0ZW0iLCJtYXRjaF9yZXNvdXJjZUlkIiwicmVmIiwic2VydmVyIiwic3BsaWNlIiwic2F2ZUhpc3RvcnkiLCJpc1NjcmlwdHVyZVJlc291cmNlIiwic3ViamVjdCIsIkJpYmxlUmVzb3VyY2VzIiwiaXNTY3JpcHR1cmUiLCJpbmNsdWRlcyIsInVzZVNjcmlwdHVyZVNldHRpbmdzIiwiaXNOVCIsInRpdGxlIiwiY2hhcHRlciIsInZlcnNlIiwiYm9va0lkIiwiYmN2UXVlcnkiLCJhcHBSZWYiLCJ1c2VVc2VyTG9jYWxTdG9yYWdlIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwic2V0VXJsRXJyb3IiLCJodHRwQ29uZmlnIiwiZ3JlZWtSZXBvVXJsIiwiaGVicmV3UmVwb1VybCIsImlzTmV3VGVzdGFtZW50Iiwic2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzIiwidmVyc2lvbkhpc3RvcnkiLCJzYXZlVmVyc2lvbkhpc3QiLCJyZWZyZXNoVmVyc2lvbkhpc3QiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsInNldFNjcmlwdHVyZVNldHRpbmdzIiwiY3VycmVudFRhcmdldCIsInNldEN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJzZXRUYXJnZXQiLCJjbGVhblVwIiwic2V0Q2xlYW5VcCIsIm9sZERlZmF1bHRTZXR0aW5ncyIsInJlbW92ZUl0ZW0iLCJvcmlnaW5hbFJlcG9VcmwiLCJzY3JpcHR1cmVDb25maWciLCJjdXJyZW50TGFuZ3VhZ2VJZCIsImN1cnJlbnRPd25lciIsImNsZWFuUmVzb3VyY2VMaW5rIiwicmVzb3VyY2VMaW5rXyIsInJlc291cmNlTGlua3MiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsInNldFNjcmlwdHVyZSIsInZhbGlkYXRpb25DQiIsInVybCIsIm5ld1VybCIsInBhcnRzIiwiaG9zdG5hbWUiLCJVUkwiLCJjb25zb2xlIiwibG9nIiwicmVtb3ZlVXJsIiwic2VydmVyXyIsInBvcnQiLCJ1cmxfIiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwicmVmZXJlbmNlIiwicHJvamVjdElkIiwiY29uZmlnIiwiY2FjaGUiLCJtYXhBZ2UiLCJ0aGVuIiwicmVzb3VyY2UiLCJlcnJvciIsIm5ld1NjcmlwdHVyZSIsInZlcnNpb24iLCJ3YXJuIiwidXNlcm5hbWUiLCJ2YWxpZFVybCIsInZhbGlkUmVwb1BhdGgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlU2NyaXB0dXJlU2V0dGluZ3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNvcmUgfSBmcm9tICdzY3JpcHR1cmUtcmVzb3VyY2VzLXJjbCdcbmltcG9ydCAqIGFzIGlzRXF1YWwgZnJvbSAnZGVlcC1lcXVhbCdcbmltcG9ydCB7IEtFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlksIFNjcmlwdHVyZVZlcnNpb25IaXN0b3J5IH0gZnJvbSAnLi4vdXRpbHMvU2NyaXB0dXJlVmVyc2lvbkhpc3RvcnknXG5pbXBvcnQge1xuICBJTlZBTElEX1JFUE9fVVJMX0VSUk9SLFxuICBJTlZBTElEX1VSTCxcbiAgTUFOSUZFU1RfSU5WQUxJRF9TSE9SVF9FUlJPUixcbiAgTlRfT1JJR19MQU5HX0JJQkxFLFxuICBOVF9PUklHX0xBTkcsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HX0JJQkxFLFxuICBPVF9PUklHX0xBTkcsXG4gIFJFUE9fTk9UX0ZPVU5EX0VSUk9SLFxuICBSRVBPX05PVF9TQ1JJUFRVUkVfRVJST1IsXG4gIHNldExvY2FsU3RvcmFnZVZhbHVlLFxuICBwYXJzZVJlc291cmNlTWFuaWZlc3QsXG4gIHZhbGlkYXRlRGNzVXJsLFxufSBmcm9tICcuLidcbmltcG9ydCB7XG4gIGdldFJlc291cmNlTGluayxcbiAgZ2V0U2NyaXB0dXJlT2JqZWN0LFxuICBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzLFxufSBmcm9tICcuLi91dGlscy9TY3JpcHR1cmVTZXR0aW5ncydcbmltcG9ydCB1c2VTY3JpcHR1cmVSZXNvdXJjZXMgZnJvbSAnLi91c2VTY3JpcHR1cmVSZXNvdXJjZXMnXG5cbmNvbnN0IEtFWV9TRVRUSU5HU19CQVNFID0gJ3NjcmlwdHVyZVBhbmVDb25maWdfJ1xuY29uc3QgS0VZX1RBUkdFVF9CQVNFID0gJ3NjcmlwdHVyZVBhbmVUYXJnZXRfJ1xuXG5mdW5jdGlvbiBmaXhTY3JpcHR1cmVTZXR0aW5ncyh2ZXJzaW9uSGlzdCwgc2NyaXB0dXJlU2V0dGluZ3MsIGxhbmd1YWdlSWQsIGNhcmROdW0sIG93bmVyKSB7XG4gIC8vIGNsZWFuIHVwIGhhcmQtY29kZWQgb3JpZ2luYWwgc291cmNlc1xuICBpZiAoKHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPT09IE5UX09SSUdfTEFOR19CSUJMRSkgfHwgKHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPT09IE9UX09SSUdfTEFOR19CSUJMRSkpIHtcbiAgICBpZiAoKHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgIT09IE5UX09SSUdfTEFORykgJiYgKHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgIT09IE9UX09SSUdfTEFORykpIHsgLy8gaWYgdGhpcyBpcyB0cmFjayB3aXRoIGN1cnJlbnQgc2VsZWN0ZWQgbGFuZ3VhZ2UgYW5kIHRlc3RhbWVudCBvZiBib29rXG4gICAgICBjb25zdCBuZXdTY3JpcHR1cmVTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlU2V0dGluZ3MgfVxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9IGxhbmd1YWdlSWRcbiAgICAgIG5ld1NjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBPUklHSU5BTF9TT1VSQ0VcbiAgICAgIG5ld1NjcmlwdHVyZVNldHRpbmdzLm93bmVyID0gb3duZXJcbiAgICAgIG5ld1NjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhuZXdTY3JpcHR1cmVTZXR0aW5ncylcbiAgICAgIHNldExvY2FsU3RvcmFnZVZhbHVlKEtFWV9TRVRUSU5HU19CQVNFICsgY2FyZE51bSwgbmV3U2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgICB2ZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KG5ld1NjcmlwdHVyZVNldHRpbmdzKVxuICAgIH1cbiAgfVxuXG4gIC8vIGNsZWFuIGhpc3Rvcnkgb2Ygb3JpZ2luYWwgc291cmNlc1xuICBsZXQgaGlzdG9yeSA9IHZlcnNpb25IaXN0LmdldExhdGVzdCgpIHx8IFtdXG4gIGxldCBtb2RpZmllZCA9IGZhbHNlXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBoaXN0b3J5Lmxlbmd0aDsgaSsrKSB7IC8vIHNlYXJjaCBmb3Igb3JpZ2luYWwgc291cmNlIGR1cGxpY2F0ZXMgaW4gaGlzdG9yeVxuICAgIGNvbnN0IGl0ZW0gPSBoaXN0b3J5W2ldXG4gICAgY29uc3QgcmVzb3VyY2VJZCA9IGl0ZW0ucmVzb3VyY2VJZFxuXG4gICAgaWYgKChyZXNvdXJjZUlkID09PSBOVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPUklHSU5BTF9TT1VSQ0UpKSB7XG4gICAgICBmb3IgKCBsZXQgaiA9IGkgKyAxOyBqIDwgaGlzdG9yeS5sZW5ndGg7IGorKykgeyAvLyBzZWFyY2ggcmVzdCBvZiBsaXN0IGZvciBkdXBsaWNhdGVzIG9mIGl0ZW0gYXQgaVxuICAgICAgICBjb25zdCBtYXRjaF9pdGVtID0gaGlzdG9yeVtqXVxuICAgICAgICBjb25zdCBtYXRjaF9yZXNvdXJjZUlkID0gbWF0Y2hfaXRlbS5yZXNvdXJjZUlkXG5cbiAgICAgICAgaWYgKChtYXRjaF9yZXNvdXJjZUlkID09PSByZXNvdXJjZUlkKSkge1xuICAgICAgICAgIGlmICgoaXRlbS5vd25lciA9PT0gbWF0Y2hfaXRlbS5vd25lcikgJiZcbiAgICAgICAgICAgIChpdGVtLnJlZiA9PT0gbWF0Y2hfaXRlbS5yZWYpICYmXG4gICAgICAgICAgICAoaXRlbS5zZXJ2ZXIgPT09IG1hdGNoX2l0ZW0uc2VydmVyKSAmJlxuICAgICAgICAgICAgKGl0ZW0ucmVzb3VyY2VJZCA9PT0gbWF0Y2hfaXRlbS5yZXNvdXJjZUlkKSkge1xuICAgICAgICAgICAgaGlzdG9yeS5zcGxpY2UoaiwgMSkgLy8gcmVtb3ZlIGR1cGxpY2F0ZSBpdGVtXG4gICAgICAgICAgICBtb2RpZmllZCA9IHRydWVcbiAgICAgICAgICAgIGotLSAvLyBiYWNrIHVwIGluZGV4IHNpbmNlIGNvbnRlbnRzIHNoaWZ0ZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobW9kaWZpZWQpIHtcbiAgICB2ZXJzaW9uSGlzdC5zYXZlSGlzdG9yeShoaXN0b3J5KVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzU2NyaXB0dXJlUmVzb3VyY2Uoc3ViamVjdCkge1xuICBjb25zdCBCaWJsZVJlc291cmNlcyA9IFsgJ0JpYmxlJywgJ0FsaWduZWQgQmlibGUnLCAnR3JlZWsgTmV3IFRlc3RhbWVudCcsICdIZWJyZXcgT2xkIFRlc3RhbWVudCcgXVxuICBjb25zdCBpc1NjcmlwdHVyZSA9IEJpYmxlUmVzb3VyY2VzLmluY2x1ZGVzKHN1YmplY3QpXG4gIHJldHVybiBpc1NjcmlwdHVyZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlU2NyaXB0dXJlU2V0dGluZ3Moe1xuICBpc05ULFxuICB0aXRsZSxcbiAgY2FyZE51bSxcbiAgY2hhcHRlcixcbiAgdmVyc2UsXG4gIGJvb2tJZCxcbiAgYmN2UXVlcnksXG4gIG93bmVyLFxuICBzZXJ2ZXIsXG4gIGFwcFJlZixcbiAgbGFuZ3VhZ2VJZCxcbiAgcmVzb3VyY2VJZCxcbiAgcmVzb3VyY2VMaW5rLFxuICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgc2V0VXJsRXJyb3IsXG4gIGh0dHBDb25maWcsXG4gIGdyZWVrUmVwb1VybCxcbiAgaGVicmV3UmVwb1VybCxcbn0pIHtcbiAgY29uc3QgaXNOZXdUZXN0YW1lbnQgPSBpc05UKGJvb2tJZClcbiAgY29uc3Qgc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzID0gZ2V0U2NyaXB0dXJlT2JqZWN0KHtcbiAgICB0aXRsZSxcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgcmVmOiBhcHBSZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIHJlc291cmNlTGluayxcbiAgICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICB9KVxuICBjb25zdCBbdmVyc2lvbkhpc3RvcnksIHNhdmVWZXJzaW9uSGlzdCwgcmVmcmVzaFZlcnNpb25IaXN0XSA9IHVzZVVzZXJMb2NhbFN0b3JhZ2UoS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSwgW10pXG4gIGNvbnN0IHNjcmlwdHVyZVZlcnNpb25IaXN0ID0gbmV3IFNjcmlwdHVyZVZlcnNpb25IaXN0b3J5KHZlcnNpb25IaXN0b3J5LCBzYXZlVmVyc2lvbkhpc3QsIHJlZnJlc2hWZXJzaW9uSGlzdClcblxuICBsZXQgW3NjcmlwdHVyZVNldHRpbmdzLCBzZXRTY3JpcHR1cmVTZXR0aW5nc10gPSB1c2VVc2VyTG9jYWxTdG9yYWdlKEtFWV9TRVRUSU5HU19CQVNFICsgY2FyZE51bSwgc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzKVxuICBjb25zdCBbY3VycmVudFRhcmdldCwgc2V0Q3VycmVudFRhcmdldF0gPSB1c2VTdGF0ZSh7IHNlcnZlciwgb3duZXIsIGxhbmd1YWdlSWQgfSlcbiAgY29uc3QgW3RhcmdldCwgc2V0VGFyZ2V0XSA9IHVzZVVzZXJMb2NhbFN0b3JhZ2UoS0VZX1RBUkdFVF9CQVNFICsgY2FyZE51bSwgY3VycmVudFRhcmdldClcbiAgY29uc3QgW2NsZWFuVXAsIHNldENsZWFuVXBdID0gdXNlU3RhdGUodHJ1ZSlcblxuICB1c2VFZmZlY3QoKCkgPT4gc2V0Q3VycmVudFRhcmdldCh7XG4gICAgc2VydmVyLCBvd25lciwgbGFuZ3VhZ2VJZCxcbiAgfSksIFtzZXJ2ZXIsIG93bmVyLCBsYW5ndWFnZUlkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsYW5ndWFnZUlkICYmIG93bmVyKSB7IC8vIG1ha2Ugc3VyZSB3ZSBoYXZlIGxhbmd1YWdlSWQgYW5kIG93bmVyIHNlbGVjdGVkIGZpcnN0XG4gICAgICBpZiAoY2xlYW5VcCkgeyAvLyBkbyBpbml0aWFsIGNsZWFudXBcbiAgICAgICAgZml4U2NyaXB0dXJlU2V0dGluZ3Moc2NyaXB0dXJlVmVyc2lvbkhpc3QsIHNjcmlwdHVyZVNldHRpbmdzLCBsYW5ndWFnZUlkLCBjYXJkTnVtLCBvd25lcilcbiAgICAgICAgc2V0Q2xlYW5VcChmYWxzZSlcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc0VxdWFsKGN1cnJlbnRUYXJnZXQsIHRhcmdldCkpIHsgLy8gd2hlbiB0YXJnZXQgY2hhbmdlcywgc3dpdGNoIGJhY2sgdG8gZGVmYXVsdHNcbiAgICAgICAgY29uc3Qgb2xkRGVmYXVsdFNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVEZWZhdWx0U2V0dGluZ3MsIC4uLnRhcmdldCB9XG4gICAgICAgIG9sZERlZmF1bHRTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsob2xkRGVmYXVsdFNldHRpbmdzKVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVJdGVtKG9sZERlZmF1bHRTZXR0aW5ncykgLy8gcmVtb3ZlIG9sZCBkZWZhdWx0IHNldHRpbmdzIGZyb20gaGlzdG9yeVxuICAgICAgICBmaXhTY3JpcHR1cmVTZXR0aW5ncyhzY3JpcHR1cmVWZXJzaW9uSGlzdCwgc2NyaXB0dXJlU2V0dGluZ3MsIGxhbmd1YWdlSWQsIGNhcmROdW0sIG93bmVyKVxuXG4gICAgICAgIHNldFNjcmlwdHVyZVNldHRpbmdzKHNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncylcbiAgICAgICAgc2V0VGFyZ2V0KGN1cnJlbnRUYXJnZXQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KHNjcmlwdHVyZVNldHRpbmdzKSAvLyBtYWtlIHN1cmUgY3VycmVudCBzY3JpcHR1cmUgdmVyc2lvbiBwZXJzaXN0ZWQgaW4gaGlzdG9yeVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2xhbmd1YWdlSWQsIG93bmVyLCBjbGVhblVwLCBjdXJyZW50VGFyZ2V0LCB0YXJnZXQsIHNjcmlwdHVyZVZlcnNpb25IaXN0LFxuICAgIHNjcmlwdHVyZVNldHRpbmdzLCBjYXJkTnVtLCBzY3JpcHR1cmVEZWZhdWx0U2V0dGluZ3MsIHNldFNjcmlwdHVyZVNldHRpbmdzLCBzZXRUYXJnZXRdKVxuXG4gIGNvbnN0IG9yaWdpbmFsUmVwb1VybCA9IGlzTmV3VGVzdGFtZW50ID8gZ3JlZWtSZXBvVXJsIDogaGVicmV3UmVwb1VybFxuICBjb25zdCBzY3JpcHR1cmVDb25maWcgPSB1c2VTY3JpcHR1cmVSZXNvdXJjZXMoe1xuICAgIGJvb2tJZCxcbiAgICBzY3JpcHR1cmVTZXR0aW5ncyxcbiAgICBjaGFwdGVyLFxuICAgIHZlcnNlLFxuICAgIGJjdlF1ZXJ5LFxuICAgIGlzTmV3VGVzdGFtZW50LFxuICAgIG9yaWdpbmFsUmVwb1VybCxcbiAgICBjdXJyZW50TGFuZ3VhZ2VJZDogbGFuZ3VhZ2VJZCxcbiAgICBjdXJyZW50T3duZXI6IG93bmVyLFxuICAgIGh0dHBDb25maWcsXG4gICAgYXBwUmVmLFxuICB9KVxuXG4gIC8qKlxuICAgKiBtYWtlIHN1cmUgdGhhdCBib29rSWQgb3IgcHJvamVjdElkIGFyZSBub3QgZW1iZWRkZWQgaW4gbGluay5cbiAgICogICAgRm9yIGV4YW1wbGUgaW4gYHJ1X2dsL3J1L3Jzb2IvbWFzdGVyL2hlYmAgdGhlIHByb2plY3RJZCBoZWIgaXMgaW4gdGhlIGxpbmsgYW5kIHdpbGwgb3ZlcnJpZGUgdGhlXG4gICAqICAgIHByb2plY3RJZCBpbiB0aGUgcmVmZXJlbmNlIHdoZW4gd2UgdHJ5IHRvIGZldGNoIGxhdGVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZXNvdXJjZUxpbmtcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIGNsZWFuZWQgdXAgcmVzb3VyY2UgbGlua1xuICAgKi9cbiAgZnVuY3Rpb24gY2xlYW5SZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rKSB7XG4gICAgbGV0IHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtcbiAgICBjb25zdCByZXNvdXJjZUxpbmtzID0gcmVzb3VyY2VMaW5rXz8uc3BsaXQoJy8nKVxuXG4gICAgaWYgKHJlc291cmNlTGlua3M/Lmxlbmd0aCA+IDQpIHsgLy8gaWYgdG9vIG1hbnkgZmllbGRzLCB0aGVuIHRyaW1cbiAgICAgIHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtzPy5zbGljZSgwLCA0KS5qb2luKCcvJylcbiAgICB9XG4gICAgcmV0dXJuIHJlc291cmNlTGlua19cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayB0byBlaXRoZXIgYWRkIG5ldyBzY3JpcHR1cmUgaXRlbSBvciBzZWxlY3QgZXhpc3RpbmcgaXRlbSBpbiBoaXN0b3J5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBpdGVtIC0gbmV3IGl0ZW0gdG8gYWRkIG9yIGV4aXN0aW5nIGl0ZW0gdG8gc2VsZWN0IGZyb20gaGlzdG9yeVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSB2YWxpZGF0aW9uQ0IgLSBjYWxsYmFjayBmdW5jdGlvbiB0byBwYXNzIGJhY2sgaWYgaXRlbSB1cmwgd2FzIHZhbGlkIG9yIG5vdFxuICAgKi9cbiAgY29uc3Qgc2V0U2NyaXB0dXJlID0gKGl0ZW0sIHZhbGlkYXRpb25DQiA9IG51bGwpID0+IHtcbiAgICBsZXQgdXJsXG4gICAgbGV0IG5ld1VybCA9IGl0ZW0/LnVybFxuXG4gICAgaWYgKG5ld1VybCkge1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcblxuICAgICAgLy8gaGFuZGxlOiBgZ2l0QGdpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdGBcbiAgICAgIC8vICAgIGJ5IG1hcHBpbmcgdG8gaHR0cHMgZ2l0IGZldGNoIHVybCAoZS5nLiBodHRwczovL2dpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdClcbiAgICAgIGlmIChuZXdVcmw/LmluY2x1ZGVzKCdnaXRAJykpIHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBuZXdVcmw/LnNwbGl0KCc6JylcbiAgICAgICAgY29uc3QgWywgaG9zdG5hbWVdID0gcGFydHNbMF0uc3BsaXQoJ0AnKVxuICAgICAgICBuZXdVcmwgPSBgaHR0cHM6Ly8ke2hvc3RuYW1lfS8ke3BhcnRzLnNsaWNlKDEpLmpvaW4oJzonKX1gXG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwobmV3VXJsKVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdpbGxlZ2FsIHVybCcsIGl0ZW0udXJsKVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG4gICAgICAgIHNldFVybEVycm9yKElOVkFMSURfVVJMKVxuICAgICAgICB2YWxpZGF0aW9uQ0IgJiYgdmFsaWRhdGlvbkNCKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgbGV0IHNlcnZlcl9cbiAgICAgIGxldCBob3N0bmFtZSA9IHVybC5ob3N0bmFtZVxuXG4gICAgICBpZiAoaG9zdG5hbWUpIHtcbiAgICAgICAgaWYgKGhvc3RuYW1lID09PSBgZG9vcjQzLm9yZ2ApIHtcbiAgICAgICAgICAvLyBoYW5kbGUgY2FzZSBvZiBsaW5rIHRvIGQ0MyByZWFkZXIgcGFnZSAoZS5nLiBodHRwczovL2Rvb3I0My5vcmcvdS91bmZvbGRpbmdXb3JkL2VuX3VsdC8pXG4gICAgICAgICAgaG9zdG5hbWUgPSAnZ2l0LicgKyBob3N0bmFtZSAvLyByZWRpcmVjdCB0byBnaXQgcmVwb1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHVybC5wb3J0KSB7XG4gICAgICAgICAgaG9zdG5hbWUgKz0gJzonICsgdXJsLnBvcnRcbiAgICAgICAgfVxuICAgICAgICBzZXJ2ZXJfID0gJ2h0dHBzOi8vJyArIGhvc3RuYW1lXG4gICAgICB9XG5cbiAgICAgIGxldCB1cmxfID0gbmV3VXJsXG5cbiAgICAgIGlmICghdXJsKSB7IC8vIGlmIG5vdCBhIG5ldyByZXNvdXJjZVxuICAgICAgICBzY3JpcHR1cmVTZXR0aW5ncyA9IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MocmVzb3VyY2VJZCwgYm9va0lkLCBpc05ld1Rlc3RhbWVudCwgb3JpZ2luYWxSZXBvVXJsKSAvLyBjb252ZXJ0IGFueSBkZWZhdWx0IHNldHRpbmdzIHN0cmluZ3NcbiAgICAgICAgdXJsXyA9IHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGlua1xuICAgICAgfVxuXG4gICAgICAvLyBtYWtlIHN1cmUgaXQgZXhpc3RzXG4gICAgICBjb3JlLnJlc291cmNlRnJvbVJlc291cmNlTGluayh7XG4gICAgICAgIHJlc291cmNlTGluazogdXJsXyxcbiAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgcHJvamVjdElkOiBib29rSWQsXG4gICAgICAgICAgY2hhcHRlcjogY2hhcHRlcixcbiAgICAgICAgICB2ZXJzZTogdmVyc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIHNlcnZlcjogc2VydmVyXyxcbiAgICAgICAgICBjYWNoZTogeyBtYXhBZ2U6IDEgKiA2MCAqIDYwICogMTAwMCB9LCAvLyAxIGhyXG4gICAgICAgIH0sXG4gICAgICB9KS50aGVuKHJlc291cmNlID0+IHtcbiAgICAgICAgbGV0IGVycm9yID0gUkVQT19OT1RfRk9VTkRfRVJST1JcbiAgICAgICAgbGV0IG5ld1NjcmlwdHVyZSA9IG51bGxcblxuICAgICAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgICBzdWJqZWN0LFxuICAgICAgICAgIH0gPSBwYXJzZVJlc291cmNlTWFuaWZlc3QocmVzb3VyY2UpXG4gICAgICAgICAgY29uc3QgaXNTY3JpcHR1cmUgPSBpc1NjcmlwdHVyZVJlc291cmNlKHN1YmplY3QpXG5cbiAgICAgICAgICBpZiAoIWlzU2NyaXB0dXJlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYHVzZVNjcmlwdHVyZVNldHRpbmdzLnNldFNjcmlwdHVyZSAtIFVSTCBpcyBub3QgYSBzY3JpcHR1cmUgcmVzb3VyY2U6ICR7dXJsX31gKVxuICAgICAgICAgICAgZXJyb3IgPSBSRVBPX05PVF9TQ1JJUFRVUkVfRVJST1JcbiAgICAgICAgICB9IGVsc2UgaWYgKHRpdGxlICYmIHZlcnNpb24pIHtcbiAgICAgICAgICAgIC8vIHdlIHN1Y2NlZWRlZCBpbiBnZXR0aW5nIHJlc291cmNlIC0gdXNlIGl0XG4gICAgICAgICAgICBuZXdTY3JpcHR1cmUgPSBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgc2VydmVyOiBzZXJ2ZXJfLFxuICAgICAgICAgICAgICBvd25lcjogcmVzb3VyY2UudXNlcm5hbWUsXG4gICAgICAgICAgICAgIHJlZjogcmVzb3VyY2UucmVmIHx8ICdtYXN0ZXInLFxuICAgICAgICAgICAgICBsYW5ndWFnZUlkOiByZXNvdXJjZS5sYW5ndWFnZUlkLFxuICAgICAgICAgICAgICByZXNvdXJjZUlkOiByZXNvdXJjZS5yZXNvdXJjZUlkLFxuICAgICAgICAgICAgICByZXNvdXJjZUxpbms6IGNsZWFuUmVzb3VyY2VMaW5rKHJlc291cmNlPy5yZXNvdXJjZUxpbmspLFxuICAgICAgICAgICAgICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gICAgICAgICAgICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBuZXdTY3JpcHR1cmVbJ3VzZXJBZGRlZCddID0gdHJ1ZVxuICAgICAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QuYWRkSXRlbVRvSGlzdG9yeShuZXdTY3JpcHR1cmUpIC8vIHBlcnNpc3QgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3MobmV3U2NyaXB0dXJlKVxuICAgICAgICAgICAgZXJyb3IgPSBudWxsIC8vIG5vIGVycm9yXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIHBhcnNpbmcgbWFuaWZlc3QnLCBpdGVtLnVybClcbiAgICAgICAgICAgIGVycm9yID0gTUFOSUZFU1RfSU5WQUxJRF9TSE9SVF9FUlJPUlxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdub3QgZm91bmQnLCBpdGVtLnVybClcbiAgICAgICAgfVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG5cbiAgICAgICAgaWYgKGVycm9yID09PSBSRVBPX05PVF9GT1VORF9FUlJPUikgeyAvLyBpZiBnZW5lcmljIGVycm9yLCB2YWxpZGF0ZSB0aGUgVVJMXG4gICAgICAgICAgY29uc3QgeyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9ID0gdmFsaWRhdGVEY3NVcmwoaXRlbS51cmwpXG5cbiAgICAgICAgICBpZiAoIXZhbGlkVXJsKSB7XG4gICAgICAgICAgICBlcnJvciA9IElOVkFMSURfVVJMXG4gICAgICAgICAgfSBlbHNlIGlmICh2YWxpZFJlcG9QYXRoKSB7XG4gICAgICAgICAgICBlcnJvciA9IFJFUE9fTk9UX0ZPVU5EX0VSUk9SXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yID0gSU5WQUxJRF9SRVBPX1VSTF9FUlJPUlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZXRVcmxFcnJvcihlcnJvcilcbiAgICAgICAgdmFsaWRhdGlvbkNCICYmIHZhbGlkYXRpb25DQighZXJyb3IsIG5ld1NjcmlwdHVyZSlcbiAgICAgIH0pXG4gICAgfSBlbHNlIHsgLy8gc2VsZWN0ZWQgYSBwcmV2aW91cyBzZXR0aW5nXG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3MoaXRlbSlcbiAgICAgIHZhbGlkYXRpb25DQiAmJiB2YWxpZGF0aW9uQ0IodHJ1ZSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHNjcmlwdHVyZUNvbmZpZyxcbiAgICBzZXRTY3JpcHR1cmUsXG4gICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlU2NyaXB0dXJlU2V0dGluZ3NcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTQSxTQUFULEVBQW9CQyxPQUFwQixFQUE2QkMsUUFBN0IsUUFBNkMsT0FBN0M7QUFDQSxTQUFTQyxJQUFULFFBQXFCLHlCQUFyQjtBQUNBLE9BQU8sS0FBS0MsT0FBWixNQUF5QixZQUF6QjtBQUNBLFNBQVNDLHlCQUFULEVBQW9DQyx1QkFBcEMsUUFBbUUsa0NBQW5FO0FBQ0EsU0FDRUMsc0JBREYsRUFFRUMsV0FGRixFQUdFQyw0QkFIRixFQUlFQyxrQkFKRixFQUtFQyxZQUxGLEVBTUVDLGVBTkYsRUFPRUMsa0JBUEYsRUFRRUMsWUFSRixFQVNFQyxvQkFURixFQVVFQyx3QkFWRixFQVdFQyxvQkFYRixFQVlFQyxxQkFaRixFQWFFQyxjQWJGLFFBY08sSUFkUDtBQWVBLFNBQ0VDLGVBREYsRUFFRUMsa0JBRkYsRUFHRUMsNEJBSEYsUUFJTyw0QkFKUDtBQUtBLE9B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
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './components';
|
|
2
2
|
export * from './utils';
|
|
3
3
|
export * from './hooks';
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cydcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnXG5leHBvcnQgKiBmcm9tICcuL2hvb2tzJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWQ7QUFDQSxjQUFjLFNBQWQ7QUFDQSxjQUFjLFNBQWQifQ==
|
package/dist/types/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0dXJlUmVmZXJlbmNlIHtcbiAgcHJvamVjdElkOiBzdHJpbmc7XG4gIGNoYXB0ZXI6IG51bWJlcjtcbiAgdmVyc2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJDb25maWcge1xuICBzZXJ2ZXI6IHN0cmluZztcbiAgY2FjaGU6IHtcbiAgICBtYXhBZ2U6IG51bWJlcjtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcmlwdHVyZVJlc291cmNlIHtcbiAgbGFuZ3VhZ2VJZDogc3RyaW5nO1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgb3duZXI6IHN0cmluZztcbiAgYnJhbmNoOiBzdHJpbmc7XG4gIHJlZjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcnNlT2JqZWN0VHlwZSB7XG4gIGxlbW1hOiBzdHJpbmc7XG4gIG1vcnBoOiBzdHJpbmc7XG4gIG9jY3VycmVuY2U6IG51bWJlcnxzdHJpbmc7XG4gIG9jY3VycmVuY2VzOiBudW1iZXJ8c3RyaW5nO1xuICBzdHJvbmc6IHN0cmluZztcbiAgdGFnOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgdHc6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcnNlT2JqZWN0c1R5cGUge1xuICBbaW5kZXg6IG51bWJlcl06IFZlcnNlT2JqZWN0VHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJzZUFycmF5UGFydHNUeXBlIHtcbiAgY2hhcHRlcjogbnVtYmVyO1xuICB2ZXJzZTogbnVtYmVyO1xuICB2ZXJzZU9iamVjdHM6IFZlcnNlT2JqZWN0c1R5cGU7XG59XG4iXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -14,4 +14,4 @@ export function getLocalStorageValue(key) {
|
|
|
14
14
|
export function setLocalStorageValue(key, newValue) {
|
|
15
15
|
localStorage.setItem(key, JSON.stringify(newValue));
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRMb2NhbFN0b3JhZ2VWYWx1ZSIsImtleSIsInN0b3JlZFZhbHVlIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsIkpTT04iLCJwYXJzZSIsImUiLCJzZXRMb2NhbFN0b3JhZ2VWYWx1ZSIsIm5ld1ZhbHVlIiwic2V0SXRlbSIsInN0cmluZ2lmeSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9Mb2NhbFN0b3JhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldExvY2FsU3RvcmFnZVZhbHVlKGtleSk6YW55IHtcbiAgbGV0IHN0b3JlZFZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KVxuXG4gIGlmIChzdG9yZWRWYWx1ZSAhPT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICBzdG9yZWRWYWx1ZSA9IEpTT04ucGFyc2Uoc3RvcmVkVmFsdWUpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc3RvcmVkVmFsdWUgPSBudWxsXG4gICAgfVxuICB9XG4gIHJldHVybiBzdG9yZWRWYWx1ZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0TG9jYWxTdG9yYWdlVmFsdWUoa2V5LCBuZXdWYWx1ZSkge1xuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KG5ld1ZhbHVlKSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTQSxvQkFBVCxDQUE4QkMsR0FBOUIsRUFBdUM7RUFDNUMsSUFBSUMsV0FBVyxHQUFHQyxZQUFZLENBQUNDLE9BQWIsQ0FBcUJILEdBQXJCLENBQWxCOztFQUVBLElBQUlDLFdBQVcsS0FBSyxJQUFwQixFQUEwQjtJQUN4QixJQUFJO01BQ0ZBLFdBQVcsR0FBR0csSUFBSSxDQUFDQyxLQUFMLENBQVdKLFdBQVgsQ0FBZDtJQUNELENBRkQsQ0FFRSxPQUFPSyxDQUFQLEVBQVU7TUFDVkwsV0FBVyxHQUFHLElBQWQ7SUFDRDtFQUNGOztFQUNELE9BQU9BLFdBQVA7QUFDRDtBQUVELE9BQU8sU0FBU00sb0JBQVQsQ0FBOEJQLEdBQTlCLEVBQW1DUSxRQUFuQyxFQUE2QztFQUNsRE4sWUFBWSxDQUFDTyxPQUFiLENBQXFCVCxHQUFyQixFQUEwQkksSUFBSSxDQUFDTSxTQUFMLENBQWVGLFFBQWYsQ0FBMUI7QUFDRCJ9
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import "core-js/modules/es.array.iterator.js";
|
|
3
|
-
import "core-js/modules/es.object.define-property.js";
|
|
4
|
-
import "core-js/modules/es.object.to-string.js";
|
|
5
|
-
import "core-js/modules/es.regexp.exec.js";
|
|
6
|
-
import "core-js/modules/es.string.iterator.js";
|
|
7
|
-
import "core-js/modules/es.string.search.js";
|
|
8
|
-
import "core-js/modules/es.string.split.js";
|
|
9
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
|
10
|
-
import "core-js/modules/web.url.js";
|
|
11
|
-
|
|
12
|
-
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; } } }; }
|
|
1
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { 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 = it.call(o); }, 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; } } }; }
|
|
13
2
|
|
|
14
3
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
15
4
|
|
|
@@ -19,16 +8,41 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
19
8
|
|
|
20
9
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
21
10
|
|
|
22
|
-
function _iterableToArrayLimit(arr, i) {
|
|
11
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
23
12
|
|
|
24
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
25
14
|
|
|
26
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
16
|
|
|
28
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
29
18
|
|
|
30
19
|
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; }
|
|
31
20
|
|
|
21
|
+
import "core-js/modules/es.array.concat.js";
|
|
22
|
+
import "core-js/modules/es.array.iterator.js";
|
|
23
|
+
import "core-js/modules/es.object.to-string.js";
|
|
24
|
+
import "core-js/modules/es.string.iterator.js";
|
|
25
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
26
|
+
import "core-js/modules/web.url.js";
|
|
27
|
+
import "core-js/modules/web.url-search-params.js";
|
|
28
|
+
import "core-js/modules/es.regexp.exec.js";
|
|
29
|
+
import "core-js/modules/es.string.search.js";
|
|
30
|
+
import "core-js/modules/es.string.split.js";
|
|
31
|
+
import "core-js/modules/es.object.define-property.js";
|
|
32
|
+
import "core-js/modules/es.object.keys.js";
|
|
33
|
+
import "core-js/modules/es.symbol.js";
|
|
34
|
+
import "core-js/modules/es.array.filter.js";
|
|
35
|
+
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
|
36
|
+
import "core-js/modules/es.array.for-each.js";
|
|
37
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
|
38
|
+
import "core-js/modules/es.object.get-own-property-descriptors.js";
|
|
39
|
+
import "core-js/modules/es.object.define-properties.js";
|
|
40
|
+
import "core-js/modules/es.array.is-array.js";
|
|
41
|
+
import "core-js/modules/es.symbol.description.js";
|
|
42
|
+
import "core-js/modules/es.symbol.iterator.js";
|
|
43
|
+
import "core-js/modules/es.array.slice.js";
|
|
44
|
+
import "core-js/modules/es.function.name.js";
|
|
45
|
+
import "core-js/modules/es.array.from.js";
|
|
32
46
|
import { CONTENT_NOT_FOUND_ERROR, INVALID_MANIFEST_ERROR, LOADING_STATE, MANIFEST_NOT_LOADED_ERROR, SCRIPTURE_NOT_LOADED_ERROR } from 'translation-helps-rcl';
|
|
33
47
|
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';
|
|
34
48
|
export var DISABLE_WORD_POPOVER = true; // disable word popover for every scripture pane but original languages
|
|
@@ -356,4 +370,4 @@ export function getResourceMessage(resourceStatus, server, resourceLink, isNT) {
|
|
|
356
370
|
export function getResourceLinkSpecific(owner, languageId, projectId, ref) {
|
|
357
371
|
return "api/v1/repos/".concat(owner, "/").concat(languageId, "_").concat(projectId, "/contents?ref=").concat(ref);
|
|
358
372
|
}
|
|
359
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9TY3JpcHR1cmVTZXR0aW5ncy50cyJdLCJuYW1lcyI6WyJDT05URU5UX05PVF9GT1VORF9FUlJPUiIsIklOVkFMSURfTUFOSUZFU1RfRVJST1IiLCJMT0FESU5HX1NUQVRFIiwiTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUiIsIlNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SIiwiQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHIiwiTE9BRElOR19SRVNPVVJDRSIsIk1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHIiwiTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyIsIk5UX09SSUdfTEFORyIsIk5UX09SSUdfTEFOR19CSUJMRSIsIk9SSUdJTkFMX1NPVVJDRSIsIk9UX09SSUdfTEFORyIsIk9UX09SSUdfTEFOR19CSUJMRSIsIlNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHIiwiVEFSR0VUX0xJVEVSQUwiLCJUQVJHRVRfU0lNUExJRklFRCIsIkRJU0FCTEVfV09SRF9QT1BPVkVSIiwiZ2V0UmVzb3VyY2VMaW5rIiwic2NyaXB0dXJlIiwicmVmIiwiYnJhbmNoIiwib3duZXIiLCJsYW5ndWFnZUlkIiwicmVzb3VyY2VJZCIsImdldFNjcmlwdHVyZU9iamVjdCIsInRpdGxlIiwic2VydmVyIiwicmVzb3VyY2VMaW5rIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiaXNPcmlnaW5hbEJpYmxlIiwiaXNPcmlnIiwiY2xlYW51cEFjY291bnRTZXR0aW5ncyIsInNjcmlwdHVyZVNldHRpbmdzIiwiY3VycmVudE93bmVyIiwiY3VycmVudExhbmd1YWdlSWQiLCJzcGxpdFVybCIsIm9yaWdpbmFsUmVwb1VybCIsInVybCIsIlVSTCIsIm9yaWdpbiIsInBhdGhuYW1lIiwic2VhcmNoIiwiZ2V0U2NyaXB0dXJlUmVzb3VyY2VTZXR0aW5ncyIsImJvb2tJZCIsInNjcmlwdHVyZVNldHRpbmdzXyIsImlzTmV3VGVzdGFtZW50IiwiZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzIiwibGFiZWwiLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJpbmRleCIsImZpbmRJdGVtSW5kZXhCeUtleSIsInNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwidmFsaWRhdGlvbkNCIiwiaXRlbSIsIm5ld0l0ZW0iLCJhZGRJdGVtVG9IaXN0b3J5IiwiZ2V0SXRlbUJ5VGl0bGUiLCJkZWxldGVJdGVtIiwiZGVsZXRlSW5kZXgiLCJyZW1vdmVJdGVtQnlJbmRleCIsImdldFJlcG9VcmwiLCJpc05UIiwicmVwb1VybCIsInNwbGl0IiwiZSIsImdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayIsImVycm9yQ29kZSIsImVycm9yTXNnIiwidmFsaWRhdGVEY3NVcmwiLCJ2YWxpZFJlcG9QYXRoIiwidmFsaWRVcmwiLCJwYXJ0cyIsInByb3RvY29sIiwiaG9zdCIsInVzZXIiLCJyZXBvIiwiaG9zdFBhcnRzIiwibGVuZ3RoIiwicGFydCIsInByb2plY3RJZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FDRUEsdUJBREYsRUFFRUMsc0JBRkYsRUFHRUMsYUFIRixFQUlFQyx5QkFKRixFQUtFQywwQkFMRixRQU1PLHVCQU5QO0FBT0EsU0FDRUMsd0JBREYsRUFFRUMsZ0JBRkYsRUFHRUMsMEJBSEYsRUFJRUMsNEJBSkYsRUFLRUMsWUFMRixFQU1FQyxrQkFORixFQU9FQyxlQVBGLEVBUUVDLFlBUkYsRUFTRUMsa0JBVEYs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akMyRixJQUFBQSxPQUFPLEdBQUd2RixnQkFBVjtBQUNELEdBRkQsTUFFTztBQUNMdUYsSUFBQUEsT0FBTyxHQUFHRix1QkFBdUIsQ0FBQ0MsY0FBRCxDQUFqQzs7QUFFQSxRQUFJQyxPQUFKLEVBQWE7QUFDWEEsTUFBQUEsT0FBTyxHQUFHbkIsOEJBQThCLENBQUM5QyxZQUFELEVBQWVELE1BQWYsRUFBdUJrRSxPQUF2QixFQUFnQ3ZCLElBQWhDLENBQXhDO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPdUIsT0FBUDtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxTQUFTRSx1QkFBVCxDQUFpQ3pFLEtBQWpDLEVBQWdEQyxVQUFoRCxFQUFvRWlFLFNBQXBFLEVBQXVGcEUsR0FBdkYsRUFBb0c7QUFDekcsZ0NBQXVCRSxLQUF2QixjQUFnQ0MsVUFBaEMsY0FBOENpRSxTQUE5QywyQkFBd0VwRSxHQUF4RTtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IsXG4gIElOVkFMSURfTUFOSUZFU1RfRVJST1IsXG4gIExPQURJTkdfU1RBVEUsXG4gIE1BTklGRVNUX05PVF9MT0FERURfRVJST1IsXG4gIFNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SLFxufSBmcm9tICd0cmFuc2xhdGlvbi1oZWxwcy1yY2wnXG5pbXBvcnQge1xuICBCT09LX05PVF9GT1VORF9FUlJPUl9NU0csXG4gIExPQURJTkdfUkVTT1VSQ0UsXG4gIE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHLFxuICBNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBOVF9PUklHX0xBTkcsXG4gIE5UX09SSUdfTEFOR19CSUJMRSxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkcsXG4gIE9UX09SSUdfTEFOR19CSUJMRSxcbiAgU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0csXG4gIFRBUkdFVF9MSVRFUkFMLFxuICBUQVJHRVRfU0lNUExJRklFRCxcbn0gZnJvbSAnLi9jb21tb24nXG5cbmV4cG9ydCBjb25zdCBESVNBQkxFX1dPUkRfUE9QT1ZFUiA9IHRydWUgLy8gZGlzYWJsZSB3b3JkIHBvcG92ZXIgZm9yIGV2ZXJ5IHNjcmlwdHVyZSBwYW5lIGJ1dCBvcmlnaW5hbCBsYW5ndWFnZXNcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTGluayhzY3JpcHR1cmUpIHtcbiAgY29uc3QgcmVmID0gc2NyaXB0dXJlLnJlZiB8fCBzY3JpcHR1cmUuYnJhbmNoXG4gIHJldHVybiBgJHtzY3JpcHR1cmUub3duZXJ9LyR7c2NyaXB0dXJlLmxhbmd1YWdlSWR9LyR7c2NyaXB0dXJlLnJlc291cmNlSWR9LyR7cmVmfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZU9iamVjdCh7XG4gIHRpdGxlLFxuICBzZXJ2ZXIsXG4gIG93bmVyLFxuICByZWYsXG4gIGxhbmd1YWdlSWQsXG4gIHJlc291cmNlSWQsXG4gIHJlc291cmNlTGluayxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG59KSB7XG4gIGNvbnN0IHNjcmlwdHVyZSA9IHtcbiAgICB0aXRsZSxcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICAgIHJlZixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgIHJlc291cmNlTGluayxcbiAgfVxuXG4gIGlmICghcmVzb3VyY2VMaW5rKSB7XG4gICAgc2NyaXB0dXJlLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayh7XG4gICAgICBvd25lcixcbiAgICAgIHJlZixcbiAgICAgIGxhbmd1YWdlSWQsXG4gICAgICByZXNvdXJjZUlkLFxuICAgIH0pXG4gIH1cbiAgcmV0dXJuIHNjcmlwdHVyZVxufVxuXG4vKipcbiAqIHJldHVybiB0cnVlIGlmIHJlc291cmNlIGlzIGFuIG9yaWdpbmFsIGxhbmd1YWdlIGJpYmxlXG4gKiBAcGFyYW0gcmVzb3VyY2VJZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPcmlnaW5hbEJpYmxlKHJlc291cmNlSWQpIHtcbiAgY29uc3QgaXNPcmlnID0gKChyZXNvdXJjZUlkID09PSBOVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPUklHSU5BTF9TT1VSQ0UpKVxuICByZXR1cm4gaXNPcmlnXG59XG5cbi8qKlxuICogbWFrZSBzdXJlIHNjcmlwdHVyZVNldHRpbmdzIGFyZSB1cCB0byBkYXRlIHdpdGggY3VycmVudCBvd25lciBhbmQgbGFuZ3VhZ2VcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc1xuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5nczogYW55LCBjdXJyZW50T3duZXI6IGFueSwgY3VycmVudExhbmd1YWdlSWQ6IGFueSkge1xuICBpZiAoY3VycmVudE93bmVyICYmIChjdXJyZW50T3duZXIgIT09IHNjcmlwdHVyZVNldHRpbmdzLm93bmVyKSkgeyAvLyBpZiBvd25lciBjaGFuZ2VkLCB1cGRhdGUgc2NyaXB0dXJlU2V0dGluZ3NcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IGN1cnJlbnRPd25lclxuICB9XG5cbiAgaWYgKGN1cnJlbnRMYW5ndWFnZUlkICYmIChjdXJyZW50TGFuZ3VhZ2VJZCAhPT0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCkpIHsgLy8gaWYgbGFuZ3VhZ2UgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9IGN1cnJlbnRMYW5ndWFnZUlkXG4gIH1cbn1cblxuLyoqXG4gKiBzZXBhcmF0ZSBVUkwgaW50byBzZXJ2ZXIgYW5kIHJlc291cmNlIGxpbmtcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybCkge1xuICBpZiAob3JpZ2luYWxSZXBvVXJsKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChvcmlnaW5hbFJlcG9VcmwpXG4gICAgY29uc3Qgc2VydmVyID0gdXJsLm9yaWdpblxuICAgIGNvbnN0IHJlc291cmNlTGluayA9IHVybC5wYXRobmFtZSArICh1cmwuc2VhcmNoIHx8ICcnKVxuICAgIHJldHVybiB7IHNlcnZlciwgcmVzb3VyY2VMaW5rIH1cbiAgfVxuICByZXR1cm4ge31cbn1cblxuLyoqXG4gKiBnZXQgdGhlIHNjcmlwdHVyZSBzZXR0aW5ncyBuZWVkZWQgZm9yIGZldGNoIC0gZm9yIE9yaWdMYW5nLCBVTFQsIEdMVCB3aWxsIHJlcGxhY2Ugb3duZXIgYW5kIGxhbmd1YWdlSWQgd2l0aCBjb3JyZWN0IHZhbHVlc1xuICogQHBhcmFtIHtzdHJpbmd9IGJvb2tJZFxuICogQHBhcmFtIHtvYmplY3R9IHNjcmlwdHVyZVNldHRpbmdzX1xuICogQHBhcmFtIHtib29sZWFufSBpc05ld1Rlc3RhbWVudFxuICogQHBhcmFtIHtzdHJpbmd9IG9yaWdpbmFsUmVwb1VybCAtIG9wdGlvbmFsIHBhdGggdG8gcmVwbyBmb3Igb3JpZ2luYWwgbGFuZ3VhZ2VcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50TGFuZ3VhZ2VJZCAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgbGFuZ3VhZ2UgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudE93bmVyIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBvd25lciBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MoYm9va0lkLCBzY3JpcHR1cmVTZXR0aW5nc18sIGlzTmV3VGVzdGFtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxSZXBvVXJsPW51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2VJZD1udWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudE93bmVyPW51bGwsXG4pIHtcbiAgY29uc3Qgc2NyaXB0dXJlU2V0dGluZ3MgPSB7IC4uLnNjcmlwdHVyZVNldHRpbmdzXyB9XG4gIHNjcmlwdHVyZVNldHRpbmdzLmRpc2FibGVXb3JkUG9wb3ZlciA9IERJU0FCTEVfV09SRF9QT1BPVkVSXG4gIGNvbnN0IHJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5nc18ucmVzb3VyY2VJZFxuXG4gIGlmIChyZXNvdXJjZUlkID09PSBPUklHSU5BTF9TT1VSQ0UpIHtcbiAgICAvLyBzZWxlY3Qgb3JpZ2luYWwgbGFuZ3VhZ2UgQmlibGUgYmFzZWQgb24gd2hpY2ggdGVzdGFtZW50IHRoZSBib29rIGJlbG9uZ3NcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID0gaXNOZXdUZXN0YW1lbnQgPyBOVF9PUklHX0xBTkcgOiBPVF9PUklHX0xBTkdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gaXNOZXdUZXN0YW1lbnRcbiAgICAgID8gTlRfT1JJR19MQU5HX0JJQkxFXG4gICAgICA6IE9UX09SSUdfTEFOR19CSUJMRVxuXG4gICAgaWYgKHNjcmlwdHVyZVNldHRpbmdzLm9yaWdpbmFsTGFuZ3VhZ2VPd25lcikge1xuICAgICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBzY3JpcHR1cmVTZXR0aW5ncy5vcmlnaW5hbExhbmd1YWdlT3duZXJcbiAgICB9XG5cbiAgICBpZiAob3JpZ2luYWxSZXBvVXJsKSB7IC8vIHVzZSB0aGlzIHVybCBpZiBkZWZpbmVkXG4gICAgICBjb25zdCB7IHNlcnZlciwgcmVzb3VyY2VMaW5rIH0gPSBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpXG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5zZXJ2ZXIgPSBzZXJ2ZXJcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IHJlc291cmNlTGlua1xuICAgIH0gZWxzZSB7IC8vIGZhbGwgYmFjayB0byBhcHAgZGVmYXVsdHNcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgICB9XG4gICAgc2NyaXB0dXJlU2V0dGluZ3MuZGlzYWJsZVdvcmRQb3BvdmVyID0gZmFsc2VcbiAgfSBlbHNlIGlmIChyZXNvdXJjZUlkID09PSBUQVJHRVRfTElURVJBTCkge1xuICAgIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3MsIGN1cnJlbnRPd25lciwgY3VycmVudExhbmd1YWdlSWQpXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPT09ICdlbicgPyAndWx0JyA6ICdnbHQnXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICB9IGVsc2UgaWYgKHJlc291cmNlSWQgPT09IFRBUkdFVF9TSU1QTElGSUVEKSB7XG4gICAgY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5ncywgY3VycmVudE93bmVyLCBjdXJyZW50TGFuZ3VhZ2VJZClcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9PT0gJ2VuJyA/ICd1c3QnIDogJ2dzdCdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gIH1cbiAgcmV0dXJuIHNjcmlwdHVyZVNldHRpbmdzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVWZXJzaW9uU2V0dGluZ3Moe1xuICBsYWJlbCxcbiAgcmVzb3VyY2VMaW5rLFxuICBzZXRTY3JpcHR1cmUsXG4gIHNjcmlwdHVyZVZlcnNpb25IaXN0LFxufSkge1xuICBjb25zdCBoaXN0b3J5ID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClcbiAgbGV0IGluZGV4ID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZmluZEl0ZW1JbmRleEJ5S2V5KGhpc3RvcnksICdyZXNvdXJjZUxpbmsnLCByZXNvdXJjZUxpbmspXG5cbiAgY29uc3Qgc2NyaXB0dXJlU2VsZWN0b3JDb25maWcgPSB7XG4gICAgbGFiZWwsIC8vIGxhYmVsIGZvciBjb21ib2JveFxuICAgIG9wdGlvbnM6IGhpc3RvcnksXG4gICAgY3VycmVudDogaW5kZXgsXG4gICAgYWxsb3dVc2VySW5wdXQ6IHRydWUsXG4gICAgb25DaGFuZ2U6ICh0aXRsZSwgaW5kZXgsIHZhbGlkYXRpb25DQj1udWxsKSA9PiB7XG4gICAgICBsZXQgaXRlbVxuXG4gICAgICBpZiAoKGluZGV4IDwgMCkgJiYgdGl0bGUpIHtcbiAgICAgICAgY29uc3QgbmV3SXRlbSA9IHtcbiAgICAgICAgICB1cmw6IHRpdGxlLFxuICAgICAgICAgIHRpdGxlLFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluZGV4ID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuYWRkSXRlbVRvSGlzdG9yeShuZXdJdGVtKVxuXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgaXRlbSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldExhdGVzdCgpW2luZGV4XVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpdGVtID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0SXRlbUJ5VGl0bGUodGl0bGUpXG4gICAgICB9XG5cbiAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgIHNldFNjcmlwdHVyZShpdGVtLCB2YWxpZGF0aW9uQ0IpXG4gICAgICB9XG4gICAgfSxcbiAgICBkZWxldGVJdGVtOiB0aXRsZSA9PiB7XG4gICAgICBjb25zdCBoaXN0b3J5ID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClcbiAgICAgIGNvbnN0IGRlbGV0ZUluZGV4ID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZmluZEl0ZW1JbmRleEJ5S2V5KGhpc3RvcnksICd0aXRsZScsIHRpdGxlKVxuICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QucmVtb3ZlSXRlbUJ5SW5kZXgoZGVsZXRlSW5kZXgpXG4gICAgfSxcbiAgfVxuXG4gIHJldHVybiBzY3JpcHR1cmVTZWxlY3RvckNvbmZpZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVwb1VybChyZXNvdXJjZUxpbms6IHN0cmluZywgc2VydmVyOiBzdHJpbmcsIGlzTlQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICBsZXQgcmVwb1VybFxuXG4gIHRyeSB7XG4gICAgbGV0IFtvd25lciwgbGFuZ3VhZ2VJZCwgcmVzb3VyY2VJZF0gPSByZXNvdXJjZUxpbmsuc3BsaXQoJy8nKVxuXG4gICAgc3dpdGNoIChyZXNvdXJjZUlkKSB7XG4gICAgY2FzZSBPUklHSU5BTF9TT1VSQ0U6XG4gICAgICBsYW5ndWFnZUlkID0gaXNOVCA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR1xuICAgICAgcmVzb3VyY2VJZCA9IGlzTlRcbiAgICAgICAgPyBOVF9PUklHX0xBTkdfQklCTEVcbiAgICAgICAgOiBPVF9PUklHX0xBTkdfQklCTEVcbiAgICAgIGJyZWFrXG5cbiAgICBjYXNlIFRBUkdFVF9MSVRFUkFMOlxuICAgICAgcmVzb3VyY2VJZCA9IChsYW5ndWFnZUlkID09PSAnZW4nKSA/ICd1bHQnIDogJ2dsdCdcbiAgICAgIGJyZWFrXG5cbiAgICBjYXNlIFRBUkdFVF9TSU1QTElGSUVEOlxuICAgICAgcmVzb3VyY2VJZCA9IChsYW5ndWFnZUlkID09PSAnZW4nKSA/ICd1c3QnIDogJ2dzdCdcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIHJlcG9VcmwgPSBgJHtvd25lcn0vJHtsYW5ndWFnZUlkfV8ke3Jlc291cmNlSWR9YFxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gcmVzb3VyY2VMaW5rIHdhcyBpbnZhbGlkXG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIHJldHVybiBgJHtzZXJ2ZXIgfHwgJyd9LyR7cmVwb1VybH1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsoXG4gIHJlc291cmNlTGluazogc3RyaW5nLFxuICBzZXJ2ZXI6IHN0cmluZyxcbiAgZXJyb3JDb2RlOiBzdHJpbmcsXG4gIGlzTlQ6IGJvb2xlYW4pOiBzdHJpbmdcbntcbiAgY29uc3QgcmVwb1VybCA9IGdldFJlcG9VcmwocmVzb3VyY2VMaW5rLCBzZXJ2ZXIsIGlzTlQpXG4gIGNvbnN0IGVycm9yTXNnID0gZXJyb3JDb2RlICsgcmVwb1VybFxuICByZXR1cm4gZXJyb3JNc2dcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGNzVXJsKHVybCkge1xuICBsZXQgdmFsaWRSZXBvUGF0aCA9IGZhbHNlXG4gIGxldCB2YWxpZFVybCA9IGZhbHNlXG5cbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJ0cyA9IHVybC5zcGxpdCgnLycpXG4gICAgY29uc3QgW3Byb3RvY29sLCAsIGhvc3QsIHVzZXIsIHJlcG9dID0gcGFydHNcbiAgICB2YWxpZFVybCA9IChwcm90b2NvbCA9PT0gJ2h0dHBzOicpXG4gICAgY29uc3QgaG9zdFBhcnRzID0gaG9zdCA/IGhvc3Quc3BsaXQoJy4nKSA6IFtdXG5cbiAgICBpZiAoaG9zdFBhcnRzLmxlbmd0aCA+PSAyKSB7XG4gICAgICBmb3IgKGxldCBwYXJ0IG9mIGhvc3RQYXJ0cykge1xuICAgICAgICBpZiAoIXBhcnQpIHtcbiAgICAgICAgICB2YWxpZFVybCA9IGZhbHNlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZFVybCA9IGZhbHNlXG4gICAgfVxuXG4gICAgaWYgKCBwcm90b2NvbCAmJiBob3N0ICYmIHVzZXIgJiYgcmVwbyApIHtcbiAgICAgIGNvbnN0IFtsYW5ndWFnZUlkLCBwcm9qZWN0SWRdID0gcmVwby5zcGxpdCgnXycpXG4gICAgICB2YWxpZFJlcG9QYXRoID0gbGFuZ3VhZ2VJZCAmJiBwcm9qZWN0SWRcbiAgICB9XG4gIH0gY2F0Y2gge1xuICAgIGNvbnNvbGUubG9nKCdJbnZhbGlkIERDUyBVUkw6ICcgKyB1cmwpXG4gIH1cbiAgcmV0dXJuIHsgdmFsaWRVcmwsIHZhbGlkUmVwb1BhdGggfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VFcnJvck1lc3NhZ2UocmVzb3VyY2VTdGF0dXM6IG9iamVjdCkge1xuICBsZXQgbWVzc2FnZSA9ICcnXG5cbiAgaWYgKHJlc291cmNlU3RhdHVzW01BTklGRVNUX05PVF9MT0FERURfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IE1BTklGRVNUX05PVF9GT1VORF9FUlJPUl9NU0dcbiAgfSBlbHNlIGlmIChyZXNvdXJjZVN0YXR1c1tJTlZBTElEX01BTklGRVNUX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW0NPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBCT09LX05PVF9GT1VORF9FUlJPUl9NU0dcbiAgfSBlbHNlIGlmIChyZXNvdXJjZVN0YXR1c1tTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0dcbiAgfVxuICByZXR1cm4gbWVzc2FnZVxufVxuXG4vKipcbiAqIGRlY29kZSByZXNvdXJjZSBzdGF0dXMgaW50byBzdHJpbmcuICBDdXJyZW50bHkgb25seSBFbmdsaXNoXG4gKiBAcGFyYW0gcmVzb3VyY2VTdGF0dXMgLSBvYmplY3QgdGhhdCBjb250YWlucyBzdGF0ZSBhbmQgZXJyb3JzIHRoYXQgYXJlIGRldGVjdGVkXG4gKiBAcGFyYW0gc2VydmVyIC0gY29udGFpbnMgdGhlIHNlcnZlciBiZWluZyB1c2VkXG4gKiBAcGFyYW0gcmVzb3VyY2VMaW5rIC0gcGF0aCB0byByZXBvIG9uIHNlcnZlclxuICogQHBhcmFtIGlzTlQgLSB0cnVlIGlmIE5UIGJvb2tcbiAqIEByZXR1cm4gZW1wdHkgc3RyaW5nIGlmIG5vIGVycm9yLCBlbHNlIHJldHVybnMgdXNlciBlcnJvciBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZU1lc3NhZ2UocmVzb3VyY2VTdGF0dXM6IG9iamVjdCwgc2VydmVyOiBzdHJpbmcsIHJlc291cmNlTGluazogc3RyaW5nLCBpc05UOiBib29sZWFuKSB7XG4gIGxldCBtZXNzYWdlID0gJydcblxuICBpZiAocmVzb3VyY2VTdGF0dXNbTE9BRElOR19TVEFURV0pIHtcbiAgICBtZXNzYWdlID0gTE9BRElOR19SRVNPVVJDRVxuICB9IGVsc2Uge1xuICAgIG1lc3NhZ2UgPSBnZXRSZXNvdXJjZUVycm9yTWVzc2FnZShyZXNvdXJjZVN0YXR1cylcblxuICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICBtZXNzYWdlID0gZ2V0RXJyb3JNZXNzYWdlRm9yUmVzb3VyY2VMaW5rKHJlc291cmNlTGluaywgc2VydmVyLCBtZXNzYWdlLCBpc05UKVxuICAgIH1cbiAgfVxuICByZXR1cm4gbWVzc2FnZVxufVxuXG4vKipcbiAqIGdlbmVyYXRlIHJlc291cmNlIHN0cmluZ1xuICogQHBhcmFtIG93bmVyXG4gKiBAcGFyYW0gbGFuZ3VhZ2VJZFxuICogQHBhcmFtIHByb2plY3RJZFxuICogQHBhcmFtIHJlZlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VMaW5rU3BlY2lmaWMob3duZXI6IHN0cmluZywgbGFuZ3VhZ2VJZDogc3RyaW5nLCBwcm9qZWN0SWQ6IHN0cmluZywgcmVmOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGBhcGkvdjEvcmVwb3MvJHtvd25lcn0vJHtsYW5ndWFnZUlkfV8ke3Byb2plY3RJZH0vY29udGVudHM/cmVmPSR7cmVmfWBcbn1cblxuIl19
|
|
373
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT05URU5UX05PVF9GT1VORF9FUlJPUiIsIklOVkFMSURfTUFOSUZFU1RfRVJST1IiLCJMT0FESU5HX1NUQVRFIiwiTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUiIsIlNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SIiwiQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHIiwiTE9BRElOR19SRVNPVVJDRSIsIk1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHIiwiTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyIsIk5UX09SSUdfTEFORyIsIk5UX09SSUdfTEFOR19CSUJMRSIsIk9SSUdJTkFMX1NPVVJDRSIsIk9UX09SSUdfTEFORyIsIk9UX09SSUdfTEFOR19CSUJMRSIsIlNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHIiwiVEFSR0VUX0xJVEVSQUwiLCJUQVJHRVRfU0lNUExJRklFRCIsIkRJU0FCTEVfV09SRF9QT1BPVkVSIiwiZ2V0UmVzb3VyY2VMaW5rIiwic2NyaXB0dXJlIiwicmVmIiwiYnJhbmNoIiwib3duZXIiLCJsYW5ndWFnZUlkIiwicmVzb3VyY2VJZCIsImdldFNjcmlwdHVyZU9iamVjdCIsInRpdGxlIiwic2VydmVyIiwicmVzb3VyY2VMaW5rIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiaXNPcmlnaW5hbEJpYmxlIiwiaXNPcmlnIiwiY2xlYW51cEFjY291bnRTZXR0aW5ncyIsInNjcmlwdHVyZVNldHRpbmdzIiwiY3VycmVudE93bmVyIiwiY3VycmVudExhbmd1YWdlSWQiLCJzcGxpdFVybCIsIm9yaWdpbmFsUmVwb1VybCIsInVybCIsIlVSTCIsIm9yaWdpbiIsInBhdGhuYW1lIiwic2VhcmNoIiwiZ2V0U2NyaXB0dXJlUmVzb3VyY2VTZXR0aW5ncyIsImJvb2tJZCIsInNjcmlwdHVyZVNldHRpbmdzXyIsImlzTmV3VGVzdGFtZW50IiwiZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzIiwibGFiZWwiLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJpbmRleCIsImZpbmRJdGVtSW5kZXhCeUtleSIsInNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwidmFsaWRhdGlvbkNCIiwiaXRlbSIsIm5ld0l0ZW0iLCJhZGRJdGVtVG9IaXN0b3J5IiwiZ2V0SXRlbUJ5VGl0bGUiLCJkZWxldGVJdGVtIiwiZGVsZXRlSW5kZXgiLCJyZW1vdmVJdGVtQnlJbmRleCIsImdldFJlcG9VcmwiLCJpc05UIiwicmVwb1VybCIsInNwbGl0IiwiZSIsImdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayIsImVycm9yQ29kZSIsImVycm9yTXNnIiwidmFsaWRhdGVEY3NVcmwiLCJ2YWxpZFJlcG9QYXRoIiwidmFsaWRVcmwiLCJwYXJ0cyIsInByb3RvY29sIiwiaG9zdCIsInVzZXIiLCJyZXBvIiwiaG9zdFBhcnRzIiwibGVuZ3RoIiwicGFydCIsInByb2plY3RJZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SLFxuICBJTlZBTElEX01BTklGRVNUX0VSUk9SLFxuICBMT0FESU5HX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxuICBTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHtcbiAgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBMT0FESU5HX1JFU09VUkNFLFxuICBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyxcbiAgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyxcbiAgTlRfT1JJR19MQU5HLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBUQVJHRVRfTElURVJBTCxcbiAgVEFSR0VUX1NJTVBMSUZJRUQsXG59IGZyb20gJy4vY29tbW9uJ1xuXG5leHBvcnQgY29uc3QgRElTQUJMRV9XT1JEX1BPUE9WRVIgPSB0cnVlIC8vIGRpc2FibGUgd29yZCBwb3BvdmVyIGZvciBldmVyeSBzY3JpcHR1cmUgcGFuZSBidXQgb3JpZ2luYWwgbGFuZ3VhZ2VzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlKSB7XG4gIGNvbnN0IHJlZiA9IHNjcmlwdHVyZS5yZWYgfHwgc2NyaXB0dXJlLmJyYW5jaFxuICByZXR1cm4gYCR7c2NyaXB0dXJlLm93bmVyfS8ke3NjcmlwdHVyZS5sYW5ndWFnZUlkfS8ke3NjcmlwdHVyZS5yZXNvdXJjZUlkfS8ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICB0aXRsZSxcbiAgc2VydmVyLFxuICBvd25lcixcbiAgcmVmLFxuICBsYW5ndWFnZUlkLFxuICByZXNvdXJjZUlkLFxuICByZXNvdXJjZUxpbmssXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxufSkge1xuICBjb25zdCBzY3JpcHR1cmUgPSB7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICByZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICByZXNvdXJjZUxpbmssXG4gIH1cblxuICBpZiAoIXJlc291cmNlTGluaykge1xuICAgIHNjcmlwdHVyZS5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgICAgb3duZXIsXG4gICAgICByZWYsXG4gICAgICBsYW5ndWFnZUlkLFxuICAgICAgcmVzb3VyY2VJZCxcbiAgICB9KVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVcbn1cblxuLyoqXG4gKiByZXR1cm4gdHJ1ZSBpZiByZXNvdXJjZSBpcyBhbiBvcmlnaW5hbCBsYW5ndWFnZSBiaWJsZVxuICogQHBhcmFtIHJlc291cmNlSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3JpZ2luYWxCaWJsZShyZXNvdXJjZUlkKSB7XG4gIGNvbnN0IGlzT3JpZyA9ICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSlcbiAgcmV0dXJuIGlzT3JpZ1xufVxuXG4vKipcbiAqIG1ha2Ugc3VyZSBzY3JpcHR1cmVTZXR0aW5ncyBhcmUgdXAgdG8gZGF0ZSB3aXRoIGN1cnJlbnQgb3duZXIgYW5kIGxhbmd1YWdlXG4gKiBAcGFyYW0ge29iamVjdH0gc2NyaXB0dXJlU2V0dGluZ3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3M6IGFueSwgY3VycmVudE93bmVyOiBhbnksIGN1cnJlbnRMYW5ndWFnZUlkOiBhbnkpIHtcbiAgaWYgKGN1cnJlbnRPd25lciAmJiAoY3VycmVudE93bmVyICE9PSBzY3JpcHR1cmVTZXR0aW5ncy5vd25lcikpIHsgLy8gaWYgb3duZXIgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBjdXJyZW50T3duZXJcbiAgfVxuXG4gIGlmIChjdXJyZW50TGFuZ3VhZ2VJZCAmJiAoY3VycmVudExhbmd1YWdlSWQgIT09IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQpKSB7IC8vIGlmIGxhbmd1YWdlIGNoYW5nZWQsIHVwZGF0ZSBzY3JpcHR1cmVTZXR0aW5nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBjdXJyZW50TGFuZ3VhZ2VJZFxuICB9XG59XG5cbi8qKlxuICogc2VwYXJhdGUgVVJMIGludG8gc2VydmVyIGFuZCByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpIHtcbiAgaWYgKG9yaWdpbmFsUmVwb1VybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3JpZ2luYWxSZXBvVXJsKVxuICAgIGNvbnN0IHNlcnZlciA9IHVybC5vcmlnaW5cbiAgICBjb25zdCByZXNvdXJjZUxpbmsgPSB1cmwucGF0aG5hbWUgKyAodXJsLnNlYXJjaCB8fCAnJylcbiAgICByZXR1cm4geyBzZXJ2ZXIsIHJlc291cmNlTGluayB9XG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogZ2V0IHRoZSBzY3JpcHR1cmUgc2V0dGluZ3MgbmVlZGVkIGZvciBmZXRjaCAtIGZvciBPcmlnTGFuZywgVUxULCBHTFQgd2lsbCByZXBsYWNlIG93bmVyIGFuZCBsYW5ndWFnZUlkIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc19cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdUZXN0YW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmwgLSBvcHRpb25hbCBwYXRoIHRvIHJlcG8gZm9yIG9yaWdpbmFsIGxhbmd1YWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKGJvb2tJZCwgc2NyaXB0dXJlU2V0dGluZ3NfLCBpc05ld1Rlc3RhbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVwb1VybD1udWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudExhbmd1YWdlSWQ9bnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRPd25lcj1udWxsLFxuKSB7XG4gIGNvbnN0IHNjcmlwdHVyZVNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVTZXR0aW5nc18gfVxuICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBESVNBQkxFX1dPUkRfUE9QT1ZFUlxuICBjb25zdCByZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3NfLnJlc291cmNlSWRcblxuICBpZiAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSB7XG4gICAgLy8gc2VsZWN0IG9yaWdpbmFsIGxhbmd1YWdlIEJpYmxlIGJhc2VkIG9uIHdoaWNoIHRlc3RhbWVudCB0aGUgYm9vayBiZWxvbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9IGlzTmV3VGVzdGFtZW50ID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IGlzTmV3VGVzdGFtZW50XG4gICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgOiBPVF9PUklHX0xBTkdfQklCTEVcblxuICAgIGlmIChzY3JpcHR1cmVTZXR0aW5ncy5vcmlnaW5hbExhbmd1YWdlT3duZXIpIHtcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLm93bmVyID0gc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyXG4gICAgfVxuXG4gICAgaWYgKG9yaWdpbmFsUmVwb1VybCkgeyAvLyB1c2UgdGhpcyB1cmwgaWYgZGVmaW5lZFxuICAgICAgY29uc3QgeyBzZXJ2ZXIsIHJlc291cmNlTGluayB9ID0gc3BsaXRVcmwob3JpZ2luYWxSZXBvVXJsKVxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3Muc2VydmVyID0gc2VydmVyXG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSByZXNvdXJjZUxpbmtcbiAgICB9IGVsc2UgeyAvLyBmYWxsIGJhY2sgdG8gYXBwIGRlZmF1bHRzXG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgfVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLmRpc2FibGVXb3JkUG9wb3ZlciA9IGZhbHNlXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX0xJVEVSQUwpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VsdCcgOiAnZ2x0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfSBlbHNlIGlmIChyZXNvdXJjZUlkID09PSBUQVJHRVRfU0lNUExJRklFRCkge1xuICAgIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3MsIGN1cnJlbnRPd25lciwgY3VycmVudExhbmd1YWdlSWQpXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPT09ICdlbicgPyAndXN0JyA6ICdnc3QnXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVTZXR0aW5nc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzKHtcbiAgbGFiZWwsXG4gIHJlc291cmNlTGluayxcbiAgc2V0U2NyaXB0dXJlLFxuICBzY3JpcHR1cmVWZXJzaW9uSGlzdCxcbn0pIHtcbiAgY29uc3QgaGlzdG9yeSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldExhdGVzdCgpXG4gIGxldCBpbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCAncmVzb3VyY2VMaW5rJywgcmVzb3VyY2VMaW5rKVxuXG4gIGNvbnN0IHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnID0ge1xuICAgIGxhYmVsLCAvLyBsYWJlbCBmb3IgY29tYm9ib3hcbiAgICBvcHRpb25zOiBoaXN0b3J5LFxuICAgIGN1cnJlbnQ6IGluZGV4LFxuICAgIGFsbG93VXNlcklucHV0OiB0cnVlLFxuICAgIG9uQ2hhbmdlOiAodGl0bGUsIGluZGV4LCB2YWxpZGF0aW9uQ0I9bnVsbCkgPT4ge1xuICAgICAgbGV0IGl0ZW1cblxuICAgICAgaWYgKChpbmRleCA8IDApICYmIHRpdGxlKSB7XG4gICAgICAgIGNvbnN0IG5ld0l0ZW0gPSB7XG4gICAgICAgICAgdXJsOiB0aXRsZSxcbiAgICAgICAgICB0aXRsZSxcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3SXRlbSlcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVtpbmRleF1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXRlbSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldEl0ZW1CeVRpdGxlKHRpdGxlKVxuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbSkge1xuICAgICAgICBzZXRTY3JpcHR1cmUoaXRlbSwgdmFsaWRhdGlvbkNCKVxuICAgICAgfVxuICAgIH0sXG4gICAgZGVsZXRlSXRlbTogdGl0bGUgPT4ge1xuICAgICAgY29uc3QgaGlzdG9yeSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldExhdGVzdCgpXG4gICAgICBjb25zdCBkZWxldGVJbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCAndGl0bGUnLCB0aXRsZSlcbiAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LnJlbW92ZUl0ZW1CeUluZGV4KGRlbGV0ZUluZGV4KVxuICAgIH0sXG4gIH1cblxuICByZXR1cm4gc2NyaXB0dXJlU2VsZWN0b3JDb25maWdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlcG9VcmwocmVzb3VyY2VMaW5rOiBzdHJpbmcsIHNlcnZlcjogc3RyaW5nLCBpc05UOiBib29sZWFuKTogc3RyaW5nIHtcbiAgbGV0IHJlcG9VcmxcblxuICB0cnkge1xuICAgIGxldCBbb3duZXIsIGxhbmd1YWdlSWQsIHJlc291cmNlSWRdID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcblxuICAgIHN3aXRjaCAocmVzb3VyY2VJZCkge1xuICAgIGNhc2UgT1JJR0lOQUxfU09VUkNFOlxuICAgICAgbGFuZ3VhZ2VJZCA9IGlzTlQgPyBOVF9PUklHX0xBTkcgOiBPVF9PUklHX0xBTkdcbiAgICAgIHJlc291cmNlSWQgPSBpc05UXG4gICAgICAgID8gTlRfT1JJR19MQU5HX0JJQkxFXG4gICAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG4gICAgICBicmVha1xuXG4gICAgY2FzZSBUQVJHRVRfTElURVJBTDpcbiAgICAgIHJlc291cmNlSWQgPSAobGFuZ3VhZ2VJZCA9PT0gJ2VuJykgPyAndWx0JyA6ICdnbHQnXG4gICAgICBicmVha1xuXG4gICAgY2FzZSBUQVJHRVRfU0lNUExJRklFRDpcbiAgICAgIHJlc291cmNlSWQgPSAobGFuZ3VhZ2VJZCA9PT0gJ2VuJykgPyAndXN0JyA6ICdnc3QnXG4gICAgICBicmVha1xuICAgIH1cbiAgICByZXBvVXJsID0gYCR7b3duZXJ9LyR7bGFuZ3VhZ2VJZH1fJHtyZXNvdXJjZUlkfWBcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIHJlc291cmNlTGluayB3YXMgaW52YWxpZFxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gYCR7c2VydmVyIHx8ICcnfS8ke3JlcG9Vcmx9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JNZXNzYWdlRm9yUmVzb3VyY2VMaW5rKFxuICByZXNvdXJjZUxpbms6IHN0cmluZyxcbiAgc2VydmVyOiBzdHJpbmcsXG4gIGVycm9yQ29kZTogc3RyaW5nLFxuICBpc05UOiBib29sZWFuKTogc3RyaW5nXG57XG4gIGNvbnN0IHJlcG9VcmwgPSBnZXRSZXBvVXJsKHJlc291cmNlTGluaywgc2VydmVyLCBpc05UKVxuICBjb25zdCBlcnJvck1zZyA9IGVycm9yQ29kZSArIHJlcG9VcmxcbiAgcmV0dXJuIGVycm9yTXNnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURjc1VybCh1cmwpIHtcbiAgbGV0IHZhbGlkUmVwb1BhdGggPSBmYWxzZVxuICBsZXQgdmFsaWRVcmwgPSBmYWxzZVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcGFydHMgPSB1cmwuc3BsaXQoJy8nKVxuICAgIGNvbnN0IFtwcm90b2NvbCwgLCBob3N0LCB1c2VyLCByZXBvXSA9IHBhcnRzXG4gICAgdmFsaWRVcmwgPSAocHJvdG9jb2wgPT09ICdodHRwczonKVxuICAgIGNvbnN0IGhvc3RQYXJ0cyA9IGhvc3QgPyBob3N0LnNwbGl0KCcuJykgOiBbXVxuXG4gICAgaWYgKGhvc3RQYXJ0cy5sZW5ndGggPj0gMikge1xuICAgICAgZm9yIChsZXQgcGFydCBvZiBob3N0UGFydHMpIHtcbiAgICAgICAgaWYgKCFwYXJ0KSB7XG4gICAgICAgICAgdmFsaWRVcmwgPSBmYWxzZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFsaWRVcmwgPSBmYWxzZVxuICAgIH1cblxuICAgIGlmICggcHJvdG9jb2wgJiYgaG9zdCAmJiB1c2VyICYmIHJlcG8gKSB7XG4gICAgICBjb25zdCBbbGFuZ3VhZ2VJZCwgcHJvamVjdElkXSA9IHJlcG8uc3BsaXQoJ18nKVxuICAgICAgdmFsaWRSZXBvUGF0aCA9IGxhbmd1YWdlSWQgJiYgcHJvamVjdElkXG4gICAgfVxuICB9IGNhdGNoIHtcbiAgICBjb25zb2xlLmxvZygnSW52YWxpZCBEQ1MgVVJMOiAnICsgdXJsKVxuICB9XG4gIHJldHVybiB7IHZhbGlkVXJsLCB2YWxpZFJlcG9QYXRoIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzOiBvYmplY3QpIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbSU5WQUxJRF9NQU5JRkVTVF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfSU5WQUxJRF9FUlJPUl9NU0dcbiAgfSBlbHNlIGlmIChyZXNvdXJjZVN0YXR1c1tDT05URU5UX05PVF9GT1VORF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH1cbiAgcmV0dXJuIG1lc3NhZ2Vcbn1cblxuLyoqXG4gKiBkZWNvZGUgcmVzb3VyY2Ugc3RhdHVzIGludG8gc3RyaW5nLiAgQ3VycmVudGx5IG9ubHkgRW5nbGlzaFxuICogQHBhcmFtIHJlc291cmNlU3RhdHVzIC0gb2JqZWN0IHRoYXQgY29udGFpbnMgc3RhdGUgYW5kIGVycm9ycyB0aGF0IGFyZSBkZXRlY3RlZFxuICogQHBhcmFtIHNlcnZlciAtIGNvbnRhaW5zIHRoZSBzZXJ2ZXIgYmVpbmcgdXNlZFxuICogQHBhcmFtIHJlc291cmNlTGluayAtIHBhdGggdG8gcmVwbyBvbiBzZXJ2ZXJcbiAqIEBwYXJhbSBpc05UIC0gdHJ1ZSBpZiBOVCBib29rXG4gKiBAcmV0dXJuIGVtcHR5IHN0cmluZyBpZiBubyBlcnJvciwgZWxzZSByZXR1cm5zIHVzZXIgZXJyb3IgbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VNZXNzYWdlKHJlc291cmNlU3RhdHVzOiBvYmplY3QsIHNlcnZlcjogc3RyaW5nLCByZXNvdXJjZUxpbms6IHN0cmluZywgaXNOVDogYm9vbGVhbikge1xuICBsZXQgbWVzc2FnZSA9ICcnXG5cbiAgaWYgKHJlc291cmNlU3RhdHVzW0xPQURJTkdfU1RBVEVdKSB7XG4gICAgbWVzc2FnZSA9IExPQURJTkdfUkVTT1VSQ0VcbiAgfSBlbHNlIHtcbiAgICBtZXNzYWdlID0gZ2V0UmVzb3VyY2VFcnJvck1lc3NhZ2UocmVzb3VyY2VTdGF0dXMpXG5cbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgbWVzc2FnZSA9IGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhyZXNvdXJjZUxpbmssIHNlcnZlciwgbWVzc2FnZSwgaXNOVClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1lc3NhZ2Vcbn1cblxuLyoqXG4gKiBnZW5lcmF0ZSByZXNvdXJjZSBzdHJpbmdcbiAqIEBwYXJhbSBvd25lclxuICogQHBhcmFtIGxhbmd1YWdlSWRcbiAqIEBwYXJhbSBwcm9qZWN0SWRcbiAqIEBwYXJhbSByZWZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTGlua1NwZWNpZmljKG93bmVyOiBzdHJpbmcsIGxhbmd1YWdlSWQ6IHN0cmluZywgcHJvamVjdElkOiBzdHJpbmcsIHJlZjogc3RyaW5nKSB7XG4gIHJldHVybiBgYXBpL3YxL3JlcG9zLyR7b3duZXJ9LyR7bGFuZ3VhZ2VJZH1fJHtwcm9qZWN0SWR9L2NvbnRlbnRzP3JlZj0ke3JlZn1gXG59XG5cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FDRUEsdUJBREYsRUFFRUMsc0JBRkYsRUFHRUMsYUFIRixFQUlFQyx5QkFKRixFQUtFQywwQkFMRixRQU1PLHVCQU5QO0FBT0EsU0FDRUMs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
|