diff --git a/.adr-dir b/.adr-dir deleted file mode 100644 index 51c5f291..00000000 --- a/.adr-dir +++ /dev/null @@ -1 +0,0 @@ -docs/decisions diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 87dbbe22..00000000 --- a/.gitignore +++ /dev/null @@ -1,129 +0,0 @@ -*.env -.idea - -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ \ No newline at end of file diff --git a/40194750-289e28ad174c3a577ea1.js b/40194750-289e28ad174c3a577ea1.js new file mode 100644 index 00000000..17fdabb1 --- /dev/null +++ b/40194750-289e28ad174c3a577ea1.js @@ -0,0 +1 @@ +(self.webpackChunkjustice40_tool=self.webpackChunkjustice40_tool||[]).push([[30],{2593:function(module,__unused_webpack_exports,__webpack_require__){eval('!function (e, t) {\n true ? module.exports = t(__webpack_require__(7294)) : 0;\n}(this, function (e) {\n return function (e) {\n var t = {};\n\n function r(a) {\n if (t[a]) return t[a].exports;\n var n = t[a] = {\n i: a,\n l: !1,\n exports: {}\n };\n return e[a].call(n.exports, n, n.exports, r), n.l = !0, n.exports;\n }\n\n return r.m = e, r.c = t, r.d = function (e, t, a) {\n r.o(e, t) || Object.defineProperty(e, t, {\n enumerable: !0,\n get: a\n });\n }, r.r = function (e) {\n "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: "Module"\n }), Object.defineProperty(e, "__esModule", {\n value: !0\n });\n }, r.t = function (e, t) {\n if (1 & t && (e = r(e)), 8 & t) return e;\n if (4 & t && "object" == typeof e && e && e.__esModule) return e;\n var a = Object.create(null);\n if (r.r(a), Object.defineProperty(a, "default", {\n enumerable: !0,\n value: e\n }), 2 & t && "string" != typeof e) for (var n in e) {\n r.d(a, n, function (t) {\n return e[t];\n }.bind(null, n));\n }\n return a;\n }, r.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return r.d(t, "a", t), t;\n }, r.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, r.p = "", r(r.s = 19);\n }([function (t, r) {\n t.exports = e;\n }, function (e, t, r) {\n var a;\n /*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n */\n\n !function () {\n "use strict";\n\n var r = {}.hasOwnProperty;\n\n function n() {\n for (var e = [], t = 0; t < arguments.length; t++) {\n var a = arguments[t];\n\n if (a) {\n var o = typeof a;\n if ("string" === o || "number" === o) e.push(a);else if (Array.isArray(a)) {\n if (a.length) {\n var i = n.apply(null, a);\n i && e.push(i);\n }\n } else if ("object" === o) if (a.toString === Object.prototype.toString) for (var l in a) {\n r.call(a, l) && a[l] && e.push(l);\n } else e.push(a.toString());\n }\n }\n\n return e.join(" ");\n }\n\n e.exports ? (n.default = n, e.exports = n) : void 0 === (a = function () {\n return n;\n }.apply(t, [])) || (e.exports = a);\n }();\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.deprecationWarning = void 0;\n\n var a = function a() {};\n\n t.deprecationWarning = a;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.isIosDevice = t.handleTabKey = t.listToTable = t.isDateInvalid = t.formatDate = t.parseDateString = t.isDatesYearOutsideMinOrMax = t.isDatesMonthOutsideMinOrMax = t.isDateWithinMinAndMax = t.keepDateBetweenMinAndMax = t.isSameDay = t.isSameMonth = t.isSameYear = t.max = t.min = t.setYear = t.setMonth = t.subYears = t.addYears = t.subMonths = t.addMonths = t.endOfWeek = t.startOfWeek = t.subWeeks = t.addWeeks = t.subDays = t.addDays = t.lastDayOfMonth = t.startOfMonth = t.today = t.setDate = t.keepDateWithinMonth = void 0;\n var a,\n n = (a = r(0)) && a.__esModule ? a : {\n default: a\n },\n o = r(6);\n\n var i = function i(e, t) {\n return t !== e.getMonth() && e.setDate(0), e;\n };\n\n t.keepDateWithinMonth = i;\n\n var l = function l(e, t, r) {\n var a = new Date(0);\n return a.setFullYear(e, t, r), a;\n };\n\n t.setDate = l;\n\n var u = function u() {\n var e = new Date(),\n t = e.getDate(),\n r = e.getMonth(),\n a = e.getFullYear();\n return l(a, r, t);\n };\n\n t.today = u;\n\n var c = function c(e) {\n var t = new Date(0);\n return t.setFullYear(e.getFullYear(), e.getMonth(), 1), t;\n };\n\n t.startOfMonth = c;\n\n var s = function s(e) {\n var t = new Date(0);\n return t.setFullYear(e.getFullYear(), e.getMonth() + 1, 0), t;\n };\n\n t.lastDayOfMonth = s;\n\n var d = function d(e, t) {\n var r = new Date(e.getTime());\n return r.setDate(r.getDate() + t), r;\n };\n\n t.addDays = d;\n\n var f = function f(e, t) {\n return d(e, -t);\n };\n\n t.subDays = f;\n\n var p = function p(e, t) {\n return d(e, 7 * t);\n };\n\n t.addWeeks = p;\n\n t.subWeeks = function (e, t) {\n return p(e, -t);\n };\n\n t.startOfWeek = function (e) {\n var t = e.getDay();\n return f(e, t);\n };\n\n t.endOfWeek = function (e) {\n var t = e.getDay();\n return d(e, 6 - t);\n };\n\n var m = function m(e, t) {\n var r = new Date(e.getTime()),\n a = (r.getMonth() + 12 + t) % 12;\n return r.setMonth(r.getMonth() + t), i(r, a), r;\n };\n\n t.addMonths = m;\n\n t.subMonths = function (e, t) {\n return m(e, -t);\n };\n\n var y = function y(e, t) {\n return m(e, 12 * t);\n };\n\n t.addYears = y;\n\n t.subYears = function (e, t) {\n return y(e, -t);\n };\n\n var b = function b(e, t) {\n var r = new Date(e.getTime());\n return r.setMonth(t), i(r, t), r;\n };\n\n t.setMonth = b;\n\n t.setYear = function (e, t) {\n var r = new Date(e.getTime()),\n a = r.getMonth();\n return r.setFullYear(t), i(r, a), r;\n };\n\n t.min = function (e, t) {\n var r = e;\n return t < e && (r = t), new Date(r.getTime());\n };\n\n t.max = function (e, t) {\n var r = e;\n return t > e && (r = t), new Date(r.getTime());\n };\n\n var v = function v(e, t) {\n return e && t && e.getFullYear() === t.getFullYear();\n };\n\n t.isSameYear = v;\n\n var O = function O(e, t) {\n return v(e, t) && e.getMonth() === t.getMonth();\n };\n\n t.isSameMonth = O;\n\n t.isSameDay = function (e, t) {\n return O(e, t) && e.getDate() === t.getDate();\n };\n\n t.keepDateBetweenMinAndMax = function (e, t, r) {\n var a = e;\n return e < t ? a = t : r && e > r && (a = r), new Date(a.getTime());\n };\n\n var g = function g(e, t, r) {\n return e >= t && (!r || e <= r);\n };\n\n t.isDateWithinMinAndMax = g;\n\n t.isDatesMonthOutsideMinOrMax = function (e, t, r) {\n return s(e) < t || !!r && c(e) > r;\n };\n\n t.isDatesYearOutsideMinOrMax = function (e, t, r) {\n return s(b(e, 11)) < t || !!r && c(b(e, 0)) > r;\n };\n\n t.parseDateString = function (e, t, r) {\n var a, n, i, c, s, d, f;\n\n if (void 0 === t && (t = o.INTERNAL_DATE_FORMAT), void 0 === r && (r = !1), e) {\n var p = void 0,\n m = void 0,\n y = void 0;\n\n if (t === o.DEFAULT_EXTERNAL_DATE_FORMAT ? (p = (a = e.split("/"))[0], m = a[1], y = a[2]) : (y = (n = e.split("-"))[0], p = n[1], m = n[2]), y && (f = parseInt(y, 10), !Number.isNaN(f) && (d = f, r && (d = Math.max(0, d), y.length < 3)))) {\n var b = u().getFullYear();\n d = b - b % Math.pow(10, y.length) + f;\n }\n\n if (p && (f = parseInt(p, 10), Number.isNaN(f) || (c = f, r && (c = Math.max(1, c), c = Math.min(12, c)))), c && m && null != d && (f = parseInt(m, 10), !Number.isNaN(f) && (s = f, r))) {\n var v = l(d, c, 0).getDate();\n s = Math.max(1, s), s = Math.min(v, s);\n }\n\n c && s && null != d && (i = l(d, c - 1, s));\n }\n\n return i;\n };\n\n t.formatDate = function (e, t) {\n void 0 === t && (t = o.INTERNAL_DATE_FORMAT);\n\n var r = function r(e, t) {\n return ("0000" + e).slice(-t);\n },\n a = e.getMonth() + 1,\n n = e.getDate(),\n i = e.getFullYear();\n\n return t === o.DEFAULT_EXTERNAL_DATE_FORMAT ? [r(a, 2), r(n, 2), r(i, 4)].join("/") : [r(i, 4), r(a, 2), r(n, 2)].join("-");\n };\n\n t.isDateInvalid = function (e, t, r) {\n var a = !1;\n\n if (e) {\n a = !0;\n var n = e.split("/"),\n o = n.map(function (e) {\n var t,\n r = parseInt(e, 10);\n return Number.isNaN(r) || (t = r), t;\n }),\n i = o[0],\n u = o[1],\n c = o[2];\n\n if (i && u && null != c) {\n var s = l(c, i - 1, u);\n s.getMonth() === i - 1 && s.getDate() === u && s.getFullYear() === c && 4 === n[2].length && g(s, t, r) && (a = !1);\n }\n }\n\n return a;\n };\n\n t.listToTable = function (e, t) {\n for (var r = [], a = 0; a < e.length;) {\n for (var o = []; a < e.length && o.length < t;) {\n o.push(e[parseInt("" + a)]), a += 1;\n }\n\n r.push(o);\n }\n\n return n.default.createElement(n.default.Fragment, null, r.map(function (e, t) {\n return n.default.createElement("tr", {\n key: "row_" + t\n }, e.map(function (e, r) {\n return n.default.createElement("td", {\n key: "row_" + t + "_cell_" + r\n }, e);\n }));\n }));\n };\n\n t.handleTabKey = function (e, t) {\n if ("Tab" === e.key) {\n var r = t.filter(function (e) {\n return e && !e.disabled;\n }),\n a = null === document || void 0 === document ? void 0 : document.activeElement,\n n = r.length - 1,\n o = r[parseInt("0")],\n i = r[parseInt("" + n)],\n l = a instanceof HTMLButtonElement ? r.indexOf(a) : -1,\n u = l === n,\n c = 0 === l,\n s = -1 === l;\n e.shiftKey ? (c || s) && (e.preventDefault(), null == i || i.focus()) : (u || s) && (e.preventDefault(), null == o || o.focus());\n }\n };\n\n t.isIosDevice = function () {\n return "undefined" != typeof navigator && (navigator.userAgent.match(/(iPod|iPhone|iPad)/g) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 1) && !window.MSStream;\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.NavList = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = r(2);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l = function l() {\n return (_l = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.NavList = function (e) {\n var t = e.items,\n r = e.type,\n i = e.primary,\n c = e.secondary,\n s = e.subnav,\n d = e.megamenu,\n f = e.footerSecondary,\n p = e.className,\n m = u(e, ["items", "type", "primary", "secondary", "subnav", "megamenu", "footerSecondary", "className"]);\n i && (0, o.deprecationWarning)("NavList property primary is deprecated. Use type"), c && (0, o.deprecationWarning)("NavList property secondary is deprecated. Use type"), s && (0, o.deprecationWarning)("NavList property subnav is deprecated. Use type"), d && (0, o.deprecationWarning)("NavList property megamenu is deprecated. Use type"), f && (0, o.deprecationWarning)("NavList property footerSecondary is deprecated. Use type");\n\n var y = r ? "primary" === r : i,\n b = r ? "secondary" === r : c,\n v = r ? "subnav" === r : s,\n O = r ? "megamenu" === r : d,\n g = r ? "footerSecondary" === r : f,\n _ = (0, n.default)({\n "usa-nav__primary usa-accordion": y,\n "usa-nav__secondary-links": b,\n "usa-nav__submenu": v,\n "usa-nav__submenu-list": O,\n "usa-list usa-list--unstyled": g\n }, p),\n h = (0, n.default)({\n "usa-nav__primary-item": y,\n "usa-nav__secondary-item": b,\n "usa-nav__submenu-item": v || O,\n "usa-footer__secondary-link": g\n });\n\n return a.default.createElement("ul", _l({\n className: _\n }, m), t.map(function (e, t) {\n return a.default.createElement("li", {\n key: "item_" + t,\n className: h\n }, e);\n }));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Label = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i = function i() {\n return (_i = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.children,\n r = e.htmlFor,\n o = e.className,\n u = e.error,\n c = e.hint,\n s = e.srOnly,\n d = l(e, ["children", "htmlFor", "className", "error", "hint", "srOnly"]),\n f = (0, n.default)({\n "usa-label": !s,\n "usa-sr-only": s,\n "usa-label--error": u\n }, o);\n return a.default.createElement("label", _i({}, d, {\n "data-testid": "label",\n className: f,\n htmlFor: r\n }), t, c && a.default.createElement("span", {\n className: "usa-hint"\n }, c));\n };\n\n t.Label = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.INTERNAL_DATE_FORMAT = t.DEFAULT_EXTERNAL_DATE_FORMAT = t.DEFAULT_MIN_DATE = t.YEAR_CHUNK = t.ENTER_KEYCODE = t.DAY_OF_WEEK_SHORT_LABELS = t.DAY_OF_WEEK_LABELS = t.MONTH_LABELS = t.VALIDATION_MESSAGE = void 0;\n t.VALIDATION_MESSAGE = "Please enter a valid date";\n t.MONTH_LABELS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];\n t.DAY_OF_WEEK_LABELS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];\n t.DAY_OF_WEEK_SHORT_LABELS = ["S", "M", "T", "W", "Th", "F", "S"];\n t.ENTER_KEYCODE = 13;\n t.YEAR_CHUNK = 12;\n t.DEFAULT_MIN_DATE = "0000-01-01";\n t.DEFAULT_EXTERNAL_DATE_FORMAT = "MM/DD/YYYY";\n t.INTERNAL_DATE_FORMAT = "YYYY-MM-DD";\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.TextInput = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = r(2);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l2 = function l() {\n return (_l2 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n c = function c(e) {\n var t = e.id,\n r = e.name,\n i = e.type,\n c = e.className,\n s = e.validationStatus,\n d = e.error,\n f = e.success,\n p = e.inputSize,\n m = e.small,\n y = e.medium,\n b = e.inputRef,\n v = u(e, ["id", "name", "type", "className", "validationStatus", "error", "success", "inputSize", "small", "medium", "inputRef"]);\n d && (0, o.deprecationWarning)("TextInput property error is deprecated. Use validationStatus"), f && (0, o.deprecationWarning)("TextInput property success is deprecated. Use validationStatus"), m && (0, o.deprecationWarning)("TextInput property small is deprecated. Use inputSize"), y && (0, o.deprecationWarning)("TextInput property medium is deprecated. Use inputSize");\n\n var O = s ? "error" === s : d,\n g = s ? "success" === s : f,\n _ = p ? "small" === p : m,\n h = p ? "medium" === p : y,\n j = (0, n.default)("usa-input", {\n "usa-input--error": O,\n "usa-input--success": g,\n "usa-input--small": _,\n "usa-input--medium": h\n }, c);\n\n return a.default.createElement("input", _l2({\n "data-testid": "textInput",\n className: j,\n id: t,\n name: r,\n type: i,\n ref: b\n }, v));\n };\n\n t.TextInput = c;\n var s = c;\n t.default = s;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.FormGroup = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n t.FormGroup = function (e) {\n var t = e.children,\n r = e.className,\n o = e.error,\n i = (0, n.default)("usa-form-group", {\n "usa-form-group--error": o\n }, r);\n return a.default.createElement("div", {\n "data-testid": "formGroup",\n className: i\n }, t);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.sampleLocalization = t.EN_US = void 0;\n var a = r(6),\n n = {\n months: a.MONTH_LABELS,\n daysOfWeek: a.DAY_OF_WEEK_LABELS,\n daysOfWeekShort: a.DAY_OF_WEEK_SHORT_LABELS,\n statuses: ["You can navigate by day using left and right arrows", "Weeks by using up and down arrows", "Months by using page up and page down keys", "Years by using shift plus page up and shift plus page down", "Home and end keys navigate to the beginning and end of a week"],\n selectedDate: "Selected date",\n selectAMonth: "Select a month.",\n toggleCalendar: "Toggle calendar",\n backOneYear: "Navigate back one year",\n backOneMonth: "Navigate back one month",\n forwardOneYear: "Navigate forward one year",\n forwardOneMonth: "Navigate forward one month",\n clickToSelectMonth: "Click to select month",\n clickToSelectYear: "Click to select year"\n };\n t.EN_US = n;\n t.sampleLocalization = {\n months: ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"],\n daysOfWeek: ["domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"],\n daysOfWeekShort: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"],\n statuses: ["Puede navegar por día usando las flechas izquierda y derecha", "Semanas usando flechas hacia arriba y hacia abajo", "Meses usando las teclas de avance y retroceso de página", "Años usando shift plus page up y shift plus page down", "Las teclas de inicio y finalización navegan hasta el principio y el final de una semana"],\n selectedDate: "Fecha seleccionada",\n selectAMonth: "Selecciona un mes.",\n toggleCalendar: "Alternar calendario",\n backOneYear: "Navegar hacia atrás un año",\n backOneMonth: "Navegar hacia atrás un mes",\n forwardOneYear: "Navegar hacia adelante un año",\n forwardOneMonth: "Navegar hacia adelante un mes",\n clickToSelectMonth: "Haga clic para seleccionar el mes",\n clickToSelectYear: "Haga clic para seleccionar el año"\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.isCustomProps = u, t.Link = function (e) {\n if (u(e)) {\n var t = e.variant,\n r = e.className,\n n = e.asCustom,\n o = e.children,\n s = l(e, ["variant", "className", "asCustom", "children"]),\n d = c(t, r);\n return a.default.createElement(n, _i2({\n className: d\n }, s), o);\n }\n\n o = e.children, r = e.className, t = e.variant, s = l(e, ["children", "className", "variant"]), d = c(t, r);\n return a.default.createElement("a", _i2({\n className: d\n }, s), o);\n };\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i2 = function i() {\n return (_i2 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n function u(e) {\n return "asCustom" in e;\n }\n\n function c(e, t) {\n var r = "external" === e,\n a = "nav" === e;\n return "unstyled" === e ? t : (0, n.default)("usa-link", {\n "usa-link--external": r,\n "usa-nav__link": a\n }, t);\n }\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.ComboBox = t.FocusMode = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = l(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n i = r(49);\n\n function l(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (l = function l(e) {\n return e ? r : t;\n })(e);\n }\n\n var u,\n c,\n _s = function s() {\n return (_s = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n d = function d(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n !function (e) {\n e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next";\n }(u || (u = {})), t.FocusMode = c, function (e) {\n e[e.None = 0] = "None", e[e.Input = 1] = "Input", e[e.Item = 2] = "Item";\n }(c || (t.FocusMode = c = {}));\n\n var f = function f(e) {\n var t = e.focused,\n r = d(e, ["focused"]),\n a = (0, n.useRef)(null);\n return (0, n.useEffect)(function () {\n t && a.current && a.current.focus();\n }), n.default.createElement("input", _s({\n type: "text",\n className: "usa-combo-box__input",\n "data-testid": "combo-box-input"\n }, r, {\n autoCapitalize: "off",\n autoComplete: "off",\n ref: a\n }));\n },\n p = function p(e) {\n var t,\n r,\n a = e.id,\n l = e.name,\n d = e.className,\n p = e.options,\n m = e.defaultValue,\n y = e.disabled,\n b = e.onChange,\n v = e.assistiveHint,\n O = e.noResults,\n g = e.selectProps,\n _ = e.inputProps,\n h = e.ulProps,\n j = e.customFilter,\n M = e.disableFiltering,\n N = void 0 !== M && M,\n E = !!y;\n m && (r = p.find(function (e) {\n return e.value === m;\n }));\n var P = j || {\n filter: ".*{{query}}.*"\n },\n w = {\n isOpen: !1,\n selectedOption: r || void 0,\n focusedOption: void 0,\n focusMode: c.None,\n filteredOptions: p,\n inputValue: r ? r.label : ""\n },\n I = (0, i.useComboBox)(w, p, N, P),\n D = I[0],\n S = I[1],\n x = (0, n.useRef)(null),\n k = (0, n.useRef)(null);\n (0, n.useEffect)(function () {\n var e;\n b && b((null === (e = D.selectedOption) || void 0 === e ? void 0 : e.value) || void 0);\n }, [D.selectedOption]), (0, n.useEffect)(function () {\n D.focusMode === c.Item && D.focusedOption && k.current && k.current.focus();\n }, [D.focusMode, D.focusedOption]), (0, n.useEffect)(function () {\n D.isOpen && D.focusedOption && k.current && D.focusMode === c.Input && k.current.scrollIntoView(!1);\n }, [D.isOpen, D.focusedOption]), (0, n.useEffect)(function () {\n var e;\n D.focusMode !== c.None && ((null === (e = x.current) || void 0 === e ? void 0 : e.contains(window.document.activeElement)) || S({\n type: i.ActionTypes.BLUR\n }));\n }, [D.focusMode]);\n\n var A = function A(e, t, r) {\n var a = t.focusedOption ? t.filteredOptions.indexOf(t.focusedOption) : -1,\n n = t.filteredOptions[0],\n o = t.filteredOptions[t.filteredOptions.length - 1];\n if (-1 === a) e({\n type: i.ActionTypes.FOCUS_OPTION,\n option: n\n });else {\n var l = a + r;\n if (l < 0 && t.selectedOption) e({\n type: i.ActionTypes.FOCUS_OPTION,\n option: n\n });else if (l < 0) e({\n type: i.ActionTypes.CLOSE_LIST\n });else if (l >= t.filteredOptions.length) e({\n type: i.ActionTypes.FOCUS_OPTION,\n option: o\n });else {\n var u = t.filteredOptions[l];\n e({\n type: i.ActionTypes.FOCUS_OPTION,\n option: u\n });\n }\n }\n },\n T = function T(e) {\n var t,\n r = e.relatedTarget;\n (!r || r instanceof Node && !(null === (t = x.current) || void 0 === t ? void 0 : t.contains(r))) && S({\n type: i.ActionTypes.BLUR\n });\n },\n C = function C(e) {\n "Escape" === e.key ? S({\n type: i.ActionTypes.CLOSE_LIST\n }) : "Tab" === e.key || "Enter" === e.key ? (e.preventDefault(), D.focusedOption && S({\n type: i.ActionTypes.SELECT_OPTION,\n option: D.focusedOption\n })) : "ArrowDown" === e.key || "Down" === e.key ? (e.preventDefault(), A(S, D, u.Next)) : "ArrowUp" !== e.key && "Up" !== e.key || (e.preventDefault(), A(S, D, u.Previous));\n },\n L = D.selectedOption && D.selectedOption.label === D.inputValue,\n F = (0, o.default)("usa-combo-box", d, {\n "usa-combo-box--pristine": L\n }),\n R = "combobox-" + l + "-list",\n U = "combobox-" + l + "-assistive-hint";\n\n return n.default.createElement("div", {\n "data-testid": "combo-box",\n className: F,\n id: a,\n ref: x\n }, n.default.createElement("select", _s({\n className: "usa-select usa-sr-only usa-combo-box__select",\n name: l,\n "aria-hidden": !0,\n tabIndex: -1,\n defaultValue: null === (t = D.selectedOption) || void 0 === t ? void 0 : t.value,\n "data-testid": "combo-box-select",\n disabled: E\n }, g), p.map(function (e) {\n return n.default.createElement("option", {\n key: e.value,\n value: e.value\n }, e.label);\n })), n.default.createElement(f, _s({\n onChange: function onChange(e) {\n return S({\n type: i.ActionTypes.UPDATE_FILTER,\n value: e.target.value\n });\n },\n onClick: function onClick() {\n return S({\n type: i.ActionTypes.OPEN_LIST\n });\n },\n onBlur: function onBlur(e) {\n var t,\n r = e.relatedTarget;\n (!r || r instanceof Node && !(null === (t = x.current) || void 0 === t ? void 0 : t.contains(r))) && D.focusMode !== c.None && S({\n type: i.ActionTypes.BLUR\n });\n },\n onKeyDown: function onKeyDown(e) {\n if ("Escape" === e.key) S({\n type: i.ActionTypes.CLOSE_LIST\n });else if ("ArrowDown" === e.key || "Down" == e.key) e.preventDefault(), S({\n type: i.ActionTypes.FOCUS_OPTION,\n option: D.selectedOption || D.focusedOption || D.filteredOptions[0]\n });else if ("Tab" === e.key) {\n if (D.isOpen && !D.selectedOption) {\n var t = N ? D.focusedOption : D.selectedOption || D.focusedOption;\n t ? (e.preventDefault(), S({\n type: i.ActionTypes.FOCUS_OPTION,\n option: t\n })) : S({\n type: i.ActionTypes.BLUR\n });\n }\n\n !D.isOpen && D.selectedOption && S({\n type: i.ActionTypes.BLUR\n });\n } else if ("Enter" === e.key && D.isOpen) {\n e.preventDefault();\n var r = D.filteredOptions.find(function (e) {\n return e.label.toLowerCase() === D.inputValue.toLowerCase();\n });\n r ? S({\n type: i.ActionTypes.SELECT_OPTION,\n option: r\n }) : D.selectedOption ? S({\n type: i.ActionTypes.CLOSE_LIST\n }) : S({\n type: i.ActionTypes.CLEAR\n });\n }\n },\n value: D.inputValue,\n focused: D.focusMode === c.Input,\n role: "combobox",\n "aria-owns": R,\n "aria-describedby": U,\n "aria-expanded": D.isOpen,\n disabled: E\n }, _)), n.default.createElement("span", {\n className: "usa-combo-box__clear-input__wrapper",\n tabIndex: -1\n }, n.default.createElement("button", {\n type: "button",\n className: "usa-combo-box__clear-input",\n "aria-label": "Clear the select contents",\n onClick: function onClick() {\n return S({\n type: i.ActionTypes.CLEAR\n });\n },\n "data-testid": "combo-box-clear-button",\n onKeyDown: function onKeyDown(e) {\n "Tab" === e.key && D.isOpen && D.selectedOption && (e.preventDefault(), S({\n type: i.ActionTypes.FOCUS_OPTION,\n option: D.selectedOption\n }));\n },\n hidden: !L\n }, " ")), n.default.createElement("span", {\n className: "usa-combo-box__input-button-separator"\n }, " "), n.default.createElement("span", {\n className: "usa-combo-box__toggle-list__wrapper",\n tabIndex: -1\n }, n.default.createElement("button", {\n "data-testid": "combo-box-toggle",\n type: "button",\n className: "usa-combo-box__toggle-list",\n tabIndex: -1,\n "aria-label": "Toggle the dropdown list",\n onClick: function onClick() {\n return S({\n type: D.isOpen ? i.ActionTypes.CLOSE_LIST : i.ActionTypes.OPEN_LIST\n });\n },\n disabled: E\n }, " ")), n.default.createElement("ul", _s({\n "data-testid": "combo-box-option-list",\n tabIndex: -1,\n id: R,\n className: "usa-combo-box__list",\n role: "listbox",\n hidden: !D.isOpen\n }, h), D.filteredOptions.map(function (e, t) {\n var r = e === D.focusedOption,\n a = e === D.selectedOption,\n l = (0, o.default)("usa-combo-box__list-option", {\n "usa-combo-box__list-option--focused": r,\n "usa-combo-box__list-option--selected": a\n });\n return n.default.createElement("li", {\n ref: r ? k : null,\n value: e.value,\n key: e.value,\n className: l,\n tabIndex: r ? 0 : -1,\n role: "option",\n "aria-selected": a,\n "aria-setsize": 64,\n "aria-posinset": t + 1,\n id: R + "--option-" + t,\n onKeyDown: C,\n onBlur: T,\n "data-testid": "combo-box-option-" + e.value,\n onMouseEnter: function onMouseEnter() {\n return S({\n type: i.ActionTypes.FOCUS_OPTION,\n option: e\n });\n },\n onClick: function onClick() {\n S({\n type: i.ActionTypes.SELECT_OPTION,\n option: e\n });\n }\n }, e.label);\n }), 0 === D.filteredOptions.length ? n.default.createElement("li", {\n className: "usa-combo-box__list-option--no-results"\n }, O || "No results found") : null), n.default.createElement("div", {\n className: "usa-combo-box__status usa-sr-only",\n role: "status"\n }), n.default.createElement("span", {\n id: U,\n className: "usa-sr-only",\n "data-testid": "combo-box-assistive-hint"\n }, v || "When autocomplete results are available use up and down arrows to review\\n and enter to select. Touch device users, explore by touch or with swipe\\n gestures."));\n };\n\n t.ComboBox = p;\n var m = p;\n t.default = m;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.DatePicker = t.FocusMode = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = s(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n i = r(6),\n l = r(9),\n u = r(3),\n c = r(53);\n\n function s(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (s = function s(e) {\n return e ? r : t;\n })(e);\n }\n\n var d,\n _f = function f() {\n return (_f = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n p = function p(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.FocusMode = d, function (e) {\n e[e.None = 0] = "None", e[e.Input = 1] = "Input";\n }(d || (t.FocusMode = d = {}));\n\n var m = function m(e) {\n var t = e.id,\n r = e.name,\n a = e.className,\n s = e.defaultValue,\n m = e.disabled,\n y = e.required,\n b = e.minDate,\n v = void 0 === b ? i.DEFAULT_MIN_DATE : b,\n O = e.maxDate,\n g = e.rangeDate,\n _ = e.onChange,\n h = e.onBlur,\n j = e.i18n,\n M = void 0 === j ? l.EN_US : j,\n N = p(e, ["id", "name", "className", "defaultValue", "disabled", "required", "minDate", "maxDate", "rangeDate", "onChange", "onBlur", "i18n"]),\n E = (0, n.useRef)(null),\n P = (0, n.useRef)(null),\n w = (0, n.useState)(""),\n I = w[0],\n D = w[1],\n S = (0, n.useState)(""),\n x = S[0],\n k = S[1],\n A = (0, n.useState)(!1),\n T = A[0],\n C = A[1],\n L = (0, n.useState)(void 0),\n F = L[0],\n R = L[1],\n U = (0, n.useState)(0),\n W = U[0],\n B = U[1],\n z = (0, n.useState)([]),\n Y = z[0],\n G = z[1],\n V = (0, n.useState)(d.None),\n H = V[0],\n Q = V[1],\n K = (0, n.useState)(void 0),\n Z = K[0],\n X = K[1],\n J = (0, u.parseDateString)(v),\n q = O ? (0, u.parseDateString)(O) : void 0,\n $ = g ? (0, u.parseDateString)(g) : void 0,\n ee = function ee(e, t) {\n var r;\n void 0 === t && (t = !0);\n var a = (0, u.parseDateString)(e),\n n = a && (0, u.formatDate)(a, i.DEFAULT_EXTERNAL_DATE_FORMAT);\n a && D(e), n && k(n), _ && _(n), t && (C(!1), G([]), null === (r = null == P ? void 0 : P.current) || void 0 === r || r.focus());\n };\n\n (0, n.useEffect)(function () {\n s && ee(s, !1);\n }, []), (0, n.useEffect)(function () {\n if (T) {\n var e = E.current && E.current.querySelector(".usa-date-picker__calendar__date--focused");\n e && e.focus();\n }\n }, [T]), (0, n.useEffect)(function () {\n !function () {\n var e,\n t,\n r,\n a,\n n = (0, u.isDateInvalid)(x, J, q);\n n && !(null === (e = null == P ? void 0 : P.current) || void 0 === e ? void 0 : e.validationMessage) && (null === (t = null == P ? void 0 : P.current) || void 0 === t || t.setCustomValidity(i.VALIDATION_MESSAGE)), n || (null === (r = null == P ? void 0 : P.current) || void 0 === r ? void 0 : r.validationMessage) !== i.VALIDATION_MESSAGE || null === (a = null == P ? void 0 : P.current) || void 0 === a || a.setCustomValidity("");\n }();\n }, [x, v, O]);\n var te = (0, o.default)("usa-date-picker", "usa-date-picker--initialized", {\n "usa-date-picker--active": T\n }, a),\n re = M.toggleCalendar;\n return n.default.createElement("div", {\n "data-testid": "date-picker",\n className: te,\n ref: E,\n onBlur: function onBlur(e) {\n var t;\n (null === (t = E.current) || void 0 === t ? void 0 : t.contains(null == e ? void 0 : e.relatedTarget)) || (T && (C(!1), G([])), h && h(e));\n },\n onKeyDown: function onKeyDown(e) {\n var t;\n "Escape" === e.key && (T && (C(!1), G([]), null === (t = null == P ? void 0 : P.current) || void 0 === t || t.focus()), e.preventDefault());\n }\n }, n.default.createElement("input", _f({}, N, {\n name: r,\n "data-testid": "date-picker-internal-input",\n className: "usa-input usa-sr-only usa-date-picker__internal-input",\n type: "text",\n "aria-hidden": !0,\n tabIndex: -1,\n required: !1,\n disabled: !1,\n value: I,\n readOnly: !0\n })), n.default.createElement("div", {\n className: "usa-date-picker__wrapper",\n tabIndex: -1\n }, n.default.createElement("input", _f({}, N, {\n id: t,\n "data-testid": "date-picker-external-input",\n className: "usa-input usa-date-picker__external-input",\n type: "text",\n disabled: m,\n required: y,\n value: x,\n ref: P,\n onInput: function onInput(e) {\n var t = e.target.value;\n k(t), _ && _(t);\n var r = (0, u.parseDateString)(t, i.DEFAULT_EXTERNAL_DATE_FORMAT, !0),\n a = "";\n\n if (r && !(0, u.isDateInvalid)(t, J, q) && (a = (0, u.formatDate)(r)), I !== a && D(a), r && T) {\n var n = (0, u.keepDateBetweenMinAndMax)(r, J, q);\n R(n);\n }\n },\n onFocus: function onFocus() {\n Q(d.Input);\n },\n onBlur: function onBlur(e) {\n Q(d.None), h && h(e);\n }\n })), n.default.createElement("button", {\n "data-testid": "date-picker-button",\n type: "button",\n className: "usa-date-picker__button",\n "aria-haspopup": !0,\n "aria-label": re,\n disabled: m,\n onClick: function onClick() {\n var e;\n if (T) G([]);else {\n var t = (0, u.parseDateString)(x, i.DEFAULT_EXTERNAL_DATE_FORMAT, !0),\n r = (0, u.keepDateBetweenMinAndMax)(t || s && (0, u.parseDateString)(s) || (0, u.today)(), J, q);\n R(r), B(null === (e = null == E ? void 0 : E.current) || void 0 === e ? void 0 : e.offsetHeight);\n var a = M.statuses,\n n = (0, u.parseDateString)(I);\n\n if (n && (0, u.isSameDay)(n, (0, u.addDays)(r, 0))) {\n var o = M.selectedDate;\n a.unshift(o);\n }\n\n G(a);\n }\n C(!T);\n }\n }, " "), n.default.createElement("div", {\n "data-testid": "date-picker-calendar",\n className: "usa-date-picker__calendar",\n role: "dialog",\n "aria-modal": "true",\n hidden: !T,\n "data-value": F && (0, u.formatDate)(F),\n style: {\n top: W + "px"\n },\n onKeyDown: function onKeyDown(e) {\n X(e.keyCode);\n },\n onKeyUp: function onKeyUp(e) {\n e.keyCode !== Z && e.preventDefault();\n }\n }, T && n.default.createElement(c.Calendar, {\n date: F,\n handleSelectDate: ee,\n minDate: J,\n maxDate: q,\n rangeDate: $,\n selectedDate: (0, u.parseDateString)(I),\n setStatuses: G,\n focusMode: H,\n i18n: M\n })), n.default.createElement("div", {\n "data-testid": "date-picker-status",\n className: "usa-sr-only usa-date-picker__status",\n role: "status",\n "aria-live": "polite"\n }, Y.join(". "))));\n };\n\n t.DatePicker = m, m.displayName = "DatePicker", m.defaultProps = {\n minDate: i.DEFAULT_MIN_DATE\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.NavCloseButton = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = i(r(72));\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l3 = function l() {\n return (_l3 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.NavCloseButton = function (e) {\n var t = e.onClick,\n r = e.className,\n i = u(e, ["onClick", "className"]),\n c = (0, n.default)("usa-nav__close", r);\n return a.default.createElement("button", _l3({\n className: c,\n onClick: t,\n "data-testid": "navCloseButton"\n }, i, {\n type: "button"\n }), a.default.createElement("img", {\n src: o.default,\n alt: "close"\n }));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Button = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = r(2);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l4 = function l() {\n return (_l4 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n c = function c(e) {\n var t = e.type,\n r = e.children,\n i = e.secondary,\n c = e.base,\n s = e.accent,\n d = e.accentStyle,\n f = e.outline,\n p = e.inverse,\n m = e.size,\n y = e.big,\n b = e.small,\n v = e.icon,\n O = e.unstyled,\n g = e.onClick,\n _ = e.className,\n h = u(e, ["type", "children", "secondary", "base", "accent", "accentStyle", "outline", "inverse", "size", "big", "small", "icon", "unstyled", "onClick", "className"]);\n y && (0, o.deprecationWarning)("Button property big is deprecated. Use size."), v && (0, o.deprecationWarning)("Button property icon is deprecated."), s && (0, o.deprecationWarning)("Button property accent is deprecated. Use accentStyle.");\n var j = m ? "big" === m : y,\n M = m ? "small" === m : b;\n M && (0, o.deprecationWarning)("Small button is deprecated. Use the default, pass in a custom className, or use size big.");\n var N = (0, n.default)("usa-button", {\n "usa-button--secondary": i,\n "usa-button--base": c,\n "usa-button--accent-cool": s || "cool" === d,\n "usa-button--accent-warm": "warm" === d,\n "usa-button--outline": f,\n "usa-button--inverse": p,\n "usa-button--big": j,\n "usa-button--small": M,\n "usa-button--icon": v,\n "usa-button--unstyled": O\n }, _);\n return a.default.createElement("button", _l4({\n type: t,\n className: N,\n onClick: g,\n "data-testid": "button"\n }, h), r);\n };\n\n t.Button = c;\n var s = c;\n t.default = s;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.isCustomProps = c, t.Grid = function (e) {\n var t = e.children,\n r = e.className,\n i = e.row,\n d = e.col,\n f = e.gap,\n p = e.offset,\n m = e.mobile,\n y = e.mobileLg,\n b = e.tablet,\n v = e.tabletLg,\n O = e.desktop,\n g = e.desktopLg,\n _ = e.widescreen,\n h = u(e, ["children", "className", "row", "col", "gap", "offset", "mobile", "mobileLg", "tablet", "tabletLg", "desktop", "desktopLg", "widescreen"]),\n j = {\n mobile: m,\n mobileLg: y,\n tablet: b,\n tabletLg: v,\n desktop: O,\n desktopLg: g,\n widescreen: _\n },\n M = s({\n row: i,\n col: d,\n gap: f,\n offset: p\n });\n\n if (Object.keys(o.breakpoints).forEach(function (t) {\n var r = t;\n\n if (Object.prototype.hasOwnProperty.call(j, r)) {\n var a = e[r];\n M = (0, n.default)(M, s(a, r));\n }\n }), M = (0, n.default)(M, r), c(h)) {\n var N = h.asCustom,\n E = u(h, ["asCustom"]);\n return a.default.createElement(N, _l5({\n className: M\n }, E), t);\n }\n\n return a.default.createElement("div", _l5({\n className: M,\n "data-testid": "grid"\n }, h), t);\n }, t.applyGridClasses = t.getGridClasses = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = r(46);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l5 = function l() {\n return (_l5 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n function c(e) {\n return "asCustom" in e;\n }\n\n var s = function s(e, t) {\n var r;\n void 0 === e && (e = {});\n var a = t ? o.breakpoints[t] + ":" : "",\n i = e.row,\n l = e.col,\n u = e.gap,\n c = e.offset;\n return (0, n.default)(((r = {})[a + "grid-row"] = i, r[a + "grid-gap"] = !0 === u, r[a + "grid-gap-" + u] = !0 !== u && !!u, r[a + "grid-col"] = !0 === l, r[a + "grid-col-" + l] = !0 !== l && !!l, r[a + "grid-offset-" + c] = !!c, r));\n };\n\n t.getGridClasses = s;\n\n t.applyGridClasses = function (e) {\n var t = s(e);\n return Object.keys(o.breakpoints).forEach(function (r) {\n var a = r;\n\n if (Object.prototype.hasOwnProperty.call(e, a)) {\n var o = e[a];\n t = (0, n.default)(t, s(o, a));\n }\n }), t;\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Textarea = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i3 = function i() {\n return (_i3 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.id,\n r = e.name,\n o = e.className,\n u = e.error,\n c = e.success,\n s = e.children,\n d = e.inputRef,\n f = l(e, ["id", "name", "className", "error", "success", "children", "inputRef"]),\n p = (0, n.default)("usa-textarea", {\n "usa-input--error": u,\n "usa-input--success": c\n }, o);\n return a.default.createElement("textarea", _i3({\n "data-testid": "textarea",\n className: p,\n id: t,\n name: r,\n ref: d\n }, f), s);\n };\n\n t.Textarea = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.Form = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i4 = function i() {\n return (_i4 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.Form = function (e) {\n var t = e.onSubmit,\n r = e.children,\n o = e.className,\n u = e.large,\n c = e.search,\n s = l(e, ["onSubmit", "children", "className", "large", "search"]),\n d = (0, n.default)({\n "usa-form": !c,\n "usa-form--large": u\n }, o);\n return a.default.createElement("form", _i4({\n "data-testid": "form",\n className: d,\n onSubmit: t\n }, s), r);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.FooterExtendedNavList = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = l(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n i = r(4);\n\n function l(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (l = function l(e) {\n return e ? r : t;\n })(e);\n }\n\n t.FooterExtendedNavList = function (e) {\n var t = e.className,\n r = e.isMobile,\n a = e.nestedLinks,\n i = (0, o.default)("grid-row grid-gap-4", t),\n l = window && "object" == typeof window,\n c = n.default.useState(l && window.innerWidth < 480),\n s = c[0],\n d = c[1],\n f = (0, n.useState)(Array(a.length).fill(!1)),\n p = f[0],\n m = f[1],\n y = r || void 0 === r && s;\n (0, n.useEffect)(function () {\n if (!r) return window.addEventListener("resize", e), function () {\n return window.removeEventListener("resize", e);\n };\n\n function e() {\n var e = l && window.innerWidth < 480;\n e !== s && d(e);\n }\n }, []);\n return n.default.createElement("div", {\n className: i\n }, a.map(function (e, t) {\n return n.default.createElement("div", {\n key: "linkSection-" + t,\n className: "mobile-lg:grid-col-6 desktop:grid-col-3"\n }, n.default.createElement(u, {\n onToggle: y ? function () {\n return e = t, void m(function (t) {\n var r = Array(a.length).fill(!1);\n return r[e] = !t[e], r;\n });\n var e;\n } : void 0,\n isOpen: !y || p[t],\n links: e\n }));\n }));\n };\n\n var u = function u(e) {\n var t = e.isOpen,\n r = void 0 !== t && t,\n a = e.links,\n l = e.onToggle,\n u = a[0],\n c = a.slice(1),\n s = (0, o.default)("usa-footer__primary-content usa-footer__primary-content--collapsible", {\n hidden: !r\n });\n return n.default.createElement("section", {\n className: s,\n onClick: l,\n onKeyPress: l\n }, n.default.createElement("h4", {\n className: "usa-footer__primary-link"\n }, u), n.default.createElement(i.NavList, {\n type: "footerSecondary",\n items: c\n }));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), Object.defineProperty(t, "Alert", {\n enumerable: !0,\n get: function get() {\n return a.Alert;\n }\n }), Object.defineProperty(t, "Accordion", {\n enumerable: !0,\n get: function get() {\n return n.Accordion;\n }\n }), Object.defineProperty(t, "GovBanner", {\n enumerable: !0,\n get: function get() {\n return o.GovBanner;\n }\n }), Object.defineProperty(t, "Button", {\n enumerable: !0,\n get: function get() {\n return i.Button;\n }\n }), Object.defineProperty(t, "ButtonGroup", {\n enumerable: !0,\n get: function get() {\n return l.ButtonGroup;\n }\n }), Object.defineProperty(t, "Link", {\n enumerable: !0,\n get: function get() {\n return u.Link;\n }\n }), Object.defineProperty(t, "Table", {\n enumerable: !0,\n get: function get() {\n return c.Table;\n }\n }), Object.defineProperty(t, "Tag", {\n enumerable: !0,\n get: function get() {\n return s.Tag;\n }\n }), Object.defineProperty(t, "Tooltip", {\n enumerable: !0,\n get: function get() {\n return d.Tooltip;\n }\n }), Object.defineProperty(t, "SideNav", {\n enumerable: !0,\n get: function get() {\n return f.SideNav;\n }\n }), Object.defineProperty(t, "Collection", {\n enumerable: !0,\n get: function get() {\n return p.Collection;\n }\n }), Object.defineProperty(t, "CollectionItem", {\n enumerable: !0,\n get: function get() {\n return m.CollectionItem;\n }\n }), Object.defineProperty(t, "CollectionHeading", {\n enumerable: !0,\n get: function get() {\n return y.CollectionHeading;\n }\n }), Object.defineProperty(t, "CollectionDescription", {\n enumerable: !0,\n get: function get() {\n return b.CollectionDescription;\n }\n }), Object.defineProperty(t, "CollectionMeta", {\n enumerable: !0,\n get: function get() {\n return v.CollectionMeta;\n }\n }), Object.defineProperty(t, "CollectionMetaItem", {\n enumerable: !0,\n get: function get() {\n return O.CollectionMetaItem;\n }\n }), Object.defineProperty(t, "CollectionMetaItemTag", {\n enumerable: !0,\n get: function get() {\n return g.CollectionMetaItemTag;\n }\n }), Object.defineProperty(t, "CollectionThumbnail", {\n enumerable: !0,\n get: function get() {\n return _.CollectionThumbnail;\n }\n }), Object.defineProperty(t, "CollectionCalendarDate", {\n enumerable: !0,\n get: function get() {\n return h.CollectionCalendarDate;\n }\n }), Object.defineProperty(t, "GridContainer", {\n enumerable: !0,\n get: function get() {\n return j.GridContainer;\n }\n }), Object.defineProperty(t, "Grid", {\n enumerable: !0,\n get: function get() {\n return M.Grid;\n }\n }), Object.defineProperty(t, "CharacterCount", {\n enumerable: !0,\n get: function get() {\n return N.CharacterCount;\n }\n }), Object.defineProperty(t, "Checkbox", {\n enumerable: !0,\n get: function get() {\n return E.Checkbox;\n }\n }), Object.defineProperty(t, "ComboBox", {\n enumerable: !0,\n get: function get() {\n return P.ComboBox;\n }\n }), Object.defineProperty(t, "DateInput", {\n enumerable: !0,\n get: function get() {\n return w.DateInput;\n }\n }), Object.defineProperty(t, "DateInputGroup", {\n enumerable: !0,\n get: function get() {\n return I.DateInputGroup;\n }\n }), Object.defineProperty(t, "DatePicker", {\n enumerable: !0,\n get: function get() {\n return D.DatePicker;\n }\n }), Object.defineProperty(t, "DateRangePicker", {\n enumerable: !0,\n get: function get() {\n return S.DateRangePicker;\n }\n }), Object.defineProperty(t, "Dropdown", {\n enumerable: !0,\n get: function get() {\n return x.Dropdown;\n }\n }), Object.defineProperty(t, "ErrorMessage", {\n enumerable: !0,\n get: function get() {\n return k.ErrorMessage;\n }\n }), Object.defineProperty(t, "Fieldset", {\n enumerable: !0,\n get: function get() {\n return A.Fieldset;\n }\n }), Object.defineProperty(t, "FileInput", {\n enumerable: !0,\n get: function get() {\n return T.FileInput;\n }\n }), Object.defineProperty(t, "Form", {\n enumerable: !0,\n get: function get() {\n return C.Form;\n }\n }), Object.defineProperty(t, "FormGroup", {\n enumerable: !0,\n get: function get() {\n return L.FormGroup;\n }\n }), Object.defineProperty(t, "Label", {\n enumerable: !0,\n get: function get() {\n return F.Label;\n }\n }), Object.defineProperty(t, "Radio", {\n enumerable: !0,\n get: function get() {\n return R.Radio;\n }\n }), Object.defineProperty(t, "RangeInput", {\n enumerable: !0,\n get: function get() {\n return U.RangeInput;\n }\n }), Object.defineProperty(t, "Textarea", {\n enumerable: !0,\n get: function get() {\n return W.Textarea;\n }\n }), Object.defineProperty(t, "TextInput", {\n enumerable: !0,\n get: function get() {\n return B.TextInput;\n }\n }), Object.defineProperty(t, "TimePicker", {\n enumerable: !0,\n get: function get() {\n return z.TimePicker;\n }\n }), Object.defineProperty(t, "ValidationChecklist", {\n enumerable: !0,\n get: function get() {\n return Y.ValidationChecklist;\n }\n }), Object.defineProperty(t, "ValidationItem", {\n enumerable: !0,\n get: function get() {\n return G.ValidationItem;\n }\n }), Object.defineProperty(t, "ExtendedNav", {\n enumerable: !0,\n get: function get() {\n return V.ExtendedNav;\n }\n }), Object.defineProperty(t, "Header", {\n enumerable: !0,\n get: function get() {\n return H.Header;\n }\n }), Object.defineProperty(t, "MegaMenu", {\n enumerable: !0,\n get: function get() {\n return Q.MegaMenu;\n }\n }), Object.defineProperty(t, "Menu", {\n enumerable: !0,\n get: function get() {\n return K.Menu;\n }\n }), Object.defineProperty(t, "NavCloseButton", {\n enumerable: !0,\n get: function get() {\n return Z.NavCloseButton;\n }\n }), Object.defineProperty(t, "NavList", {\n enumerable: !0,\n get: function get() {\n return X.NavList;\n }\n }), Object.defineProperty(t, "NavMenuButton", {\n enumerable: !0,\n get: function get() {\n return J.NavMenuButton;\n }\n }), Object.defineProperty(t, "NavDropDownButton", {\n enumerable: !0,\n get: function get() {\n return q.NavDropDownButton;\n }\n }), Object.defineProperty(t, "PrimaryNav", {\n enumerable: !0,\n get: function get() {\n return $.PrimaryNav;\n }\n }), Object.defineProperty(t, "Title", {\n enumerable: !0,\n get: function get() {\n return ee.Title;\n }\n }), Object.defineProperty(t, "Identifier", {\n enumerable: !0,\n get: function get() {\n return te.Identifier;\n }\n }), Object.defineProperty(t, "IdentifierGov", {\n enumerable: !0,\n get: function get() {\n return re.IdentifierGov;\n }\n }), Object.defineProperty(t, "IdentifierIdentity", {\n enumerable: !0,\n get: function get() {\n return ae.IdentifierIdentity;\n }\n }), Object.defineProperty(t, "IdentifierLink", {\n enumerable: !0,\n get: function get() {\n return ne.IdentifierLink;\n }\n }), Object.defineProperty(t, "IdentifierLinkItem", {\n enumerable: !0,\n get: function get() {\n return oe.IdentifierLinkItem;\n }\n }), Object.defineProperty(t, "IdentifierLinks", {\n enumerable: !0,\n get: function get() {\n return ie.IdentifierLinks;\n }\n }), Object.defineProperty(t, "IdentifierLogo", {\n enumerable: !0,\n get: function get() {\n return le.IdentifierLogo;\n }\n }), Object.defineProperty(t, "IdentifierLogos", {\n enumerable: !0,\n get: function get() {\n return ue.IdentifierLogos;\n }\n }), Object.defineProperty(t, "IdentifierMasthead", {\n enumerable: !0,\n get: function get() {\n return ce.IdentifierMasthead;\n }\n }), Object.defineProperty(t, "Address", {\n enumerable: !0,\n get: function get() {\n return se.Address;\n }\n }), Object.defineProperty(t, "Footer", {\n enumerable: !0,\n get: function get() {\n return de.Footer;\n }\n }), Object.defineProperty(t, "FooterExtendedNavList", {\n enumerable: !0,\n get: function get() {\n return fe.FooterExtendedNavList;\n }\n }), Object.defineProperty(t, "FooterNav", {\n enumerable: !0,\n get: function get() {\n return pe.FooterNav;\n }\n }), Object.defineProperty(t, "Logo", {\n enumerable: !0,\n get: function get() {\n return me.Logo;\n }\n }), Object.defineProperty(t, "SocialLinks", {\n enumerable: !0,\n get: function get() {\n return ye.SocialLinks;\n }\n }), Object.defineProperty(t, "CardGroup", {\n enumerable: !0,\n get: function get() {\n return be.CardGroup;\n }\n }), Object.defineProperty(t, "Card", {\n enumerable: !0,\n get: function get() {\n return ve.Card;\n }\n }), Object.defineProperty(t, "CardHeader", {\n enumerable: !0,\n get: function get() {\n return Oe.CardHeader;\n }\n }), Object.defineProperty(t, "CardMedia", {\n enumerable: !0,\n get: function get() {\n return ge.CardMedia;\n }\n }), Object.defineProperty(t, "CardBody", {\n enumerable: !0,\n get: function get() {\n return _e.CardBody;\n }\n }), Object.defineProperty(t, "CardFooter", {\n enumerable: !0,\n get: function get() {\n return he.CardFooter;\n }\n }), Object.defineProperty(t, "BreadcrumbBar", {\n enumerable: !0,\n get: function get() {\n return je.BreadcrumbBar;\n }\n }), Object.defineProperty(t, "Breadcrumb", {\n enumerable: !0,\n get: function get() {\n return Me.Breadcrumb;\n }\n }), Object.defineProperty(t, "BreadcrumbLink", {\n enumerable: !0,\n get: function get() {\n return Ne.BreadcrumbLink;\n }\n }), Object.defineProperty(t, "StepIndicator", {\n enumerable: !0,\n get: function get() {\n return Ee.StepIndicator;\n }\n }), Object.defineProperty(t, "StepIndicatorStep", {\n enumerable: !0,\n get: function get() {\n return Pe.StepIndicatorStep;\n }\n }), Object.defineProperty(t, "Search", {\n enumerable: !0,\n get: function get() {\n return we.Search;\n }\n }), Object.defineProperty(t, "SummaryBox", {\n enumerable: !0,\n get: function get() {\n return Ie.SummaryBox;\n }\n }), Object.defineProperty(t, "ProcessList", {\n enumerable: !0,\n get: function get() {\n return De.ProcessList;\n }\n }), Object.defineProperty(t, "ProcessListItem", {\n enumerable: !0,\n get: function get() {\n return Se.ProcessListItem;\n }\n }), Object.defineProperty(t, "ProcessListHeading", {\n enumerable: !0,\n get: function get() {\n return xe.ProcessListHeading;\n }\n }), Object.defineProperty(t, "SiteAlert", {\n enumerable: !0,\n get: function get() {\n return ke.SiteAlert;\n }\n }), Object.defineProperty(t, "Modal", {\n enumerable: !0,\n get: function get() {\n return Ae.Modal;\n }\n }), Object.defineProperty(t, "Overlay", {\n enumerable: !0,\n get: function get() {\n return Ae.Overlay;\n }\n }), Object.defineProperty(t, "ModalContainer", {\n enumerable: !0,\n get: function get() {\n return Ae.ModalContainer;\n }\n }), Object.defineProperty(t, "connectModal", {\n enumerable: !0,\n get: function get() {\n return Ae.connectModal;\n }\n }), Object.defineProperty(t, "useModal", {\n enumerable: !0,\n get: function get() {\n return Ae.useModal;\n }\n }), r(20);\n\n var a = r(21),\n n = r(23),\n o = r(24),\n i = r(14),\n l = r(29),\n u = r(10),\n c = r(30),\n s = r(32),\n d = r(33),\n f = r(35),\n p = r(36),\n m = r(37),\n y = r(38),\n b = r(39),\n v = r(40),\n O = r(41),\n g = r(42),\n _ = r(43),\n h = r(44),\n j = r(45),\n M = r(15),\n N = r(47),\n E = r(48),\n P = r(11),\n w = r(51),\n I = r(52),\n D = r(12),\n S = r(57),\n x = r(58),\n k = r(59),\n A = r(60),\n T = r(61),\n C = r(17),\n L = r(8),\n F = r(5),\n R = r(64),\n U = r(65),\n W = r(16),\n B = r(7),\n z = r(66),\n Y = r(69),\n G = r(70),\n V = r(71),\n H = r(73),\n Q = r(74),\n K = r(75),\n Z = r(13),\n X = r(4),\n J = r(76),\n q = r(77),\n $ = r(78),\n ee = r(79),\n te = r(80),\n re = r(81),\n ae = r(82),\n ne = r(83),\n oe = r(84),\n ie = r(85),\n le = r(86),\n ue = r(87),\n ce = r(88),\n se = r(89),\n de = r(90),\n fe = r(18),\n pe = r(91),\n me = r(92),\n ye = r(93),\n be = r(94),\n ve = r(95),\n Oe = r(96),\n ge = r(97),\n _e = r(98),\n he = r(99),\n je = r(100),\n Me = r(101),\n Ne = r(102),\n Ee = r(103),\n Pe = r(104),\n we = r(105),\n Ie = r(106),\n De = r(107),\n Se = r(108),\n xe = r(109),\n ke = r(110),\n Ae = r(111);\n }, function (e, t, r) {\n "use strict";\n\n r.r(t);\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Alert = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = i(r(22));\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l6 = function l() {\n return (_l6 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n c = function c(e) {\n var t,\n r = e.type,\n i = e.heading,\n c = e.cta,\n s = e.children,\n d = e.slim,\n f = e.noIcon,\n p = e.className,\n m = e.validation,\n y = u(e, ["type", "heading", "cta", "children", "slim", "noIcon", "className", "validation"]),\n b = (0, n.default)("usa-alert", ((t = {\n "usa-alert--success": "success" === r,\n "usa-alert--warning": "warning" === r,\n "usa-alert--error": "error" === r,\n "usa-alert--info": "info" === r,\n "usa-alert--slim": d,\n "usa-alert--no-icon": f,\n "usa-alert--validation": m\n })[o.default.alertWithCTA] = !!c, t), p);\n return a.default.createElement("div", _l6({\n className: b,\n "data-testid": "alert"\n }, y), a.default.createElement("div", {\n className: "usa-alert__body"\n }, i && a.default.createElement("h3", {\n className: "usa-alert__heading"\n }, i), s && (m ? s : a.default.createElement("p", {\n className: "usa-alert__text"\n }, s))), c && a.default.createElement("div", null, c));\n };\n\n t.Alert = c;\n var s = c;\n t.default = s;\n }, function (e, t, r) {\n "use strict";\n\n r.r(t), t.default = {\n alertWithCTA: "src-components-Alert-Alert-module__alertWithCTA--1frj5"\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Accordion = t.AccordionItem = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = i(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var l = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n l && (l.get || l.set) ? Object.defineProperty(a, o, l) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n };\n\n function i(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (i = function i(e) {\n return e ? r : t;\n })(e);\n }\n\n var _l7 = function l() {\n return (_l7 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u() {\n for (var e = 0, t = 0, r = arguments.length; t < r; t++) {\n e += arguments[t].length;\n }\n\n var a = Array(e),\n n = 0;\n\n for (t = 0; t < r; t++) {\n for (var o = arguments[t], i = 0, l = o.length; i < l; i++, n++) {\n a[n] = o[i];\n }\n }\n\n return a;\n },\n c = function c(e) {\n var t = e.title,\n r = e.id,\n a = e.content,\n i = e.expanded,\n l = e.className,\n u = e.handleToggle,\n c = (0, o.default)("usa-accordion__heading", l),\n s = (0, o.default)("usa-accordion__content", "usa-prose", l);\n return n.default.createElement(n.default.Fragment, null, n.default.createElement("h2", {\n className: c\n }, n.default.createElement("button", {\n type: "button",\n className: "usa-accordion__button",\n "aria-expanded": i,\n "aria-controls": r,\n "data-testid": "accordionButton_" + r,\n onClick: u\n }, t)), n.default.createElement("div", {\n id: r,\n "data-testid": "accordionItem_" + r,\n className: s,\n hidden: !i\n }, a));\n };\n\n t.AccordionItem = c;\n\n var s = function s(e) {\n var t = e.bordered,\n r = e.items,\n a = e.className,\n i = (0, n.useState)(r.filter(function (e) {\n return !!e.expanded;\n }).map(function (e) {\n return e.id;\n })),\n s = i[0],\n d = i[1],\n f = (0, o.default)("usa-accordion", {\n "usa-accordion--bordered": t\n }, a);\n return n.default.createElement("div", {\n className: f,\n "data-testid": "accordion"\n }, r.map(function (e, t) {\n return n.default.createElement(c, _l7({\n key: "accordionItem_" + t\n }, e, {\n expanded: s.indexOf(e.id) > -1,\n handleToggle: function handleToggle() {\n var t, r, a;\n t = e.id, r = u(s), (a = s.indexOf(t)) > -1 ? r.splice(a, 1) : r.push(t), d(r);\n }\n }));\n }));\n };\n\n t.Accordion = s;\n var d = s;\n t.default = d;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.GovBanner = void 0;\n\n var a = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = s(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n n = c(r(1)),\n o = c(r(25)),\n i = c(r(26)),\n l = c(r(27)),\n u = c(r(28));\n\n function c(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n function s(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (s = function s(e) {\n return e ? r : t;\n })(e);\n }\n\n var _d = function d() {\n return (_d = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n f = function f(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n p = function p(e) {\n var t = e.tld,\n r = void 0 === t ? ".gov" : t,\n c = e.language,\n s = void 0 === c ? "english" : c,\n p = e.className,\n m = f(e, ["tld", "language", "className"]),\n y = (0, a.useState)(!1),\n b = y[0],\n v = y[1],\n O = (0, n.default)("usa-banner", p),\n g = function (e, t) {\n var r = a.default.createElement("span", {\n className: "icon-lock"\n }, a.default.createElement("img", {\n src: u.default,\n className: "usa-banner__lock-image",\n alt: "lock",\n title: "Lock",\n role: "img"\n }));\n\n switch (e) {\n case "english":\n return {\n header: "An official website of the United States government",\n headerAction: "Here’s how you know",\n tldSectionHeader: "Official websites use " + t,\n tldSectionContent: function () {\n switch (t) {\n case ".gov":\n return a.default.createElement(a.default.Fragment, null, "A ", a.default.createElement("strong", null, ".gov"), " website belongs to an official government organization in the United States.");\n\n case ".mil":\n return a.default.createElement(a.default.Fragment, null, "A ", a.default.createElement("strong", null, ".mil"), " website belongs to an official U.S. Department of Defense organization.");\n }\n }(),\n httpsSectionHeader: "Secure " + t + " websites use HTTPS",\n httpsSectionContent: a.default.createElement(a.default.Fragment, null, "A ", a.default.createElement("strong", null, "lock (", r, ")"), " or ", a.default.createElement("strong", null, "https://"), " means you’ve safely connected to the ", t, " website. Share sensitive information only on official, secure websites.")\n };\n\n case "spanish":\n return {\n header: "Un sitio oficial del Gobierno de Estados Unidos",\n headerAction: "Así es como usted puede verificarlo",\n tldSectionHeader: "Los sitios web oficiales usan " + t,\n tldSectionContent: function () {\n switch (t) {\n case ".gov":\n return a.default.createElement(a.default.Fragment, null, "Un sitio web ", a.default.createElement("strong", null, ".gov"), " pertenece a una organización oficial del Gobierno de Estados Unidos.");\n\n case ".mil":\n return a.default.createElement(a.default.Fragment, null, "Un sitio web ", a.default.createElement("strong", null, ".mil"), " pertenece a una organización oficial del Departamento de Defensa de EE. UU.");\n }\n }(),\n httpsSectionHeader: "Los sitios web seguros " + t + " usan HTTPS",\n httpsSectionContent: a.default.createElement(a.default.Fragment, null, "Un ", a.default.createElement("strong", null, "candado (", r, ")"), " o ", a.default.createElement("strong", null, "https://"), " ", "significa que usted se conectó de forma segura a un sitio web ", t, ". Comparta información sensible sólo en sitios web oficiales y seguros.")\n };\n }\n }(s, r);\n\n return a.default.createElement("section", _d({\n className: O,\n "data-testid": "govBanner"\n }, m), a.default.createElement("div", {\n className: "usa-accordion"\n }, a.default.createElement("header", {\n className: "usa-banner__header"\n }, a.default.createElement("div", {\n className: "usa-banner__inner"\n }, a.default.createElement("div", {\n className: "grid-col-auto"\n }, a.default.createElement("img", {\n className: "usa-banner__header-flag",\n src: o.default,\n alt: "U.S. flag"\n })), a.default.createElement("div", {\n className: "grid-col-fill tablet:grid-col-auto"\n }, a.default.createElement("p", {\n className: "usa-banner__header-text"\n }, g.header), a.default.createElement("p", {\n className: "usa-banner__header-action",\n "aria-hidden": "true"\n }, g.headerAction)), a.default.createElement("button", {\n type: "button",\n className: "usa-accordion__button usa-banner__button",\n "aria-expanded": b,\n "aria-controls": "gov-banner",\n onClick: function onClick() {\n v(function (e) {\n return !e;\n });\n }\n }, a.default.createElement("span", {\n className: "usa-banner__button-text"\n }, g.headerAction)))), a.default.createElement("div", {\n className: "usa-banner__content usa-accordion__content",\n id: "gov-banner",\n hidden: !b\n }, a.default.createElement("div", {\n className: "grid-row grid-gap-lg"\n }, a.default.createElement("div", {\n className: "usa-banner__guidance tablet:grid-col-6"\n }, a.default.createElement("img", {\n className: "usa-banner__icon usa-media-block__img",\n src: i.default,\n role: "img",\n alt: "",\n "aria-hidden": "true"\n }), a.default.createElement("div", {\n className: "usa-media-block__body"\n }, a.default.createElement("p", null, a.default.createElement("strong", null, g.tldSectionHeader), a.default.createElement("br", null), g.tldSectionContent))), a.default.createElement("div", {\n className: "usa-banner__guidance tablet:grid-col-6"\n }, a.default.createElement("img", {\n className: "usa-banner__icon usa-media-block__img",\n src: l.default,\n role: "img",\n alt: "",\n "aria-hidden": "true"\n }), a.default.createElement("div", {\n className: "usa-media-block__body"\n }, a.default.createElement("p", null, a.default.createElement("strong", null, g.httpsSectionHeader), a.default.createElement("br", null), g.httpsSectionContent)))))));\n };\n\n t.GovBanner = p;\n var m = p;\n t.default = m;\n }, function (e, t, r) {\n "use strict";\n\n r.r(t), t.default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAMAAABBPP0LAAAAG1BMVEUdM7EeNLIeM7HgQCDaPh/bPh/bPx/////bPyBEby41AAAAUElEQVQI123MNw4CABDEwD3jC/9/MQ1BQrgeOSkIqYe2o2FZtthXgQLgbHVMZdlsfUQFQnHtjP1+8BUhBDKOqtmfot6ojqPzR7TjdU+f6vkED+IDPhTBcMAAAAAASUVORK5CYII=";\n }, function (e, t, r) {\n "use strict";\n\n r.r(t), t.default = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiB2aWV3Qm94PSIwIDAgNjQgNjQiPjx0aXRsZT5pY29uLWRvdC1nb3Y8L3RpdGxlPjxwYXRoIGZpbGw9IiMyMzc4QzMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDBjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMyIDAgMTcuNjczLTE0LjMyNyAzMi0zMiAzMkMxNC4zMjcgNjQgMCA0OS42NzMgMCAzMiAwIDE0LjMyNyAxNC4zMjcgMCAzMiAwem0wIDEuMjA4QzE0Ljk5NCAxLjIwOCAxLjIwOCAxNC45OTQgMS4yMDggMzJTMTQuOTk0IDYyLjc5MiAzMiA2Mi43OTIgNjIuNzkyIDQ5LjAwNiA2Mi43OTIgMzIgNDkuMDA2IDEuMjA4IDMyIDEuMjA4em0xMC41OSAzOC44NThhLjg1Ny44NTcgMCAwIDEgLjg4Mi44MjJ2MS42NDJIMTguODg2di0xLjY0MmEuODU3Ljg1NyAwIDAgMSAuODgyLS44MjJINDIuNTl6TTI1LjQ0MyAyNy43NzR2OS44MjloMS42NDJ2LTkuODNoMy4yNzN2OS44M0gzMnYtOS44M2gzLjI3MnY5LjgzaDEuNjQzdi05LjgzaDMuMjcydjkuODNoLjc2YS44NTcuODU3IDAgMCAxIC44ODIuODIxdi44MjFoLTIxLjN2LS44MDlhLjg1Ny44NTcgMCAwIDEgLjg4LS44MmguNzYydi05Ljg0MmgzLjI3MnptNS43MzYtOC4xODhsMTIuMjkzIDQuOTE1djEuNjQyaC0xLjYzYS44NTcuODU3IDAgMCAxLS44ODIuODIySDIxLjQxYS44NTcuODU3IDAgMCAxLS44ODItLjgyMmgtMS42NDJ2LTEuNjQybDEyLjI5My00LjkxNXoiLz48L3N2Zz4=";\n }, function (e, t, r) {\n "use strict";\n\n r.r(t), t.default = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiB2aWV3Qm94PSIwIDAgNjQgNjQiPjx0aXRsZT5pY29uLWh0dHBzPC90aXRsZT48cGF0aCBmaWxsPSIjNzE5RjJBIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMiAwYzE3LjY3MyAwIDMyIDE0LjMyNyAzMiAzMiAwIDE3LjY3My0xNC4zMjcgMzItMzIgMzJDMTQuMzI3IDY0IDAgNDkuNjczIDAgMzIgMCAxNC4zMjcgMTQuMzI3IDAgMzIgMHptMCAxLjIwOEMxNC45OTQgMS4yMDggMS4yMDggMTQuOTk0IDEuMjA4IDMyUzE0Ljk5NCA2Mi43OTIgMzIgNjIuNzkyIDYyLjc5MiA0OS4wMDYgNjIuNzkyIDMyIDQ5LjAwNiAxLjIwOCAzMiAxLjIwOHptMCAxOC44ODZhNy4yNDUgNy4yNDUgMCAwIDEgNy4yNDUgNy4yNDV2My4xMDNoLjUyYy44NiAwIDEuNTU3LjY5OCAxLjU1NyAxLjU1OHY5LjMyMmMwIC44Ni0uNjk3IDEuNTU4LTEuNTU3IDEuNTU4aC0xNS41M2MtLjg2IDAtMS41NTctLjY5Ny0xLjU1Ny0xLjU1OFYzMmMwLS44Ni42OTctMS41NTggMS41NTctMS41NThoLjUyVjI3LjM0QTcuMjQ1IDcuMjQ1IDAgMCAxIDMyIDIwLjA5NHptMCAzLjEwM2E0LjE0MiA0LjE0MiAwIDAgMC00LjE0MiA0LjE0MnYzLjEwM2g4LjI4NFYyNy4zNEE0LjE0MiA0LjE0MiAwIDAgMCAzMiAyMy4xOTd6Ii8+PC9zdmc+";\n }, function (e, t, r) {\n "use strict";\n\n r.r(t), t.default = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjUyIiBoZWlnaHQ9IjY0IiB2aWV3Qm94PSIwIDAgNTIgNjQiPjx0aXRsZT5sb2NrPC90aXRsZT48cGF0aCBmaWxsPSIjMUIxQjFCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNiAwYzEwLjQ5MyAwIDE5IDguNTA3IDE5IDE5djloM2E0IDQgMCAwIDEgNCA0djI4YTQgNCAwIDAgMS00IDRINGE0IDQgMCAwIDEtNC00VjMyYTQgNCAwIDAgMSA0LTRoM3YtOUM3IDguNTA3IDE1LjUwNyAwIDI2IDB6bTAgOGMtNS45NzkgMC0xMC44NDMgNC43Ny0xMC45OTYgMTAuNzEyTDE1IDE5djloMjJ2LTljMC02LjA3NS00LjkyNS0xMS0xMS0xMXoiLz48L3N2Zz4=";\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.ButtonGroup = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i5 = function i() {\n return (_i5 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.className,\n r = e.children,\n o = e.type,\n u = void 0 === o ? "default" : o,\n c = l(e, ["className", "children", "type"]),\n s = (0, n.default)("usa-button-group", {\n "usa-button-group--segmented": "segmented" == u\n }, t);\n return a.default.createElement("ul", _i5({\n className: s\n }, c), a.default.Children.map(r, function (e) {\n return a.default.createElement("li", {\n className: "usa-button-group__item"\n }, e);\n }));\n };\n\n t.ButtonGroup = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Table = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = i(r(31));\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var l = function l(e) {\n var t,\n r = e.bordered,\n i = e.caption,\n l = e.children,\n u = e.fullWidth,\n c = e.fixed,\n s = e.scrollable,\n d = e.striped,\n f = e.compact,\n p = e.stackedStyle,\n m = void 0 === p ? "none" : p,\n y = (0, n.default)("usa-table", ((t = {\n "usa-table--borderless": !r\n })["" + o.default.fullwidth] = u, t["" + o.default.fixed] = c, t["usa-table--striped"] = d, t["usa-table--compact"] = f, t["usa-table--stacked"] = "default" === m, t["usa-table--stacked-header"] = "headers" === m, t));\n f && "none" !== m && console.warn("USWDS states that compact styling is not suitable for use with stacked variants. See USWDS Table component, Table variants for more information: https://designsystem.digital.gov/components/table");\n var b = a.default.createElement("table", {\n className: y,\n "data-testid": "table"\n }, i && a.default.createElement("caption", null, i), l);\n return a.default.createElement(a.default.Fragment, null, s ? a.default.createElement("div", {\n "data-testid": "scrollable-table-container",\n className: "usa-table-container--scrollable"\n }, b) : b);\n };\n\n t.Table = l;\n var u = l;\n t.default = u;\n }, function (e, t, r) {\n "use strict";\n\n r.r(t), t.default = {\n fullwidth: "src-components-Table-Table-module__fullwidth--3-K3t",\n fixed: "src-components-Table-Table-module__fixed--2Awcy"\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Tag = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i6 = function i() {\n return (_i6 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.children,\n r = e.background,\n o = e.className,\n u = l(e, ["children", "background", "className"]),\n c = {};\n r && (c.background = r);\n var s = (0, n.default)("usa-tag", o);\n return a.default.createElement("span", _i6({\n "data-testid": "tag",\n className: s,\n style: _i6({}, c)\n }, u), t);\n };\n\n t.Tag = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.isCustomProps = s, t.Tooltip = d;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = l(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n i = r(34);\n\n function l(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (l = function l(e) {\n return e ? r : t;\n })(e);\n }\n\n var _u = function u() {\n return (_u = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n c = function c(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n function s(e) {\n return "asCustom" in e;\n }\n\n function d(e) {\n var t = (0, n.useRef)(null),\n r = (0, n.useRef)(null),\n a = (0, n.useRef)("tooltip-" + (Math.floor(9e5 * Math.random()) + 1e5)),\n l = (0, n.useState)(!1),\n d = l[0],\n f = l[1],\n p = function p(a, o) {\n (0, n.useEffect)(function () {\n var n = o;\n\n if (a.current && r.current && t.current) {\n var l = a.current,\n u = r.current,\n c = t.current,\n s = l.offsetWidth,\n d = l.offsetHeight,\n f = Number.parseInt(window.getComputedStyle(l).getPropertyValue("margin-top"), 10),\n p = Number.parseInt(window.getComputedStyle(l).getPropertyValue("margin-bottom"), 10),\n m = Number.parseInt(window.getComputedStyle(c).getPropertyValue("padding-top"), 10),\n y = Number.parseInt(window.getComputedStyle(c).getPropertyValue("padding-bottom"), 10),\n b = Number.parseInt(window.getComputedStyle(u).getPropertyValue("height"), 10),\n v = l.offsetLeft,\n O = u.offsetWidth,\n g = s / 2 + v,\n _ = s + 5 + 2,\n h = d + 5 + 2,\n j = function j(e) {\n u.classList.remove("usa-tooltip__body--" + n), n = e, u.classList.add("usa-tooltip__body--" + e);\n };\n\n if (e.wrapperclasses) e.wrapperclasses.split(" ").forEach(function (e) {\n return c.classList.add(e);\n });\n if (e.className) e.className.split(" ").forEach(function (e) {\n return l.classList.add(e);\n });\n\n var M = function M(e) {\n j("top"), e.style.marginLeft = g + "px", (0, i.isElementInViewport)(e) || e.classList.add("usa-tooltip__body--wrap"), e.style.marginBottom = h + p + y + "px";\n },\n N = function N(e) {\n j("bottom"), e.style.marginLeft = g + "px", (0, i.isElementInViewport)(e) || e.classList.add("usa-tooltip__body--wrap"), e.style.marginTop = h + f + m + "px";\n },\n E = function E(e) {\n j("right"), e.style.marginBottom = "0", e.style.marginLeft = _ + v + "px", e.style.bottom = (d - b) / 2 + p + y + "px";\n },\n P = function P(e) {\n j("left"), e.style.marginBottom = "0", e.style.marginLeft = v > O ? v - O - 7 + "px" : "-" + (O - v + 7) + "px", e.style.bottom = (d - b) / 2 + p + y + "px";\n };\n\n switch (o) {\n case "top":\n M(u), (0, i.isElementInViewport)(u) || N(u);\n break;\n\n case "bottom":\n N(u), (0, i.isElementInViewport)(u) || M(u);\n break;\n\n case "right":\n E(u), (0, i.isElementInViewport)(u) || (P(u), (0, i.isElementInViewport)(u) || M(u));\n break;\n\n case "left":\n P(u), (0, i.isElementInViewport)(u) || (E(u), (0, i.isElementInViewport)(u) || M(u));\n }\n }\n }, [d]);\n };\n\n if (s(e)) {\n var m = (0, n.useRef)(null),\n y = e.label,\n b = e.position,\n v = e.asCustom,\n O = e.children,\n g = N = c(e, ["label", "position", "asCustom", "children"]),\n _ = (0, o.default)("usa-tooltip__body", {\n "is-set": d,\n "usa-tooltip__body--top": "top" === b,\n "usa-tooltip__body--bottom": "bottom" === b,\n "usa-tooltip__body--right": "right" === b,\n "usa-tooltip__body--left": "left" === b,\n "is-visible": d\n }),\n h = function h() {\n f(!0);\n },\n j = function j() {\n f(!1);\n };\n\n p(m, b);\n var M = (0, n.createElement)(v, _u({\n ref: m,\n "data-testid": "triggerElement",\n onMouseEnter: function onMouseEnter() {\n return h();\n },\n onMouseOver: function onMouseOver() {\n return h();\n },\n onFocus: function onFocus() {\n return h();\n },\n onMouseLeave: function onMouseLeave() {\n return j();\n },\n onBlur: function onBlur() {\n return j();\n },\n onKeyDown: function onKeyDown() {\n return j();\n }\n }, g), O);\n return n.default.createElement("span", {\n "data-testid": "tooltipWrapper",\n ref: t,\n className: "usa-tooltip",\n role: "tooltip"\n }, M, n.default.createElement("span", {\n "data-testid": "tooltipBody",\n title: y,\n id: a.current,\n ref: r,\n className: _\n }, y));\n }\n\n m = (0, n.useRef)(null), y = e.label, b = e.position, O = e.children;\n\n var N = c(e, ["label", "position", "children"]),\n E = (_ = (0, o.default)("usa-tooltip__body", {\n "is-set": d,\n "usa-tooltip__body--top": "top" === b,\n "usa-tooltip__body--bottom": "bottom" === b,\n "usa-tooltip__body--right": "right" === b,\n "usa-tooltip__body--left": "left" === b,\n "is-visible": d\n }), function () {\n f(!0);\n }),\n P = function P() {\n f(!1);\n };\n\n return p(m, b), n.default.createElement("span", {\n "data-testid": "tooltipWrapper",\n ref: t,\n className: "usa-tooltip",\n role: "tooltip"\n }, n.default.createElement("button", _u({}, N, {\n "data-testid": "triggerElement",\n ref: m,\n "aria-describedby": a.current,\n type: "button",\n className: "usa-button usa-tooltip__trigger",\n title: y,\n onMouseEnter: E,\n onMouseOver: E,\n onFocus: E,\n onMouseLeave: P,\n onBlur: P,\n onKeyDown: P\n }), O), n.default.createElement("span", {\n "data-testid": "tooltipBody",\n title: y,\n id: a.current,\n ref: r,\n className: _\n }, y));\n }\n\n d.defaultProps = {\n position: "top"\n }, d.DisplayName = "Tooltip";\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.isElementInViewport = void 0;\n\n t.isElementInViewport = function (e, t, r) {\n void 0 === t && (t = window), void 0 === r && (r = document.documentElement);\n var a = e.getBoundingClientRect();\n return a.top >= 0 && a.left >= 0 && a.bottom <= (t.innerHeight || r.clientHeight) && a.right <= (t.innerWidth || r.clientWidth);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.SideNav = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n t.SideNav = function (e) {\n var t = e.items,\n r = e.isSubnav,\n o = void 0 !== r && r,\n i = (0, n.default)({\n "usa-sidenav": !o,\n "usa-sidenav__sublist": o\n });\n return a.default.createElement("ul", {\n className: i,\n "data-testid": "sidenav"\n }, t.map(function (e, t) {\n return a.default.createElement("li", {\n key: "sidenav_item_" + t,\n className: "usa-sidenav__item"\n }, e);\n }));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.Collection = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i7 = function i() {\n return (_i7 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.Collection = function (e) {\n var t = e.children,\n r = e.className,\n o = e.condensed,\n u = l(e, ["children", "className", "condensed"]),\n c = (0, n.default)("usa-collection", {\n "usa-collection--condensed": o\n }, r);\n return a.default.createElement("ul", _i7({\n className: c,\n "data-testid": "collection"\n }, u), t);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.CollectionItem = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i8 = function i() {\n return (_i8 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.CollectionItem = function (e) {\n var t = e.className,\n r = e.children,\n o = e.variantComponent,\n u = l(e, ["className", "children", "variantComponent"]),\n c = (0, n.default)("usa-collection__item", t);\n return a.default.createElement("li", _i8({\n className: c\n }, u), o, a.default.createElement("div", {\n className: "usa-collection__body"\n }, r));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.CollectionHeading = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i9 = function i() {\n return (_i9 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.CollectionHeading = function (e) {\n var t = e.headingLevel,\n r = e.className,\n o = e.children,\n u = l(e, ["headingLevel", "className", "children"]),\n c = t || "h3",\n s = (0, n.default)("usa-collection__heading", r);\n return a.default.createElement(c, _i9({\n className: s\n }, u), o);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.CollectionDescription = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i10 = function i() {\n return (_i10 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.CollectionDescription = function (e) {\n var t = e.className,\n r = e.children,\n o = l(e, ["className", "children"]),\n u = (0, n.default)("usa-collection__description", t);\n return a.default.createElement("p", _i10({\n className: u\n }, o), r);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.CollectionMeta = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i11 = function i() {\n return (_i11 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.CollectionMeta = function (e) {\n var t = e.className,\n r = e.children,\n o = l(e, ["className", "children"]),\n u = (0, n.default)("usa-collection__meta", t);\n return a.default.createElement("ul", _i11({\n className: u\n }, o), r);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.CollectionMetaItem = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i12 = function i() {\n return (_i12 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.CollectionMetaItem = function (e) {\n var t = e.className,\n r = e.children,\n o = l(e, ["className", "children"]),\n u = (0, n.default)("usa-collection__meta-item", t);\n return a.default.createElement("li", _i12({\n className: u\n }, o), r);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.CollectionMetaItemTag = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i13 = function i() {\n return (_i13 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.CollectionMetaItemTag = function (e) {\n var t = e.className,\n r = e.children,\n o = e.tagStyle,\n u = l(e, ["className", "children", "tagStyle"]),\n c = (0, n.default)("usa-collection__meta-item", "usa-tag", {\n "usa-tag--new": "new" === o\n }, t);\n return a.default.createElement("li", _i13({\n className: c\n }, u), r);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.CollectionThumbnail = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i14 = function i() {\n return (_i14 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.CollectionThumbnail = function (e) {\n var t = e.className,\n r = e.src,\n o = e.alt,\n u = l(e, ["className", "src", "alt"]),\n c = (0, n.default)("usa-collection__img", t);\n return a.default.createElement("img", _i14({\n className: c,\n src: r,\n alt: o\n }, u));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.CollectionCalendarDate = void 0;\n var a,\n n = (a = r(0)) && a.__esModule ? a : {\n default: a\n };\n var o = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];\n\n t.CollectionCalendarDate = function (e) {\n var t = e.datetime,\n r = new Date(t);\n return r && r.getTime && isNaN(r.getTime()) ? n.default.createElement(n.default.Fragment, null) : n.default.createElement("div", {\n className: "usa-collection__calendar-date",\n "data-testid": "collection-calendar-date"\n }, n.default.createElement("time", {\n dateTime: t\n }, n.default.createElement("span", {\n className: "usa-collection__calendar-date-month"\n }, o[r.getMonth()]), n.default.createElement("span", {\n className: "usa-collection__calendar-date-day"\n }, r.getDate())));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.isCustomProps = u, t.GridContainer = function (e) {\n if (u(e)) {\n var t = e.className,\n r = e.containerSize,\n n = e.asCustom,\n o = e.children,\n s = l(e, ["className", "containerSize", "asCustom", "children"]),\n d = c(t, r);\n return a.default.createElement(n, _i15({\n "data-testid": "gridContainer",\n className: d\n }, s), o);\n }\n\n t = e.className, r = e.containerSize, o = e.children, s = l(e, ["className", "containerSize", "children"]), d = c(t, r);\n return a.default.createElement("div", _i15({\n "data-testid": "gridContainer",\n className: d\n }, s), o);\n };\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i15 = function i() {\n return (_i15 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n function u(e) {\n return "asCustom" in e;\n }\n\n function c(e, t) {\n var r;\n return (0, n.default)(((r = {\n "grid-container": !t\n })["grid-container-" + t] = !!t, r), e);\n }\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.breakpoints = void 0;\n t.breakpoints = {\n mobile: "mobile",\n mobileLg: "mobile-lg",\n tablet: "tablet",\n tabletLg: "tablet-lg",\n desktop: "desktop",\n desktopLg: "desktop-lg",\n widescreen: "widescreen"\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.CharacterCount = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = u(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n i = r(7),\n l = r(16);\n\n function u(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (u = function u(e) {\n return e ? r : t;\n })(e);\n }\n\n var _c = function c() {\n return (_c = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n s = function s(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n d = function d(e) {\n return Array.from(e).length;\n },\n f = function f(e, t) {\n var r = t + " characters allowed",\n a = t - e;\n\n switch (a) {\n case t:\n return r;\n\n case 1:\n return "$0 character left".replace("$0", "1");\n\n case -1:\n return "$0 character over limit".replace("$0", "1");\n\n default:\n return a >= 0 ? "$0 characters left".replace("$0", a.toString()) : "$0 characters over limit".replace("$0", Math.abs(a).toString());\n }\n },\n p = function p(e) {\n var t = e.id,\n r = e.name,\n a = e.className,\n u = e.maxLength,\n p = e.defaultValue,\n m = void 0 === p ? "" : p,\n y = e.isTextArea,\n b = void 0 !== y && y,\n v = e.getCharacterCount,\n O = void 0 === v ? d : v,\n g = e.getMessage,\n _ = void 0 === g ? f : g,\n h = s(e, ["id", "name", "className", "maxLength", "defaultValue", "isTextArea", "getCharacterCount", "getMessage"]),\n j = O(m),\n M = (0, n.useState)(j),\n N = M[0],\n E = M[1],\n P = (0, n.useState)(_(j, u)),\n w = P[0],\n I = P[1],\n D = (0, n.useState)(j < u),\n S = D[0],\n x = D[1],\n k = (0, o.default)("usa-character-count__field", a),\n A = (0, o.default)("usa-hint", "usa-character-count__message", {\n "usa-character-count__message--invalid": !S\n });\n\n (0, n.useEffect)(function () {\n I(_(N, u)), x(N <= u);\n }, [N]);\n\n var T,\n C = function C(e, t) {\n var r = S ? "" : "The content is too long.";\n e.target.setCustomValidity(r), t && t(e);\n },\n L = function L(e, t) {\n var r = e.target.value;\n E(O(void 0 === r ? "" : r)), t && t(e);\n };\n\n if (b) {\n var F = h,\n R = F.onBlur,\n U = F.onChange,\n W = F.inputRef,\n B = s(F, ["onBlur", "onChange", "inputRef"]);\n T = n.default.createElement(l.Textarea, _c({\n id: t,\n name: r,\n className: k,\n defaultValue: m,\n onBlur: function onBlur(e) {\n return C(e, R);\n },\n onChange: function onChange(e) {\n return L(e, U);\n },\n inputRef: W\n }, B));\n } else {\n var z = h,\n Y = z.onBlur,\n G = z.onChange,\n V = (W = z.inputRef, z.type),\n H = void 0 === V ? "text" : V,\n Q = s(z, ["onBlur", "onChange", "inputRef", "type"]);\n T = n.default.createElement(i.TextInput, _c({\n id: t,\n type: H,\n name: r,\n className: k,\n defaultValue: m,\n onBlur: function onBlur(e) {\n return C(e, Y);\n },\n onChange: function onChange(e) {\n return L(e, G);\n },\n inputRef: W\n }, Q));\n }\n\n return n.default.createElement(n.default.Fragment, null, T, n.default.createElement("span", {\n "data-testid": "characterCountMessage",\n id: t + "-info",\n className: A,\n "aria-live": "polite"\n }, w));\n };\n\n t.CharacterCount = p;\n var m = p;\n t.default = m;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Checkbox = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i16 = function i() {\n return (_i16 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.id,\n r = e.name,\n o = e.className,\n u = e.label,\n c = e.inputRef,\n s = e.tile,\n d = e.labelDescription,\n f = l(e, ["id", "name", "className", "label", "inputRef", "tile", "labelDescription"]),\n p = (0, n.default)("usa-checkbox", o),\n m = (0, n.default)("usa-checkbox__input", {\n "usa-checkbox__input--tile": s\n });\n return a.default.createElement("div", {\n "data-testid": "checkbox",\n className: p\n }, a.default.createElement("input", _i16({\n className: m,\n id: t,\n type: "checkbox",\n name: r,\n ref: c\n }, f)), a.default.createElement("label", {\n className: "usa-checkbox__label",\n htmlFor: t\n }, u, d && a.default.createElement("span", {\n className: "usa-checkbox__label-description"\n }, d)));\n };\n\n t.Checkbox = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.useComboBox = t.ActionTypes = void 0;\n\n var a,\n n = r(0),\n o = r(11),\n i = r(50),\n _l8 = function l() {\n return (_l8 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n };\n\n t.ActionTypes = a, function (e) {\n e[e.SELECT_OPTION = 0] = "SELECT_OPTION", e[e.CLEAR = 1] = "CLEAR", e[e.OPEN_LIST = 2] = "OPEN_LIST", e[e.CLOSE_LIST = 3] = "CLOSE_LIST", e[e.FOCUS_OPTION = 4] = "FOCUS_OPTION", e[e.UPDATE_FILTER = 5] = "UPDATE_FILTER", e[e.BLUR = 6] = "BLUR";\n }(a || (t.ActionTypes = a = {}));\n\n t.useComboBox = function (e, t, r, u) {\n return (0, n.useReducer)(function (e, n) {\n switch (n.type) {\n case a.SELECT_OPTION:\n return _l8(_l8({}, e), {\n isOpen: !1,\n selectedOption: n.option,\n focusMode: o.FocusMode.Input,\n inputValue: n.option.label,\n filteredOptions: t,\n focusedOption: n.option\n });\n\n case a.UPDATE_FILTER:\n var c = (p = n.value, m = (0, i.generateDynamicRegExp)(u.filter, p, u.extras), y = t.filter(function (e) {\n return m.test(e.label.toLowerCase());\n }), r ? {\n closestMatch: y.length > 0 ? y[0] : t[0],\n optionsToDisplay: t\n } : {\n closestMatch: y[0],\n optionsToDisplay: y\n }),\n s = c.closestMatch,\n d = c.optionsToDisplay,\n f = _l8(_l8({}, e), {\n isOpen: !0,\n filteredOptions: d,\n inputValue: n.value\n });\n\n return r || !e.selectedOption ? f.focusedOption = s : e.selectedOption && (f.filteredOptions.includes(e.selectedOption) ? f.focusedOption = e.selectedOption : f.focusedOption = s), f;\n\n case a.OPEN_LIST:\n return _l8(_l8({}, e), {\n isOpen: !0,\n focusMode: o.FocusMode.Input,\n focusedOption: e.selectedOption || e.focusedOption || t[0]\n });\n\n case a.CLOSE_LIST:\n f = _l8(_l8({}, e), {\n isOpen: !1,\n focusMode: o.FocusMode.Input,\n focusedOption: void 0\n });\n return 0 === e.filteredOptions.length && (f.filteredOptions = t, f.inputValue = ""), e.selectedOption && (f.inputValue = e.selectedOption.label), f;\n\n case a.FOCUS_OPTION:\n return _l8(_l8({}, e), {\n isOpen: !0,\n focusedOption: n.option,\n focusMode: o.FocusMode.Item\n });\n\n case a.CLEAR:\n return _l8(_l8({}, e), {\n inputValue: "",\n isOpen: !1,\n focusMode: o.FocusMode.Input,\n selectedOption: void 0,\n filteredOptions: t,\n focusedOption: t[0]\n });\n\n case a.BLUR:\n f = _l8(_l8({}, e), {\n isOpen: !1,\n focusMode: o.FocusMode.None,\n filteredOptions: t\n });\n return e.selectedOption ? (f.inputValue = e.selectedOption.label, f.focusedOption = e.selectedOption) : (f.inputValue = "", f.focusedOption = t[0]), f;\n\n default:\n throw new Error();\n }\n\n var p, m, y;\n }, e);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.generateDynamicRegExp = void 0;\n\n t.generateDynamicRegExp = function (e, t, r) {\n void 0 === t && (t = ""), void 0 === r && (r = {});\n\n var a = function a(e) {\n return e.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, "\\\\$&");\n },\n n = e.replace(/{{(.*?)}}/g, function (e, n) {\n var o = n.trim(),\n i = r[o];\n\n if ("query" !== o && i) {\n var l = new RegExp(i, "i"),\n u = t.match(l);\n return u ? a(u[1]) : "";\n }\n\n return a(t);\n });\n\n return n = "^(?:" + n + ")$", new RegExp(n, "i");\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.DateInput = void 0;\n var a = u(r(0)),\n n = u(r(1)),\n o = r(7),\n i = r(5),\n l = r(8);\n\n function u(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _c2 = function c() {\n return (_c2 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n s = function s(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n d = function d(e) {\n var t = e.id,\n r = e.name,\n u = e.label,\n d = e.unit,\n f = e.maxLength,\n p = e.minLength,\n m = e.className,\n y = s(e, ["id", "name", "label", "unit", "maxLength", "minLength", "className"]),\n b = (0, n.default)({\n "usa-form-group--month": "month" == d,\n "usa-form-group--day": "day" == d,\n "usa-form-group--year": "year" == d\n }),\n v = (0, n.default)("usa-input--inline", m);\n return a.default.createElement(l.FormGroup, {\n className: b\n }, a.default.createElement(i.Label, {\n htmlFor: t\n }, u), a.default.createElement(o.TextInput, _c2({}, y, {\n className: v,\n id: t,\n name: r,\n type: "text",\n maxLength: f,\n minLength: p,\n pattern: "[0-9]*",\n inputMode: "numeric"\n })));\n };\n\n t.DateInput = d;\n var f = d;\n t.default = f;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.DateInputGroup = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i17 = function i() {\n return (_i17 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.children,\n r = e.className,\n o = l(e, ["children", "className"]),\n u = (0, n.default)("usa-memorable-date", r);\n return a.default.createElement("div", _i17({\n className: u\n }, o, {\n "data-testid": "dateInputGroup"\n }), t);\n };\n\n t.DateInputGroup = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.Calendar = void 0;\n\n var a = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = s(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n n = r(3),\n o = r(54),\n i = r(55),\n l = r(56),\n u = r(12),\n c = r(9);\n\n function s(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (s = function s(e) {\n return e ? r : t;\n })(e);\n }\n\n var d = "DATE_PICKER",\n f = "MONTH_PICKER",\n p = "YEAR_PICKER",\n m = function m(e) {\n var t = e.date,\n r = e.selectedDate,\n s = e.handleSelectDate,\n m = e.minDate,\n y = e.maxDate,\n b = e.rangeDate,\n v = e.setStatuses,\n O = e.focusMode,\n g = e.i18n,\n _ = void 0 === g ? c.EN_US : g,\n h = (0, a.useRef)(null),\n j = (0, a.useRef)(null),\n M = (0, a.useRef)(null),\n N = (0, a.useRef)(null),\n E = (0, a.useRef)(null),\n P = (0, a.useRef)(null),\n w = (0, a.useRef)(null),\n I = (0, a.useRef)(null),\n D = (0, a.useState)(t || (0, n.today)()),\n S = D[0],\n x = D[1],\n k = (0, a.useState)(d),\n A = k[0],\n T = k[1],\n C = (0, a.useState)([null, null]),\n L = C[0],\n F = C[1],\n R = !0,\n U = (0, n.addDays)(S, 0),\n W = S.getMonth(),\n B = S.getFullYear(),\n z = _.months[parseInt("" + W)],\n Y = _.daysOfWeekShort,\n G = _.daysOfWeek,\n V = _.backOneYear,\n H = _.backOneMonth,\n Q = z + ". " + _.clickToSelectMonth,\n K = B + ". " + _.clickToSelectYear,\n Z = _.forwardOneMonth,\n X = _.forwardOneYear;\n\n if ((0, a.useEffect)(function () {\n R = !1;\n }, []), (0, a.useEffect)(function () {\n t && A === d && x(t);\n }, [t]), (0, a.useEffect)(function () {\n if (O !== u.FocusMode.Input) {\n var e = L[0],\n t = L[1];\n if (e && t) e.disabled ? t.focus() : e.focus(), F([null, null]);else {\n var a = I.current && I.current.querySelector(".usa-date-picker__calendar__date--focused");\n a && a.focus();\n }\n }\n\n if (R) {\n var o = [z + " " + B];\n\n if (r && (0, n.isSameDay)(U, r)) {\n var i = _.selectedDate;\n o.unshift(i);\n }\n\n v(o);\n }\n }, [S]), A === f) return a.default.createElement(i.MonthPicker, {\n date: S,\n minDate: m,\n maxDate: y,\n handleSelectMonth: function handleSelectMonth(e) {\n var t = (0, n.setMonth)(S, e);\n t = (0, n.keepDateBetweenMinAndMax)(t, m, y), x(t), T(d);\n },\n i18n: _\n });\n if (A === p) return a.default.createElement(l.YearPicker, {\n date: S,\n minDate: m,\n maxDate: y,\n handleSelectYear: function handleSelectYear(e) {\n var t = (0, n.setYear)(S, e);\n t = (0, n.keepDateBetweenMinAndMax)(t, m, y), x(t), T(d);\n },\n setStatuses: v\n });\n\n for (var J = (0, n.subMonths)(S, 1), q = (0, n.addMonths)(S, 1), $ = (0, n.startOfMonth)(S), ee = (0, n.isSameMonth)(S, m), te = y && (0, n.isSameMonth)(S, y), re = r || S, ae = b && (0, n.min)(re, b), ne = b && (0, n.max)(re, b), oe = ae && (0, n.addDays)(ae, 1), ie = ne && (0, n.subDays)(ne, 1), le = function le(e) {\n var t;\n\n switch (e.key) {\n case "ArrowUp":\n case "Up":\n t = (0, n.subWeeks)(S, 1);\n break;\n\n case "ArrowDown":\n case "Down":\n t = (0, n.addWeeks)(S, 1);\n break;\n\n case "ArrowLeft":\n case "Left":\n t = (0, n.subDays)(S, 1);\n break;\n\n case "ArrowRight":\n case "Right":\n t = (0, n.addDays)(S, 1);\n break;\n\n case "Home":\n t = (0, n.startOfWeek)(S);\n break;\n\n case "End":\n t = (0, n.endOfWeek)(S);\n break;\n\n case "PageDown":\n t = e.shiftKey ? (0, n.addYears)(S, 1) : (0, n.addMonths)(S, 1);\n break;\n\n case "PageUp":\n t = e.shiftKey ? (0, n.subYears)(S, 1) : (0, n.subMonths)(S, 1);\n break;\n\n default:\n return;\n }\n\n if (void 0 !== t) {\n var r = (0, n.keepDateBetweenMinAndMax)(t, m, y);\n (0, n.isSameDay)(S, r) || x(t);\n }\n\n e.preventDefault();\n }, ue = function ue(e) {\n e !== S && x(e);\n }, ce = [], se = (0, n.startOfWeek)($); ce.length < 28 || se.getMonth() === W || ce.length % 7 != 0;) {\n var de = (0, n.isSameDay)(se, U);\n ce.push(a.default.createElement(o.Day, {\n date: se,\n onClick: s,\n onKeyDown: le,\n onMouseMove: ue,\n ref: de ? w : null,\n isDisabled: !(0, n.isDateWithinMinAndMax)(se, m, y),\n isSelected: r && (0, n.isSameDay)(se, r),\n isFocused: de,\n isPrevMonth: (0, n.isSameMonth)(se, J),\n isFocusedMonth: (0, n.isSameMonth)(se, U),\n isNextMonth: (0, n.isSameMonth)(se, q),\n isToday: (0, n.isSameDay)(se, (0, n.today)()),\n isRangeDate: b && (0, n.isSameDay)(se, b),\n isRangeStart: ae && (0, n.isSameDay)(se, ae),\n isRangeEnd: ne && (0, n.isSameDay)(se, ne),\n isWithinRange: oe && ie && (0, n.isDateWithinMinAndMax)(se, oe, ie),\n i18n: _\n })), se = (0, n.addDays)(se, 1);\n }\n\n return a.default.createElement("div", {\n tabIndex: -1,\n className: "usa-date-picker__calendar__date-picker",\n "data-testid": "calendar-date-picker",\n ref: I,\n onKeyDown: function onKeyDown(e) {\n (0, n.handleTabKey)(e, [null == h ? void 0 : h.current, null == j ? void 0 : j.current, null == E ? void 0 : E.current, null == P ? void 0 : P.current, null == M ? void 0 : M.current, null == N ? void 0 : N.current, null == w ? void 0 : w.current]);\n }\n }, a.default.createElement("div", {\n className: "usa-date-picker__calendar__row"\n }, a.default.createElement("div", {\n className: "usa-date-picker__calendar__cell usa-date-picker__calendar__cell--center-items"\n }, a.default.createElement("button", {\n type: "button",\n "data-testid": "previous-year",\n onClick: function onClick() {\n var e = (0, n.subYears)(S, 1);\n e = (0, n.keepDateBetweenMinAndMax)(e, m, y), x(e), F([h.current, I.current]);\n },\n ref: h,\n className: "usa-date-picker__calendar__previous-year",\n "aria-label": V,\n disabled: ee\n }, " ")), a.default.createElement("div", {\n className: "usa-date-picker__calendar__cell usa-date-picker__calendar__cell--center-items"\n }, a.default.createElement("button", {\n type: "button",\n "data-testid": "previous-month",\n onClick: function onClick() {\n var e = (0, n.subMonths)(S, 1);\n e = (0, n.keepDateBetweenMinAndMax)(e, m, y), x(e), F([j.current, I.current]);\n },\n ref: j,\n className: "usa-date-picker__calendar__previous-month",\n "aria-label": H,\n disabled: ee\n }, " ")), a.default.createElement("div", {\n className: "usa-date-picker__calendar__cell usa-date-picker__calendar__month-label"\n }, a.default.createElement("button", {\n type: "button",\n "data-testid": "select-month",\n onClick: function onClick() {\n T(f);\n var e = _.selectAMonth;\n v([e]);\n },\n ref: E,\n className: "usa-date-picker__calendar__month-selection",\n "aria-label": Q\n }, z), a.default.createElement("button", {\n type: "button",\n "data-testid": "select-year",\n onClick: function onClick() {\n T(p);\n },\n ref: P,\n className: "usa-date-picker__calendar__year-selection",\n "aria-label": K\n }, B)), a.default.createElement("div", {\n className: "usa-date-picker__calendar__cell usa-date-picker__calendar__cell--center-items"\n }, a.default.createElement("button", {\n type: "button",\n "data-testid": "next-month",\n onClick: function onClick() {\n var e = (0, n.addMonths)(S, 1);\n e = (0, n.keepDateBetweenMinAndMax)(e, m, y), x(e), F([M.current, I.current]);\n },\n ref: M,\n className: "usa-date-picker__calendar__next-month",\n "aria-label": Z,\n disabled: te\n }, " ")), a.default.createElement("div", {\n className: "usa-date-picker__calendar__cell usa-date-picker__calendar__cell--center-items"\n }, a.default.createElement("button", {\n type: "button",\n "data-testid": "next-year",\n onClick: function onClick() {\n var e = (0, n.addYears)(S, 1);\n e = (0, n.keepDateBetweenMinAndMax)(e, m, y), x(e), F([N.current, I.current]);\n },\n ref: N,\n className: "usa-date-picker__calendar__next-year",\n "aria-label": X,\n disabled: te\n }, " "))), a.default.createElement("table", {\n className: "usa-date-picker__calendar__table",\n role: "presentation"\n }, a.default.createElement("thead", null, a.default.createElement("tr", null, Y.map(function (e, t) {\n return a.default.createElement("th", {\n className: "usa-date-picker__calendar__day-of-week",\n scope: "col",\n "aria-label": G[parseInt("" + t)],\n key: "day-of-week-" + e + "-" + t\n }, e);\n }))), a.default.createElement("tbody", null, (0, n.listToTable)(ce, 7))));\n };\n\n t.Calendar = m, m.displayName = "Calendar";\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.Day = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = u(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n i = r(3),\n l = r(9);\n\n function u(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (u = function u(e) {\n return e ? r : t;\n })(e);\n }\n\n var c = (0, n.forwardRef)(function (e, t) {\n var r = e.date,\n a = e.onClick,\n u = e.onKeyDown,\n c = e.onMouseMove,\n s = e.isDisabled,\n d = void 0 !== s && s,\n f = e.isSelected,\n p = void 0 !== f && f,\n m = e.isFocused,\n y = void 0 !== m && m,\n b = e.isPrevMonth,\n v = void 0 !== b && b,\n O = e.isFocusedMonth,\n g = void 0 !== O && O,\n _ = e.isNextMonth,\n h = void 0 !== _ && _,\n j = e.isToday,\n M = void 0 !== j && j,\n N = e.isRangeDate,\n E = void 0 !== N && N,\n P = e.isRangeStart,\n w = void 0 !== P && P,\n I = e.isRangeEnd,\n D = void 0 !== I && I,\n S = e.isWithinRange,\n x = void 0 !== S && S,\n k = e.i18n,\n A = void 0 === k ? l.EN_US : k,\n T = r.getDate(),\n C = r.getMonth(),\n L = r.getFullYear(),\n F = r.getDay(),\n R = (0, i.formatDate)(r),\n U = y ? 0 : -1,\n W = (0, o.default)("usa-date-picker__calendar__date", {\n "usa-date-picker__calendar__date--previous-month": v,\n "usa-date-picker__calendar__date--current-month": g,\n "usa-date-picker__calendar__date--next-month": h,\n "usa-date-picker__calendar__date--selected": p,\n "usa-date-picker__calendar__date--today": M,\n "usa-date-picker__calendar__date--focused": y,\n "usa-date-picker__calendar__date--range-date": E,\n "usa-date-picker__calendar__date--range-date-start": w,\n "usa-date-picker__calendar__date--range-date-end": D,\n "usa-date-picker__calendar__date--within-range": x\n }),\n B = A.months[parseInt("" + C)],\n z = A.daysOfWeek[parseInt("" + F)];\n return n.default.createElement("button", {\n type: "button",\n "data-testid": "select-date",\n ref: t,\n onClick: function onClick() {\n a(R);\n },\n tabIndex: U,\n className: W,\n "data-day": T,\n "data-month": C + 1,\n "data-year": L,\n "data-value": R,\n "aria-label": T + " " + B + " " + L + " " + z,\n "aria-selected": !!p,\n disabled: d,\n onKeyDown: function onKeyDown(e) {\n u(e);\n },\n onMouseMove: g ? function () {\n d || (0, i.isIosDevice)() || c(r);\n } : void 0\n }, T);\n });\n t.Day = c, c.displayName = "Day";\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.MonthPicker = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = u(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n i = r(3),\n l = r(9);\n\n function u(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (u = function u(e) {\n return e ? r : t;\n })(e);\n }\n\n var c = function c(e) {\n var t = e.date,\n r = e.minDate,\n a = e.maxDate,\n u = e.handleSelectMonth,\n c = e.i18n,\n s = void 0 === c ? l.EN_US : c,\n d = t.getMonth(),\n f = (0, n.useState)(d),\n p = f[0],\n m = f[1],\n y = (0, n.useRef)(null),\n b = (0, n.useRef)(null);\n (0, n.useEffect)(function () {\n var e = y.current && y.current.querySelector(\'[data-value="\' + p + \'"]\');\n e && e.focus();\n }, [p]);\n\n var v = function v(e) {\n var n,\n o,\n l = e.target,\n u = parseInt((null === (n = l.dataset) || void 0 === n ? void 0 : n.value) || "", 10),\n c = (0, i.setMonth)(t, u);\n\n switch (e.key) {\n case "ArrowUp":\n case "Up":\n o = u - 3;\n break;\n\n case "ArrowDown":\n case "Down":\n o = u + 3;\n break;\n\n case "ArrowLeft":\n case "Left":\n o = u - 1;\n break;\n\n case "ArrowRight":\n case "Right":\n o = u + 1;\n break;\n\n case "Home":\n o = u - u % 3;\n break;\n\n case "End":\n o = u + 2 - u % 3;\n break;\n\n case "PageDown":\n o = 11;\n break;\n\n case "PageUp":\n o = 0;\n break;\n\n default:\n return;\n }\n\n if (void 0 !== o) {\n o = Math.max(0, Math.min(11, o));\n var s = (0, i.setMonth)(t, o),\n d = (0, i.keepDateBetweenMinAndMax)(s, r, a);\n (0, i.isSameMonth)(c, d) || m(d.getMonth());\n }\n\n e.preventDefault();\n },\n O = s.months.map(function (e, l) {\n var c = (0, i.setMonth)(t, l),\n s = (0, i.isDatesMonthOutsideMinOrMax)(c, r, a),\n f = l === d,\n y = l === p,\n O = y ? 0 : -1,\n g = (0, o.default)("usa-date-picker__calendar__month", {\n "usa-date-picker__calendar__month--selected": f,\n "usa-date-picker__calendar__month--focused": y\n });\n return n.default.createElement("button", {\n type: "button",\n key: "selectMonth_" + e,\n ref: y ? b : null,\n tabIndex: O,\n className: g,\n "data-value": l,\n "data-label": e,\n "aria-selected": f,\n disabled: s,\n onClick: function onClick() {\n u(l);\n },\n onKeyDown: v,\n onMouseMove: function onMouseMove() {\n s || (0, i.isIosDevice)() || l !== p && m(l);\n }\n }, e);\n });\n\n return n.default.createElement("div", {\n tabIndex: -1,\n "data-testid": "calendar-month-picker",\n className: "usa-date-picker__calendar__month-picker",\n ref: y,\n onKeyDown: function onKeyDown(e) {\n (0, i.handleTabKey)(e, [null == b ? void 0 : b.current]);\n }\n }, n.default.createElement("table", {\n className: "usa-date-picker__calendar__table",\n role: "presentation"\n }, n.default.createElement("tbody", null, (0, i.listToTable)(O, 3))));\n };\n\n t.MonthPicker = c, c.displayName = "MonthPicker";\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.YearPicker = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = u(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n i = r(6),\n l = r(3);\n\n function u(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (u = function u(e) {\n return e ? r : t;\n })(e);\n }\n\n var c = function c(e) {\n var t = e.date,\n r = e.minDate,\n a = e.maxDate,\n u = e.handleSelectYear,\n c = e.setStatuses,\n s = (0, n.useRef)(null),\n d = (0, n.useRef)(null),\n f = (0, n.useRef)(null),\n p = (0, n.useRef)(null),\n m = t.getFullYear(),\n y = (0, n.useState)(m),\n b = y[0],\n v = y[1],\n O = (0, n.useState)([null, null]),\n g = O[0],\n _ = O[1],\n h = b;\n h -= h % i.YEAR_CHUNK, h = Math.max(0, h);\n var j = (0, l.isDatesYearOutsideMinOrMax)((0, l.setYear)(t, h - 1), r, a),\n M = (0, l.isDatesYearOutsideMinOrMax)((0, l.setYear)(t, h + i.YEAR_CHUNK), r, a);\n (0, n.useEffect)(function () {\n var e = "Showing years " + h + " to " + (h + i.YEAR_CHUNK - 1) + ". Select a year.";\n c([e]);\n var t = g[0],\n r = g[1];\n if (t && r) t.disabled ? r.focus() : t.focus(), _([null, null]);else {\n var a = p.current && p.current.querySelector(".usa-date-picker__calendar__year--focused");\n a && a.focus();\n }\n }, [b]), (0, n.useEffect)(function () {\n var e = p.current && p.current.querySelector(\'[data-value="\' + b + \'"]\');\n e && e.focus();\n }, []);\n\n for (var N = function N(e) {\n var n,\n o,\n u = e.target,\n c = parseInt((null === (n = u.dataset) || void 0 === n ? void 0 : n.value) || "", 10),\n s = (0, l.setYear)(t, c);\n\n switch (e.key) {\n case "ArrowUp":\n case "Up":\n o = c - 3;\n break;\n\n case "ArrowDown":\n case "Down":\n o = c + 3;\n break;\n\n case "ArrowLeft":\n case "Left":\n o = c - 1;\n break;\n\n case "ArrowRight":\n case "Right":\n o = c + 1;\n break;\n\n case "Home":\n o = c - c % 3;\n break;\n\n case "End":\n o = c + 2 - c % 3;\n break;\n\n case "PageDown":\n o = c + i.YEAR_CHUNK;\n break;\n\n case "PageUp":\n o = c - i.YEAR_CHUNK;\n break;\n\n default:\n return;\n }\n\n if (void 0 !== o) {\n o = Math.max(0, o);\n var d = (0, l.setYear)(t, o),\n f = (0, l.keepDateBetweenMinAndMax)(d, r, a);\n (0, l.isSameYear)(s, f) || v(f.getFullYear());\n }\n\n e.preventDefault();\n }, E = [], P = h, w = function w() {\n var e = P,\n i = (0, l.isDatesYearOutsideMinOrMax)((0, l.setYear)(t, e), r, a),\n c = e === m,\n s = e === b,\n d = s ? 0 : -1,\n p = (0, o.default)("usa-date-picker__calendar__year", {\n "usa-date-picker__calendar__year--selected": c,\n "usa-date-picker__calendar__year--focused": s\n });\n E.push(n.default.createElement("button", {\n type: "button",\n tabIndex: d,\n ref: s ? f : null,\n className: p,\n "data-value": e,\n "aria-selected": c,\n disabled: i,\n onClick: function onClick() {\n u(e);\n },\n onKeyDown: N,\n onMouseMove: function onMouseMove() {\n i || (0, l.isIosDevice)() || e !== b && v(e);\n }\n }, e)), P += 1;\n }; E.length < i.YEAR_CHUNK;) {\n w();\n }\n\n return n.default.createElement("div", {\n tabIndex: -1,\n className: "usa-date-picker__calendar__year-picker",\n "data-testid": "calendar-year-picker",\n ref: p,\n onKeyDown: function onKeyDown(e) {\n (0, l.handleTabKey)(e, [null == s ? void 0 : s.current, null == f ? void 0 : f.current, null == d ? void 0 : d.current]);\n }\n }, n.default.createElement("table", {\n className: "usa-date-picker__calendar__table",\n role: "presentation"\n }, n.default.createElement("tbody", null, n.default.createElement("tr", null, n.default.createElement("td", null, n.default.createElement("button", {\n type: "button",\n "data-testid": "previous-year-chunk",\n className: "usa-date-picker__calendar__previous-year-chunk",\n "aria-label": "Navigate back " + i.YEAR_CHUNK + " years",\n disabled: j,\n onClick: function onClick() {\n var e = b - i.YEAR_CHUNK;\n e = Math.max(0, e);\n var n = (0, l.setYear)(t, e);\n n = (0, l.keepDateBetweenMinAndMax)(n, r, a), _([s.current, p.current]), v(n.getFullYear());\n },\n ref: s\n }, " ")), n.default.createElement("td", {\n colSpan: 3\n }, n.default.createElement("table", {\n className: "usa-date-picker__calendar__table",\n role: "presentation"\n }, n.default.createElement("tbody", null, (0, l.listToTable)(E, 3)))), n.default.createElement("td", null, n.default.createElement("button", {\n type: "button",\n "data-testid": "next-year-chunk",\n className: "usa-date-picker__calendar__next-year-chunk",\n "aria-label": "Navigate forward " + i.YEAR_CHUNK + " years",\n disabled: M,\n onClick: function onClick() {\n var e = b + i.YEAR_CHUNK;\n e = Math.max(0, e);\n var n = (0, l.setYear)(t, e);\n n = (0, l.keepDateBetweenMinAndMax)(n, r, a), _([d.current, p.current]), v(n.getFullYear());\n },\n ref: d\n }, " "))))));\n };\n\n t.YearPicker = c, c.displayName = "YearPicker";\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.DateRangePicker = void 0;\n\n var a,\n n = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n o = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = d(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n i = r(6),\n l = r(12),\n u = r(3),\n c = r(8),\n s = r(5);\n\n function d(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (d = function d(e) {\n return e ? r : t;\n })(e);\n }\n\n var _f2 = function f() {\n return (_f2 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n };\n\n t.DateRangePicker = function (e) {\n var t,\n r,\n a,\n d,\n p,\n m,\n y = e.startDateLabel,\n b = e.startDateHint,\n v = e.startDatePickerProps,\n O = e.endDateLabel,\n g = e.endDateHint,\n _ = e.endDatePickerProps,\n h = e.className,\n j = (0, o.useState)(v.defaultValue),\n M = j[0],\n N = j[1],\n E = (0, o.useState)(_.defaultValue),\n P = E[0],\n w = E[1],\n I = function I(e, t) {\n return function (r) {\n var a = r && (0, u.parseDateString)(r, i.DEFAULT_EXTERNAL_DATE_FORMAT);\n\n if (a) {\n var n = (0, u.formatDate)(a);\n t(n);\n } else t(r);\n\n e && e(r);\n };\n },\n D = I(v.onChange, N),\n S = I(_.onChange, w),\n x = (0, n.default)(h, "usa-date-range-picker"),\n k = (0, n.default)(v.className, "usa-date-range-picker__range-start"),\n A = (0, n.default)(_.className, "usa-date-range-picker__range-end"),\n T = v.id + "-label",\n C = v.id + "-hint",\n L = [y && T, b && C].join(" ").trim() || void 0,\n F = _.id + "-label",\n R = _.id + "-hint",\n U = [O && F, g && R].join(" ").trim() || void 0;\n\n return o.default.createElement("div", {\n className: x,\n "data-testid": "date-range-picker"\n }, o.default.createElement(c.FormGroup, null, y && o.default.createElement(s.Label, {\n id: T,\n htmlFor: v.id\n }, y), b && o.default.createElement("div", {\n className: "usa-hint",\n id: C\n }, b), o.default.createElement(l.DatePicker, _f2({\n className: k,\n rangeDate: P\n }, v, {\n "aria-describedby": L,\n onChange: D,\n maxDate: (d = v.maxDate, p = d && (0, u.parseDateString)(d), m = P && (0, u.parseDateString)(P), m && p ? m.getTime() < p.getTime() ? (0, u.formatDate)(m) : (0, u.formatDate)(p) : m && (0, u.formatDate)(m) || p && (0, u.formatDate)(p) || void 0)\n }))), o.default.createElement(c.FormGroup, null, O && o.default.createElement(s.Label, {\n id: F,\n htmlFor: _.id\n }, O), g && o.default.createElement("div", {\n className: "usa-hint",\n id: R\n }, g), o.default.createElement(l.DatePicker, _f2({\n className: A,\n rangeDate: M\n }, _, {\n "aria-describedby": U,\n onChange: S,\n minDate: (t = _.minDate, r = t && (0, u.parseDateString)(t), a = M && (0, u.parseDateString)(M), a && r ? a.getTime() > r.getTime() ? (0, u.formatDate)(a) : (0, u.formatDate)(r) : a && (0, u.formatDate)(a) || r && (0, u.formatDate)(r) || void 0)\n }))));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Dropdown = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i18 = function i() {\n return (_i18 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.id,\n r = e.name,\n o = e.className,\n u = e.inputRef,\n c = e.children,\n s = l(e, ["id", "name", "className", "inputRef", "children"]),\n d = (0, n.default)("usa-select", o);\n return a.default.createElement("select", _i18({\n "data-testid": "dropdown",\n className: d,\n id: t,\n name: r,\n ref: u\n }, s), c);\n };\n\n t.Dropdown = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.ErrorMessage = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var i = function i(e) {\n var t = e.children,\n r = e.className,\n o = e.id,\n i = (0, n.default)("usa-error-message", r);\n return a.default.createElement("span", {\n "data-testid": "errorMessage",\n className: i,\n id: o,\n role: "alert"\n }, t);\n };\n\n t.ErrorMessage = i;\n var l = i;\n t.default = l;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.Fieldset = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = r(2);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n t.Fieldset = function (e) {\n var t = e.children,\n r = e.legend,\n i = e.className,\n l = e.legendSrOnly,\n u = e.legendStyle,\n c = void 0 === u ? "default" : u,\n s = (0, n.default)("usa-fieldset", i);\n l && (0, o.deprecationWarning)("Fieldset property legendSrOnly is deprecated. Use legendStyle = \'srOnly\'.");\n var d = (0, n.default)({\n "usa-legend": "default" === c,\n "usa-legend--large": "large" === c,\n "usa-sr-only": "srOnly" === c || l\n });\n return a.default.createElement("fieldset", {\n "data-testid": "fieldset",\n className: s\n }, r && a.default.createElement("legend", {\n className: d\n }, r), t);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.FileInput = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = u(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n i = r(62),\n l = r(63);\n\n function u(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (u = function u(e) {\n return e ? r : t;\n })(e);\n }\n\n var _c3 = function c() {\n return (_c3 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n s = function s(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.FileInput = function (e) {\n var t = e.name,\n r = e.id,\n a = e.disabled,\n u = e.multiple,\n d = e.className,\n f = e.accept,\n p = e.onChange,\n m = e.onDrop,\n y = e.inputRef,\n b = s(e, ["name", "id", "disabled", "multiple", "className", "accept", "onChange", "onDrop", "inputRef"]),\n v = (0, n.useState)(!1),\n O = v[0],\n g = v[1],\n _ = (0, n.useState)(!1),\n h = _[0],\n j = _[1],\n M = (0, n.useState)(null),\n N = M[0],\n E = M[1],\n P = (0, o.default)("usa-file-input", {\n "usa-file-input--disabled": a\n }, d),\n w = (0, o.default)("usa-file-input__target", {\n "usa-file-input--drag": O,\n "has-invalid-file": h\n }),\n I = /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent),\n D = u ? "Drag files here or " : "Drag file here or ",\n S = [];\n\n if (N) for (var x = 0; x < (null == N ? void 0 : N.length); x++) {\n var k = (0, l.makeSafeForID)(N[parseInt("" + x)].name),\n A = "filePreview_" + k;\n S.push(n.default.createElement(i.FilePreview, {\n key: A,\n imageId: k,\n file: N[parseInt("" + x)]\n }));\n }\n var T = (0, o.default)("usa-file-input__instructions", {\n "display-none": S.length > 0\n }),\n C = S.length > 1 ? S.length + " files selected" : "Selected file";\n return n.default.createElement("div", {\n "data-testid": "file-input",\n className: P,\n "aria-disabled": a\n }, n.default.createElement("div", {\n "data-testid": "file-input-droptarget",\n className: w,\n onDragOver: function onDragOver() {\n return g(!0);\n },\n onDragLeave: function onDragLeave() {\n return g(!1);\n },\n onDrop: function onDrop(e) {\n !function (e) {\n if (j(!1), f) {\n for (var t = f.split(","), r = !0, a = 0; a < e.dataTransfer.files.length; a += 1) {\n var n = e.dataTransfer.files[parseInt("" + a)];\n if (!r) break;\n\n for (var o = 0; o < t.length; o += 1) {\n var i = t[parseInt("" + o)];\n if (r = n.name.indexOf(i) > 0 || n.type.includes(i.replace(/\\*/g, ""))) break;\n }\n }\n\n r || (E(null), j(!0), e.preventDefault(), e.stopPropagation());\n }\n }(e), g(!1), m && m(e);\n }\n }, S.length > 0 && n.default.createElement("div", {\n "data-testid": "file-input-preview-heading",\n className: "usa-file-input__preview-heading"\n }, C, " ", n.default.createElement("span", {\n className: "usa-file-input__choose"\n }, "Change file", S.length > 1 && "s")), n.default.createElement("div", {\n "data-testid": "file-input-instructions",\n className: T,\n "aria-hidden": "true"\n }, !I && n.default.createElement("span", {\n className: "usa-file-input__drag-text"\n }, D), n.default.createElement("span", {\n className: "usa-file-input__choose"\n }, "choose from folder")), S, n.default.createElement("div", {\n "data-testid": "file-input-box",\n className: "usa-file-input__box"\n }), h && n.default.createElement("div", {\n "data-testid": "file-input-error",\n className: "usa-file-input__accepted-files-message"\n }, "This is not a valid file type."), n.default.createElement("input", _c3({}, b, {\n ref: y,\n type: "file",\n "data-testid": "file-input-input",\n name: t,\n id: r,\n className: "usa-file-input__input",\n disabled: a,\n onChange: function onChange(e) {\n var t;\n j(!1), E(null === (t = e.target) || void 0 === t ? void 0 : t.files), p && p(e);\n },\n multiple: u,\n accept: f\n }))));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.FilePreview = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = i(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var l = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n l && (l.get || l.set) ? Object.defineProperty(a, o, l) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n };\n\n function i(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (i = function i(e) {\n return e ? r : t;\n })(e);\n }\n\n var l = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";\n\n t.FilePreview = function (e) {\n var t = e.imageId,\n r = e.file,\n a = (0, n.useRef)(new FileReader()),\n i = (0, n.useState)(!0),\n u = i[0],\n c = i[1],\n s = (0, n.useState)(l),\n d = s[0],\n f = s[1],\n p = (0, n.useState)(!1),\n m = p[0],\n y = p[1];\n (0, n.useEffect)(function () {\n return a.current.onloadend = function () {\n c(!1), f(a.current.result);\n }, a.current.readAsDataURL(r), function () {\n a.current.onloadend = null;\n };\n }, []);\n\n var b = r.name,\n v = b.indexOf(".pdf") > 0,\n O = b.indexOf(".doc") > 0 || b.indexOf(".pages") > 0,\n g = b.indexOf(".mov") > 0 || b.indexOf(".mp4") > 0,\n _ = b.indexOf(".xls") > 0 || b.indexOf(".numbers") > 0,\n h = !(v || O || g || _),\n j = (0, o.default)("usa-file-input__preview-image", {\n "is-loading": u,\n "usa-file-input__preview-image--pdf": m && v,\n "usa-file-input__preview-image--word": m && O,\n "usa-file-input__preview-image--video": m && g,\n "usa-file-input__preview-image--excel": m && _,\n "usa-file-input__preview-image--generic": m && h\n });\n\n return n.default.createElement("div", {\n "data-testid": "file-input-preview",\n className: "usa-file-input__preview",\n "aria-hidden": "true"\n }, n.default.createElement("img", {\n id: t,\n "data-testid": "file-input-preview-image",\n src: d,\n alt: "",\n className: j,\n onError: function onError() {\n f(l), y(!0);\n }\n }), b);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.makeSafeForID = void 0;\n\n t.makeSafeForID = function (e) {\n return e.replace(/[^a-z0-9]/g, function (e) {\n var t = e.charCodeAt(0);\n return 32 === t ? "-" : t >= 65 && t <= 90 ? "img_" + e.toLowerCase() : "__" + t.toString(16).slice(-4);\n });\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Radio = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i19 = function i() {\n return (_i19 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.id,\n r = e.name,\n o = e.className,\n u = e.label,\n c = e.inputRef,\n s = e.tile,\n d = e.labelDescription,\n f = l(e, ["id", "name", "className", "label", "inputRef", "tile", "labelDescription"]),\n p = (0, n.default)("usa-radio", o),\n m = (0, n.default)("usa-radio__input", {\n "usa-radio__input--tile": s\n });\n return a.default.createElement("div", {\n "data-testid": "radio",\n className: p\n }, a.default.createElement("input", _i19({\n className: m,\n id: t,\n type: "radio",\n name: r,\n ref: c\n }, f)), a.default.createElement("label", {\n className: "usa-radio__label",\n htmlFor: t\n }, u, d && a.default.createElement("span", {\n className: "usa-checkbox__label-description"\n }, d)));\n };\n\n t.Radio = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.RangeInput = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i20 = function i() {\n return (_i20 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.className,\n r = e.inputRef,\n o = l(e, ["className", "inputRef"]),\n u = (0, n.default)("usa-range", t);\n return a.default.createElement("input", _i20({\n "data-testid": "range",\n className: u,\n ref: r,\n type: "range"\n }, o));\n };\n\n t.RangeInput = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.TimePicker = void 0;\n\n var a,\n n = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = d(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n o = (a = r(1)) && a.__esModule ? a : {\n default: a\n },\n i = r(8),\n l = r(5),\n u = r(11),\n c = r(67),\n s = r(68);\n\n function d(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (d = function d(e) {\n return e ? r : t;\n })(e);\n }\n\n t.TimePicker = function (e) {\n var t = e.id,\n r = e.name,\n a = e.onChange,\n d = e.label,\n f = e.defaultValue,\n p = e.disabled,\n m = e.minTime,\n y = void 0 === m ? s.DEFAULT_MIN_TIME : m,\n b = e.maxTime,\n v = void 0 === b ? s.DEFAULT_MAX_TIME : b,\n O = e.step,\n g = void 0 === O ? s.DEFAULT_STEP : O,\n _ = e.hint,\n h = e.className,\n j = (0, o.default)("usa-time-picker", h),\n M = (0, c.parseTimeString)(y) || s.DEFAULT_MIN_TIME_MINUTES,\n N = (0, c.parseTimeString)(v) || s.DEFAULT_MAX_TIME_MINUTES,\n E = g < s.MIN_STEP ? s.MIN_STEP : g,\n P = (0, n.useMemo)(function () {\n return (0, c.getTimeOptions)(M, N, E);\n }, [y, v, g]),\n w = r + "-label",\n I = r + "-hint";\n return n.default.createElement(i.FormGroup, null, n.default.createElement(l.Label, {\n className: "usa-label",\n id: w,\n htmlFor: t\n }, d), _ && n.default.createElement("div", {\n className: "usa-hint",\n id: I\n }, _), n.default.createElement(u.ComboBox, {\n id: t,\n name: r,\n className: j,\n onChange: a,\n defaultValue: f,\n options: P,\n disabled: p,\n customFilter: s.TIME_PICKER_CUSTOM_FILTER,\n disableFiltering: !0\n }));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.getTimeOptions = t.parseTimeString = void 0;\n\n t.parseTimeString = function (e) {\n var t;\n\n if (e) {\n var r = e.split(":").map(function (e) {\n var t,\n r = parseInt(e, 10);\n return Number.isNaN(r) || (t = r), t;\n }),\n a = r[0],\n n = r[1];\n null != a && null != n && (t = 60 * a + n);\n }\n\n return t;\n };\n\n var a = function a(e) {\n var t = e % 60,\n r = Math.floor(e / 60);\n return {\n minute: t,\n hour24: r,\n hour12: r % 12 || 12,\n ampm: r < 12 ? "am" : "pm"\n };\n },\n n = function n(e, t) {\n return ("0000" + e).slice(-t);\n };\n\n t.getTimeOptions = function (e, t, r) {\n for (var o = [], i = e; i <= t; i += r) {\n var l = a(i),\n u = l.minute,\n c = l.hour24,\n s = l.hour12,\n d = l.ampm;\n o.push({\n value: n(c, 2) + ":" + n(u, 2),\n label: s + ":" + n(u, 2) + d\n });\n }\n\n return o;\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.TIME_PICKER_CUSTOM_FILTER = t.MIN_STEP = t.DEFAULT_STEP = t.DEFAULT_MIN_TIME_MINUTES = t.DEFAULT_MIN_TIME = t.DEFAULT_MAX_TIME_MINUTES = t.DEFAULT_MAX_TIME = void 0;\n t.DEFAULT_MAX_TIME = "23:59";\n t.DEFAULT_MAX_TIME_MINUTES = 1439;\n t.DEFAULT_MIN_TIME = "00:00";\n t.DEFAULT_MIN_TIME_MINUTES = 0;\n t.DEFAULT_STEP = 30;\n t.MIN_STEP = 1;\n t.TIME_PICKER_CUSTOM_FILTER = {\n filter: "0?{{ hourQueryFilter }}:{{minuteQueryFilter}}.*{{ apQueryFilter }}m?",\n extras: {\n apQueryFilter: "([ap])",\n hourQueryFilter: "([1-9][0-2]?)",\n minuteQueryFilter: "[\\\\d]+:([0-9]{0,2})"\n }\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.ValidationChecklist = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i21 = function i() {\n return (_i21 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.children,\n r = e.className,\n o = l(e, ["children", "className"]),\n u = (0, n.default)(r, "usa-checklist");\n return a.default.createElement("ul", _i21({\n className: u,\n "data-testid": "validationChecklist"\n }, o), t);\n };\n\n t.ValidationChecklist = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.ValidationItem = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i22 = function i() {\n return (_i22 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.children,\n r = e.className,\n o = e.isValid,\n u = l(e, ["children", "className", "isValid"]),\n c = (0, n.default)("usa-checklist__item", {\n "usa-checklist__item--checked": o\n }, r);\n return a.default.createElement("li", _i22({\n className: c\n }, u), t);\n };\n\n t.ValidationItem = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.ExtendedNav = void 0;\n var a = l(r(0)),\n n = l(r(1)),\n o = r(13),\n i = r(4);\n\n function l(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _u2 = function u() {\n return (_u2 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n c = function c(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n s = function s(e) {\n var t = e.primaryItems,\n r = e.secondaryItems,\n l = e.mobileExpanded,\n s = void 0 !== l && l,\n d = e.children,\n f = e.className,\n p = e.onToggleMobileNav,\n m = c(e, ["primaryItems", "secondaryItems", "mobileExpanded", "children", "className", "onToggleMobileNav"]),\n y = (0, n.default)("usa-nav", {\n "is-visible": s\n }, f);\n return a.default.createElement("nav", _u2({\n className: y\n }, m), a.default.createElement("div", {\n className: "usa-nav__inner"\n }, a.default.createElement(o.NavCloseButton, {\n onClick: p\n }), a.default.createElement(i.NavList, {\n items: t,\n type: "primary"\n }), a.default.createElement("div", {\n className: "usa-nav__secondary"\n }, a.default.createElement(i.NavList, {\n items: r,\n type: "secondary"\n }), d)));\n };\n\n t.ExtendedNav = s;\n var d = s;\n t.default = d;\n }, function (e, t, r) {\n "use strict";\n\n r.r(t), t.default = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiB2aWV3Qm94PSIwIDAgNjQgNjQiPjx0aXRsZT5jbG9zZTwvdGl0bGU+PHBhdGggZmlsbD0iIzU2NUM2NSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNTcuMDQyIDEuMTVsNS44MDkgNS44MDhhNCA0IDAgMCAxIDAgNS42NTdMNDMuNDY1IDMybDE5LjM4NiAxOS4zODVhNCA0IDAgMCAxIDAgNS42NTdsLTUuODA5IDUuODA5YTQgNCAwIDAgMS01LjY1NyAwTDMyIDQzLjQ2NSAxMi42MTUgNjIuODUxYTQgNCAwIDAgMS01LjY1NyAwbC01LjgwOS01LjgwOWE0IDQgMCAwIDEgMC01LjY1N0wyMC41MzUgMzIgMS4xNDkgMTIuNjE1YTQgNCAwIDAgMSAwLTUuNjU3bDUuODA5LTUuODA5YTQgNCAwIDAgMSA1LjY1NyAwTDMyIDIwLjUzNSA1MS4zODUgMS4xNDlhNCA0IDAgMCAxIDUuNjU3IDB6Ii8+PC9zdmc+";\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.Header = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i23 = function i() {\n return (_i23 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.Header = function (e) {\n var t = e.basic,\n r = e.extended,\n o = e.basicWithMegaMenu,\n u = e.children,\n c = e.className,\n s = l(e, ["basic", "extended", "basicWithMegaMenu", "children", "className"]),\n d = (0, n.default)("usa-header", {\n "usa-header--basic": t,\n "usa-header--megamenu": o,\n "usa-header--extended": r\n }, c);\n return a.default.createElement("header", _i23({\n "data-testid": "header",\n className: d\n }, s), u);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.MegaMenu = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = r(4);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l9 = function l() {\n return (_l9 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n c = function c(e) {\n var t = e.items,\n r = e.isOpen,\n i = e.className,\n c = u(e, ["items", "isOpen", "className"]),\n s = (0, n.default)("usa-nav__submenu usa-megamenu", i);\n return a.default.createElement("div", {\n className: s,\n hidden: !r,\n "data-testid": "megamenu"\n }, a.default.createElement("div", {\n className: "grid-row grid-gap-4"\n }, t.map(function (e, t) {\n return a.default.createElement("div", {\n className: "usa-col",\n key: "subnav_col_" + t\n }, a.default.createElement(o.NavList, _l9({\n items: e,\n type: "megamenu"\n }, c)));\n })));\n };\n\n t.MegaMenu = c;\n var s = c;\n t.default = s;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Menu = void 0;\n var a,\n n = (a = r(0)) && a.__esModule ? a : {\n default: a\n },\n o = r(4);\n\n var _i24 = function i() {\n return (_i24 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.className,\n r = e.items,\n a = e.isOpen,\n u = l(e, ["className", "items", "isOpen"]);\n return n.default.createElement(o.NavList, _i24({\n className: t,\n items: r,\n type: "subnav",\n hidden: !a\n }, u));\n };\n\n t.Menu = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.NavMenuButton = void 0;\n var a,\n n = (a = r(0)) && a.__esModule ? a : {\n default: a\n };\n\n var _o = function o() {\n return (_o = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n i = function i(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.NavMenuButton = function (e) {\n var t = e.label,\n r = e.onClick,\n a = i(e, ["label", "onClick"]);\n return n.default.createElement("button", _o({\n className: "usa-menu-btn",\n onClick: r,\n "data-testid": "navMenuButton"\n }, a, {\n type: "button"\n }), t);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.NavDropDownButton = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i25 = function i() {\n return (_i25 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.label,\n r = e.menuId,\n o = e.isOpen,\n u = e.onToggle,\n c = e.isCurrent,\n s = e.className,\n d = l(e, ["label", "menuId", "isOpen", "onToggle", "isCurrent", "className"]),\n f = (0, n.default)("usa-accordion__button", "usa-nav__link", {\n "usa-current": c\n }, s);\n return a.default.createElement("button", _i25({\n "data-testid": "navDropDownButton",\n className: f,\n "aria-expanded": o,\n "aria-controls": r,\n onClick: function onClick() {\n return u();\n }\n }, d, {\n type: "button"\n }), a.default.createElement("span", null, t));\n };\n\n t.NavDropDownButton = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.PrimaryNav = void 0;\n var a = l(r(0)),\n n = l(r(1)),\n o = r(13),\n i = r(4);\n\n function l(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _u3 = function u() {\n return (_u3 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n c = function c(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n s = function s(e) {\n var t = e.items,\n r = e.onToggleMobileNav,\n l = e.mobileExpanded,\n s = e.children,\n d = e.className,\n f = c(e, ["items", "onToggleMobileNav", "mobileExpanded", "children", "className"]),\n p = (0, n.default)("usa-nav", {\n "is-visible": l\n }, d);\n return a.default.createElement("nav", _u3({\n className: p\n }, f), a.default.createElement(o.NavCloseButton, {\n onClick: r\n }), a.default.createElement(i.NavList, {\n items: t,\n type: "primary"\n }), s);\n };\n\n t.PrimaryNav = s;\n var d = s;\n t.default = d;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Title = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i26 = function i() {\n return (_i26 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.className,\n r = e.children,\n o = l(e, ["className", "children"]),\n u = (0, n.default)("usa-logo", t);\n return a.default.createElement("div", _i26({\n className: u\n }, o), a.default.createElement("em", {\n className: "usa-logo__text"\n }, r));\n };\n\n t.Title = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Identifier = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i27 = function i() {\n return (_i27 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.className,\n r = e.children,\n o = l(e, ["className", "children"]),\n u = (0, n.default)("usa-identifier", t);\n return a.default.createElement("div", _i27({\n "data-testid": "identifier",\n className: u\n }, o), r);\n };\n\n t.Identifier = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.IdentifierGov = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i28 = function i() {\n return (_i28 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.children,\n r = e.className,\n o = l(e, ["children", "className"]),\n u = (0, n.default)("usa-identifier__section usa-identifier__section--usagov", r);\n return a.default.createElement("section", _i28({\n "data-testid": "identifierGov",\n className: u\n }, o), a.default.createElement("div", {\n className: "usa-identifier__container"\n }, t));\n };\n\n t.IdentifierGov = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.IdentifierIdentity = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i29 = function i() {\n return (_i29 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.children,\n r = e.domain,\n o = e.className,\n u = l(e, ["children", "domain", "className"]),\n c = (0, n.default)("usa-identifier__identity", o);\n return a.default.createElement("div", _i29({\n "data-testid": "identifierIdentity",\n className: c\n }, u), a.default.createElement("p", {\n className: "usa-identifier__identity-domain"\n }, r), a.default.createElement("p", {\n className: "usa-identifier__identity-disclaimer"\n }, t));\n };\n\n t.IdentifierIdentity = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.IdentifierLink = function (e) {\n var t = e.className,\n r = u(e, ["className"]),\n i = (0, n.default)(t, "usa-identifier__required-link"),\n c = _l10(_l10({}, r), {\n className: i\n });\n\n if ((0, o.isCustomProps)(c)) return a.default.createElement(o.Link, _l10({}, c));\n return a.default.createElement(o.Link, _l10({}, c));\n };\n var a = i(r(0)),\n n = i(r(1)),\n o = r(10);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l10 = function l() {\n return (_l10 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.IdentifierLinkItem = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i30 = function i() {\n return (_i30 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.IdentifierLinkItem = function (e) {\n var t = e.children,\n r = e.className,\n o = l(e, ["children", "className"]),\n u = (0, n.default)("usa-identifier__required-links-item", r);\n return a.default.createElement("li", _i30({\n className: u\n }, o), t);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.IdentifierLinks = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i31 = function i() {\n return (_i31 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e) {\n var t = e.children,\n r = e.className,\n o = e.navProps,\n l = e.listProps,\n u = (0, n.default)("usa-identifier__section usa-identifier__section--required-links", r);\n return a.default.createElement("nav", _i31({\n className: u\n }, o), a.default.createElement("div", {\n className: "usa-identifier__container"\n }, a.default.createElement("ul", _i31({\n className: "usa-identifier__required-links-list"\n }, l), t)));\n };\n\n t.IdentifierLinks = l;\n var u = l;\n t.default = u;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.IdentifierLogo = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i32 = function i() {\n return (_i32 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.IdentifierLogo = function (e) {\n var t = e.children,\n r = e.className,\n o = l(e, ["children", "className"]),\n u = (0, n.default)("usa-identifier__logo", r);\n return a.default.createElement("a", _i32({\n className: u\n }, o), t);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.IdentifierLogos = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i33 = function i() {\n return (_i33 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.children,\n r = e.className,\n o = l(e, ["children", "className"]),\n u = (0, n.default)("usa-identifier__logos", r);\n return a.default.createElement("div", _i33({\n "data-testid": "identifierLogos",\n className: u\n }, o), t);\n };\n\n t.IdentifierLogos = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.IdentifierMasthead = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i34 = function i() {\n return (_i34 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.className,\n r = e.children,\n o = l(e, ["className", "children"]),\n u = (0, n.default)("usa-identifier__section usa-identifier__section--masthead", t);\n return a.default.createElement("section", _i34({\n "data-testid": "identifierMasthead",\n className: u\n }, o), a.default.createElement("div", {\n className: "usa-identifier__container"\n }, r));\n };\n\n t.IdentifierMasthead = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.Address = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = r(2);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n t.Address = function (e) {\n var t = e.size,\n r = e.className,\n i = e.big,\n l = e.medium,\n u = e.slim,\n c = e.items;\n i && (0, o.deprecationWarning)("FooterNav property big is deprecated. Use size"), l && (0, o.deprecationWarning)("FooterNav property medium is deprecated. Use size"), u && (0, o.deprecationWarning)("FooterNav property slim is deprecated. Use size");\n var s = t ? "big" === t : i,\n d = t ? "medium" === t : l,\n f = t ? "slim" === t : u,\n p = (0, n.default)("usa-footer__address", r),\n m = (0, n.default)({\n "grid-col-auto": s || d,\n "grid-col-auto mobile-lg:grid-col-12 desktop:grid-col-auto": f\n });\n return a.default.createElement("address", {\n className: p\n }, f ? a.default.createElement("div", {\n className: "grid-row grid-gap"\n }, c.map(function (e, t) {\n return a.default.createElement("div", {\n className: m,\n key: "addressItem-" + t\n }, a.default.createElement("div", {\n className: "usa-footer__contact-info"\n }, e));\n })) : a.default.createElement("div", {\n className: "usa-footer__contact-info grid-row grid-gap"\n }, c.map(function (e, t) {\n return a.default.createElement("div", {\n className: m,\n key: "addressItem-" + t\n }, e);\n })));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.Footer = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = r(2);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l11 = function l() {\n return (_l11 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.Footer = function (e) {\n var t = e.size,\n r = e.big,\n i = e.medium,\n c = e.slim,\n s = e.returnToTop,\n d = e.primary,\n f = e.secondary,\n p = u(e, ["size", "big", "medium", "slim", "returnToTop", "primary", "secondary"]);\n r && (0, o.deprecationWarning)("Footer property big is deprecated. Use size"), i && (0, o.deprecationWarning)("Footer property medium is deprecated. Use size"), c && (0, o.deprecationWarning)("Footer property slim is deprecated. Use size");\n var m = t ? "big" === t : r,\n y = t ? "medium" === t : i,\n b = t ? "slim" === t : c,\n v = (0, n.default)("usa-footer", {\n "usa-footer--big": m,\n "usa-footer--medium": y,\n "usa-footer--slim": b\n }, p.className);\n return a.default.createElement("footer", _l11({}, p, {\n className: v\n }), s && s, a.default.createElement("div", {\n className: "usa-footer__primary-section"\n }, d), a.default.createElement("div", {\n className: "usa-footer__secondary-section"\n }, a.default.createElement("div", {\n className: "grid-container"\n }, f)));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.FooterNav = void 0;\n var a = l(r(0)),\n n = r(18),\n o = l(r(1)),\n i = r(2);\n\n function l(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _u4 = function u() {\n return (_u4 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n c = function c(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n function s(e) {\n return e[0].constructor === Array;\n }\n\n t.FooterNav = function (e) {\n var t = e.className,\n r = e.size,\n l = e.big,\n d = e.medium,\n f = e.slim,\n p = e.isMobile,\n m = e.links,\n y = c(e, ["className", "size", "big", "medium", "slim", "isMobile", "links"]);\n l && (0, i.deprecationWarning)("FooterNav property big is deprecated. Use size"), d && (0, i.deprecationWarning)("FooterNav property medium is deprecated. Use size"), f && (0, i.deprecationWarning)("FooterNav property slim is deprecated. Use size");\n\n var b = r ? "big" === r : l,\n v = r ? "medium" === r : d,\n O = r ? "slim" === r : f,\n g = (0, o.default)("usa-footer__nav", t),\n _ = (0, o.default)("desktop:grid-col-auto usa-footer__primary-content", {\n "mobile-lg:grid-col-4": b || v,\n "mobile-lg:grid-col-6": O\n });\n\n return a.default.createElement("nav", _u4({\n className: g\n }, y), b && s(m) && a.default.createElement(n.FooterExtendedNavList, {\n isMobile: p,\n nestedLinks: m\n }), !s(m) && a.default.createElement("ul", {\n className: "grid-row grid-gap"\n }, m.map(function (e, t) {\n return a.default.createElement("li", {\n key: "navLink-" + t,\n className: _\n }, e);\n })));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.Logo = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = r(2);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.Logo = function (e) {\n var t = e.size,\n r = e.big,\n i = e.medium,\n u = e.slim,\n c = e.heading,\n s = e.image,\n d = l(e, ["size", "big", "medium", "slim", "heading", "image"]);\n r && (0, o.deprecationWarning)("FooterNav property big is deprecated. Use size"), i && (0, o.deprecationWarning)("FooterNav property medium is deprecated. Use size"), u && (0, o.deprecationWarning)("FooterNav property slim is deprecated. Use size");\n var f = t ? "big" === t : r,\n p = t ? "medium" === t : i,\n m = t ? "slim" === t : u,\n y = (0, n.default)("usa-footer__logo grid-row", {\n "mobile-lg:grid-col-6 mobile-lg:grid-gap-2": f || p,\n "grid-gap-2": m\n }, d.className),\n b = (0, n.default)({\n "mobile-lg:grid-col-auto": f || p,\n "grid-col-auto": m\n });\n return a.default.createElement("div", {\n className: y,\n "data-testid": "footerLogo"\n }, a.default.createElement(a.default.Fragment, null, a.default.createElement("div", {\n className: b\n }, s), c && a.default.createElement("div", {\n className: b\n }, c)));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.SocialLinks = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n t.SocialLinks = function (e) {\n var t = e.className,\n r = e.links,\n o = (0, n.default)("usa-footer__social-links grid-row grid-gap-1", t);\n return a.default.createElement("div", {\n className: o\n }, r.map(function (e, t) {\n return a.default.createElement("div", {\n key: "socialLink" + t,\n className: "grid-col-auto"\n }, e);\n }));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.CardGroup = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i35 = function i() {\n return (_i35 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.children,\n r = e.className,\n o = l(e, ["children", "className"]),\n u = (0, n.default)("usa-card-group", r);\n return a.default.createElement("ul", _i35({\n className: u,\n "data-testid": "CardGroup"\n }, o), t);\n };\n\n t.CardGroup = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Card = void 0;\n var a = i(r(0)),\n n = i(r(1)),\n o = r(15);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l12 = function l() {\n return (_l12 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n c = function c(e) {\n var t = e.layout,\n r = void 0 === t ? "standardDefault" : t,\n i = e.headerFirst,\n c = e.children,\n s = e.className,\n d = e.gridLayout,\n f = e.containerProps,\n p = u(e, ["layout", "headerFirst", "children", "className", "gridLayout", "containerProps"]),\n m = f || {},\n y = m.className,\n b = u(m, ["className"]),\n v = d && (0, o.applyGridClasses)(d),\n O = (0, n.default)("usa-card", {\n "usa-card--header-first": i,\n "usa-card--flag": "flagDefault" === r || "flagMediaRight" === r,\n "usa-card--media-right": "flagMediaRight" === r\n }, v, s),\n g = (0, n.default)("usa-card__container", y);\n return a.default.createElement("li", _l12({\n className: O,\n "data-testid": "Card"\n }, p), a.default.createElement("div", _l12({\n className: g\n }, b), c));\n };\n\n t.Card = c;\n var s = c;\n t.default = s;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.CardHeader = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i36 = function i() {\n return (_i36 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.exdent,\n r = e.children,\n o = e.className,\n u = l(e, ["exdent", "children", "className"]),\n c = (0, n.default)("usa-card__header", {\n "usa-card__header--exdent": t\n }, o);\n return a.default.createElement("header", _i36({\n className: c\n }, u, {\n "data-testid": "CardHeader"\n }), r);\n };\n\n t.CardHeader = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.CardMedia = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i37 = function i() {\n return (_i37 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.exdent,\n r = e.inset,\n o = e.imageClass,\n u = e.children,\n c = e.className,\n s = l(e, ["exdent", "inset", "imageClass", "children", "className"]),\n d = (0, n.default)("usa-card__media", {\n "usa-card__media--exdent": t,\n "usa-card__media--inset": r\n }, c),\n f = (0, n.default)("usa-card__img", o);\n return a.default.createElement("div", _i37({\n className: d\n }, s, {\n "data-testid": "CardMedia"\n }), a.default.createElement("div", {\n className: f\n }, u));\n };\n\n t.CardMedia = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.CardBody = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i38 = function i() {\n return (_i38 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.exdent,\n r = e.children,\n o = e.className,\n u = l(e, ["exdent", "children", "className"]),\n c = (0, n.default)("usa-card__body", {\n "usa-card__body--exdent": t\n }, o);\n return a.default.createElement("div", _i38({\n className: c\n }, u, {\n "data-testid": "CardBody"\n }), r);\n };\n\n t.CardBody = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.CardFooter = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i39 = function i() {\n return (_i39 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.exdent,\n r = e.children,\n o = e.className,\n u = l(e, ["exdent", "children", "className"]),\n c = (0, n.default)("usa-card__footer", {\n "usa-card__footer--exdent": t\n }, o);\n return a.default.createElement("div", _i39({\n className: c\n }, u, {\n "data-testid": "CardFooter"\n }), r);\n };\n\n t.CardFooter = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.BreadcrumbBar = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i40 = function i() {\n return (_i40 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n };\n\n t.BreadcrumbBar = function (e) {\n var t = e.variant,\n r = void 0 === t ? "default" : t,\n o = e.children,\n l = e.className,\n u = e.navProps,\n c = e.listProps,\n s = (0, n.default)("usa-breadcrumb", {\n "usa-breadcrumb--wrap": "wrap" === r\n }, l);\n return a.default.createElement("nav", _i40({\n className: s\n }, u, {\n "aria-label": "Breadcrumbs"\n }), a.default.createElement("ol", _i40({\n className: "usa-breadcrumb__list"\n }, c), o));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.Breadcrumb = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i41 = function i() {\n return (_i41 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.Breadcrumb = function (e) {\n var t = e.children,\n r = e.current,\n o = void 0 !== r && r,\n u = e.className,\n c = l(e, ["children", "current", "className"]),\n s = (0, n.default)("usa-breadcrumb__list-item", {\n "usa-current": o\n }, u);\n return a.default.createElement("li", _i41({\n className: s,\n "aria-current": o ? "page" : void 0\n }, c), t);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.BreadcrumbLink = function (e) {\n var t = e.className,\n r = u(e, ["className"]),\n i = (0, a.default)(t, "usa-breadcrumb__link"),\n c = _l13(_l13({}, r), {\n className: i\n });\n\n if ((0, o.isCustomProps)(c)) return n.default.createElement(o.Link, _l13({}, c, {\n variant: "unstyled"\n }));\n return n.default.createElement(o.Link, _l13({}, c, {\n variant: "unstyled"\n }));\n };\n var a = i(r(1)),\n n = i(r(0)),\n o = r(10);\n\n function i(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _l13 = function l() {\n return (_l13 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n u = function u(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.StepIndicator = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i42 = function i() {\n return (_i42 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n };\n\n t.StepIndicator = function (e) {\n var t,\n r = e.showLabels,\n o = void 0 === r || r,\n l = e.counters,\n u = void 0 === l ? "none" : l,\n c = e.centered,\n s = void 0 !== c && c,\n d = e.children,\n f = e.className,\n p = e.divProps,\n m = e.listProps,\n y = (0, n.default)("usa-step-indicator", {\n "usa-step-indicator--no-labels": !o,\n "usa-step-indicator--counters": "default" === u,\n "usa-step-indicator--counters-sm": "small" === u,\n "usa-step-indicator--center": s\n }, f),\n b = -1 === (t = d.findIndex(function (e) {\n return "current" === e.props.status;\n })) ? 0 : t,\n v = b + 1,\n O = d[parseInt("" + b)].props.label,\n g = d.length;\n return a.default.createElement("div", _i42({\n className: y,\n "data-testid": "step-indicator",\n "aria-label": "progress"\n }, p), a.default.createElement("ol", _i42({\n className: "usa-step-indicator__segments"\n }, m), d), a.default.createElement("div", {\n className: "usa-step-indicator__header"\n }, a.default.createElement("h2", {\n className: "usa-step-indicator__heading"\n }, a.default.createElement("span", {\n className: "usa-step-indicator__heading-counter"\n }, a.default.createElement("span", {\n className: "usa-sr-only"\n }, "Step"), a.default.createElement("span", {\n className: "usa-step-indicator__current-step"\n }, v), " ", a.default.createElement("span", {\n className: "usa-step-indicator__total-steps"\n }, "of " + g), " "), a.default.createElement("span", {\n className: "usa-step-indicator__heading-text"\n }, O))));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.StepIndicatorStep = void 0;\n var a = o(r(1)),\n n = o(r(0));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i43 = function i() {\n return (_i43 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.StepIndicatorStep = function (e) {\n var t = e.label,\n r = e.status,\n o = void 0 === r ? "incomplete" : r,\n u = e.className,\n c = l(e, ["label", "status", "className"]),\n s = (0, a.default)("usa-step-indicator__segment", {\n "usa-step-indicator__segment--complete": "complete" === o,\n "usa-step-indicator__segment--current": "current" === o\n }, u);\n return n.default.createElement("li", _i43({\n className: s,\n "aria-current": "current" === o ? "true" : void 0\n }, c), n.default.createElement("span", {\n className: "usa-step-indicator__segment-label"\n }, t, " ", "current" !== o && n.default.createElement("span", {\n className: "usa-sr-only"\n }, "complete" === o ? "completed" : "not completed")));\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.Search = void 0;\n var a = s(r(0)),\n n = s(r(1)),\n o = r(2),\n i = r(14),\n l = r(17),\n u = r(5),\n c = r(7);\n\n function s(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _d2 = function d() {\n return (_d2 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n f = function f(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n p = function p(e) {\n var t = e.onSubmit,\n r = e.size,\n s = e.big,\n p = e.small,\n m = e.className,\n y = e.placeholder,\n b = e.inputName,\n v = void 0 === b ? "search" : b,\n O = e.label,\n g = void 0 === O ? "Search" : O,\n _ = e.inputId,\n h = void 0 === _ ? "search-field" : _,\n j = e.i18n,\n M = f(e, ["onSubmit", "size", "big", "small", "className", "placeholder", "inputName", "label", "inputId", "i18n"]);\n s && (0, o.deprecationWarning)("Search property big is deprecated. Use size"), p && (0, o.deprecationWarning)("Search property small is deprecated. Use size");\n var N = (null == j ? void 0 : j.buttonText) || "Search",\n E = r ? "big" === r : s,\n P = r ? "small" === r : p,\n w = (0, n.default)("usa-search", {\n "usa-search--small": P,\n "usa-search--big": E\n }, m);\n return a.default.createElement(l.Form, _d2({\n onSubmit: t,\n className: w,\n role: "search",\n search: !0\n }, M), a.default.createElement(u.Label, {\n srOnly: !0,\n htmlFor: h\n }, g), a.default.createElement(c.TextInput, {\n id: h,\n type: "search",\n name: v,\n placeholder: y\n }), a.default.createElement(i.Button, {\n type: "submit"\n }, a.default.createElement("span", {\n className: P ? "usa-sr-only" : "usa-search__submit-text"\n }, N)));\n };\n\n t.Search = p;\n var m = p;\n t.default = m;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.SummaryBox = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i44 = function i() {\n return (_i44 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.heading,\n r = e.children,\n o = e.className,\n u = l(e, ["heading", "children", "className"]),\n c = (0, n.default)("usa-summary-box", o);\n return a.default.createElement("div", _i44({\n className: c,\n "data-testid": "summary-box"\n }, u), a.default.createElement("div", {\n className: "usa-summary-box__body"\n }, a.default.createElement("h3", {\n className: "usa-summary-box__heading"\n }, t), a.default.createElement("div", {\n className: "usa-summary-box__text"\n }, r)));\n };\n\n t.SummaryBox = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.ProcessList = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i45 = function i() {\n return (_i45 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.className,\n r = e.children,\n o = l(e, ["className", "children"]),\n u = (0, n.default)("usa-process-list", t);\n return a.default.createElement("ol", _i45({\n className: u\n }, o), r);\n };\n\n t.ProcessList = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.ProcessListItem = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i46 = function i() {\n return (_i46 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.className,\n r = e.children,\n o = l(e, ["className", "children"]),\n u = (0, n.default)("usa-process-list__item", t);\n return a.default.createElement("li", _i46({\n className: u\n }, o), r);\n };\n\n t.ProcessListItem = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.ProcessListHeading = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i47 = function i() {\n return (_i47 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.ProcessListHeading = function (e) {\n var t = e.type,\n r = e.className,\n o = e.children,\n u = l(e, ["type", "className", "children"]),\n c = (0, n.default)("usa-process-list__heading", r),\n s = t;\n return a.default.createElement(s, _i47({\n "data-testid": "processListHeading",\n className: c\n }, u), o);\n };\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.default = t.SiteAlert = void 0;\n var a = o(r(0)),\n n = o(r(1));\n\n function o(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n var _i48 = function i() {\n return (_i48 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n l = function l(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n },\n u = function u(e) {\n var t = e.variant,\n r = e.children,\n o = e.heading,\n u = e.showIcon,\n c = void 0 === u || u,\n s = e.slim,\n d = void 0 !== s && s,\n f = e.className,\n p = l(e, ["variant", "children", "heading", "showIcon", "slim", "className"]),\n m = (0, n.default)("usa-site-alert", {\n "usa-site-alert--info": "info" === t,\n "usa-site-alert--emergency": "emergency" === t,\n "usa-site-alert--no-heading": void 0 === o && !d,\n "usa-site-alert--no-icon": !c,\n "usa-site-alert--slim": d\n }, f);\n return a.default.createElement("section", _i48({\n "data-testid": "siteAlert",\n className: m,\n "aria-label": "Site alert"\n }, p), a.default.createElement("div", {\n className: "usa-alert"\n }, a.default.createElement("div", {\n className: "usa-alert__body"\n }, o && a.default.createElement("h3", {\n className: "usa-alert__heading"\n }, o), r)));\n };\n\n t.SiteAlert = u;\n var c = u;\n t.default = c;\n }, function (e, t, r) {\n "use strict";\n\n Object.defineProperty(t, "__esModule", {\n value: !0\n }), t.useModal = t.connectModal = t.ModalContainer = t.Overlay = t.Modal = void 0;\n\n var a = function (e, t) {\n if (!t && e && e.__esModule) return e;\n if (null === e || "object" != typeof e && "function" != typeof e) return {\n default: e\n };\n var r = u(t);\n if (r && r.has(e)) return r.get(e);\n var a = {},\n n = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var o in e) {\n if ("default" !== o && Object.prototype.hasOwnProperty.call(e, o)) {\n var i = n ? Object.getOwnPropertyDescriptor(e, o) : null;\n i && (i.get || i.set) ? Object.defineProperty(a, o, i) : a[o] = e[o];\n }\n }\n\n a.default = e, r && r.set(e, a);\n return a;\n }(r(0)),\n n = l(r(1)),\n o = l(r(112)),\n i = r(2);\n\n function l(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n function u(e) {\n if ("function" != typeof WeakMap) return null;\n var t = new WeakMap(),\n r = new WeakMap();\n return (u = function u(e) {\n return e ? r : t;\n })(e);\n }\n\n var _c4 = function c() {\n return (_c4 = Object.assign || function (e) {\n for (var t, r = 1, a = arguments.length; r < a; r++) {\n for (var n in t = arguments[r]) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n },\n s = function s(e, t) {\n var r = {};\n\n for (var a in e) {\n Object.prototype.hasOwnProperty.call(e, a) && t.indexOf(a) < 0 && (r[a] = e[a]);\n }\n\n if (null != e && "function" == typeof Object.getOwnPropertySymbols) {\n var n = 0;\n\n for (a = Object.getOwnPropertySymbols(e); n < a.length; n++) {\n t.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, a[n]) && (r[a[n]] = e[a[n]]);\n }\n }\n\n return r;\n };\n\n t.Modal = function (e) {\n var t = e.title,\n r = e.children,\n l = e.actions,\n u = e.className,\n c = (0, n.default)(o.default.modal, u);\n return (0, i.deprecationWarning)("Modal is deprecated. Modal will be removed from react-uswds alongside all other Modal related components and functions in the next major release."), a.default.createElement("div", {\n "data-testid": "modal",\n className: c\n }, a.default.createElement("div", {\n className: o.default.title\n }, t), a.default.createElement("div", {\n className: o.default.content\n }, r), a.default.createElement("div", {\n className: o.default.actions\n }, l));\n };\n\n var d = function d() {\n return a.default.createElement("div", {\n className: o.default.overlay\n });\n };\n\n t.Overlay = d;\n\n var f = function f(e) {\n var t = e.children;\n return (0, i.deprecationWarning)("Modal is deprecated. ModalContainer will be removed from react-uswds alongside all other Modal related components and functions in the next major release."), a.default.createElement("div", {\n className: o.default.modalContainer\n }, t);\n };\n\n t.ModalContainer = f;\n\n t.connectModal = function (e) {\n return function (t) {\n var r = t.isOpen,\n n = s(t, ["isOpen"]);\n return (0, i.deprecationWarning)("Modal is deprecated. \'connectModal\' will be removed from react-uswds alongside all other Modal related components and functions in the next major release."), r ? a.default.createElement(a.default.Fragment, null, a.default.createElement(d, null), a.default.createElement(f, null, a.default.createElement(e, _c4({}, n)))) : null;\n };\n };\n\n t.useModal = function () {\n (0, i.deprecationWarning)("Modal is deprecated. The useModal hook will be removed from react-uswds alongside all other Modal related components and functions in the next major release.");\n var e = (0, a.useState)(!1),\n t = e[0],\n r = e[1];\n return {\n isOpen: t,\n openModal: function openModal() {\n r(!0);\n },\n closeModal: function closeModal() {\n r(!1);\n }\n };\n };\n }, function (e, t, r) {\n "use strict";\n\n r.r(t), t.default = {\n title: "src-components-Modal-Modal-module__title--3YHHD",\n actions: "src-components-Modal-Modal-module__actions--2Ur9N",\n content: "src-components-Modal-Modal-module__content--3-4_Y",\n modal: "src-components-Modal-Modal-module__modal--1uszs",\n overlay: "src-components-Modal-Modal-module__overlay--WSsyO",\n modalContainer: "src-components-Modal-Modal-module__modalContainer--2Zv9O"\n };\n }]);\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AdHJ1c3N3b3Jrcy9yZWFjdC11c3dkcy9saWIvaW5kZXguanM/YjE4MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLEVBQUUsS0FBdUQsc0JBQXNCLG1CQUFPLENBQUMsSUFBTyxLQUFLLENBQW9LO0FBQ3ZRLENBQUM7QUFDRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsZ0JBQWdCOztBQUVoQjtBQUNBLCtCQUErQixzQkFBc0I7QUFDckQ7O0FBRUE7QUFDQTtBQUNBLDREQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLGFBQWE7QUFDYjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDZCQUE2QixjQUFjO0FBQzNDLHdCQUF3Qiw4QkFBOEI7QUFDdEQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVCxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxtREFBbUQ7QUFDbkQ7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLLGFBQWE7QUFDbEI7QUFDQSxLQUFLLDJCQUEyQjs7QUFFaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHFCQUFxQixPQUFPO0FBQzVCLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxFQUFFO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYjtBQUNBLFdBQVcsRUFBRTtBQUNiO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2I7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQSxlQUFlO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBLGFBQWE7QUFDYixXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLGFBQWE7QUFDYjtBQUNBLGFBQWE7QUFDYjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSywyQkFBMkI7O0FBRWhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sd0NBQXdDO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPLHdDQUF3QztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxrREFBa0QsT0FBTztBQUN6RDtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaUJBQWlCLE9BQU87QUFDeEIsdURBQXVELE9BQU87QUFDOUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEsd0NBQXdDO0FBQ3hDLEdBQUc7QUFDSDs7QUFFQSw0Q0FBNEM7QUFDNUMsR0FBRztBQUNIOztBQUVBLDRDQUE0QztBQUM1QyxHQUFHO0FBQ0g7O0FBRUEsNENBQTRDO0FBQzVDLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLGFBQWE7O0FBRWI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLHlDQUF5QztBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBLEtBQUssNkJBQTZCOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViOztBQUVBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLGFBQWE7O0FBRWI7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiOztBQUVBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLGFBQWE7O0FBRWI7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0EsdURBQXVEOztBQUV2RDtBQUNBLGlDQUFpQztBQUNqQyxPQUFPO0FBQ1AsMkJBQTJCLE9BQU87QUFDbEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTyxpREFBaUQ7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsMEVBQTBFO0FBQzFFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxPQUFPOztBQUVQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTyxzQ0FBc0MsNkRBQTZEO0FBQzFHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdFQUF3RTtBQUN4RTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxRQUFRLHlCQUF5QjtBQUNqQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOztBQUVYO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUEsNEJBQTRCLHFDQUFxQztBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsaUNBQWlDO0FBQ3hGO0FBQ0E7O0FBRUEsK0JBQStCLGNBQWM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPLDRFQUE0RTtBQUNuRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQSw0QkFBNEI7O0FBRTVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2QkFBNkIsUUFBUTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixtQkFBbUIsR0FBRyxtQkFBbUIsSUFBSSxpQkFBaUI7QUFDakY7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLElBQUk7QUFDOUM7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEsNENBQTRDO0FBQzVDLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQSxPQUFPOztBQUVQLGlGQUFpRjtBQUNqRixvREFBb0Q7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLHNEQUFzRDtBQUN0RDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQSxPQUFPOztBQUVQLGlGQUFpRjtBQUNqRjtBQUNBLE9BQU87QUFDUCxvREFBb0Q7QUFDcEQ7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0RBQWdELE9BQU87QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaURBQWlELGNBQWM7QUFDL0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRCxPQUFPO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0QsT0FBTztBQUN2RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpREFBaUQsY0FBYztBQUMvRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa1dBQWtXO0FBQ2xXO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDIiwiZmlsZSI6IjI1OTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIhZnVuY3Rpb24gKGUsIHQpIHtcbiAgXCJvYmplY3RcIiA9PSB0eXBlb2YgZXhwb3J0cyAmJiBcIm9iamVjdFwiID09IHR5cGVvZiBtb2R1bGUgPyBtb2R1bGUuZXhwb3J0cyA9IHQocmVxdWlyZShcInJlYWN0XCIpKSA6IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZGVmaW5lICYmIGRlZmluZS5hbWQgPyBkZWZpbmUoW1wicmVhY3RcIl0sIHQpIDogXCJvYmplY3RcIiA9PSB0eXBlb2YgZXhwb3J0cyA/IGV4cG9ydHMuUmVhY3RVU1dEUyA9IHQocmVxdWlyZShcInJlYWN0XCIpKSA6IGUuUmVhY3RVU1dEUyA9IHQoZS5SZWFjdCk7XG59KHRoaXMsIGZ1bmN0aW9uIChlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoZSkge1xuICAgIHZhciB0ID0ge307XG5cbiAgICBmdW5jdGlvbiByKGEpIHtcbiAgICAgIGlmICh0W2FdKSByZXR1cm4gdFthXS5leHBvcnRzO1xuICAgICAgdmFyIG4gPSB0W2FdID0ge1xuICAgICAgICBpOiBhLFxuICAgICAgICBsOiAhMSxcbiAgICAgICAgZXhwb3J0czoge31cbiAgICAgIH07XG4gICAgICByZXR1cm4gZVthXS5jYWxsKG4uZXhwb3J0cywgbiwgbi5leHBvcnRzLCByKSwgbi5sID0gITAsIG4uZXhwb3J0cztcbiAgICB9XG5cbiAgICByZXR1cm4gci5tID0gZSwgci5jID0gdCwgci5kID0gZnVuY3Rpb24gKGUsIHQsIGEpIHtcbiAgICAgIHIubyhlLCB0KSB8fCBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgdCwge1xuICAgICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgICAgZ2V0OiBhXG4gICAgICB9KTtcbiAgICB9LCByLnIgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2YgU3ltYm9sICYmIFN5bWJvbC50b1N0cmluZ1RhZyAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7XG4gICAgICAgIHZhbHVlOiBcIk1vZHVsZVwiXG4gICAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICAgIHZhbHVlOiAhMFxuICAgICAgfSk7XG4gICAgfSwgci50ID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGlmICgxICYgdCAmJiAoZSA9IHIoZSkpLCA4ICYgdCkgcmV0dXJuIGU7XG4gICAgICBpZiAoNCAmIHQgJiYgXCJvYmplY3RcIiA9PSB0eXBlb2YgZSAmJiBlICYmIGUuX19lc01vZHVsZSkgcmV0dXJuIGU7XG4gICAgICB2YXIgYSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICBpZiAoci5yKGEpLCBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgXCJkZWZhdWx0XCIsIHtcbiAgICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICAgIHZhbHVlOiBlXG4gICAgICB9KSwgMiAmIHQgJiYgXCJzdHJpbmdcIiAhPSB0eXBlb2YgZSkgZm9yICh2YXIgbiBpbiBlKSB7XG4gICAgICAgIHIuZChhLCBuLCBmdW5jdGlvbiAodCkge1xuICAgICAgICAgIHJldHVybiBlW3RdO1xuICAgICAgICB9LmJpbmQobnVsbCwgbikpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGE7XG4gICAgfSwgci5uID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gZSAmJiBlLl9fZXNNb2R1bGUgPyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBlLmRlZmF1bHQ7XG4gICAgICB9IDogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH07XG4gICAgICByZXR1cm4gci5kKHQsIFwiYVwiLCB0KSwgdDtcbiAgICB9LCByLm8gPSBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCB0KTtcbiAgICB9LCByLnAgPSBcIlwiLCByKHIucyA9IDE5KTtcbiAgfShbZnVuY3Rpb24gKHQsIHIpIHtcbiAgICB0LmV4cG9ydHMgPSBlO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIHZhciBhO1xuICAgIC8qIVxuICAgICAgQ29weXJpZ2h0IChjKSAyMDE4IEplZCBXYXRzb24uXG4gICAgICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKE1JVCksIHNlZVxuICAgICAgaHR0cDovL2plZHdhdHNvbi5naXRodWIuaW8vY2xhc3NuYW1lc1xuICAgICovXG5cbiAgICAhZnVuY3Rpb24gKCkge1xuICAgICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICAgIHZhciByID0ge30uaGFzT3duUHJvcGVydHk7XG5cbiAgICAgIGZ1bmN0aW9uIG4oKSB7XG4gICAgICAgIGZvciAodmFyIGUgPSBbXSwgdCA9IDA7IHQgPCBhcmd1bWVudHMubGVuZ3RoOyB0KyspIHtcbiAgICAgICAgICB2YXIgYSA9IGFyZ3VtZW50c1t0XTtcblxuICAgICAgICAgIGlmIChhKSB7XG4gICAgICAgICAgICB2YXIgbyA9IHR5cGVvZiBhO1xuICAgICAgICAgICAgaWYgKFwic3RyaW5nXCIgPT09IG8gfHwgXCJudW1iZXJcIiA9PT0gbykgZS5wdXNoKGEpO2Vsc2UgaWYgKEFycmF5LmlzQXJyYXkoYSkpIHtcbiAgICAgICAgICAgICAgaWYgKGEubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdmFyIGkgPSBuLmFwcGx5KG51bGwsIGEpO1xuICAgICAgICAgICAgICAgIGkgJiYgZS5wdXNoKGkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKFwib2JqZWN0XCIgPT09IG8pIGlmIChhLnRvU3RyaW5nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKSBmb3IgKHZhciBsIGluIGEpIHtcbiAgICAgICAgICAgICAgci5jYWxsKGEsIGwpICYmIGFbbF0gJiYgZS5wdXNoKGwpO1xuICAgICAgICAgICAgfSBlbHNlIGUucHVzaChhLnRvU3RyaW5nKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlLmpvaW4oXCIgXCIpO1xuICAgICAgfVxuXG4gICAgICBlLmV4cG9ydHMgPyAobi5kZWZhdWx0ID0gbiwgZS5leHBvcnRzID0gbikgOiB2b2lkIDAgPT09IChhID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gbjtcbiAgICAgIH0uYXBwbHkodCwgW10pKSB8fCAoZS5leHBvcnRzID0gYSk7XG4gICAgfSgpO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZXByZWNhdGlvbldhcm5pbmcgPSB2b2lkIDA7XG5cbiAgICB2YXIgYSA9IGZ1bmN0aW9uIGEoKSB7fTtcblxuICAgIHQuZGVwcmVjYXRpb25XYXJuaW5nID0gYTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuaXNJb3NEZXZpY2UgPSB0LmhhbmRsZVRhYktleSA9IHQubGlzdFRvVGFibGUgPSB0LmlzRGF0ZUludmFsaWQgPSB0LmZvcm1hdERhdGUgPSB0LnBhcnNlRGF0ZVN0cmluZyA9IHQuaXNEYXRlc1llYXJPdXRzaWRlTWluT3JNYXggPSB0LmlzRGF0ZXNNb250aE91dHNpZGVNaW5Pck1heCA9IHQuaXNEYXRlV2l0aGluTWluQW5kTWF4ID0gdC5rZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXggPSB0LmlzU2FtZURheSA9IHQuaXNTYW1lTW9udGggPSB0LmlzU2FtZVllYXIgPSB0Lm1heCA9IHQubWluID0gdC5zZXRZZWFyID0gdC5zZXRNb250aCA9IHQuc3ViWWVhcnMgPSB0LmFkZFllYXJzID0gdC5zdWJNb250aHMgPSB0LmFkZE1vbnRocyA9IHQuZW5kT2ZXZWVrID0gdC5zdGFydE9mV2VlayA9IHQuc3ViV2Vla3MgPSB0LmFkZFdlZWtzID0gdC5zdWJEYXlzID0gdC5hZGREYXlzID0gdC5sYXN0RGF5T2ZNb250aCA9IHQuc3RhcnRPZk1vbnRoID0gdC50b2RheSA9IHQuc2V0RGF0ZSA9IHQua2VlcERhdGVXaXRoaW5Nb250aCA9IHZvaWQgMDtcbiAgICB2YXIgYSxcbiAgICAgICAgbiA9IChhID0gcigwKSkgJiYgYS5fX2VzTW9kdWxlID8gYSA6IHtcbiAgICAgIGRlZmF1bHQ6IGFcbiAgICB9LFxuICAgICAgICBvID0gcig2KTtcblxuICAgIHZhciBpID0gZnVuY3Rpb24gaShlLCB0KSB7XG4gICAgICByZXR1cm4gdCAhPT0gZS5nZXRNb250aCgpICYmIGUuc2V0RGF0ZSgwKSwgZTtcbiAgICB9O1xuXG4gICAgdC5rZWVwRGF0ZVdpdGhpbk1vbnRoID0gaTtcblxuICAgIHZhciBsID0gZnVuY3Rpb24gbChlLCB0LCByKSB7XG4gICAgICB2YXIgYSA9IG5ldyBEYXRlKDApO1xuICAgICAgcmV0dXJuIGEuc2V0RnVsbFllYXIoZSwgdCwgciksIGE7XG4gICAgfTtcblxuICAgIHQuc2V0RGF0ZSA9IGw7XG5cbiAgICB2YXIgdSA9IGZ1bmN0aW9uIHUoKSB7XG4gICAgICB2YXIgZSA9IG5ldyBEYXRlKCksXG4gICAgICAgICAgdCA9IGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgIHIgPSBlLmdldE1vbnRoKCksXG4gICAgICAgICAgYSA9IGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgIHJldHVybiBsKGEsIHIsIHQpO1xuICAgIH07XG5cbiAgICB0LnRvZGF5ID0gdTtcblxuICAgIHZhciBjID0gZnVuY3Rpb24gYyhlKSB7XG4gICAgICB2YXIgdCA9IG5ldyBEYXRlKDApO1xuICAgICAgcmV0dXJuIHQuc2V0RnVsbFllYXIoZS5nZXRGdWxsWWVhcigpLCBlLmdldE1vbnRoKCksIDEpLCB0O1xuICAgIH07XG5cbiAgICB0LnN0YXJ0T2ZNb250aCA9IGM7XG5cbiAgICB2YXIgcyA9IGZ1bmN0aW9uIHMoZSkge1xuICAgICAgdmFyIHQgPSBuZXcgRGF0ZSgwKTtcbiAgICAgIHJldHVybiB0LnNldEZ1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKSwgZS5nZXRNb250aCgpICsgMSwgMCksIHQ7XG4gICAgfTtcblxuICAgIHQubGFzdERheU9mTW9udGggPSBzO1xuXG4gICAgdmFyIGQgPSBmdW5jdGlvbiBkKGUsIHQpIHtcbiAgICAgIHZhciByID0gbmV3IERhdGUoZS5nZXRUaW1lKCkpO1xuICAgICAgcmV0dXJuIHIuc2V0RGF0ZShyLmdldERhdGUoKSArIHQpLCByO1xuICAgIH07XG5cbiAgICB0LmFkZERheXMgPSBkO1xuXG4gICAgdmFyIGYgPSBmdW5jdGlvbiBmKGUsIHQpIHtcbiAgICAgIHJldHVybiBkKGUsIC10KTtcbiAgICB9O1xuXG4gICAgdC5zdWJEYXlzID0gZjtcblxuICAgIHZhciBwID0gZnVuY3Rpb24gcChlLCB0KSB7XG4gICAgICByZXR1cm4gZChlLCA3ICogdCk7XG4gICAgfTtcblxuICAgIHQuYWRkV2Vla3MgPSBwO1xuXG4gICAgdC5zdWJXZWVrcyA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICByZXR1cm4gcChlLCAtdCk7XG4gICAgfTtcblxuICAgIHQuc3RhcnRPZldlZWsgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLmdldERheSgpO1xuICAgICAgcmV0dXJuIGYoZSwgdCk7XG4gICAgfTtcblxuICAgIHQuZW5kT2ZXZWVrID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gZS5nZXREYXkoKTtcbiAgICAgIHJldHVybiBkKGUsIDYgLSB0KTtcbiAgICB9O1xuXG4gICAgdmFyIG0gPSBmdW5jdGlvbiBtKGUsIHQpIHtcbiAgICAgIHZhciByID0gbmV3IERhdGUoZS5nZXRUaW1lKCkpLFxuICAgICAgICAgIGEgPSAoci5nZXRNb250aCgpICsgMTIgKyB0KSAlIDEyO1xuICAgICAgcmV0dXJuIHIuc2V0TW9udGgoci5nZXRNb250aCgpICsgdCksIGkociwgYSksIHI7XG4gICAgfTtcblxuICAgIHQuYWRkTW9udGhzID0gbTtcblxuICAgIHQuc3ViTW9udGhzID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIHJldHVybiBtKGUsIC10KTtcbiAgICB9O1xuXG4gICAgdmFyIHkgPSBmdW5jdGlvbiB5KGUsIHQpIHtcbiAgICAgIHJldHVybiBtKGUsIDEyICogdCk7XG4gICAgfTtcblxuICAgIHQuYWRkWWVhcnMgPSB5O1xuXG4gICAgdC5zdWJZZWFycyA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICByZXR1cm4geShlLCAtdCk7XG4gICAgfTtcblxuICAgIHZhciBiID0gZnVuY3Rpb24gYihlLCB0KSB7XG4gICAgICB2YXIgciA9IG5ldyBEYXRlKGUuZ2V0VGltZSgpKTtcbiAgICAgIHJldHVybiByLnNldE1vbnRoKHQpLCBpKHIsIHQpLCByO1xuICAgIH07XG5cbiAgICB0LnNldE1vbnRoID0gYjtcblxuICAgIHQuc2V0WWVhciA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICB2YXIgciA9IG5ldyBEYXRlKGUuZ2V0VGltZSgpKSxcbiAgICAgICAgICBhID0gci5nZXRNb250aCgpO1xuICAgICAgcmV0dXJuIHIuc2V0RnVsbFllYXIodCksIGkociwgYSksIHI7XG4gICAgfTtcblxuICAgIHQubWluID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIHZhciByID0gZTtcbiAgICAgIHJldHVybiB0IDwgZSAmJiAociA9IHQpLCBuZXcgRGF0ZShyLmdldFRpbWUoKSk7XG4gICAgfTtcblxuICAgIHQubWF4ID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIHZhciByID0gZTtcbiAgICAgIHJldHVybiB0ID4gZSAmJiAociA9IHQpLCBuZXcgRGF0ZShyLmdldFRpbWUoKSk7XG4gICAgfTtcblxuICAgIHZhciB2ID0gZnVuY3Rpb24gdihlLCB0KSB7XG4gICAgICByZXR1cm4gZSAmJiB0ICYmIGUuZ2V0RnVsbFllYXIoKSA9PT0gdC5nZXRGdWxsWWVhcigpO1xuICAgIH07XG5cbiAgICB0LmlzU2FtZVllYXIgPSB2O1xuXG4gICAgdmFyIE8gPSBmdW5jdGlvbiBPKGUsIHQpIHtcbiAgICAgIHJldHVybiB2KGUsIHQpICYmIGUuZ2V0TW9udGgoKSA9PT0gdC5nZXRNb250aCgpO1xuICAgIH07XG5cbiAgICB0LmlzU2FtZU1vbnRoID0gTztcblxuICAgIHQuaXNTYW1lRGF5ID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIHJldHVybiBPKGUsIHQpICYmIGUuZ2V0RGF0ZSgpID09PSB0LmdldERhdGUoKTtcbiAgICB9O1xuXG4gICAgdC5rZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXggPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgICAgdmFyIGEgPSBlO1xuICAgICAgcmV0dXJuIGUgPCB0ID8gYSA9IHQgOiByICYmIGUgPiByICYmIChhID0gciksIG5ldyBEYXRlKGEuZ2V0VGltZSgpKTtcbiAgICB9O1xuXG4gICAgdmFyIGcgPSBmdW5jdGlvbiBnKGUsIHQsIHIpIHtcbiAgICAgIHJldHVybiBlID49IHQgJiYgKCFyIHx8IGUgPD0gcik7XG4gICAgfTtcblxuICAgIHQuaXNEYXRlV2l0aGluTWluQW5kTWF4ID0gZztcblxuICAgIHQuaXNEYXRlc01vbnRoT3V0c2lkZU1pbk9yTWF4ID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICAgIHJldHVybiBzKGUpIDwgdCB8fCAhIXIgJiYgYyhlKSA+IHI7XG4gICAgfTtcblxuICAgIHQuaXNEYXRlc1llYXJPdXRzaWRlTWluT3JNYXggPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgICAgcmV0dXJuIHMoYihlLCAxMSkpIDwgdCB8fCAhIXIgJiYgYyhiKGUsIDApKSA+IHI7XG4gICAgfTtcblxuICAgIHQucGFyc2VEYXRlU3RyaW5nID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICAgIHZhciBhLCBuLCBpLCBjLCBzLCBkLCBmO1xuXG4gICAgICBpZiAodm9pZCAwID09PSB0ICYmICh0ID0gby5JTlRFUk5BTF9EQVRFX0ZPUk1BVCksIHZvaWQgMCA9PT0gciAmJiAociA9ICExKSwgZSkge1xuICAgICAgICB2YXIgcCA9IHZvaWQgMCxcbiAgICAgICAgICAgIG0gPSB2b2lkIDAsXG4gICAgICAgICAgICB5ID0gdm9pZCAwO1xuXG4gICAgICAgIGlmICh0ID09PSBvLkRFRkFVTFRfRVhURVJOQUxfREFURV9GT1JNQVQgPyAocCA9IChhID0gZS5zcGxpdChcIi9cIikpWzBdLCBtID0gYVsxXSwgeSA9IGFbMl0pIDogKHkgPSAobiA9IGUuc3BsaXQoXCItXCIpKVswXSwgcCA9IG5bMV0sIG0gPSBuWzJdKSwgeSAmJiAoZiA9IHBhcnNlSW50KHksIDEwKSwgIU51bWJlci5pc05hTihmKSAmJiAoZCA9IGYsIHIgJiYgKGQgPSBNYXRoLm1heCgwLCBkKSwgeS5sZW5ndGggPCAzKSkpKSB7XG4gICAgICAgICAgdmFyIGIgPSB1KCkuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICBkID0gYiAtIGIgJSBNYXRoLnBvdygxMCwgeS5sZW5ndGgpICsgZjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwICYmIChmID0gcGFyc2VJbnQocCwgMTApLCBOdW1iZXIuaXNOYU4oZikgfHwgKGMgPSBmLCByICYmIChjID0gTWF0aC5tYXgoMSwgYyksIGMgPSBNYXRoLm1pbigxMiwgYykpKSksIGMgJiYgbSAmJiBudWxsICE9IGQgJiYgKGYgPSBwYXJzZUludChtLCAxMCksICFOdW1iZXIuaXNOYU4oZikgJiYgKHMgPSBmLCByKSkpIHtcbiAgICAgICAgICB2YXIgdiA9IGwoZCwgYywgMCkuZ2V0RGF0ZSgpO1xuICAgICAgICAgIHMgPSBNYXRoLm1heCgxLCBzKSwgcyA9IE1hdGgubWluKHYsIHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgYyAmJiBzICYmIG51bGwgIT0gZCAmJiAoaSA9IGwoZCwgYyAtIDEsIHMpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGk7XG4gICAgfTtcblxuICAgIHQuZm9ybWF0RGF0ZSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICB2b2lkIDAgPT09IHQgJiYgKHQgPSBvLklOVEVSTkFMX0RBVEVfRk9STUFUKTtcblxuICAgICAgdmFyIHIgPSBmdW5jdGlvbiByKGUsIHQpIHtcbiAgICAgICAgcmV0dXJuIChcIjAwMDBcIiArIGUpLnNsaWNlKC10KTtcbiAgICAgIH0sXG4gICAgICAgICAgYSA9IGUuZ2V0TW9udGgoKSArIDEsXG4gICAgICAgICAgbiA9IGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgIGkgPSBlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICAgIHJldHVybiB0ID09PSBvLkRFRkFVTFRfRVhURVJOQUxfREFURV9GT1JNQVQgPyBbcihhLCAyKSwgcihuLCAyKSwgcihpLCA0KV0uam9pbihcIi9cIikgOiBbcihpLCA0KSwgcihhLCAyKSwgcihuLCAyKV0uam9pbihcIi1cIik7XG4gICAgfTtcblxuICAgIHQuaXNEYXRlSW52YWxpZCA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgICB2YXIgYSA9ICExO1xuXG4gICAgICBpZiAoZSkge1xuICAgICAgICBhID0gITA7XG4gICAgICAgIHZhciBuID0gZS5zcGxpdChcIi9cIiksXG4gICAgICAgICAgICBvID0gbi5tYXAoZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICB2YXIgdCxcbiAgICAgICAgICAgICAgciA9IHBhcnNlSW50KGUsIDEwKTtcbiAgICAgICAgICByZXR1cm4gTnVtYmVyLmlzTmFOKHIpIHx8ICh0ID0gciksIHQ7XG4gICAgICAgIH0pLFxuICAgICAgICAgICAgaSA9IG9bMF0sXG4gICAgICAgICAgICB1ID0gb1sxXSxcbiAgICAgICAgICAgIGMgPSBvWzJdO1xuXG4gICAgICAgIGlmIChpICYmIHUgJiYgbnVsbCAhPSBjKSB7XG4gICAgICAgICAgdmFyIHMgPSBsKGMsIGkgLSAxLCB1KTtcbiAgICAgICAgICBzLmdldE1vbnRoKCkgPT09IGkgLSAxICYmIHMuZ2V0RGF0ZSgpID09PSB1ICYmIHMuZ2V0RnVsbFllYXIoKSA9PT0gYyAmJiA0ID09PSBuWzJdLmxlbmd0aCAmJiBnKHMsIHQsIHIpICYmIChhID0gITEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhO1xuICAgIH07XG5cbiAgICB0Lmxpc3RUb1RhYmxlID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGZvciAodmFyIHIgPSBbXSwgYSA9IDA7IGEgPCBlLmxlbmd0aDspIHtcbiAgICAgICAgZm9yICh2YXIgbyA9IFtdOyBhIDwgZS5sZW5ndGggJiYgby5sZW5ndGggPCB0Oykge1xuICAgICAgICAgIG8ucHVzaChlW3BhcnNlSW50KFwiXCIgKyBhKV0pLCBhICs9IDE7XG4gICAgICAgIH1cblxuICAgICAgICByLnB1c2gobyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChuLmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsIHIubWFwKGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIHJldHVybiBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInRyXCIsIHtcbiAgICAgICAgICBrZXk6IFwicm93X1wiICsgdFxuICAgICAgICB9LCBlLm1hcChmdW5jdGlvbiAoZSwgcikge1xuICAgICAgICAgIHJldHVybiBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInRkXCIsIHtcbiAgICAgICAgICAgIGtleTogXCJyb3dfXCIgKyB0ICsgXCJfY2VsbF9cIiArIHJcbiAgICAgICAgICB9LCBlKTtcbiAgICAgICAgfSkpO1xuICAgICAgfSkpO1xuICAgIH07XG5cbiAgICB0LmhhbmRsZVRhYktleSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICBpZiAoXCJUYWJcIiA9PT0gZS5rZXkpIHtcbiAgICAgICAgdmFyIHIgPSB0LmZpbHRlcihmdW5jdGlvbiAoZSkge1xuICAgICAgICAgIHJldHVybiBlICYmICFlLmRpc2FibGVkO1xuICAgICAgICB9KSxcbiAgICAgICAgICAgIGEgPSBudWxsID09PSBkb2N1bWVudCB8fCB2b2lkIDAgPT09IGRvY3VtZW50ID8gdm9pZCAwIDogZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIG4gPSByLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICBvID0gcltwYXJzZUludChcIjBcIildLFxuICAgICAgICAgICAgaSA9IHJbcGFyc2VJbnQoXCJcIiArIG4pXSxcbiAgICAgICAgICAgIGwgPSBhIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQgPyByLmluZGV4T2YoYSkgOiAtMSxcbiAgICAgICAgICAgIHUgPSBsID09PSBuLFxuICAgICAgICAgICAgYyA9IDAgPT09IGwsXG4gICAgICAgICAgICBzID0gLTEgPT09IGw7XG4gICAgICAgIGUuc2hpZnRLZXkgPyAoYyB8fCBzKSAmJiAoZS5wcmV2ZW50RGVmYXVsdCgpLCBudWxsID09IGkgfHwgaS5mb2N1cygpKSA6ICh1IHx8IHMpICYmIChlLnByZXZlbnREZWZhdWx0KCksIG51bGwgPT0gbyB8fCBvLmZvY3VzKCkpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB0LmlzSW9zRGV2aWNlID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIG5hdmlnYXRvciAmJiAobmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvKGlQb2R8aVBob25lfGlQYWQpL2cpIHx8IFwiTWFjSW50ZWxcIiA9PT0gbmF2aWdhdG9yLnBsYXRmb3JtICYmIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDEpICYmICF3aW5kb3cuTVNTdHJlYW07XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuTmF2TGlzdCA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IGkocigwKSksXG4gICAgICAgIG4gPSBpKHIoMSkpLFxuICAgICAgICBvID0gcigyKTtcblxuICAgIGZ1bmN0aW9uIGkoZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2wgPSBmdW5jdGlvbiBsKCkge1xuICAgICAgcmV0dXJuIChfbCA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcblxuICAgIHQuTmF2TGlzdCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuaXRlbXMsXG4gICAgICAgICAgciA9IGUudHlwZSxcbiAgICAgICAgICBpID0gZS5wcmltYXJ5LFxuICAgICAgICAgIGMgPSBlLnNlY29uZGFyeSxcbiAgICAgICAgICBzID0gZS5zdWJuYXYsXG4gICAgICAgICAgZCA9IGUubWVnYW1lbnUsXG4gICAgICAgICAgZiA9IGUuZm9vdGVyU2Vjb25kYXJ5LFxuICAgICAgICAgIHAgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBtID0gdShlLCBbXCJpdGVtc1wiLCBcInR5cGVcIiwgXCJwcmltYXJ5XCIsIFwic2Vjb25kYXJ5XCIsIFwic3VibmF2XCIsIFwibWVnYW1lbnVcIiwgXCJmb290ZXJTZWNvbmRhcnlcIiwgXCJjbGFzc05hbWVcIl0pO1xuICAgICAgaSAmJiAoMCwgby5kZXByZWNhdGlvbldhcm5pbmcpKFwiTmF2TGlzdCBwcm9wZXJ0eSBwcmltYXJ5IGlzIGRlcHJlY2F0ZWQuICBVc2UgdHlwZVwiKSwgYyAmJiAoMCwgby5kZXByZWNhdGlvbldhcm5pbmcpKFwiTmF2TGlzdCBwcm9wZXJ0eSBzZWNvbmRhcnkgaXMgZGVwcmVjYXRlZC4gIFVzZSB0eXBlXCIpLCBzICYmICgwLCBvLmRlcHJlY2F0aW9uV2FybmluZykoXCJOYXZMaXN0IHByb3BlcnR5IHN1Ym5hdiBpcyBkZXByZWNhdGVkLiAgVXNlIHR5cGVcIiksIGQgJiYgKDAsIG8uZGVwcmVjYXRpb25XYXJuaW5nKShcIk5hdkxpc3QgcHJvcGVydHkgbWVnYW1lbnUgaXMgZGVwcmVjYXRlZC4gIFVzZSB0eXBlXCIpLCBmICYmICgwLCBvLmRlcHJlY2F0aW9uV2FybmluZykoXCJOYXZMaXN0IHByb3BlcnR5IGZvb3RlclNlY29uZGFyeSBpcyBkZXByZWNhdGVkLiAgVXNlIHR5cGVcIik7XG5cbiAgICAgIHZhciB5ID0gciA/IFwicHJpbWFyeVwiID09PSByIDogaSxcbiAgICAgICAgICBiID0gciA/IFwic2Vjb25kYXJ5XCIgPT09IHIgOiBjLFxuICAgICAgICAgIHYgPSByID8gXCJzdWJuYXZcIiA9PT0gciA6IHMsXG4gICAgICAgICAgTyA9IHIgPyBcIm1lZ2FtZW51XCIgPT09IHIgOiBkLFxuICAgICAgICAgIGcgPSByID8gXCJmb290ZXJTZWNvbmRhcnlcIiA9PT0gciA6IGYsXG4gICAgICAgICAgXyA9ICgwLCBuLmRlZmF1bHQpKHtcbiAgICAgICAgXCJ1c2EtbmF2X19wcmltYXJ5IHVzYS1hY2NvcmRpb25cIjogeSxcbiAgICAgICAgXCJ1c2EtbmF2X19zZWNvbmRhcnktbGlua3NcIjogYixcbiAgICAgICAgXCJ1c2EtbmF2X19zdWJtZW51XCI6IHYsXG4gICAgICAgIFwidXNhLW5hdl9fc3VibWVudS1saXN0XCI6IE8sXG4gICAgICAgIFwidXNhLWxpc3QgdXNhLWxpc3QtLXVuc3R5bGVkXCI6IGdcbiAgICAgIH0sIHApLFxuICAgICAgICAgIGggPSAoMCwgbi5kZWZhdWx0KSh7XG4gICAgICAgIFwidXNhLW5hdl9fcHJpbWFyeS1pdGVtXCI6IHksXG4gICAgICAgIFwidXNhLW5hdl9fc2Vjb25kYXJ5LWl0ZW1cIjogYixcbiAgICAgICAgXCJ1c2EtbmF2X19zdWJtZW51LWl0ZW1cIjogdiB8fCBPLFxuICAgICAgICBcInVzYS1mb290ZXJfX3NlY29uZGFyeS1saW5rXCI6IGdcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ1bFwiLCBfbCh7XG4gICAgICAgIGNsYXNzTmFtZTogX1xuICAgICAgfSwgbSksIHQubWFwKGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpXCIsIHtcbiAgICAgICAgICBrZXk6IFwiaXRlbV9cIiArIHQsXG4gICAgICAgICAgY2xhc3NOYW1lOiBoXG4gICAgICAgIH0sIGUpO1xuICAgICAgfSkpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LkxhYmVsID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5jaGlsZHJlbixcbiAgICAgICAgICByID0gZS5odG1sRm9yLFxuICAgICAgICAgIG8gPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICB1ID0gZS5lcnJvcixcbiAgICAgICAgICBjID0gZS5oaW50LFxuICAgICAgICAgIHMgPSBlLnNyT25seSxcbiAgICAgICAgICBkID0gbChlLCBbXCJjaGlsZHJlblwiLCBcImh0bWxGb3JcIiwgXCJjbGFzc05hbWVcIiwgXCJlcnJvclwiLCBcImhpbnRcIiwgXCJzck9ubHlcIl0pLFxuICAgICAgICAgIGYgPSAoMCwgbi5kZWZhdWx0KSh7XG4gICAgICAgIFwidXNhLWxhYmVsXCI6ICFzLFxuICAgICAgICBcInVzYS1zci1vbmx5XCI6IHMsXG4gICAgICAgIFwidXNhLWxhYmVsLS1lcnJvclwiOiB1XG4gICAgICB9LCBvKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxhYmVsXCIsIF9pKHt9LCBkLCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJsYWJlbFwiLFxuICAgICAgICBjbGFzc05hbWU6IGYsXG4gICAgICAgIGh0bWxGb3I6IHJcbiAgICAgIH0pLCB0LCBjICYmIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtaGludFwiXG4gICAgICB9LCBjKSk7XG4gICAgfTtcblxuICAgIHQuTGFiZWwgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5JTlRFUk5BTF9EQVRFX0ZPUk1BVCA9IHQuREVGQVVMVF9FWFRFUk5BTF9EQVRFX0ZPUk1BVCA9IHQuREVGQVVMVF9NSU5fREFURSA9IHQuWUVBUl9DSFVOSyA9IHQuRU5URVJfS0VZQ09ERSA9IHQuREFZX09GX1dFRUtfU0hPUlRfTEFCRUxTID0gdC5EQVlfT0ZfV0VFS19MQUJFTFMgPSB0Lk1PTlRIX0xBQkVMUyA9IHQuVkFMSURBVElPTl9NRVNTQUdFID0gdm9pZCAwO1xuICAgIHQuVkFMSURBVElPTl9NRVNTQUdFID0gXCJQbGVhc2UgZW50ZXIgYSB2YWxpZCBkYXRlXCI7XG4gICAgdC5NT05USF9MQUJFTFMgPSBbXCJKYW51YXJ5XCIsIFwiRmVicnVhcnlcIiwgXCJNYXJjaFwiLCBcIkFwcmlsXCIsIFwiTWF5XCIsIFwiSnVuZVwiLCBcIkp1bHlcIiwgXCJBdWd1c3RcIiwgXCJTZXB0ZW1iZXJcIiwgXCJPY3RvYmVyXCIsIFwiTm92ZW1iZXJcIiwgXCJEZWNlbWJlclwiXTtcbiAgICB0LkRBWV9PRl9XRUVLX0xBQkVMUyA9IFtcIlN1bmRheVwiLCBcIk1vbmRheVwiLCBcIlR1ZXNkYXlcIiwgXCJXZWRuZXNkYXlcIiwgXCJUaHVyc2RheVwiLCBcIkZyaWRheVwiLCBcIlNhdHVyZGF5XCJdO1xuICAgIHQuREFZX09GX1dFRUtfU0hPUlRfTEFCRUxTID0gW1wiU1wiLCBcIk1cIiwgXCJUXCIsIFwiV1wiLCBcIlRoXCIsIFwiRlwiLCBcIlNcIl07XG4gICAgdC5FTlRFUl9LRVlDT0RFID0gMTM7XG4gICAgdC5ZRUFSX0NIVU5LID0gMTI7XG4gICAgdC5ERUZBVUxUX01JTl9EQVRFID0gXCIwMDAwLTAxLTAxXCI7XG4gICAgdC5ERUZBVUxUX0VYVEVSTkFMX0RBVEVfRk9STUFUID0gXCJNTS9ERC9ZWVlZXCI7XG4gICAgdC5JTlRFUk5BTF9EQVRFX0ZPUk1BVCA9IFwiWVlZWS1NTS1ERFwiO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5UZXh0SW5wdXQgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBpKHIoMCkpLFxuICAgICAgICBuID0gaShyKDEpKSxcbiAgICAgICAgbyA9IHIoMik7XG5cbiAgICBmdW5jdGlvbiBpKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9sMiA9IGZ1bmN0aW9uIGwoKSB7XG4gICAgICByZXR1cm4gKF9sMiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgYyA9IGZ1bmN0aW9uIGMoZSkge1xuICAgICAgdmFyIHQgPSBlLmlkLFxuICAgICAgICAgIHIgPSBlLm5hbWUsXG4gICAgICAgICAgaSA9IGUudHlwZSxcbiAgICAgICAgICBjID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgcyA9IGUudmFsaWRhdGlvblN0YXR1cyxcbiAgICAgICAgICBkID0gZS5lcnJvcixcbiAgICAgICAgICBmID0gZS5zdWNjZXNzLFxuICAgICAgICAgIHAgPSBlLmlucHV0U2l6ZSxcbiAgICAgICAgICBtID0gZS5zbWFsbCxcbiAgICAgICAgICB5ID0gZS5tZWRpdW0sXG4gICAgICAgICAgYiA9IGUuaW5wdXRSZWYsXG4gICAgICAgICAgdiA9IHUoZSwgW1wiaWRcIiwgXCJuYW1lXCIsIFwidHlwZVwiLCBcImNsYXNzTmFtZVwiLCBcInZhbGlkYXRpb25TdGF0dXNcIiwgXCJlcnJvclwiLCBcInN1Y2Nlc3NcIiwgXCJpbnB1dFNpemVcIiwgXCJzbWFsbFwiLCBcIm1lZGl1bVwiLCBcImlucHV0UmVmXCJdKTtcbiAgICAgIGQgJiYgKDAsIG8uZGVwcmVjYXRpb25XYXJuaW5nKShcIlRleHRJbnB1dCBwcm9wZXJ0eSBlcnJvciBpcyBkZXByZWNhdGVkLiAgVXNlIHZhbGlkYXRpb25TdGF0dXNcIiksIGYgJiYgKDAsIG8uZGVwcmVjYXRpb25XYXJuaW5nKShcIlRleHRJbnB1dCBwcm9wZXJ0eSBzdWNjZXNzIGlzIGRlcHJlY2F0ZWQuICBVc2UgdmFsaWRhdGlvblN0YXR1c1wiKSwgbSAmJiAoMCwgby5kZXByZWNhdGlvbldhcm5pbmcpKFwiVGV4dElucHV0IHByb3BlcnR5IHNtYWxsIGlzIGRlcHJlY2F0ZWQuICBVc2UgaW5wdXRTaXplXCIpLCB5ICYmICgwLCBvLmRlcHJlY2F0aW9uV2FybmluZykoXCJUZXh0SW5wdXQgcHJvcGVydHkgbWVkaXVtIGlzIGRlcHJlY2F0ZWQuICBVc2UgaW5wdXRTaXplXCIpO1xuXG4gICAgICB2YXIgTyA9IHMgPyBcImVycm9yXCIgPT09IHMgOiBkLFxuICAgICAgICAgIGcgPSBzID8gXCJzdWNjZXNzXCIgPT09IHMgOiBmLFxuICAgICAgICAgIF8gPSBwID8gXCJzbWFsbFwiID09PSBwIDogbSxcbiAgICAgICAgICBoID0gcCA/IFwibWVkaXVtXCIgPT09IHAgOiB5LFxuICAgICAgICAgIGogPSAoMCwgbi5kZWZhdWx0KShcInVzYS1pbnB1dFwiLCB7XG4gICAgICAgIFwidXNhLWlucHV0LS1lcnJvclwiOiBPLFxuICAgICAgICBcInVzYS1pbnB1dC0tc3VjY2Vzc1wiOiBnLFxuICAgICAgICBcInVzYS1pbnB1dC0tc21hbGxcIjogXyxcbiAgICAgICAgXCJ1c2EtaW5wdXQtLW1lZGl1bVwiOiBoXG4gICAgICB9LCBjKTtcblxuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwgX2wyKHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRleHRJbnB1dFwiLFxuICAgICAgICBjbGFzc05hbWU6IGosXG4gICAgICAgIGlkOiB0LFxuICAgICAgICBuYW1lOiByLFxuICAgICAgICB0eXBlOiBpLFxuICAgICAgICByZWY6IGJcbiAgICAgIH0sIHYpKTtcbiAgICB9O1xuXG4gICAgdC5UZXh0SW5wdXQgPSBjO1xuICAgIHZhciBzID0gYztcbiAgICB0LmRlZmF1bHQgPSBzO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5Gb3JtR3JvdXAgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0LkZvcm1Hcm91cCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgciA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIG8gPSBlLmVycm9yLFxuICAgICAgICAgIGkgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1mb3JtLWdyb3VwXCIsIHtcbiAgICAgICAgXCJ1c2EtZm9ybS1ncm91cC0tZXJyb3JcIjogb1xuICAgICAgfSwgcik7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiZm9ybUdyb3VwXCIsXG4gICAgICAgIGNsYXNzTmFtZTogaVxuICAgICAgfSwgdCk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuc2FtcGxlTG9jYWxpemF0aW9uID0gdC5FTl9VUyA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IHIoNiksXG4gICAgICAgIG4gPSB7XG4gICAgICBtb250aHM6IGEuTU9OVEhfTEFCRUxTLFxuICAgICAgZGF5c09mV2VlazogYS5EQVlfT0ZfV0VFS19MQUJFTFMsXG4gICAgICBkYXlzT2ZXZWVrU2hvcnQ6IGEuREFZX09GX1dFRUtfU0hPUlRfTEFCRUxTLFxuICAgICAgc3RhdHVzZXM6IFtcIllvdSBjYW4gbmF2aWdhdGUgYnkgZGF5IHVzaW5nIGxlZnQgYW5kIHJpZ2h0IGFycm93c1wiLCBcIldlZWtzIGJ5IHVzaW5nIHVwIGFuZCBkb3duIGFycm93c1wiLCBcIk1vbnRocyBieSB1c2luZyBwYWdlIHVwIGFuZCBwYWdlIGRvd24ga2V5c1wiLCBcIlllYXJzIGJ5IHVzaW5nIHNoaWZ0IHBsdXMgcGFnZSB1cCBhbmQgc2hpZnQgcGx1cyBwYWdlIGRvd25cIiwgXCJIb21lIGFuZCBlbmQga2V5cyBuYXZpZ2F0ZSB0byB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgYSB3ZWVrXCJdLFxuICAgICAgc2VsZWN0ZWREYXRlOiBcIlNlbGVjdGVkIGRhdGVcIixcbiAgICAgIHNlbGVjdEFNb250aDogXCJTZWxlY3QgYSBtb250aC5cIixcbiAgICAgIHRvZ2dsZUNhbGVuZGFyOiBcIlRvZ2dsZSBjYWxlbmRhclwiLFxuICAgICAgYmFja09uZVllYXI6IFwiTmF2aWdhdGUgYmFjayBvbmUgeWVhclwiLFxuICAgICAgYmFja09uZU1vbnRoOiBcIk5hdmlnYXRlIGJhY2sgb25lIG1vbnRoXCIsXG4gICAgICBmb3J3YXJkT25lWWVhcjogXCJOYXZpZ2F0ZSBmb3J3YXJkIG9uZSB5ZWFyXCIsXG4gICAgICBmb3J3YXJkT25lTW9udGg6IFwiTmF2aWdhdGUgZm9yd2FyZCBvbmUgbW9udGhcIixcbiAgICAgIGNsaWNrVG9TZWxlY3RNb250aDogXCJDbGljayB0byBzZWxlY3QgbW9udGhcIixcbiAgICAgIGNsaWNrVG9TZWxlY3RZZWFyOiBcIkNsaWNrIHRvIHNlbGVjdCB5ZWFyXCJcbiAgICB9O1xuICAgIHQuRU5fVVMgPSBuO1xuICAgIHQuc2FtcGxlTG9jYWxpemF0aW9uID0ge1xuICAgICAgbW9udGhzOiBbXCJlbmVyb1wiLCBcImZlYnJlcm9cIiwgXCJtYXJ6b1wiLCBcImFicmlsXCIsIFwibWF5b1wiLCBcImp1bmlvXCIsIFwianVsaW9cIiwgXCJhZ29zdG9cIiwgXCJzZXB0aWVtYnJlXCIsIFwib2N0dWJyZVwiLCBcIm5vdmllbWJyZVwiLCBcImRpY2llbWJyZVwiXSxcbiAgICAgIGRheXNPZldlZWs6IFtcImRvbWluZ29cIiwgXCJsdW5lc1wiLCBcIm1hcnRlc1wiLCBcIm1pw6lyY29sZXNcIiwgXCJqdWV2ZXNcIiwgXCJ2aWVybmVzXCIsIFwic8OhYmFkb1wiXSxcbiAgICAgIGRheXNPZldlZWtTaG9ydDogW1wiRG9cIiwgXCJMdVwiLCBcIk1hXCIsIFwiTWlcIiwgXCJKdVwiLCBcIlZpXCIsIFwiU2FcIl0sXG4gICAgICBzdGF0dXNlczogW1wiUHVlZGUgbmF2ZWdhciBwb3IgZMOtYSB1c2FuZG8gbGFzIGZsZWNoYXMgaXpxdWllcmRhIHkgZGVyZWNoYVwiLCBcIlNlbWFuYXMgdXNhbmRvIGZsZWNoYXMgaGFjaWEgYXJyaWJhIHkgaGFjaWEgYWJham9cIiwgXCJNZXNlcyB1c2FuZG8gbGFzIHRlY2xhcyBkZSBhdmFuY2UgeSByZXRyb2Nlc28gZGUgcMOhZ2luYVwiLCBcIkHDsW9zIHVzYW5kbyBzaGlmdCBwbHVzIHBhZ2UgdXAgeSBzaGlmdCBwbHVzIHBhZ2UgZG93blwiLCBcIkxhcyB0ZWNsYXMgZGUgaW5pY2lvIHkgZmluYWxpemFjacOzbiBuYXZlZ2FuIGhhc3RhIGVsIHByaW5jaXBpbyB5IGVsIGZpbmFsIGRlIHVuYSBzZW1hbmFcIl0sXG4gICAgICBzZWxlY3RlZERhdGU6IFwiRmVjaGEgc2VsZWNjaW9uYWRhXCIsXG4gICAgICBzZWxlY3RBTW9udGg6IFwiU2VsZWNjaW9uYSB1biBtZXMuXCIsXG4gICAgICB0b2dnbGVDYWxlbmRhcjogXCJBbHRlcm5hciBjYWxlbmRhcmlvXCIsXG4gICAgICBiYWNrT25lWWVhcjogXCJOYXZlZ2FyIGhhY2lhIGF0csOhcyB1biBhw7FvXCIsXG4gICAgICBiYWNrT25lTW9udGg6IFwiTmF2ZWdhciBoYWNpYSBhdHLDoXMgdW4gbWVzXCIsXG4gICAgICBmb3J3YXJkT25lWWVhcjogXCJOYXZlZ2FyIGhhY2lhIGFkZWxhbnRlIHVuIGHDsW9cIixcbiAgICAgIGZvcndhcmRPbmVNb250aDogXCJOYXZlZ2FyIGhhY2lhIGFkZWxhbnRlIHVuIG1lc1wiLFxuICAgICAgY2xpY2tUb1NlbGVjdE1vbnRoOiBcIkhhZ2EgY2xpYyBwYXJhIHNlbGVjY2lvbmFyIGVsIG1lc1wiLFxuICAgICAgY2xpY2tUb1NlbGVjdFllYXI6IFwiSGFnYSBjbGljIHBhcmEgc2VsZWNjaW9uYXIgZWwgYcOxb1wiXG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuaXNDdXN0b21Qcm9wcyA9IHUsIHQuTGluayA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICBpZiAodShlKSkge1xuICAgICAgICB2YXIgdCA9IGUudmFyaWFudCxcbiAgICAgICAgICAgIHIgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIG4gPSBlLmFzQ3VzdG9tLFxuICAgICAgICAgICAgbyA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgICBzID0gbChlLCBbXCJ2YXJpYW50XCIsIFwiY2xhc3NOYW1lXCIsIFwiYXNDdXN0b21cIiwgXCJjaGlsZHJlblwiXSksXG4gICAgICAgICAgICBkID0gYyh0LCByKTtcbiAgICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KG4sIF9pMih7XG4gICAgICAgICAgY2xhc3NOYW1lOiBkXG4gICAgICAgIH0sIHMpLCBvKTtcbiAgICAgIH1cblxuICAgICAgbyA9IGUuY2hpbGRyZW4sIHIgPSBlLmNsYXNzTmFtZSwgdCA9IGUudmFyaWFudCwgcyA9IGwoZSwgW1wiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJ2YXJpYW50XCJdKSwgZCA9IGModCwgcik7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJhXCIsIF9pMih7XG4gICAgICAgIGNsYXNzTmFtZTogZFxuICAgICAgfSwgcyksIG8pO1xuICAgIH07XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kyID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kyID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gdShlKSB7XG4gICAgICByZXR1cm4gXCJhc0N1c3RvbVwiIGluIGU7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYyhlLCB0KSB7XG4gICAgICB2YXIgciA9IFwiZXh0ZXJuYWxcIiA9PT0gZSxcbiAgICAgICAgICBhID0gXCJuYXZcIiA9PT0gZTtcbiAgICAgIHJldHVybiBcInVuc3R5bGVkXCIgPT09IGUgPyB0IDogKDAsIG4uZGVmYXVsdCkoXCJ1c2EtbGlua1wiLCB7XG4gICAgICAgIFwidXNhLWxpbmstLWV4dGVybmFsXCI6IHIsXG4gICAgICAgIFwidXNhLW5hdl9fbGlua1wiOiBhXG4gICAgICB9LCB0KTtcbiAgICB9XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LkNvbWJvQm94ID0gdC5Gb2N1c01vZGUgPSB2b2lkIDA7XG5cbiAgICB2YXIgYSxcbiAgICAgICAgbiA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICBpZiAoIXQgJiYgZSAmJiBlLl9fZXNNb2R1bGUpIHJldHVybiBlO1xuICAgICAgaWYgKG51bGwgPT09IGUgfHwgXCJvYmplY3RcIiAhPSB0eXBlb2YgZSAmJiBcImZ1bmN0aW9uXCIgIT0gdHlwZW9mIGUpIHJldHVybiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgICB2YXIgciA9IGwodCk7XG4gICAgICBpZiAociAmJiByLmhhcyhlKSkgcmV0dXJuIHIuZ2V0KGUpO1xuICAgICAgdmFyIGEgPSB7fSxcbiAgICAgICAgICBuID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbiAgICAgIGZvciAodmFyIG8gaW4gZSkge1xuICAgICAgICBpZiAoXCJkZWZhdWx0XCIgIT09IG8gJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIG8pKSB7XG4gICAgICAgICAgdmFyIGkgPSBuID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLCBvKSA6IG51bGw7XG4gICAgICAgICAgaSAmJiAoaS5nZXQgfHwgaS5zZXQpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIG8sIGkpIDogYVtvXSA9IGVbb107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYS5kZWZhdWx0ID0gZSwgciAmJiByLnNldChlLCBhKTtcbiAgICAgIHJldHVybiBhO1xuICAgIH0ocigwKSksXG4gICAgICAgIG8gPSAoYSA9IHIoMSkpICYmIGEuX19lc01vZHVsZSA/IGEgOiB7XG4gICAgICBkZWZhdWx0OiBhXG4gICAgfSxcbiAgICAgICAgaSA9IHIoNDkpO1xuXG4gICAgZnVuY3Rpb24gbChlKSB7XG4gICAgICBpZiAoXCJmdW5jdGlvblwiICE9IHR5cGVvZiBXZWFrTWFwKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciB0ID0gbmV3IFdlYWtNYXAoKSxcbiAgICAgICAgICByID0gbmV3IFdlYWtNYXAoKTtcbiAgICAgIHJldHVybiAobCA9IGZ1bmN0aW9uIGwoZSkge1xuICAgICAgICByZXR1cm4gZSA/IHIgOiB0O1xuICAgICAgfSkoZSk7XG4gICAgfVxuXG4gICAgdmFyIHUsXG4gICAgICAgIGMsXG4gICAgICAgIF9zID0gZnVuY3Rpb24gcygpIHtcbiAgICAgIHJldHVybiAoX3MgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGQgPSBmdW5jdGlvbiBkKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH07XG5cbiAgICAhZnVuY3Rpb24gKGUpIHtcbiAgICAgIGVbZS5QcmV2aW91cyA9IC0xXSA9IFwiUHJldmlvdXNcIiwgZVtlLk5leHQgPSAxXSA9IFwiTmV4dFwiO1xuICAgIH0odSB8fCAodSA9IHt9KSksIHQuRm9jdXNNb2RlID0gYywgZnVuY3Rpb24gKGUpIHtcbiAgICAgIGVbZS5Ob25lID0gMF0gPSBcIk5vbmVcIiwgZVtlLklucHV0ID0gMV0gPSBcIklucHV0XCIsIGVbZS5JdGVtID0gMl0gPSBcIkl0ZW1cIjtcbiAgICB9KGMgfHwgKHQuRm9jdXNNb2RlID0gYyA9IHt9KSk7XG5cbiAgICB2YXIgZiA9IGZ1bmN0aW9uIGYoZSkge1xuICAgICAgdmFyIHQgPSBlLmZvY3VzZWQsXG4gICAgICAgICAgciA9IGQoZSwgW1wiZm9jdXNlZFwiXSksXG4gICAgICAgICAgYSA9ICgwLCBuLnVzZVJlZikobnVsbCk7XG4gICAgICByZXR1cm4gKDAsIG4udXNlRWZmZWN0KShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHQgJiYgYS5jdXJyZW50ICYmIGEuY3VycmVudC5mb2N1cygpO1xuICAgICAgfSksIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwgX3Moe1xuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1jb21iby1ib3hfX2lucHV0XCIsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJjb21iby1ib3gtaW5wdXRcIlxuICAgICAgfSwgciwge1xuICAgICAgICBhdXRvQ2FwaXRhbGl6ZTogXCJvZmZcIixcbiAgICAgICAgYXV0b0NvbXBsZXRlOiBcIm9mZlwiLFxuICAgICAgICByZWY6IGFcbiAgICAgIH0pKTtcbiAgICB9LFxuICAgICAgICBwID0gZnVuY3Rpb24gcChlKSB7XG4gICAgICB2YXIgdCxcbiAgICAgICAgICByLFxuICAgICAgICAgIGEgPSBlLmlkLFxuICAgICAgICAgIGwgPSBlLm5hbWUsXG4gICAgICAgICAgZCA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHAgPSBlLm9wdGlvbnMsXG4gICAgICAgICAgbSA9IGUuZGVmYXVsdFZhbHVlLFxuICAgICAgICAgIHkgPSBlLmRpc2FibGVkLFxuICAgICAgICAgIGIgPSBlLm9uQ2hhbmdlLFxuICAgICAgICAgIHYgPSBlLmFzc2lzdGl2ZUhpbnQsXG4gICAgICAgICAgTyA9IGUubm9SZXN1bHRzLFxuICAgICAgICAgIGcgPSBlLnNlbGVjdFByb3BzLFxuICAgICAgICAgIF8gPSBlLmlucHV0UHJvcHMsXG4gICAgICAgICAgaCA9IGUudWxQcm9wcyxcbiAgICAgICAgICBqID0gZS5jdXN0b21GaWx0ZXIsXG4gICAgICAgICAgTSA9IGUuZGlzYWJsZUZpbHRlcmluZyxcbiAgICAgICAgICBOID0gdm9pZCAwICE9PSBNICYmIE0sXG4gICAgICAgICAgRSA9ICEheTtcbiAgICAgIG0gJiYgKHIgPSBwLmZpbmQoZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgcmV0dXJuIGUudmFsdWUgPT09IG07XG4gICAgICB9KSk7XG4gICAgICB2YXIgUCA9IGogfHwge1xuICAgICAgICBmaWx0ZXI6IFwiLip7e3F1ZXJ5fX0uKlwiXG4gICAgICB9LFxuICAgICAgICAgIHcgPSB7XG4gICAgICAgIGlzT3BlbjogITEsXG4gICAgICAgIHNlbGVjdGVkT3B0aW9uOiByIHx8IHZvaWQgMCxcbiAgICAgICAgZm9jdXNlZE9wdGlvbjogdm9pZCAwLFxuICAgICAgICBmb2N1c01vZGU6IGMuTm9uZSxcbiAgICAgICAgZmlsdGVyZWRPcHRpb25zOiBwLFxuICAgICAgICBpbnB1dFZhbHVlOiByID8gci5sYWJlbCA6IFwiXCJcbiAgICAgIH0sXG4gICAgICAgICAgSSA9ICgwLCBpLnVzZUNvbWJvQm94KSh3LCBwLCBOLCBQKSxcbiAgICAgICAgICBEID0gSVswXSxcbiAgICAgICAgICBTID0gSVsxXSxcbiAgICAgICAgICB4ID0gKDAsIG4udXNlUmVmKShudWxsKSxcbiAgICAgICAgICBrID0gKDAsIG4udXNlUmVmKShudWxsKTtcbiAgICAgICgwLCBuLnVzZUVmZmVjdCkoZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZTtcbiAgICAgICAgYiAmJiBiKChudWxsID09PSAoZSA9IEQuc2VsZWN0ZWRPcHRpb24pIHx8IHZvaWQgMCA9PT0gZSA/IHZvaWQgMCA6IGUudmFsdWUpIHx8IHZvaWQgMCk7XG4gICAgICB9LCBbRC5zZWxlY3RlZE9wdGlvbl0pLCAoMCwgbi51c2VFZmZlY3QpKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgRC5mb2N1c01vZGUgPT09IGMuSXRlbSAmJiBELmZvY3VzZWRPcHRpb24gJiYgay5jdXJyZW50ICYmIGsuY3VycmVudC5mb2N1cygpO1xuICAgICAgfSwgW0QuZm9jdXNNb2RlLCBELmZvY3VzZWRPcHRpb25dKSwgKDAsIG4udXNlRWZmZWN0KShmdW5jdGlvbiAoKSB7XG4gICAgICAgIEQuaXNPcGVuICYmIEQuZm9jdXNlZE9wdGlvbiAmJiBrLmN1cnJlbnQgJiYgRC5mb2N1c01vZGUgPT09IGMuSW5wdXQgJiYgay5jdXJyZW50LnNjcm9sbEludG9WaWV3KCExKTtcbiAgICAgIH0sIFtELmlzT3BlbiwgRC5mb2N1c2VkT3B0aW9uXSksICgwLCBuLnVzZUVmZmVjdCkoZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZTtcbiAgICAgICAgRC5mb2N1c01vZGUgIT09IGMuTm9uZSAmJiAoKG51bGwgPT09IChlID0geC5jdXJyZW50KSB8fCB2b2lkIDAgPT09IGUgPyB2b2lkIDAgOiBlLmNvbnRhaW5zKHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50KSkgfHwgUyh7XG4gICAgICAgICAgdHlwZTogaS5BY3Rpb25UeXBlcy5CTFVSXG4gICAgICAgIH0pKTtcbiAgICAgIH0sIFtELmZvY3VzTW9kZV0pO1xuXG4gICAgICB2YXIgQSA9IGZ1bmN0aW9uIEEoZSwgdCwgcikge1xuICAgICAgICB2YXIgYSA9IHQuZm9jdXNlZE9wdGlvbiA/IHQuZmlsdGVyZWRPcHRpb25zLmluZGV4T2YodC5mb2N1c2VkT3B0aW9uKSA6IC0xLFxuICAgICAgICAgICAgbiA9IHQuZmlsdGVyZWRPcHRpb25zWzBdLFxuICAgICAgICAgICAgbyA9IHQuZmlsdGVyZWRPcHRpb25zW3QuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCAtIDFdO1xuICAgICAgICBpZiAoLTEgPT09IGEpIGUoe1xuICAgICAgICAgIHR5cGU6IGkuQWN0aW9uVHlwZXMuRk9DVVNfT1BUSU9OLFxuICAgICAgICAgIG9wdGlvbjogblxuICAgICAgICB9KTtlbHNlIHtcbiAgICAgICAgICB2YXIgbCA9IGEgKyByO1xuICAgICAgICAgIGlmIChsIDwgMCAmJiB0LnNlbGVjdGVkT3B0aW9uKSBlKHtcbiAgICAgICAgICAgIHR5cGU6IGkuQWN0aW9uVHlwZXMuRk9DVVNfT1BUSU9OLFxuICAgICAgICAgICAgb3B0aW9uOiBuXG4gICAgICAgICAgfSk7ZWxzZSBpZiAobCA8IDApIGUoe1xuICAgICAgICAgICAgdHlwZTogaS5BY3Rpb25UeXBlcy5DTE9TRV9MSVNUXG4gICAgICAgICAgfSk7ZWxzZSBpZiAobCA+PSB0LmZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpIGUoe1xuICAgICAgICAgICAgdHlwZTogaS5BY3Rpb25UeXBlcy5GT0NVU19PUFRJT04sXG4gICAgICAgICAgICBvcHRpb246IG9cbiAgICAgICAgICB9KTtlbHNlIHtcbiAgICAgICAgICAgIHZhciB1ID0gdC5maWx0ZXJlZE9wdGlvbnNbbF07XG4gICAgICAgICAgICBlKHtcbiAgICAgICAgICAgICAgdHlwZTogaS5BY3Rpb25UeXBlcy5GT0NVU19PUFRJT04sXG4gICAgICAgICAgICAgIG9wdGlvbjogdVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgICAgIFQgPSBmdW5jdGlvbiBUKGUpIHtcbiAgICAgICAgdmFyIHQsXG4gICAgICAgICAgICByID0gZS5yZWxhdGVkVGFyZ2V0O1xuICAgICAgICAoIXIgfHwgciBpbnN0YW5jZW9mIE5vZGUgJiYgIShudWxsID09PSAodCA9IHguY3VycmVudCkgfHwgdm9pZCAwID09PSB0ID8gdm9pZCAwIDogdC5jb250YWlucyhyKSkpICYmIFMoe1xuICAgICAgICAgIHR5cGU6IGkuQWN0aW9uVHlwZXMuQkxVUlxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAgICAgQyA9IGZ1bmN0aW9uIEMoZSkge1xuICAgICAgICBcIkVzY2FwZVwiID09PSBlLmtleSA/IFMoe1xuICAgICAgICAgIHR5cGU6IGkuQWN0aW9uVHlwZXMuQ0xPU0VfTElTVFxuICAgICAgICB9KSA6IFwiVGFiXCIgPT09IGUua2V5IHx8IFwiRW50ZXJcIiA9PT0gZS5rZXkgPyAoZS5wcmV2ZW50RGVmYXVsdCgpLCBELmZvY3VzZWRPcHRpb24gJiYgUyh7XG4gICAgICAgICAgdHlwZTogaS5BY3Rpb25UeXBlcy5TRUxFQ1RfT1BUSU9OLFxuICAgICAgICAgIG9wdGlvbjogRC5mb2N1c2VkT3B0aW9uXG4gICAgICAgIH0pKSA6IFwiQXJyb3dEb3duXCIgPT09IGUua2V5IHx8IFwiRG93blwiID09PSBlLmtleSA/IChlLnByZXZlbnREZWZhdWx0KCksIEEoUywgRCwgdS5OZXh0KSkgOiBcIkFycm93VXBcIiAhPT0gZS5rZXkgJiYgXCJVcFwiICE9PSBlLmtleSB8fCAoZS5wcmV2ZW50RGVmYXVsdCgpLCBBKFMsIEQsIHUuUHJldmlvdXMpKTtcbiAgICAgIH0sXG4gICAgICAgICAgTCA9IEQuc2VsZWN0ZWRPcHRpb24gJiYgRC5zZWxlY3RlZE9wdGlvbi5sYWJlbCA9PT0gRC5pbnB1dFZhbHVlLFxuICAgICAgICAgIEYgPSAoMCwgby5kZWZhdWx0KShcInVzYS1jb21iby1ib3hcIiwgZCwge1xuICAgICAgICBcInVzYS1jb21iby1ib3gtLXByaXN0aW5lXCI6IExcbiAgICAgIH0pLFxuICAgICAgICAgIFIgPSBcImNvbWJvYm94LVwiICsgbCArIFwiLWxpc3RcIixcbiAgICAgICAgICBVID0gXCJjb21ib2JveC1cIiArIGwgKyBcIi1hc3Npc3RpdmUtaGludFwiO1xuXG4gICAgICByZXR1cm4gbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiY29tYm8tYm94XCIsXG4gICAgICAgIGNsYXNzTmFtZTogRixcbiAgICAgICAgaWQ6IGEsXG4gICAgICAgIHJlZjogeFxuICAgICAgfSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzZWxlY3RcIiwgX3Moe1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLXNlbGVjdCB1c2Etc3Itb25seSB1c2EtY29tYm8tYm94X19zZWxlY3RcIixcbiAgICAgICAgbmFtZTogbCxcbiAgICAgICAgXCJhcmlhLWhpZGRlblwiOiAhMCxcbiAgICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IG51bGwgPT09ICh0ID0gRC5zZWxlY3RlZE9wdGlvbikgfHwgdm9pZCAwID09PSB0ID8gdm9pZCAwIDogdC52YWx1ZSxcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImNvbWJvLWJveC1zZWxlY3RcIixcbiAgICAgICAgZGlzYWJsZWQ6IEVcbiAgICAgIH0sIGcpLCBwLm1hcChmdW5jdGlvbiAoZSkge1xuICAgICAgICByZXR1cm4gbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJvcHRpb25cIiwge1xuICAgICAgICAgIGtleTogZS52YWx1ZSxcbiAgICAgICAgICB2YWx1ZTogZS52YWx1ZVxuICAgICAgICB9LCBlLmxhYmVsKTtcbiAgICAgIH0pKSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoZiwgX3Moe1xuICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuICAgICAgICAgIHJldHVybiBTKHtcbiAgICAgICAgICAgIHR5cGU6IGkuQWN0aW9uVHlwZXMuVVBEQVRFX0ZJTFRFUixcbiAgICAgICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuICAgICAgICAgIHJldHVybiBTKHtcbiAgICAgICAgICAgIHR5cGU6IGkuQWN0aW9uVHlwZXMuT1BFTl9MSVNUXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKGUpIHtcbiAgICAgICAgICB2YXIgdCxcbiAgICAgICAgICAgICAgciA9IGUucmVsYXRlZFRhcmdldDtcbiAgICAgICAgICAoIXIgfHwgciBpbnN0YW5jZW9mIE5vZGUgJiYgIShudWxsID09PSAodCA9IHguY3VycmVudCkgfHwgdm9pZCAwID09PSB0ID8gdm9pZCAwIDogdC5jb250YWlucyhyKSkpICYmIEQuZm9jdXNNb2RlICE9PSBjLk5vbmUgJiYgUyh7XG4gICAgICAgICAgICB0eXBlOiBpLkFjdGlvblR5cGVzLkJMVVJcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25LZXlEb3duOiBmdW5jdGlvbiBvbktleURvd24oZSkge1xuICAgICAgICAgIGlmIChcIkVzY2FwZVwiID09PSBlLmtleSkgUyh7XG4gICAgICAgICAgICB0eXBlOiBpLkFjdGlvblR5cGVzLkNMT1NFX0xJU1RcbiAgICAgICAgICB9KTtlbHNlIGlmIChcIkFycm93RG93blwiID09PSBlLmtleSB8fCBcIkRvd25cIiA9PSBlLmtleSkgZS5wcmV2ZW50RGVmYXVsdCgpLCBTKHtcbiAgICAgICAgICAgIHR5cGU6IGkuQWN0aW9uVHlwZXMuRk9DVVNfT1BUSU9OLFxuICAgICAgICAgICAgb3B0aW9uOiBELnNlbGVjdGVkT3B0aW9uIHx8IEQuZm9jdXNlZE9wdGlvbiB8fCBELmZpbHRlcmVkT3B0aW9uc1swXVxuICAgICAgICAgIH0pO2Vsc2UgaWYgKFwiVGFiXCIgPT09IGUua2V5KSB7XG4gICAgICAgICAgICBpZiAoRC5pc09wZW4gJiYgIUQuc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgICAgICAgICAgdmFyIHQgPSBOID8gRC5mb2N1c2VkT3B0aW9uIDogRC5zZWxlY3RlZE9wdGlvbiB8fCBELmZvY3VzZWRPcHRpb247XG4gICAgICAgICAgICAgIHQgPyAoZS5wcmV2ZW50RGVmYXVsdCgpLCBTKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBpLkFjdGlvblR5cGVzLkZPQ1VTX09QVElPTixcbiAgICAgICAgICAgICAgICBvcHRpb246IHRcbiAgICAgICAgICAgICAgfSkpIDogUyh7XG4gICAgICAgICAgICAgICAgdHlwZTogaS5BY3Rpb25UeXBlcy5CTFVSXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAhRC5pc09wZW4gJiYgRC5zZWxlY3RlZE9wdGlvbiAmJiBTKHtcbiAgICAgICAgICAgICAgdHlwZTogaS5BY3Rpb25UeXBlcy5CTFVSXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKFwiRW50ZXJcIiA9PT0gZS5rZXkgJiYgRC5pc09wZW4pIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHZhciByID0gRC5maWx0ZXJlZE9wdGlvbnMuZmluZChmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICByZXR1cm4gZS5sYWJlbC50b0xvd2VyQ2FzZSgpID09PSBELmlucHV0VmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgciA/IFMoe1xuICAgICAgICAgICAgICB0eXBlOiBpLkFjdGlvblR5cGVzLlNFTEVDVF9PUFRJT04sXG4gICAgICAgICAgICAgIG9wdGlvbjogclxuICAgICAgICAgICAgfSkgOiBELnNlbGVjdGVkT3B0aW9uID8gUyh7XG4gICAgICAgICAgICAgIHR5cGU6IGkuQWN0aW9uVHlwZXMuQ0xPU0VfTElTVFxuICAgICAgICAgICAgfSkgOiBTKHtcbiAgICAgICAgICAgICAgdHlwZTogaS5BY3Rpb25UeXBlcy5DTEVBUlxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB2YWx1ZTogRC5pbnB1dFZhbHVlLFxuICAgICAgICBmb2N1c2VkOiBELmZvY3VzTW9kZSA9PT0gYy5JbnB1dCxcbiAgICAgICAgcm9sZTogXCJjb21ib2JveFwiLFxuICAgICAgICBcImFyaWEtb3duc1wiOiBSLFxuICAgICAgICBcImFyaWEtZGVzY3JpYmVkYnlcIjogVSxcbiAgICAgICAgXCJhcmlhLWV4cGFuZGVkXCI6IEQuaXNPcGVuLFxuICAgICAgICBkaXNhYmxlZDogRVxuICAgICAgfSwgXykpLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWNvbWJvLWJveF9fY2xlYXItaW5wdXRfX3dyYXBwZXJcIixcbiAgICAgICAgdGFiSW5kZXg6IC0xXG4gICAgICB9LCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7XG4gICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtY29tYm8tYm94X19jbGVhci1pbnB1dFwiLFxuICAgICAgICBcImFyaWEtbGFiZWxcIjogXCJDbGVhciB0aGUgc2VsZWN0IGNvbnRlbnRzXCIsXG4gICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG4gICAgICAgICAgcmV0dXJuIFMoe1xuICAgICAgICAgICAgdHlwZTogaS5BY3Rpb25UeXBlcy5DTEVBUlxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiY29tYm8tYm94LWNsZWFyLWJ1dHRvblwiLFxuICAgICAgICBvbktleURvd246IGZ1bmN0aW9uIG9uS2V5RG93bihlKSB7XG4gICAgICAgICAgXCJUYWJcIiA9PT0gZS5rZXkgJiYgRC5pc09wZW4gJiYgRC5zZWxlY3RlZE9wdGlvbiAmJiAoZS5wcmV2ZW50RGVmYXVsdCgpLCBTKHtcbiAgICAgICAgICAgIHR5cGU6IGkuQWN0aW9uVHlwZXMuRk9DVVNfT1BUSU9OLFxuICAgICAgICAgICAgb3B0aW9uOiBELnNlbGVjdGVkT3B0aW9uXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9LFxuICAgICAgICBoaWRkZW46ICFMXG4gICAgICB9LCBcIsKgXCIpKSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1jb21iby1ib3hfX2lucHV0LWJ1dHRvbi1zZXBhcmF0b3JcIlxuICAgICAgfSwgXCLCoFwiKSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1jb21iby1ib3hfX3RvZ2dsZS1saXN0X193cmFwcGVyXCIsXG4gICAgICAgIHRhYkluZGV4OiAtMVxuICAgICAgfSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwge1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiY29tYm8tYm94LXRvZ2dsZVwiLFxuICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWNvbWJvLWJveF9fdG9nZ2xlLWxpc3RcIixcbiAgICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgICBcImFyaWEtbGFiZWxcIjogXCJUb2dnbGUgdGhlIGRyb3Bkb3duIGxpc3RcIixcbiAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcbiAgICAgICAgICByZXR1cm4gUyh7XG4gICAgICAgICAgICB0eXBlOiBELmlzT3BlbiA/IGkuQWN0aW9uVHlwZXMuQ0xPU0VfTElTVCA6IGkuQWN0aW9uVHlwZXMuT1BFTl9MSVNUXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiBFXG4gICAgICB9LCBcIsKgXCIpKSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ1bFwiLCBfcyh7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJjb21iby1ib3gtb3B0aW9uLWxpc3RcIixcbiAgICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgICBpZDogUixcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1jb21iby1ib3hfX2xpc3RcIixcbiAgICAgICAgcm9sZTogXCJsaXN0Ym94XCIsXG4gICAgICAgIGhpZGRlbjogIUQuaXNPcGVuXG4gICAgICB9LCBoKSwgRC5maWx0ZXJlZE9wdGlvbnMubWFwKGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIHZhciByID0gZSA9PT0gRC5mb2N1c2VkT3B0aW9uLFxuICAgICAgICAgICAgYSA9IGUgPT09IEQuc2VsZWN0ZWRPcHRpb24sXG4gICAgICAgICAgICBsID0gKDAsIG8uZGVmYXVsdCkoXCJ1c2EtY29tYm8tYm94X19saXN0LW9wdGlvblwiLCB7XG4gICAgICAgICAgXCJ1c2EtY29tYm8tYm94X19saXN0LW9wdGlvbi0tZm9jdXNlZFwiOiByLFxuICAgICAgICAgIFwidXNhLWNvbWJvLWJveF9fbGlzdC1vcHRpb24tLXNlbGVjdGVkXCI6IGFcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpXCIsIHtcbiAgICAgICAgICByZWY6IHIgPyBrIDogbnVsbCxcbiAgICAgICAgICB2YWx1ZTogZS52YWx1ZSxcbiAgICAgICAgICBrZXk6IGUudmFsdWUsXG4gICAgICAgICAgY2xhc3NOYW1lOiBsLFxuICAgICAgICAgIHRhYkluZGV4OiByID8gMCA6IC0xLFxuICAgICAgICAgIHJvbGU6IFwib3B0aW9uXCIsXG4gICAgICAgICAgXCJhcmlhLXNlbGVjdGVkXCI6IGEsXG4gICAgICAgICAgXCJhcmlhLXNldHNpemVcIjogNjQsXG4gICAgICAgICAgXCJhcmlhLXBvc2luc2V0XCI6IHQgKyAxLFxuICAgICAgICAgIGlkOiBSICsgXCItLW9wdGlvbi1cIiArIHQsXG4gICAgICAgICAgb25LZXlEb3duOiBDLFxuICAgICAgICAgIG9uQmx1cjogVCxcbiAgICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiY29tYm8tYm94LW9wdGlvbi1cIiArIGUudmFsdWUsXG4gICAgICAgICAgb25Nb3VzZUVudGVyOiBmdW5jdGlvbiBvbk1vdXNlRW50ZXIoKSB7XG4gICAgICAgICAgICByZXR1cm4gUyh7XG4gICAgICAgICAgICAgIHR5cGU6IGkuQWN0aW9uVHlwZXMuRk9DVVNfT1BUSU9OLFxuICAgICAgICAgICAgICBvcHRpb246IGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcbiAgICAgICAgICAgIFMoe1xuICAgICAgICAgICAgICB0eXBlOiBpLkFjdGlvblR5cGVzLlNFTEVDVF9PUFRJT04sXG4gICAgICAgICAgICAgIG9wdGlvbjogZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBlLmxhYmVsKTtcbiAgICAgIH0pLCAwID09PSBELmZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPyBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1jb21iby1ib3hfX2xpc3Qtb3B0aW9uLS1uby1yZXN1bHRzXCJcbiAgICAgIH0sIE8gfHwgXCJObyByZXN1bHRzIGZvdW5kXCIpIDogbnVsbCksIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1jb21iby1ib3hfX3N0YXR1cyB1c2Etc3Itb25seVwiLFxuICAgICAgICByb2xlOiBcInN0YXR1c1wiXG4gICAgICB9KSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgaWQ6IFUsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2Etc3Itb25seVwiLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiY29tYm8tYm94LWFzc2lzdGl2ZS1oaW50XCJcbiAgICAgIH0sIHYgfHwgXCJXaGVuIGF1dG9jb21wbGV0ZSByZXN1bHRzIGFyZSBhdmFpbGFibGUgdXNlIHVwIGFuZCBkb3duIGFycm93cyB0byByZXZpZXdcXG4gICAgICAgICAgIGFuZCBlbnRlciB0byBzZWxlY3QuIFRvdWNoIGRldmljZSB1c2VycywgZXhwbG9yZSBieSB0b3VjaCBvciB3aXRoIHN3aXBlXFxuICAgICAgICAgICBnZXN0dXJlcy5cIikpO1xuICAgIH07XG5cbiAgICB0LkNvbWJvQm94ID0gcDtcbiAgICB2YXIgbSA9IHA7XG4gICAgdC5kZWZhdWx0ID0gbTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuRGF0ZVBpY2tlciA9IHQuRm9jdXNNb2RlID0gdm9pZCAwO1xuXG4gICAgdmFyIGEsXG4gICAgICAgIG4gPSBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgaWYgKCF0ICYmIGUgJiYgZS5fX2VzTW9kdWxlKSByZXR1cm4gZTtcbiAgICAgIGlmIChudWxsID09PSBlIHx8IFwib2JqZWN0XCIgIT0gdHlwZW9mIGUgJiYgXCJmdW5jdGlvblwiICE9IHR5cGVvZiBlKSByZXR1cm4ge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgICAgdmFyIHIgPSBzKHQpO1xuICAgICAgaWYgKHIgJiYgci5oYXMoZSkpIHJldHVybiByLmdldChlKTtcbiAgICAgIHZhciBhID0ge30sXG4gICAgICAgICAgbiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4gICAgICBmb3IgKHZhciBvIGluIGUpIHtcbiAgICAgICAgaWYgKFwiZGVmYXVsdFwiICE9PSBvICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBvKSkge1xuICAgICAgICAgIHZhciBpID0gbiA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSwgbykgOiBudWxsO1xuICAgICAgICAgIGkgJiYgKGkuZ2V0IHx8IGkuc2V0KSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCBvLCBpKSA6IGFbb10gPSBlW29dO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEuZGVmYXVsdCA9IGUsIHIgJiYgci5zZXQoZSwgYSk7XG4gICAgICByZXR1cm4gYTtcbiAgICB9KHIoMCkpLFxuICAgICAgICBvID0gKGEgPSByKDEpKSAmJiBhLl9fZXNNb2R1bGUgPyBhIDoge1xuICAgICAgZGVmYXVsdDogYVxuICAgIH0sXG4gICAgICAgIGkgPSByKDYpLFxuICAgICAgICBsID0gcig5KSxcbiAgICAgICAgdSA9IHIoMyksXG4gICAgICAgIGMgPSByKDUzKTtcblxuICAgIGZ1bmN0aW9uIHMoZSkge1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgV2Vha01hcCkgcmV0dXJuIG51bGw7XG4gICAgICB2YXIgdCA9IG5ldyBXZWFrTWFwKCksXG4gICAgICAgICAgciA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICByZXR1cm4gKHMgPSBmdW5jdGlvbiBzKGUpIHtcbiAgICAgICAgcmV0dXJuIGUgPyByIDogdDtcbiAgICAgIH0pKGUpO1xuICAgIH1cblxuICAgIHZhciBkLFxuICAgICAgICBfZiA9IGZ1bmN0aW9uIGYoKSB7XG4gICAgICByZXR1cm4gKF9mID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBwID0gZnVuY3Rpb24gcChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5Gb2N1c01vZGUgPSBkLCBmdW5jdGlvbiAoZSkge1xuICAgICAgZVtlLk5vbmUgPSAwXSA9IFwiTm9uZVwiLCBlW2UuSW5wdXQgPSAxXSA9IFwiSW5wdXRcIjtcbiAgICB9KGQgfHwgKHQuRm9jdXNNb2RlID0gZCA9IHt9KSk7XG5cbiAgICB2YXIgbSA9IGZ1bmN0aW9uIG0oZSkge1xuICAgICAgdmFyIHQgPSBlLmlkLFxuICAgICAgICAgIHIgPSBlLm5hbWUsXG4gICAgICAgICAgYSA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHMgPSBlLmRlZmF1bHRWYWx1ZSxcbiAgICAgICAgICBtID0gZS5kaXNhYmxlZCxcbiAgICAgICAgICB5ID0gZS5yZXF1aXJlZCxcbiAgICAgICAgICBiID0gZS5taW5EYXRlLFxuICAgICAgICAgIHYgPSB2b2lkIDAgPT09IGIgPyBpLkRFRkFVTFRfTUlOX0RBVEUgOiBiLFxuICAgICAgICAgIE8gPSBlLm1heERhdGUsXG4gICAgICAgICAgZyA9IGUucmFuZ2VEYXRlLFxuICAgICAgICAgIF8gPSBlLm9uQ2hhbmdlLFxuICAgICAgICAgIGggPSBlLm9uQmx1cixcbiAgICAgICAgICBqID0gZS5pMThuLFxuICAgICAgICAgIE0gPSB2b2lkIDAgPT09IGogPyBsLkVOX1VTIDogaixcbiAgICAgICAgICBOID0gcChlLCBbXCJpZFwiLCBcIm5hbWVcIiwgXCJjbGFzc05hbWVcIiwgXCJkZWZhdWx0VmFsdWVcIiwgXCJkaXNhYmxlZFwiLCBcInJlcXVpcmVkXCIsIFwibWluRGF0ZVwiLCBcIm1heERhdGVcIiwgXCJyYW5nZURhdGVcIiwgXCJvbkNoYW5nZVwiLCBcIm9uQmx1clwiLCBcImkxOG5cIl0pLFxuICAgICAgICAgIEUgPSAoMCwgbi51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIFAgPSAoMCwgbi51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIHcgPSAoMCwgbi51c2VTdGF0ZSkoXCJcIiksXG4gICAgICAgICAgSSA9IHdbMF0sXG4gICAgICAgICAgRCA9IHdbMV0sXG4gICAgICAgICAgUyA9ICgwLCBuLnVzZVN0YXRlKShcIlwiKSxcbiAgICAgICAgICB4ID0gU1swXSxcbiAgICAgICAgICBrID0gU1sxXSxcbiAgICAgICAgICBBID0gKDAsIG4udXNlU3RhdGUpKCExKSxcbiAgICAgICAgICBUID0gQVswXSxcbiAgICAgICAgICBDID0gQVsxXSxcbiAgICAgICAgICBMID0gKDAsIG4udXNlU3RhdGUpKHZvaWQgMCksXG4gICAgICAgICAgRiA9IExbMF0sXG4gICAgICAgICAgUiA9IExbMV0sXG4gICAgICAgICAgVSA9ICgwLCBuLnVzZVN0YXRlKSgwKSxcbiAgICAgICAgICBXID0gVVswXSxcbiAgICAgICAgICBCID0gVVsxXSxcbiAgICAgICAgICB6ID0gKDAsIG4udXNlU3RhdGUpKFtdKSxcbiAgICAgICAgICBZID0gelswXSxcbiAgICAgICAgICBHID0gelsxXSxcbiAgICAgICAgICBWID0gKDAsIG4udXNlU3RhdGUpKGQuTm9uZSksXG4gICAgICAgICAgSCA9IFZbMF0sXG4gICAgICAgICAgUSA9IFZbMV0sXG4gICAgICAgICAgSyA9ICgwLCBuLnVzZVN0YXRlKSh2b2lkIDApLFxuICAgICAgICAgIFogPSBLWzBdLFxuICAgICAgICAgIFggPSBLWzFdLFxuICAgICAgICAgIEogPSAoMCwgdS5wYXJzZURhdGVTdHJpbmcpKHYpLFxuICAgICAgICAgIHEgPSBPID8gKDAsIHUucGFyc2VEYXRlU3RyaW5nKShPKSA6IHZvaWQgMCxcbiAgICAgICAgICAkID0gZyA/ICgwLCB1LnBhcnNlRGF0ZVN0cmluZykoZykgOiB2b2lkIDAsXG4gICAgICAgICAgZWUgPSBmdW5jdGlvbiBlZShlLCB0KSB7XG4gICAgICAgIHZhciByO1xuICAgICAgICB2b2lkIDAgPT09IHQgJiYgKHQgPSAhMCk7XG4gICAgICAgIHZhciBhID0gKDAsIHUucGFyc2VEYXRlU3RyaW5nKShlKSxcbiAgICAgICAgICAgIG4gPSBhICYmICgwLCB1LmZvcm1hdERhdGUpKGEsIGkuREVGQVVMVF9FWFRFUk5BTF9EQVRFX0ZPUk1BVCk7XG4gICAgICAgIGEgJiYgRChlKSwgbiAmJiBrKG4pLCBfICYmIF8obiksIHQgJiYgKEMoITEpLCBHKFtdKSwgbnVsbCA9PT0gKHIgPSBudWxsID09IFAgPyB2b2lkIDAgOiBQLmN1cnJlbnQpIHx8IHZvaWQgMCA9PT0gciB8fCByLmZvY3VzKCkpO1xuICAgICAgfTtcblxuICAgICAgKDAsIG4udXNlRWZmZWN0KShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHMgJiYgZWUocywgITEpO1xuICAgICAgfSwgW10pLCAoMCwgbi51c2VFZmZlY3QpKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKFQpIHtcbiAgICAgICAgICB2YXIgZSA9IEUuY3VycmVudCAmJiBFLmN1cnJlbnQucXVlcnlTZWxlY3RvcihcIi51c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19kYXRlLS1mb2N1c2VkXCIpO1xuICAgICAgICAgIGUgJiYgZS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9LCBbVF0pLCAoMCwgbi51c2VFZmZlY3QpKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgIWZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB2YXIgZSxcbiAgICAgICAgICAgICAgdCxcbiAgICAgICAgICAgICAgcixcbiAgICAgICAgICAgICAgYSxcbiAgICAgICAgICAgICAgbiA9ICgwLCB1LmlzRGF0ZUludmFsaWQpKHgsIEosIHEpO1xuICAgICAgICAgIG4gJiYgIShudWxsID09PSAoZSA9IG51bGwgPT0gUCA/IHZvaWQgMCA6IFAuY3VycmVudCkgfHwgdm9pZCAwID09PSBlID8gdm9pZCAwIDogZS52YWxpZGF0aW9uTWVzc2FnZSkgJiYgKG51bGwgPT09ICh0ID0gbnVsbCA9PSBQID8gdm9pZCAwIDogUC5jdXJyZW50KSB8fCB2b2lkIDAgPT09IHQgfHwgdC5zZXRDdXN0b21WYWxpZGl0eShpLlZBTElEQVRJT05fTUVTU0FHRSkpLCBuIHx8IChudWxsID09PSAociA9IG51bGwgPT0gUCA/IHZvaWQgMCA6IFAuY3VycmVudCkgfHwgdm9pZCAwID09PSByID8gdm9pZCAwIDogci52YWxpZGF0aW9uTWVzc2FnZSkgIT09IGkuVkFMSURBVElPTl9NRVNTQUdFIHx8IG51bGwgPT09IChhID0gbnVsbCA9PSBQID8gdm9pZCAwIDogUC5jdXJyZW50KSB8fCB2b2lkIDAgPT09IGEgfHwgYS5zZXRDdXN0b21WYWxpZGl0eShcIlwiKTtcbiAgICAgICAgfSgpO1xuICAgICAgfSwgW3gsIHYsIE9dKTtcbiAgICAgIHZhciB0ZSA9ICgwLCBvLmRlZmF1bHQpKFwidXNhLWRhdGUtcGlja2VyXCIsIFwidXNhLWRhdGUtcGlja2VyLS1pbml0aWFsaXplZFwiLCB7XG4gICAgICAgIFwidXNhLWRhdGUtcGlja2VyLS1hY3RpdmVcIjogVFxuICAgICAgfSwgYSksXG4gICAgICAgICAgcmUgPSBNLnRvZ2dsZUNhbGVuZGFyO1xuICAgICAgcmV0dXJuIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImRhdGUtcGlja2VyXCIsXG4gICAgICAgIGNsYXNzTmFtZTogdGUsXG4gICAgICAgIHJlZjogRSxcbiAgICAgICAgb25CbHVyOiBmdW5jdGlvbiBvbkJsdXIoZSkge1xuICAgICAgICAgIHZhciB0O1xuICAgICAgICAgIChudWxsID09PSAodCA9IEUuY3VycmVudCkgfHwgdm9pZCAwID09PSB0ID8gdm9pZCAwIDogdC5jb250YWlucyhudWxsID09IGUgPyB2b2lkIDAgOiBlLnJlbGF0ZWRUYXJnZXQpKSB8fCAoVCAmJiAoQyghMSksIEcoW10pKSwgaCAmJiBoKGUpKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25LZXlEb3duOiBmdW5jdGlvbiBvbktleURvd24oZSkge1xuICAgICAgICAgIHZhciB0O1xuICAgICAgICAgIFwiRXNjYXBlXCIgPT09IGUua2V5ICYmIChUICYmIChDKCExKSwgRyhbXSksIG51bGwgPT09ICh0ID0gbnVsbCA9PSBQID8gdm9pZCAwIDogUC5jdXJyZW50KSB8fCB2b2lkIDAgPT09IHQgfHwgdC5mb2N1cygpKSwgZS5wcmV2ZW50RGVmYXVsdCgpKTtcbiAgICAgICAgfVxuICAgICAgfSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCBfZih7fSwgTiwge1xuICAgICAgICBuYW1lOiByLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiZGF0ZS1waWNrZXItaW50ZXJuYWwtaW5wdXRcIixcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1pbnB1dCB1c2Etc3Itb25seSB1c2EtZGF0ZS1waWNrZXJfX2ludGVybmFsLWlucHV0XCIsXG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICBcImFyaWEtaGlkZGVuXCI6ICEwLFxuICAgICAgICB0YWJJbmRleDogLTEsXG4gICAgICAgIHJlcXVpcmVkOiAhMSxcbiAgICAgICAgZGlzYWJsZWQ6ICExLFxuICAgICAgICB2YWx1ZTogSSxcbiAgICAgICAgcmVhZE9ubHk6ICEwXG4gICAgICB9KSksIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fd3JhcHBlclwiLFxuICAgICAgICB0YWJJbmRleDogLTFcbiAgICAgIH0sIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwgX2Yoe30sIE4sIHtcbiAgICAgICAgaWQ6IHQsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJkYXRlLXBpY2tlci1leHRlcm5hbC1pbnB1dFwiLFxuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWlucHV0IHVzYS1kYXRlLXBpY2tlcl9fZXh0ZXJuYWwtaW5wdXRcIixcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIGRpc2FibGVkOiBtLFxuICAgICAgICByZXF1aXJlZDogeSxcbiAgICAgICAgdmFsdWU6IHgsXG4gICAgICAgIHJlZjogUCxcbiAgICAgICAgb25JbnB1dDogZnVuY3Rpb24gb25JbnB1dChlKSB7XG4gICAgICAgICAgdmFyIHQgPSBlLnRhcmdldC52YWx1ZTtcbiAgICAgICAgICBrKHQpLCBfICYmIF8odCk7XG4gICAgICAgICAgdmFyIHIgPSAoMCwgdS5wYXJzZURhdGVTdHJpbmcpKHQsIGkuREVGQVVMVF9FWFRFUk5BTF9EQVRFX0ZPUk1BVCwgITApLFxuICAgICAgICAgICAgICBhID0gXCJcIjtcblxuICAgICAgICAgIGlmIChyICYmICEoMCwgdS5pc0RhdGVJbnZhbGlkKSh0LCBKLCBxKSAmJiAoYSA9ICgwLCB1LmZvcm1hdERhdGUpKHIpKSwgSSAhPT0gYSAmJiBEKGEpLCByICYmIFQpIHtcbiAgICAgICAgICAgIHZhciBuID0gKDAsIHUua2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KShyLCBKLCBxKTtcbiAgICAgICAgICAgIFIobik7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvbkZvY3VzOiBmdW5jdGlvbiBvbkZvY3VzKCkge1xuICAgICAgICAgIFEoZC5JbnB1dCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKGUpIHtcbiAgICAgICAgICBRKGQuTm9uZSksIGggJiYgaChlKTtcbiAgICAgICAgfVxuICAgICAgfSkpLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJkYXRlLXBpY2tlci1idXR0b25cIixcbiAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fYnV0dG9uXCIsXG4gICAgICAgIFwiYXJpYS1oYXNwb3B1cFwiOiAhMCxcbiAgICAgICAgXCJhcmlhLWxhYmVsXCI6IHJlLFxuICAgICAgICBkaXNhYmxlZDogbSxcbiAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcbiAgICAgICAgICB2YXIgZTtcbiAgICAgICAgICBpZiAoVCkgRyhbXSk7ZWxzZSB7XG4gICAgICAgICAgICB2YXIgdCA9ICgwLCB1LnBhcnNlRGF0ZVN0cmluZykoeCwgaS5ERUZBVUxUX0VYVEVSTkFMX0RBVEVfRk9STUFULCAhMCksXG4gICAgICAgICAgICAgICAgciA9ICgwLCB1LmtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heCkodCB8fCBzICYmICgwLCB1LnBhcnNlRGF0ZVN0cmluZykocykgfHwgKDAsIHUudG9kYXkpKCksIEosIHEpO1xuICAgICAgICAgICAgUihyKSwgQihudWxsID09PSAoZSA9IG51bGwgPT0gRSA/IHZvaWQgMCA6IEUuY3VycmVudCkgfHwgdm9pZCAwID09PSBlID8gdm9pZCAwIDogZS5vZmZzZXRIZWlnaHQpO1xuICAgICAgICAgICAgdmFyIGEgPSBNLnN0YXR1c2VzLFxuICAgICAgICAgICAgICAgIG4gPSAoMCwgdS5wYXJzZURhdGVTdHJpbmcpKEkpO1xuXG4gICAgICAgICAgICBpZiAobiAmJiAoMCwgdS5pc1NhbWVEYXkpKG4sICgwLCB1LmFkZERheXMpKHIsIDApKSkge1xuICAgICAgICAgICAgICB2YXIgbyA9IE0uc2VsZWN0ZWREYXRlO1xuICAgICAgICAgICAgICBhLnVuc2hpZnQobyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEcoYSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEMoIVQpO1xuICAgICAgICB9XG4gICAgICB9LCBcIsKgXCIpLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJkYXRlLXBpY2tlci1jYWxlbmRhclwiLFxuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhclwiLFxuICAgICAgICByb2xlOiBcImRpYWxvZ1wiLFxuICAgICAgICBcImFyaWEtbW9kYWxcIjogXCJ0cnVlXCIsXG4gICAgICAgIGhpZGRlbjogIVQsXG4gICAgICAgIFwiZGF0YS12YWx1ZVwiOiBGICYmICgwLCB1LmZvcm1hdERhdGUpKEYpLFxuICAgICAgICBzdHlsZToge1xuICAgICAgICAgIHRvcDogVyArIFwicHhcIlxuICAgICAgICB9LFxuICAgICAgICBvbktleURvd246IGZ1bmN0aW9uIG9uS2V5RG93bihlKSB7XG4gICAgICAgICAgWChlLmtleUNvZGUpO1xuICAgICAgICB9LFxuICAgICAgICBvbktleVVwOiBmdW5jdGlvbiBvbktleVVwKGUpIHtcbiAgICAgICAgICBlLmtleUNvZGUgIT09IFogJiYgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICB9LCBUICYmIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KGMuQ2FsZW5kYXIsIHtcbiAgICAgICAgZGF0ZTogRixcbiAgICAgICAgaGFuZGxlU2VsZWN0RGF0ZTogZWUsXG4gICAgICAgIG1pbkRhdGU6IEosXG4gICAgICAgIG1heERhdGU6IHEsXG4gICAgICAgIHJhbmdlRGF0ZTogJCxcbiAgICAgICAgc2VsZWN0ZWREYXRlOiAoMCwgdS5wYXJzZURhdGVTdHJpbmcpKEkpLFxuICAgICAgICBzZXRTdGF0dXNlczogRyxcbiAgICAgICAgZm9jdXNNb2RlOiBILFxuICAgICAgICBpMThuOiBNXG4gICAgICB9KSksIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImRhdGUtcGlja2VyLXN0YXR1c1wiLFxuICAgICAgICBjbGFzc05hbWU6IFwidXNhLXNyLW9ubHkgdXNhLWRhdGUtcGlja2VyX19zdGF0dXNcIixcbiAgICAgICAgcm9sZTogXCJzdGF0dXNcIixcbiAgICAgICAgXCJhcmlhLWxpdmVcIjogXCJwb2xpdGVcIlxuICAgICAgfSwgWS5qb2luKFwiLiBcIikpKSk7XG4gICAgfTtcblxuICAgIHQuRGF0ZVBpY2tlciA9IG0sIG0uZGlzcGxheU5hbWUgPSBcIkRhdGVQaWNrZXJcIiwgbS5kZWZhdWx0UHJvcHMgPSB7XG4gICAgICBtaW5EYXRlOiBpLkRFRkFVTFRfTUlOX0RBVEVcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5OYXZDbG9zZUJ1dHRvbiA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IGkocigwKSksXG4gICAgICAgIG4gPSBpKHIoMSkpLFxuICAgICAgICBvID0gaShyKDcyKSk7XG5cbiAgICBmdW5jdGlvbiBpKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9sMyA9IGZ1bmN0aW9uIGwoKSB7XG4gICAgICByZXR1cm4gKF9sMyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcblxuICAgIHQuTmF2Q2xvc2VCdXR0b24gPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLm9uQ2xpY2ssXG4gICAgICAgICAgciA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIGkgPSB1KGUsIFtcIm9uQ2xpY2tcIiwgXCJjbGFzc05hbWVcIl0pLFxuICAgICAgICAgIGMgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1uYXZfX2Nsb3NlXCIsIHIpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIF9sMyh7XG4gICAgICAgIGNsYXNzTmFtZTogYyxcbiAgICAgICAgb25DbGljazogdCxcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcIm5hdkNsb3NlQnV0dG9uXCJcbiAgICAgIH0sIGksIHtcbiAgICAgICAgdHlwZTogXCJidXR0b25cIlxuICAgICAgfSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaW1nXCIsIHtcbiAgICAgICAgc3JjOiBvLmRlZmF1bHQsXG4gICAgICAgIGFsdDogXCJjbG9zZVwiXG4gICAgICB9KSk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuQnV0dG9uID0gdm9pZCAwO1xuICAgIHZhciBhID0gaShyKDApKSxcbiAgICAgICAgbiA9IGkocigxKSksXG4gICAgICAgIG8gPSByKDIpO1xuXG4gICAgZnVuY3Rpb24gaShlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfbDQgPSBmdW5jdGlvbiBsKCkge1xuICAgICAgcmV0dXJuIChfbDQgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIGMgPSBmdW5jdGlvbiBjKGUpIHtcbiAgICAgIHZhciB0ID0gZS50eXBlLFxuICAgICAgICAgIHIgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIGkgPSBlLnNlY29uZGFyeSxcbiAgICAgICAgICBjID0gZS5iYXNlLFxuICAgICAgICAgIHMgPSBlLmFjY2VudCxcbiAgICAgICAgICBkID0gZS5hY2NlbnRTdHlsZSxcbiAgICAgICAgICBmID0gZS5vdXRsaW5lLFxuICAgICAgICAgIHAgPSBlLmludmVyc2UsXG4gICAgICAgICAgbSA9IGUuc2l6ZSxcbiAgICAgICAgICB5ID0gZS5iaWcsXG4gICAgICAgICAgYiA9IGUuc21hbGwsXG4gICAgICAgICAgdiA9IGUuaWNvbixcbiAgICAgICAgICBPID0gZS51bnN0eWxlZCxcbiAgICAgICAgICBnID0gZS5vbkNsaWNrLFxuICAgICAgICAgIF8gPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBoID0gdShlLCBbXCJ0eXBlXCIsIFwiY2hpbGRyZW5cIiwgXCJzZWNvbmRhcnlcIiwgXCJiYXNlXCIsIFwiYWNjZW50XCIsIFwiYWNjZW50U3R5bGVcIiwgXCJvdXRsaW5lXCIsIFwiaW52ZXJzZVwiLCBcInNpemVcIiwgXCJiaWdcIiwgXCJzbWFsbFwiLCBcImljb25cIiwgXCJ1bnN0eWxlZFwiLCBcIm9uQ2xpY2tcIiwgXCJjbGFzc05hbWVcIl0pO1xuICAgICAgeSAmJiAoMCwgby5kZXByZWNhdGlvbldhcm5pbmcpKFwiQnV0dG9uIHByb3BlcnR5IGJpZyBpcyBkZXByZWNhdGVkLiAgVXNlIHNpemUuXCIpLCB2ICYmICgwLCBvLmRlcHJlY2F0aW9uV2FybmluZykoXCJCdXR0b24gcHJvcGVydHkgaWNvbiBpcyBkZXByZWNhdGVkLlwiKSwgcyAmJiAoMCwgby5kZXByZWNhdGlvbldhcm5pbmcpKFwiQnV0dG9uIHByb3BlcnR5IGFjY2VudCBpcyBkZXByZWNhdGVkLiBVc2UgYWNjZW50U3R5bGUuXCIpO1xuICAgICAgdmFyIGogPSBtID8gXCJiaWdcIiA9PT0gbSA6IHksXG4gICAgICAgICAgTSA9IG0gPyBcInNtYWxsXCIgPT09IG0gOiBiO1xuICAgICAgTSAmJiAoMCwgby5kZXByZWNhdGlvbldhcm5pbmcpKFwiU21hbGwgYnV0dG9uIGlzIGRlcHJlY2F0ZWQuIFVzZSB0aGUgZGVmYXVsdCwgcGFzcyBpbiBhIGN1c3RvbSBjbGFzc05hbWUsIG9yIHVzZSBzaXplIGJpZy5cIik7XG4gICAgICB2YXIgTiA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWJ1dHRvblwiLCB7XG4gICAgICAgIFwidXNhLWJ1dHRvbi0tc2Vjb25kYXJ5XCI6IGksXG4gICAgICAgIFwidXNhLWJ1dHRvbi0tYmFzZVwiOiBjLFxuICAgICAgICBcInVzYS1idXR0b24tLWFjY2VudC1jb29sXCI6IHMgfHwgXCJjb29sXCIgPT09IGQsXG4gICAgICAgIFwidXNhLWJ1dHRvbi0tYWNjZW50LXdhcm1cIjogXCJ3YXJtXCIgPT09IGQsXG4gICAgICAgIFwidXNhLWJ1dHRvbi0tb3V0bGluZVwiOiBmLFxuICAgICAgICBcInVzYS1idXR0b24tLWludmVyc2VcIjogcCxcbiAgICAgICAgXCJ1c2EtYnV0dG9uLS1iaWdcIjogaixcbiAgICAgICAgXCJ1c2EtYnV0dG9uLS1zbWFsbFwiOiBNLFxuICAgICAgICBcInVzYS1idXR0b24tLWljb25cIjogdixcbiAgICAgICAgXCJ1c2EtYnV0dG9uLS11bnN0eWxlZFwiOiBPXG4gICAgICB9LCBfKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCBfbDQoe1xuICAgICAgICB0eXBlOiB0LFxuICAgICAgICBjbGFzc05hbWU6IE4sXG4gICAgICAgIG9uQ2xpY2s6IGcsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJidXR0b25cIlxuICAgICAgfSwgaCksIHIpO1xuICAgIH07XG5cbiAgICB0LkJ1dHRvbiA9IGM7XG4gICAgdmFyIHMgPSBjO1xuICAgIHQuZGVmYXVsdCA9IHM7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmlzQ3VzdG9tUHJvcHMgPSBjLCB0LkdyaWQgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIHIgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBpID0gZS5yb3csXG4gICAgICAgICAgZCA9IGUuY29sLFxuICAgICAgICAgIGYgPSBlLmdhcCxcbiAgICAgICAgICBwID0gZS5vZmZzZXQsXG4gICAgICAgICAgbSA9IGUubW9iaWxlLFxuICAgICAgICAgIHkgPSBlLm1vYmlsZUxnLFxuICAgICAgICAgIGIgPSBlLnRhYmxldCxcbiAgICAgICAgICB2ID0gZS50YWJsZXRMZyxcbiAgICAgICAgICBPID0gZS5kZXNrdG9wLFxuICAgICAgICAgIGcgPSBlLmRlc2t0b3BMZyxcbiAgICAgICAgICBfID0gZS53aWRlc2NyZWVuLFxuICAgICAgICAgIGggPSB1KGUsIFtcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCIsIFwicm93XCIsIFwiY29sXCIsIFwiZ2FwXCIsIFwib2Zmc2V0XCIsIFwibW9iaWxlXCIsIFwibW9iaWxlTGdcIiwgXCJ0YWJsZXRcIiwgXCJ0YWJsZXRMZ1wiLCBcImRlc2t0b3BcIiwgXCJkZXNrdG9wTGdcIiwgXCJ3aWRlc2NyZWVuXCJdKSxcbiAgICAgICAgICBqID0ge1xuICAgICAgICBtb2JpbGU6IG0sXG4gICAgICAgIG1vYmlsZUxnOiB5LFxuICAgICAgICB0YWJsZXQ6IGIsXG4gICAgICAgIHRhYmxldExnOiB2LFxuICAgICAgICBkZXNrdG9wOiBPLFxuICAgICAgICBkZXNrdG9wTGc6IGcsXG4gICAgICAgIHdpZGVzY3JlZW46IF9cbiAgICAgIH0sXG4gICAgICAgICAgTSA9IHMoe1xuICAgICAgICByb3c6IGksXG4gICAgICAgIGNvbDogZCxcbiAgICAgICAgZ2FwOiBmLFxuICAgICAgICBvZmZzZXQ6IHBcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoT2JqZWN0LmtleXMoby5icmVha3BvaW50cykuZm9yRWFjaChmdW5jdGlvbiAodCkge1xuICAgICAgICB2YXIgciA9IHQ7XG5cbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChqLCByKSkge1xuICAgICAgICAgIHZhciBhID0gZVtyXTtcbiAgICAgICAgICBNID0gKDAsIG4uZGVmYXVsdCkoTSwgcyhhLCByKSk7XG4gICAgICAgIH1cbiAgICAgIH0pLCBNID0gKDAsIG4uZGVmYXVsdCkoTSwgciksIGMoaCkpIHtcbiAgICAgICAgdmFyIE4gPSBoLmFzQ3VzdG9tLFxuICAgICAgICAgICAgRSA9IHUoaCwgW1wiYXNDdXN0b21cIl0pO1xuICAgICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoTiwgX2w1KHtcbiAgICAgICAgICBjbGFzc05hbWU6IE1cbiAgICAgICAgfSwgRSksIHQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgX2w1KHtcbiAgICAgICAgY2xhc3NOYW1lOiBNLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiZ3JpZFwiXG4gICAgICB9LCBoKSwgdCk7XG4gICAgfSwgdC5hcHBseUdyaWRDbGFzc2VzID0gdC5nZXRHcmlkQ2xhc3NlcyA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IGkocigwKSksXG4gICAgICAgIG4gPSBpKHIoMSkpLFxuICAgICAgICBvID0gcig0Nik7XG5cbiAgICBmdW5jdGlvbiBpKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9sNSA9IGZ1bmN0aW9uIGwoKSB7XG4gICAgICByZXR1cm4gKF9sNSA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGMoZSkge1xuICAgICAgcmV0dXJuIFwiYXNDdXN0b21cIiBpbiBlO1xuICAgIH1cblxuICAgIHZhciBzID0gZnVuY3Rpb24gcyhlLCB0KSB7XG4gICAgICB2YXIgcjtcbiAgICAgIHZvaWQgMCA9PT0gZSAmJiAoZSA9IHt9KTtcbiAgICAgIHZhciBhID0gdCA/IG8uYnJlYWtwb2ludHNbdF0gKyBcIjpcIiA6IFwiXCIsXG4gICAgICAgICAgaSA9IGUucm93LFxuICAgICAgICAgIGwgPSBlLmNvbCxcbiAgICAgICAgICB1ID0gZS5nYXAsXG4gICAgICAgICAgYyA9IGUub2Zmc2V0O1xuICAgICAgcmV0dXJuICgwLCBuLmRlZmF1bHQpKCgociA9IHt9KVthICsgXCJncmlkLXJvd1wiXSA9IGksIHJbYSArIFwiZ3JpZC1nYXBcIl0gPSAhMCA9PT0gdSwgclthICsgXCJncmlkLWdhcC1cIiArIHVdID0gITAgIT09IHUgJiYgISF1LCByW2EgKyBcImdyaWQtY29sXCJdID0gITAgPT09IGwsIHJbYSArIFwiZ3JpZC1jb2wtXCIgKyBsXSA9ICEwICE9PSBsICYmICEhbCwgclthICsgXCJncmlkLW9mZnNldC1cIiArIGNdID0gISFjLCByKSk7XG4gICAgfTtcblxuICAgIHQuZ2V0R3JpZENsYXNzZXMgPSBzO1xuXG4gICAgdC5hcHBseUdyaWRDbGFzc2VzID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gcyhlKTtcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhvLmJyZWFrcG9pbnRzKS5mb3JFYWNoKGZ1bmN0aW9uIChyKSB7XG4gICAgICAgIHZhciBhID0gcjtcblxuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpKSB7XG4gICAgICAgICAgdmFyIG8gPSBlW2FdO1xuICAgICAgICAgIHQgPSAoMCwgbi5kZWZhdWx0KSh0LCBzKG8sIGEpKTtcbiAgICAgICAgfVxuICAgICAgfSksIHQ7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuVGV4dGFyZWEgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kzID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9LFxuICAgICAgICB1ID0gZnVuY3Rpb24gdShlKSB7XG4gICAgICB2YXIgdCA9IGUuaWQsXG4gICAgICAgICAgciA9IGUubmFtZSxcbiAgICAgICAgICBvID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgdSA9IGUuZXJyb3IsXG4gICAgICAgICAgYyA9IGUuc3VjY2VzcyxcbiAgICAgICAgICBzID0gZS5jaGlsZHJlbixcbiAgICAgICAgICBkID0gZS5pbnB1dFJlZixcbiAgICAgICAgICBmID0gbChlLCBbXCJpZFwiLCBcIm5hbWVcIiwgXCJjbGFzc05hbWVcIiwgXCJlcnJvclwiLCBcInN1Y2Nlc3NcIiwgXCJjaGlsZHJlblwiLCBcImlucHV0UmVmXCJdKSxcbiAgICAgICAgICBwID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtdGV4dGFyZWFcIiwge1xuICAgICAgICBcInVzYS1pbnB1dC0tZXJyb3JcIjogdSxcbiAgICAgICAgXCJ1c2EtaW5wdXQtLXN1Y2Nlc3NcIjogY1xuICAgICAgfSwgbyk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCBfaTMoe1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwidGV4dGFyZWFcIixcbiAgICAgICAgY2xhc3NOYW1lOiBwLFxuICAgICAgICBpZDogdCxcbiAgICAgICAgbmFtZTogcixcbiAgICAgICAgcmVmOiBkXG4gICAgICB9LCBmKSwgcyk7XG4gICAgfTtcblxuICAgIHQuVGV4dGFyZWEgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5Gb3JtID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pNCA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pNCA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcblxuICAgIHQuRm9ybSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUub25TdWJtaXQsXG4gICAgICAgICAgciA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbyA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHUgPSBlLmxhcmdlLFxuICAgICAgICAgIGMgPSBlLnNlYXJjaCxcbiAgICAgICAgICBzID0gbChlLCBbXCJvblN1Ym1pdFwiLCBcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCIsIFwibGFyZ2VcIiwgXCJzZWFyY2hcIl0pLFxuICAgICAgICAgIGQgPSAoMCwgbi5kZWZhdWx0KSh7XG4gICAgICAgIFwidXNhLWZvcm1cIjogIWMsXG4gICAgICAgIFwidXNhLWZvcm0tLWxhcmdlXCI6IHVcbiAgICAgIH0sIG8pO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZm9ybVwiLCBfaTQoe1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiZm9ybVwiLFxuICAgICAgICBjbGFzc05hbWU6IGQsXG4gICAgICAgIG9uU3VibWl0OiB0XG4gICAgICB9LCBzKSwgcik7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuRm9vdGVyRXh0ZW5kZWROYXZMaXN0ID0gdm9pZCAwO1xuXG4gICAgdmFyIGEsXG4gICAgICAgIG4gPSBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgaWYgKCF0ICYmIGUgJiYgZS5fX2VzTW9kdWxlKSByZXR1cm4gZTtcbiAgICAgIGlmIChudWxsID09PSBlIHx8IFwib2JqZWN0XCIgIT0gdHlwZW9mIGUgJiYgXCJmdW5jdGlvblwiICE9IHR5cGVvZiBlKSByZXR1cm4ge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgICAgdmFyIHIgPSBsKHQpO1xuICAgICAgaWYgKHIgJiYgci5oYXMoZSkpIHJldHVybiByLmdldChlKTtcbiAgICAgIHZhciBhID0ge30sXG4gICAgICAgICAgbiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4gICAgICBmb3IgKHZhciBvIGluIGUpIHtcbiAgICAgICAgaWYgKFwiZGVmYXVsdFwiICE9PSBvICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBvKSkge1xuICAgICAgICAgIHZhciBpID0gbiA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSwgbykgOiBudWxsO1xuICAgICAgICAgIGkgJiYgKGkuZ2V0IHx8IGkuc2V0KSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCBvLCBpKSA6IGFbb10gPSBlW29dO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEuZGVmYXVsdCA9IGUsIHIgJiYgci5zZXQoZSwgYSk7XG4gICAgICByZXR1cm4gYTtcbiAgICB9KHIoMCkpLFxuICAgICAgICBvID0gKGEgPSByKDEpKSAmJiBhLl9fZXNNb2R1bGUgPyBhIDoge1xuICAgICAgZGVmYXVsdDogYVxuICAgIH0sXG4gICAgICAgIGkgPSByKDQpO1xuXG4gICAgZnVuY3Rpb24gbChlKSB7XG4gICAgICBpZiAoXCJmdW5jdGlvblwiICE9IHR5cGVvZiBXZWFrTWFwKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciB0ID0gbmV3IFdlYWtNYXAoKSxcbiAgICAgICAgICByID0gbmV3IFdlYWtNYXAoKTtcbiAgICAgIHJldHVybiAobCA9IGZ1bmN0aW9uIGwoZSkge1xuICAgICAgICByZXR1cm4gZSA/IHIgOiB0O1xuICAgICAgfSkoZSk7XG4gICAgfVxuXG4gICAgdC5Gb290ZXJFeHRlbmRlZE5hdkxpc3QgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICByID0gZS5pc01vYmlsZSxcbiAgICAgICAgICBhID0gZS5uZXN0ZWRMaW5rcyxcbiAgICAgICAgICBpID0gKDAsIG8uZGVmYXVsdCkoXCJncmlkLXJvdyBncmlkLWdhcC00XCIsIHQpLFxuICAgICAgICAgIGwgPSB3aW5kb3cgJiYgXCJvYmplY3RcIiA9PSB0eXBlb2Ygd2luZG93LFxuICAgICAgICAgIGMgPSBuLmRlZmF1bHQudXNlU3RhdGUobCAmJiB3aW5kb3cuaW5uZXJXaWR0aCA8IDQ4MCksXG4gICAgICAgICAgcyA9IGNbMF0sXG4gICAgICAgICAgZCA9IGNbMV0sXG4gICAgICAgICAgZiA9ICgwLCBuLnVzZVN0YXRlKShBcnJheShhLmxlbmd0aCkuZmlsbCghMSkpLFxuICAgICAgICAgIHAgPSBmWzBdLFxuICAgICAgICAgIG0gPSBmWzFdLFxuICAgICAgICAgIHkgPSByIHx8IHZvaWQgMCA9PT0gciAmJiBzO1xuICAgICAgKDAsIG4udXNlRWZmZWN0KShmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghcikgcmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGUpLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGUpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICAgICAgdmFyIGUgPSBsICYmIHdpbmRvdy5pbm5lcldpZHRoIDwgNDgwO1xuICAgICAgICAgIGUgIT09IHMgJiYgZChlKTtcbiAgICAgICAgfVxuICAgICAgfSwgW10pO1xuICAgICAgcmV0dXJuIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBpXG4gICAgICB9LCBhLm1hcChmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgICByZXR1cm4gbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICAgIGtleTogXCJsaW5rU2VjdGlvbi1cIiArIHQsXG4gICAgICAgICAgY2xhc3NOYW1lOiBcIm1vYmlsZS1sZzpncmlkLWNvbC02IGRlc2t0b3A6Z3JpZC1jb2wtM1wiXG4gICAgICAgIH0sIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KHUsIHtcbiAgICAgICAgICBvblRvZ2dsZTogeSA/IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBlID0gdCwgdm9pZCBtKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICAgIHZhciByID0gQXJyYXkoYS5sZW5ndGgpLmZpbGwoITEpO1xuICAgICAgICAgICAgICByZXR1cm4gcltlXSA9ICF0W2VdLCByO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB2YXIgZTtcbiAgICAgICAgICB9IDogdm9pZCAwLFxuICAgICAgICAgIGlzT3BlbjogIXkgfHwgcFt0XSxcbiAgICAgICAgICBsaW5rczogZVxuICAgICAgICB9KSk7XG4gICAgICB9KSk7XG4gICAgfTtcblxuICAgIHZhciB1ID0gZnVuY3Rpb24gdShlKSB7XG4gICAgICB2YXIgdCA9IGUuaXNPcGVuLFxuICAgICAgICAgIHIgPSB2b2lkIDAgIT09IHQgJiYgdCxcbiAgICAgICAgICBhID0gZS5saW5rcyxcbiAgICAgICAgICBsID0gZS5vblRvZ2dsZSxcbiAgICAgICAgICB1ID0gYVswXSxcbiAgICAgICAgICBjID0gYS5zbGljZSgxKSxcbiAgICAgICAgICBzID0gKDAsIG8uZGVmYXVsdCkoXCJ1c2EtZm9vdGVyX19wcmltYXJ5LWNvbnRlbnQgdXNhLWZvb3Rlcl9fcHJpbWFyeS1jb250ZW50LS1jb2xsYXBzaWJsZVwiLCB7XG4gICAgICAgIGhpZGRlbjogIXJcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2VjdGlvblwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogcyxcbiAgICAgICAgb25DbGljazogbCxcbiAgICAgICAgb25LZXlQcmVzczogbFxuICAgICAgfSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJoNFwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZm9vdGVyX19wcmltYXJ5LWxpbmtcIlxuICAgICAgfSwgdSksIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KGkuTmF2TGlzdCwge1xuICAgICAgICB0eXBlOiBcImZvb3RlclNlY29uZGFyeVwiLFxuICAgICAgICBpdGVtczogY1xuICAgICAgfSkpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJBbGVydFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gYS5BbGVydDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiQWNjb3JkaW9uXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBuLkFjY29yZGlvbjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiR292QmFubmVyXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBvLkdvdkJhbm5lcjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiQnV0dG9uXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBpLkJ1dHRvbjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiQnV0dG9uR3JvdXBcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGwuQnV0dG9uR3JvdXA7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkxpbmtcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHUuTGluaztcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiVGFibGVcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGMuVGFibGU7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIlRhZ1wiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gcy5UYWc7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIlRvb2x0aXBcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGQuVG9vbHRpcDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiU2lkZU5hdlwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gZi5TaWRlTmF2O1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJDb2xsZWN0aW9uXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBwLkNvbGxlY3Rpb247XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkNvbGxlY3Rpb25JdGVtXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBtLkNvbGxlY3Rpb25JdGVtO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJDb2xsZWN0aW9uSGVhZGluZ1wiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4geS5Db2xsZWN0aW9uSGVhZGluZztcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiQ29sbGVjdGlvbkRlc2NyaXB0aW9uXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBiLkNvbGxlY3Rpb25EZXNjcmlwdGlvbjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiQ29sbGVjdGlvbk1ldGFcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHYuQ29sbGVjdGlvbk1ldGE7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkNvbGxlY3Rpb25NZXRhSXRlbVwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gTy5Db2xsZWN0aW9uTWV0YUl0ZW07XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkNvbGxlY3Rpb25NZXRhSXRlbVRhZ1wiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gZy5Db2xsZWN0aW9uTWV0YUl0ZW1UYWc7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkNvbGxlY3Rpb25UaHVtYm5haWxcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIF8uQ29sbGVjdGlvblRodW1ibmFpbDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiQ29sbGVjdGlvbkNhbGVuZGFyRGF0ZVwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gaC5Db2xsZWN0aW9uQ2FsZW5kYXJEYXRlO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJHcmlkQ29udGFpbmVyXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBqLkdyaWRDb250YWluZXI7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkdyaWRcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIE0uR3JpZDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiQ2hhcmFjdGVyQ291bnRcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIE4uQ2hhcmFjdGVyQ291bnQ7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkNoZWNrYm94XCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBFLkNoZWNrYm94O1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJDb21ib0JveFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gUC5Db21ib0JveDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiRGF0ZUlucHV0XCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiB3LkRhdGVJbnB1dDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiRGF0ZUlucHV0R3JvdXBcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIEkuRGF0ZUlucHV0R3JvdXA7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkRhdGVQaWNrZXJcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIEQuRGF0ZVBpY2tlcjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiRGF0ZVJhbmdlUGlja2VyXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBTLkRhdGVSYW5nZVBpY2tlcjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiRHJvcGRvd25cIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHguRHJvcGRvd247XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkVycm9yTWVzc2FnZVwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gay5FcnJvck1lc3NhZ2U7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkZpZWxkc2V0XCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBBLkZpZWxkc2V0O1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJGaWxlSW5wdXRcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIFQuRmlsZUlucHV0O1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJGb3JtXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBDLkZvcm07XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkZvcm1Hcm91cFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gTC5Gb3JtR3JvdXA7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkxhYmVsXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBGLkxhYmVsO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJSYWRpb1wiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gUi5SYWRpbztcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiUmFuZ2VJbnB1dFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gVS5SYW5nZUlucHV0O1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJUZXh0YXJlYVwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gVy5UZXh0YXJlYTtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiVGV4dElucHV0XCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBCLlRleHRJbnB1dDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiVGltZVBpY2tlclwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gei5UaW1lUGlja2VyO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJWYWxpZGF0aW9uQ2hlY2tsaXN0XCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBZLlZhbGlkYXRpb25DaGVja2xpc3Q7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIlZhbGlkYXRpb25JdGVtXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBHLlZhbGlkYXRpb25JdGVtO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJFeHRlbmRlZE5hdlwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gVi5FeHRlbmRlZE5hdjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiSGVhZGVyXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBILkhlYWRlcjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiTWVnYU1lbnVcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIFEuTWVnYU1lbnU7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIk1lbnVcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIEsuTWVudTtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiTmF2Q2xvc2VCdXR0b25cIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIFouTmF2Q2xvc2VCdXR0b247XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIk5hdkxpc3RcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIFguTmF2TGlzdDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiTmF2TWVudUJ1dHRvblwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gSi5OYXZNZW51QnV0dG9uO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJOYXZEcm9wRG93bkJ1dHRvblwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gcS5OYXZEcm9wRG93bkJ1dHRvbjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiUHJpbWFyeU5hdlwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gJC5QcmltYXJ5TmF2O1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJUaXRsZVwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gZWUuVGl0bGU7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIklkZW50aWZpZXJcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRlLklkZW50aWZpZXI7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIklkZW50aWZpZXJHb3ZcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHJlLklkZW50aWZpZXJHb3Y7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIklkZW50aWZpZXJJZGVudGl0eVwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gYWUuSWRlbnRpZmllcklkZW50aXR5O1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJJZGVudGlmaWVyTGlua1wiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gbmUuSWRlbnRpZmllckxpbms7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIklkZW50aWZpZXJMaW5rSXRlbVwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gb2UuSWRlbnRpZmllckxpbmtJdGVtO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJJZGVudGlmaWVyTGlua3NcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGllLklkZW50aWZpZXJMaW5rcztcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiSWRlbnRpZmllckxvZ29cIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGxlLklkZW50aWZpZXJMb2dvO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJJZGVudGlmaWVyTG9nb3NcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHVlLklkZW50aWZpZXJMb2dvcztcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiSWRlbnRpZmllck1hc3RoZWFkXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBjZS5JZGVudGlmaWVyTWFzdGhlYWQ7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkFkZHJlc3NcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHNlLkFkZHJlc3M7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkZvb3RlclwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gZGUuRm9vdGVyO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJGb290ZXJFeHRlbmRlZE5hdkxpc3RcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGZlLkZvb3RlckV4dGVuZGVkTmF2TGlzdDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiRm9vdGVyTmF2XCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBwZS5Gb290ZXJOYXY7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkxvZ29cIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIG1lLkxvZ287XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIlNvY2lhbExpbmtzXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiB5ZS5Tb2NpYWxMaW5rcztcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiQ2FyZEdyb3VwXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBiZS5DYXJkR3JvdXA7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkNhcmRcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHZlLkNhcmQ7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkNhcmRIZWFkZXJcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIE9lLkNhcmRIZWFkZXI7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkNhcmRNZWRpYVwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gZ2UuQ2FyZE1lZGlhO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJDYXJkQm9keVwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gX2UuQ2FyZEJvZHk7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkNhcmRGb290ZXJcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGhlLkNhcmRGb290ZXI7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkJyZWFkY3J1bWJCYXJcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGplLkJyZWFkY3J1bWJCYXI7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkJyZWFkY3J1bWJcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIE1lLkJyZWFkY3J1bWI7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIkJyZWFkY3J1bWJMaW5rXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBOZS5CcmVhZGNydW1iTGluaztcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiU3RlcEluZGljYXRvclwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gRWUuU3RlcEluZGljYXRvcjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiU3RlcEluZGljYXRvclN0ZXBcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIFBlLlN0ZXBJbmRpY2F0b3JTdGVwO1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJTZWFyY2hcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHdlLlNlYXJjaDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiU3VtbWFyeUJveFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gSWUuU3VtbWFyeUJveDtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiUHJvY2Vzc0xpc3RcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIERlLlByb2Nlc3NMaXN0O1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJQcm9jZXNzTGlzdEl0ZW1cIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIFNlLlByb2Nlc3NMaXN0SXRlbTtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiUHJvY2Vzc0xpc3RIZWFkaW5nXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiB4ZS5Qcm9jZXNzTGlzdEhlYWRpbmc7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIlNpdGVBbGVydFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4ga2UuU2l0ZUFsZXJ0O1xuICAgICAgfVxuICAgIH0pLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJNb2RhbFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gQWUuTW9kYWw7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIk92ZXJsYXlcIiwge1xuICAgICAgZW51bWVyYWJsZTogITAsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIEFlLk92ZXJsYXk7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIk1vZGFsQ29udGFpbmVyXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBBZS5Nb2RhbENvbnRhaW5lcjtcbiAgICAgIH1cbiAgICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiY29ubmVjdE1vZGFsXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBBZS5jb25uZWN0TW9kYWw7XG4gICAgICB9XG4gICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcInVzZU1vZGFsXCIsIHtcbiAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBBZS51c2VNb2RhbDtcbiAgICAgIH1cbiAgICB9KSwgcigyMCk7XG5cbiAgICB2YXIgYSA9IHIoMjEpLFxuICAgICAgICBuID0gcigyMyksXG4gICAgICAgIG8gPSByKDI0KSxcbiAgICAgICAgaSA9IHIoMTQpLFxuICAgICAgICBsID0gcigyOSksXG4gICAgICAgIHUgPSByKDEwKSxcbiAgICAgICAgYyA9IHIoMzApLFxuICAgICAgICBzID0gcigzMiksXG4gICAgICAgIGQgPSByKDMzKSxcbiAgICAgICAgZiA9IHIoMzUpLFxuICAgICAgICBwID0gcigzNiksXG4gICAgICAgIG0gPSByKDM3KSxcbiAgICAgICAgeSA9IHIoMzgpLFxuICAgICAgICBiID0gcigzOSksXG4gICAgICAgIHYgPSByKDQwKSxcbiAgICAgICAgTyA9IHIoNDEpLFxuICAgICAgICBnID0gcig0MiksXG4gICAgICAgIF8gPSByKDQzKSxcbiAgICAgICAgaCA9IHIoNDQpLFxuICAgICAgICBqID0gcig0NSksXG4gICAgICAgIE0gPSByKDE1KSxcbiAgICAgICAgTiA9IHIoNDcpLFxuICAgICAgICBFID0gcig0OCksXG4gICAgICAgIFAgPSByKDExKSxcbiAgICAgICAgdyA9IHIoNTEpLFxuICAgICAgICBJID0gcig1MiksXG4gICAgICAgIEQgPSByKDEyKSxcbiAgICAgICAgUyA9IHIoNTcpLFxuICAgICAgICB4ID0gcig1OCksXG4gICAgICAgIGsgPSByKDU5KSxcbiAgICAgICAgQSA9IHIoNjApLFxuICAgICAgICBUID0gcig2MSksXG4gICAgICAgIEMgPSByKDE3KSxcbiAgICAgICAgTCA9IHIoOCksXG4gICAgICAgIEYgPSByKDUpLFxuICAgICAgICBSID0gcig2NCksXG4gICAgICAgIFUgPSByKDY1KSxcbiAgICAgICAgVyA9IHIoMTYpLFxuICAgICAgICBCID0gcig3KSxcbiAgICAgICAgeiA9IHIoNjYpLFxuICAgICAgICBZID0gcig2OSksXG4gICAgICAgIEcgPSByKDcwKSxcbiAgICAgICAgViA9IHIoNzEpLFxuICAgICAgICBIID0gcig3MyksXG4gICAgICAgIFEgPSByKDc0KSxcbiAgICAgICAgSyA9IHIoNzUpLFxuICAgICAgICBaID0gcigxMyksXG4gICAgICAgIFggPSByKDQpLFxuICAgICAgICBKID0gcig3NiksXG4gICAgICAgIHEgPSByKDc3KSxcbiAgICAgICAgJCA9IHIoNzgpLFxuICAgICAgICBlZSA9IHIoNzkpLFxuICAgICAgICB0ZSA9IHIoODApLFxuICAgICAgICByZSA9IHIoODEpLFxuICAgICAgICBhZSA9IHIoODIpLFxuICAgICAgICBuZSA9IHIoODMpLFxuICAgICAgICBvZSA9IHIoODQpLFxuICAgICAgICBpZSA9IHIoODUpLFxuICAgICAgICBsZSA9IHIoODYpLFxuICAgICAgICB1ZSA9IHIoODcpLFxuICAgICAgICBjZSA9IHIoODgpLFxuICAgICAgICBzZSA9IHIoODkpLFxuICAgICAgICBkZSA9IHIoOTApLFxuICAgICAgICBmZSA9IHIoMTgpLFxuICAgICAgICBwZSA9IHIoOTEpLFxuICAgICAgICBtZSA9IHIoOTIpLFxuICAgICAgICB5ZSA9IHIoOTMpLFxuICAgICAgICBiZSA9IHIoOTQpLFxuICAgICAgICB2ZSA9IHIoOTUpLFxuICAgICAgICBPZSA9IHIoOTYpLFxuICAgICAgICBnZSA9IHIoOTcpLFxuICAgICAgICBfZSA9IHIoOTgpLFxuICAgICAgICBoZSA9IHIoOTkpLFxuICAgICAgICBqZSA9IHIoMTAwKSxcbiAgICAgICAgTWUgPSByKDEwMSksXG4gICAgICAgIE5lID0gcigxMDIpLFxuICAgICAgICBFZSA9IHIoMTAzKSxcbiAgICAgICAgUGUgPSByKDEwNCksXG4gICAgICAgIHdlID0gcigxMDUpLFxuICAgICAgICBJZSA9IHIoMTA2KSxcbiAgICAgICAgRGUgPSByKDEwNyksXG4gICAgICAgIFNlID0gcigxMDgpLFxuICAgICAgICB4ZSA9IHIoMTA5KSxcbiAgICAgICAga2UgPSByKDExMCksXG4gICAgICAgIEFlID0gcigxMTEpO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgci5yKHQpO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5BbGVydCA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IGkocigwKSksXG4gICAgICAgIG4gPSBpKHIoMSkpLFxuICAgICAgICBvID0gaShyKDIyKSk7XG5cbiAgICBmdW5jdGlvbiBpKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9sNiA9IGZ1bmN0aW9uIGwoKSB7XG4gICAgICByZXR1cm4gKF9sNiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgYyA9IGZ1bmN0aW9uIGMoZSkge1xuICAgICAgdmFyIHQsXG4gICAgICAgICAgciA9IGUudHlwZSxcbiAgICAgICAgICBpID0gZS5oZWFkaW5nLFxuICAgICAgICAgIGMgPSBlLmN0YSxcbiAgICAgICAgICBzID0gZS5jaGlsZHJlbixcbiAgICAgICAgICBkID0gZS5zbGltLFxuICAgICAgICAgIGYgPSBlLm5vSWNvbixcbiAgICAgICAgICBwID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgbSA9IGUudmFsaWRhdGlvbixcbiAgICAgICAgICB5ID0gdShlLCBbXCJ0eXBlXCIsIFwiaGVhZGluZ1wiLCBcImN0YVwiLCBcImNoaWxkcmVuXCIsIFwic2xpbVwiLCBcIm5vSWNvblwiLCBcImNsYXNzTmFtZVwiLCBcInZhbGlkYXRpb25cIl0pLFxuICAgICAgICAgIGIgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1hbGVydFwiLCAoKHQgPSB7XG4gICAgICAgIFwidXNhLWFsZXJ0LS1zdWNjZXNzXCI6IFwic3VjY2Vzc1wiID09PSByLFxuICAgICAgICBcInVzYS1hbGVydC0td2FybmluZ1wiOiBcIndhcm5pbmdcIiA9PT0gcixcbiAgICAgICAgXCJ1c2EtYWxlcnQtLWVycm9yXCI6IFwiZXJyb3JcIiA9PT0gcixcbiAgICAgICAgXCJ1c2EtYWxlcnQtLWluZm9cIjogXCJpbmZvXCIgPT09IHIsXG4gICAgICAgIFwidXNhLWFsZXJ0LS1zbGltXCI6IGQsXG4gICAgICAgIFwidXNhLWFsZXJ0LS1uby1pY29uXCI6IGYsXG4gICAgICAgIFwidXNhLWFsZXJ0LS12YWxpZGF0aW9uXCI6IG1cbiAgICAgIH0pW28uZGVmYXVsdC5hbGVydFdpdGhDVEFdID0gISFjLCB0KSwgcCk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgX2w2KHtcbiAgICAgICAgY2xhc3NOYW1lOiBiLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiYWxlcnRcIlxuICAgICAgfSwgeSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1hbGVydF9fYm9keVwiXG4gICAgICB9LCBpICYmIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaDNcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWFsZXJ0X19oZWFkaW5nXCJcbiAgICAgIH0sIGkpLCBzICYmIChtID8gcyA6IGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwicFwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYWxlcnRfX3RleHRcIlxuICAgICAgfSwgcykpKSwgYyAmJiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCBudWxsLCBjKSk7XG4gICAgfTtcblxuICAgIHQuQWxlcnQgPSBjO1xuICAgIHZhciBzID0gYztcbiAgICB0LmRlZmF1bHQgPSBzO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgci5yKHQpLCB0LmRlZmF1bHQgPSB7XG4gICAgICBhbGVydFdpdGhDVEE6IFwic3JjLWNvbXBvbmVudHMtQWxlcnQtQWxlcnQtbW9kdWxlX19hbGVydFdpdGhDVEEtLTFmcmo1XCJcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5BY2NvcmRpb24gPSB0LkFjY29yZGlvbkl0ZW0gPSB2b2lkIDA7XG5cbiAgICB2YXIgYSxcbiAgICAgICAgbiA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICBpZiAoIXQgJiYgZSAmJiBlLl9fZXNNb2R1bGUpIHJldHVybiBlO1xuICAgICAgaWYgKG51bGwgPT09IGUgfHwgXCJvYmplY3RcIiAhPSB0eXBlb2YgZSAmJiBcImZ1bmN0aW9uXCIgIT0gdHlwZW9mIGUpIHJldHVybiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgICB2YXIgciA9IGkodCk7XG4gICAgICBpZiAociAmJiByLmhhcyhlKSkgcmV0dXJuIHIuZ2V0KGUpO1xuICAgICAgdmFyIGEgPSB7fSxcbiAgICAgICAgICBuID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbiAgICAgIGZvciAodmFyIG8gaW4gZSkge1xuICAgICAgICBpZiAoXCJkZWZhdWx0XCIgIT09IG8gJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIG8pKSB7XG4gICAgICAgICAgdmFyIGwgPSBuID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLCBvKSA6IG51bGw7XG4gICAgICAgICAgbCAmJiAobC5nZXQgfHwgbC5zZXQpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIG8sIGwpIDogYVtvXSA9IGVbb107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYS5kZWZhdWx0ID0gZSwgciAmJiByLnNldChlLCBhKTtcbiAgICAgIHJldHVybiBhO1xuICAgIH0ocigwKSksXG4gICAgICAgIG8gPSAoYSA9IHIoMSkpICYmIGEuX19lc01vZHVsZSA/IGEgOiB7XG4gICAgICBkZWZhdWx0OiBhXG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGkoZSkge1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgV2Vha01hcCkgcmV0dXJuIG51bGw7XG4gICAgICB2YXIgdCA9IG5ldyBXZWFrTWFwKCksXG4gICAgICAgICAgciA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICByZXR1cm4gKGkgPSBmdW5jdGlvbiBpKGUpIHtcbiAgICAgICAgcmV0dXJuIGUgPyByIDogdDtcbiAgICAgIH0pKGUpO1xuICAgIH1cblxuICAgIHZhciBfbDcgPSBmdW5jdGlvbiBsKCkge1xuICAgICAgcmV0dXJuIChfbDcgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KCkge1xuICAgICAgZm9yICh2YXIgZSA9IDAsIHQgPSAwLCByID0gYXJndW1lbnRzLmxlbmd0aDsgdCA8IHI7IHQrKykge1xuICAgICAgICBlICs9IGFyZ3VtZW50c1t0XS5sZW5ndGg7XG4gICAgICB9XG5cbiAgICAgIHZhciBhID0gQXJyYXkoZSksXG4gICAgICAgICAgbiA9IDA7XG5cbiAgICAgIGZvciAodCA9IDA7IHQgPCByOyB0KyspIHtcbiAgICAgICAgZm9yICh2YXIgbyA9IGFyZ3VtZW50c1t0XSwgaSA9IDAsIGwgPSBvLmxlbmd0aDsgaSA8IGw7IGkrKywgbisrKSB7XG4gICAgICAgICAgYVtuXSA9IG9baV07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGE7XG4gICAgfSxcbiAgICAgICAgYyA9IGZ1bmN0aW9uIGMoZSkge1xuICAgICAgdmFyIHQgPSBlLnRpdGxlLFxuICAgICAgICAgIHIgPSBlLmlkLFxuICAgICAgICAgIGEgPSBlLmNvbnRlbnQsXG4gICAgICAgICAgaSA9IGUuZXhwYW5kZWQsXG4gICAgICAgICAgbCA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHUgPSBlLmhhbmRsZVRvZ2dsZSxcbiAgICAgICAgICBjID0gKDAsIG8uZGVmYXVsdCkoXCJ1c2EtYWNjb3JkaW9uX19oZWFkaW5nXCIsIGwpLFxuICAgICAgICAgIHMgPSAoMCwgby5kZWZhdWx0KShcInVzYS1hY2NvcmRpb25fX2NvbnRlbnRcIiwgXCJ1c2EtcHJvc2VcIiwgbCk7XG4gICAgICByZXR1cm4gbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQobi5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImgyXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBjXG4gICAgICB9LCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7XG4gICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYWNjb3JkaW9uX19idXR0b25cIixcbiAgICAgICAgXCJhcmlhLWV4cGFuZGVkXCI6IGksXG4gICAgICAgIFwiYXJpYS1jb250cm9sc1wiOiByLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiYWNjb3JkaW9uQnV0dG9uX1wiICsgcixcbiAgICAgICAgb25DbGljazogdVxuICAgICAgfSwgdCkpLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGlkOiByLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiYWNjb3JkaW9uSXRlbV9cIiArIHIsXG4gICAgICAgIGNsYXNzTmFtZTogcyxcbiAgICAgICAgaGlkZGVuOiAhaVxuICAgICAgfSwgYSkpO1xuICAgIH07XG5cbiAgICB0LkFjY29yZGlvbkl0ZW0gPSBjO1xuXG4gICAgdmFyIHMgPSBmdW5jdGlvbiBzKGUpIHtcbiAgICAgIHZhciB0ID0gZS5ib3JkZXJlZCxcbiAgICAgICAgICByID0gZS5pdGVtcyxcbiAgICAgICAgICBhID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgaSA9ICgwLCBuLnVzZVN0YXRlKShyLmZpbHRlcihmdW5jdGlvbiAoZSkge1xuICAgICAgICByZXR1cm4gISFlLmV4cGFuZGVkO1xuICAgICAgfSkubWFwKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIHJldHVybiBlLmlkO1xuICAgICAgfSkpLFxuICAgICAgICAgIHMgPSBpWzBdLFxuICAgICAgICAgIGQgPSBpWzFdLFxuICAgICAgICAgIGYgPSAoMCwgby5kZWZhdWx0KShcInVzYS1hY2NvcmRpb25cIiwge1xuICAgICAgICBcInVzYS1hY2NvcmRpb24tLWJvcmRlcmVkXCI6IHRcbiAgICAgIH0sIGEpO1xuICAgICAgcmV0dXJuIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBmLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiYWNjb3JkaW9uXCJcbiAgICAgIH0sIHIubWFwKGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIHJldHVybiBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChjLCBfbDcoe1xuICAgICAgICAgIGtleTogXCJhY2NvcmRpb25JdGVtX1wiICsgdFxuICAgICAgICB9LCBlLCB7XG4gICAgICAgICAgZXhwYW5kZWQ6IHMuaW5kZXhPZihlLmlkKSA+IC0xLFxuICAgICAgICAgIGhhbmRsZVRvZ2dsZTogZnVuY3Rpb24gaGFuZGxlVG9nZ2xlKCkge1xuICAgICAgICAgICAgdmFyIHQsIHIsIGE7XG4gICAgICAgICAgICB0ID0gZS5pZCwgciA9IHUocyksIChhID0gcy5pbmRleE9mKHQpKSA+IC0xID8gci5zcGxpY2UoYSwgMSkgOiByLnB1c2godCksIGQocik7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgICB9KSk7XG4gICAgfTtcblxuICAgIHQuQWNjb3JkaW9uID0gcztcbiAgICB2YXIgZCA9IHM7XG4gICAgdC5kZWZhdWx0ID0gZDtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuR292QmFubmVyID0gdm9pZCAwO1xuXG4gICAgdmFyIGEgPSBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgaWYgKCF0ICYmIGUgJiYgZS5fX2VzTW9kdWxlKSByZXR1cm4gZTtcbiAgICAgIGlmIChudWxsID09PSBlIHx8IFwib2JqZWN0XCIgIT0gdHlwZW9mIGUgJiYgXCJmdW5jdGlvblwiICE9IHR5cGVvZiBlKSByZXR1cm4ge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgICAgdmFyIHIgPSBzKHQpO1xuICAgICAgaWYgKHIgJiYgci5oYXMoZSkpIHJldHVybiByLmdldChlKTtcbiAgICAgIHZhciBhID0ge30sXG4gICAgICAgICAgbiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4gICAgICBmb3IgKHZhciBvIGluIGUpIHtcbiAgICAgICAgaWYgKFwiZGVmYXVsdFwiICE9PSBvICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBvKSkge1xuICAgICAgICAgIHZhciBpID0gbiA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSwgbykgOiBudWxsO1xuICAgICAgICAgIGkgJiYgKGkuZ2V0IHx8IGkuc2V0KSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCBvLCBpKSA6IGFbb10gPSBlW29dO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEuZGVmYXVsdCA9IGUsIHIgJiYgci5zZXQoZSwgYSk7XG4gICAgICByZXR1cm4gYTtcbiAgICB9KHIoMCkpLFxuICAgICAgICBuID0gYyhyKDEpKSxcbiAgICAgICAgbyA9IGMocigyNSkpLFxuICAgICAgICBpID0gYyhyKDI2KSksXG4gICAgICAgIGwgPSBjKHIoMjcpKSxcbiAgICAgICAgdSA9IGMocigyOCkpO1xuXG4gICAgZnVuY3Rpb24gYyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHMoZSkge1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgV2Vha01hcCkgcmV0dXJuIG51bGw7XG4gICAgICB2YXIgdCA9IG5ldyBXZWFrTWFwKCksXG4gICAgICAgICAgciA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICByZXR1cm4gKHMgPSBmdW5jdGlvbiBzKGUpIHtcbiAgICAgICAgcmV0dXJuIGUgPyByIDogdDtcbiAgICAgIH0pKGUpO1xuICAgIH1cblxuICAgIHZhciBfZCA9IGZ1bmN0aW9uIGQoKSB7XG4gICAgICByZXR1cm4gKF9kID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBmID0gZnVuY3Rpb24gZihlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9LFxuICAgICAgICBwID0gZnVuY3Rpb24gcChlKSB7XG4gICAgICB2YXIgdCA9IGUudGxkLFxuICAgICAgICAgIHIgPSB2b2lkIDAgPT09IHQgPyBcIi5nb3ZcIiA6IHQsXG4gICAgICAgICAgYyA9IGUubGFuZ3VhZ2UsXG4gICAgICAgICAgcyA9IHZvaWQgMCA9PT0gYyA/IFwiZW5nbGlzaFwiIDogYyxcbiAgICAgICAgICBwID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgbSA9IGYoZSwgW1widGxkXCIsIFwibGFuZ3VhZ2VcIiwgXCJjbGFzc05hbWVcIl0pLFxuICAgICAgICAgIHkgPSAoMCwgYS51c2VTdGF0ZSkoITEpLFxuICAgICAgICAgIGIgPSB5WzBdLFxuICAgICAgICAgIHYgPSB5WzFdLFxuICAgICAgICAgIE8gPSAoMCwgbi5kZWZhdWx0KShcInVzYS1iYW5uZXJcIiwgcCksXG4gICAgICAgICAgZyA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIHZhciByID0gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgICBjbGFzc05hbWU6IFwiaWNvbi1sb2NrXCJcbiAgICAgICAgfSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIiwge1xuICAgICAgICAgIHNyYzogdS5kZWZhdWx0LFxuICAgICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYmFubmVyX19sb2NrLWltYWdlXCIsXG4gICAgICAgICAgYWx0OiBcImxvY2tcIixcbiAgICAgICAgICB0aXRsZTogXCJMb2NrXCIsXG4gICAgICAgICAgcm9sZTogXCJpbWdcIlxuICAgICAgICB9KSk7XG5cbiAgICAgICAgc3dpdGNoIChlKSB7XG4gICAgICAgICAgY2FzZSBcImVuZ2xpc2hcIjpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGhlYWRlcjogXCJBbiBvZmZpY2lhbCB3ZWJzaXRlIG9mIHRoZSBVbml0ZWQgU3RhdGVzIGdvdmVybm1lbnRcIixcbiAgICAgICAgICAgICAgaGVhZGVyQWN0aW9uOiBcIkhlcmXigJlzIGhvdyB5b3Uga25vd1wiLFxuICAgICAgICAgICAgICB0bGRTZWN0aW9uSGVhZGVyOiBcIk9mZmljaWFsIHdlYnNpdGVzIHVzZSBcIiArIHQsXG4gICAgICAgICAgICAgIHRsZFNlY3Rpb25Db250ZW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgc3dpdGNoICh0KSB7XG4gICAgICAgICAgICAgICAgICBjYXNlIFwiLmdvdlwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoYS5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCBcIkEgXCIsIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3Ryb25nXCIsIG51bGwsIFwiLmdvdlwiKSwgXCIgd2Vic2l0ZSBiZWxvbmdzIHRvIGFuIG9mZmljaWFsIGdvdmVybm1lbnQgb3JnYW5pemF0aW9uIGluIHRoZSBVbml0ZWQgU3RhdGVzLlwiKTtcblxuICAgICAgICAgICAgICAgICAgY2FzZSBcIi5taWxcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KGEuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgXCJBIFwiLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInN0cm9uZ1wiLCBudWxsLCBcIi5taWxcIiksIFwiIHdlYnNpdGUgYmVsb25ncyB0byBhbiBvZmZpY2lhbCBVLlMuIERlcGFydG1lbnQgb2YgRGVmZW5zZSBvcmdhbml6YXRpb24uXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSgpLFxuICAgICAgICAgICAgICBodHRwc1NlY3Rpb25IZWFkZXI6IFwiU2VjdXJlIFwiICsgdCArIFwiIHdlYnNpdGVzIHVzZSBIVFRQU1wiLFxuICAgICAgICAgICAgICBodHRwc1NlY3Rpb25Db250ZW50OiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChhLmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsIFwiQSBcIiwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHJvbmdcIiwgbnVsbCwgXCJsb2NrIChcIiwgciwgXCIpXCIpLCBcIiBvciBcIiwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHJvbmdcIiwgbnVsbCwgXCJodHRwczovL1wiKSwgXCIgbWVhbnMgeW914oCZdmUgc2FmZWx5IGNvbm5lY3RlZCB0byB0aGUgXCIsIHQsIFwiIHdlYnNpdGUuIFNoYXJlIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiBvbmx5IG9uIG9mZmljaWFsLCBzZWN1cmUgd2Vic2l0ZXMuXCIpXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgY2FzZSBcInNwYW5pc2hcIjpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGhlYWRlcjogXCJVbiBzaXRpbyBvZmljaWFsIGRlbCBHb2JpZXJubyBkZSBFc3RhZG9zIFVuaWRvc1wiLFxuICAgICAgICAgICAgICBoZWFkZXJBY3Rpb246IFwiQXPDrSBlcyBjb21vIHVzdGVkIHB1ZWRlIHZlcmlmaWNhcmxvXCIsXG4gICAgICAgICAgICAgIHRsZFNlY3Rpb25IZWFkZXI6IFwiTG9zIHNpdGlvcyB3ZWIgb2ZpY2lhbGVzIHVzYW4gXCIgKyB0LFxuICAgICAgICAgICAgICB0bGRTZWN0aW9uQ29udGVudDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodCkge1xuICAgICAgICAgICAgICAgICAgY2FzZSBcIi5nb3ZcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KGEuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgXCJVbiBzaXRpbyB3ZWIgXCIsIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3Ryb25nXCIsIG51bGwsIFwiLmdvdlwiKSwgXCIgcGVydGVuZWNlIGEgdW5hIG9yZ2FuaXphY2nDs24gb2ZpY2lhbCBkZWwgR29iaWVybm8gZGUgRXN0YWRvcyBVbmlkb3MuXCIpO1xuXG4gICAgICAgICAgICAgICAgICBjYXNlIFwiLm1pbFwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoYS5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCBcIlVuIHNpdGlvIHdlYiBcIiwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHJvbmdcIiwgbnVsbCwgXCIubWlsXCIpLCBcIiBwZXJ0ZW5lY2UgYSB1bmEgb3JnYW5pemFjacOzbiBvZmljaWFsIGRlbCBEZXBhcnRhbWVudG8gZGUgRGVmZW5zYSBkZSBFRS4gVVUuXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSgpLFxuICAgICAgICAgICAgICBodHRwc1NlY3Rpb25IZWFkZXI6IFwiTG9zIHNpdGlvcyB3ZWIgc2VndXJvcyBcIiArIHQgKyBcIiB1c2FuIEhUVFBTXCIsXG4gICAgICAgICAgICAgIGh0dHBzU2VjdGlvbkNvbnRlbnQ6IGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KGEuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgXCJVbiBcIiwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHJvbmdcIiwgbnVsbCwgXCJjYW5kYWRvIChcIiwgciwgXCIpXCIpLCBcIiBvIFwiLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInN0cm9uZ1wiLCBudWxsLCBcImh0dHBzOi8vXCIpLCBcIiBcIiwgXCJzaWduaWZpY2EgcXVlIHVzdGVkIHNlIGNvbmVjdMOzIGRlIGZvcm1hIHNlZ3VyYSBhIHVuIHNpdGlvIHdlYiBcIiwgdCwgXCIuIENvbXBhcnRhIGluZm9ybWFjacOzbiBzZW5zaWJsZSBzw7NsbyBlbiBzaXRpb3Mgd2ViIG9maWNpYWxlcyB5IHNlZ3Vyb3MuXCIpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KHMsIHIpO1xuXG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzZWN0aW9uXCIsIF9kKHtcbiAgICAgICAgY2xhc3NOYW1lOiBPLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiZ292QmFubmVyXCJcbiAgICAgIH0sIG0pLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYWNjb3JkaW9uXCJcbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaGVhZGVyXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1iYW5uZXJfX2hlYWRlclwiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYmFubmVyX19pbm5lclwiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJncmlkLWNvbC1hdXRvXCJcbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaW1nXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1iYW5uZXJfX2hlYWRlci1mbGFnXCIsXG4gICAgICAgIHNyYzogby5kZWZhdWx0LFxuICAgICAgICBhbHQ6IFwiVS5TLiBmbGFnXCJcbiAgICAgIH0pKSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwiZ3JpZC1jb2wtZmlsbCB0YWJsZXQ6Z3JpZC1jb2wtYXV0b1wiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInBcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWJhbm5lcl9faGVhZGVyLXRleHRcIlxuICAgICAgfSwgZy5oZWFkZXIpLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInBcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvblwiLFxuICAgICAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiXG4gICAgICB9LCBnLmhlYWRlckFjdGlvbikpLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7XG4gICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYWNjb3JkaW9uX19idXR0b24gdXNhLWJhbm5lcl9fYnV0dG9uXCIsXG4gICAgICAgIFwiYXJpYS1leHBhbmRlZFwiOiBiLFxuICAgICAgICBcImFyaWEtY29udHJvbHNcIjogXCJnb3YtYmFubmVyXCIsXG4gICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG4gICAgICAgICAgdihmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgcmV0dXJuICFlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWJhbm5lcl9fYnV0dG9uLXRleHRcIlxuICAgICAgfSwgZy5oZWFkZXJBY3Rpb24pKSkpLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYmFubmVyX19jb250ZW50IHVzYS1hY2NvcmRpb25fX2NvbnRlbnRcIixcbiAgICAgICAgaWQ6IFwiZ292LWJhbm5lclwiLFxuICAgICAgICBoaWRkZW46ICFiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJncmlkLXJvdyBncmlkLWdhcC1sZ1wiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYmFubmVyX19ndWlkYW5jZSB0YWJsZXQ6Z3JpZC1jb2wtNlwiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImltZ1wiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYmFubmVyX19pY29uIHVzYS1tZWRpYS1ibG9ja19faW1nXCIsXG4gICAgICAgIHNyYzogaS5kZWZhdWx0LFxuICAgICAgICByb2xlOiBcImltZ1wiLFxuICAgICAgICBhbHQ6IFwiXCIsXG4gICAgICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCJcbiAgICAgIH0pLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtbWVkaWEtYmxvY2tfX2JvZHlcIlxuICAgICAgfSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJwXCIsIG51bGwsIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3Ryb25nXCIsIG51bGwsIGcudGxkU2VjdGlvbkhlYWRlciksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYnJcIiwgbnVsbCksIGcudGxkU2VjdGlvbkNvbnRlbnQpKSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1iYW5uZXJfX2d1aWRhbmNlIHRhYmxldDpncmlkLWNvbC02XCJcbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaW1nXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1iYW5uZXJfX2ljb24gdXNhLW1lZGlhLWJsb2NrX19pbWdcIixcbiAgICAgICAgc3JjOiBsLmRlZmF1bHQsXG4gICAgICAgIHJvbGU6IFwiaW1nXCIsXG4gICAgICAgIGFsdDogXCJcIixcbiAgICAgICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIlxuICAgICAgfSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1tZWRpYS1ibG9ja19fYm9keVwiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInBcIiwgbnVsbCwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzdHJvbmdcIiwgbnVsbCwgZy5odHRwc1NlY3Rpb25IZWFkZXIpLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJyXCIsIG51bGwpLCBnLmh0dHBzU2VjdGlvbkNvbnRlbnQpKSkpKSkpO1xuICAgIH07XG5cbiAgICB0LkdvdkJhbm5lciA9IHA7XG4gICAgdmFyIG0gPSBwO1xuICAgIHQuZGVmYXVsdCA9IG07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICByLnIodCksIHQuZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFMQ0FNQUFBQkJQUDBMQUFBQUcxQk1WRVVkTTdFZU5MSWVNN0hnUUNEYVBoL2JQaC9iUHgvLy8vL2JQeUJFYnk0MUFBQUFVRWxFUVZRSTEyM01OdzRDQUJERXdEM2pDLzkvTVExQlFyZ2VPU2tJcVllMm8yRlp0dGhYZ1FMZ2JIVk1aZGxzZlVRRlFuSHRqUDErOEJVaEJES09xdG1mb3Q2b2pxUHpSN1RqZFUrZjZ2a0VEK0lEUGhUQmNNQUFBQUFBU1VWT1JLNUNZSUk9XCI7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICByLnIodCksIHQuZGVmYXVsdCA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejQ4YzNabklIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2QybGtkR2c5SWpZMElpQm9aV2xuYUhROUlqWTBJaUIyYVdWM1FtOTRQU0l3SURBZ05qUWdOalFpUGp4MGFYUnNaVDVwWTI5dUxXUnZkQzFuYjNZOEwzUnBkR3hsUGp4d1lYUm9JR1pwYkd3OUlpTXlNemM0UXpNaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRNeUlEQmpNVGN1TmpjeklEQWdNeklnTVRRdU16STNJRE15SURNeUlEQWdNVGN1TmpjekxURTBMak15TnlBek1pMHpNaUF6TWtNeE5DNHpNamNnTmpRZ01DQTBPUzQyTnpNZ01DQXpNaUF3SURFMExqTXlOeUF4TkM0ek1qY2dNQ0F6TWlBd2VtMHdJREV1TWpBNFF6RTBMams1TkNBeExqSXdPQ0F4TGpJd09DQXhOQzQ1T1RRZ01TNHlNRGdnTXpKVE1UUXVPVGswSURZeUxqYzVNaUF6TWlBMk1pNDNPVElnTmpJdU56a3lJRFE1TGpBd05pQTJNaTQzT1RJZ016SWdORGt1TURBMklERXVNakE0SURNeUlERXVNakE0ZW0weE1DNDFPU0F6T0M0NE5UaGhMamcxTnk0NE5UY2dNQ0F3SURFZ0xqZzRNaTQ0TWpKMk1TNDJOREpJTVRndU9EZzJkaTB4TGpZME1tRXVPRFUzTGpnMU55QXdJREFnTVNBdU9EZ3lMUzQ0TWpKSU5ESXVOVGw2VFRJMUxqUTBNeUF5Tnk0M056UjJPUzQ0TWpsb01TNDJOREoyTFRrdU9ETm9NeTR5TnpOMk9TNDRNMGd6TW5ZdE9TNDRNMmd6TGpJM01uWTVMamd6YURFdU5qUXpkaTA1TGpnemFETXVNamN5ZGprdU9ETm9MamMyWVM0NE5UY3VPRFUzSURBZ01DQXhJQzQ0T0RJdU9ESXhkaTQ0TWpGb0xUSXhMak4yTFM0NE1EbGhMamcxTnk0NE5UY2dNQ0F3SURFZ0xqZzRMUzQ0TW1ndU56WXlkaTA1TGpnME1tZ3pMakkzTW5wdE5TNDNNell0T0M0eE9EaHNNVEl1TWpreklEUXVPVEUxZGpFdU5qUXlhQzB4TGpZellTNDROVGN1T0RVM0lEQWdNQ0F4TFM0NE9ESXVPREl5U0RJeExqUXhZUzQ0TlRjdU9EVTNJREFnTUNBeExTNDRPREl0TGpneU1tZ3RNUzQyTkRKMkxURXVOalF5YkRFeUxqSTVNeTAwTGpreE5Yb2lMejQ4TDNOMlp6ND1cIjtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIHIucih0KSwgdC5kZWZhdWx0ID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NDhjM1puSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZDJsa2RHZzlJalkwSWlCb1pXbG5hSFE5SWpZMElpQjJhV1YzUW05NFBTSXdJREFnTmpRZ05qUWlQangwYVhSc1pUNXBZMjl1TFdoMGRIQnpQQzkwYVhSc1pUNDhjR0YwYUNCbWFXeHNQU0lqTnpFNVJqSkJJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHpNaUF3WXpFM0xqWTNNeUF3SURNeUlERTBMak15TnlBek1pQXpNaUF3SURFM0xqWTNNeTB4TkM0ek1qY2dNekl0TXpJZ016SkRNVFF1TXpJM0lEWTBJREFnTkRrdU5qY3pJREFnTXpJZ01DQXhOQzR6TWpjZ01UUXVNekkzSURBZ016SWdNSHB0TUNBeExqSXdPRU14TkM0NU9UUWdNUzR5TURnZ01TNHlNRGdnTVRRdU9UazBJREV1TWpBNElETXlVekUwTGprNU5DQTJNaTQzT1RJZ016SWdOakl1TnpreUlEWXlMamM1TWlBME9TNHdNRFlnTmpJdU56a3lJRE15SURRNUxqQXdOaUF4TGpJd09DQXpNaUF4TGpJd09IcHRNQ0F4T0M0NE9EWmhOeTR5TkRVZ055NHlORFVnTUNBd0lERWdOeTR5TkRVZ055NHlORFYyTXk0eE1ETm9MalV5WXk0NE5pQXdJREV1TlRVM0xqWTVPQ0F4TGpVMU55QXhMalUxT0hZNUxqTXlNbU13SUM0NE5pMHVOamszSURFdU5UVTRMVEV1TlRVM0lERXVOVFU0YUMweE5TNDFNMk10TGpnMklEQXRNUzQxTlRjdExqWTVOeTB4TGpVMU55MHhMalUxT0ZZek1tTXdMUzQ0Tmk0Mk9UY3RNUzQxTlRnZ01TNDFOVGN0TVM0MU5UaG9MalV5VmpJM0xqTTBRVGN1TWpRMUlEY3VNalExSURBZ01DQXhJRE15SURJd0xqQTVOSHB0TUNBekxqRXdNMkUwTGpFME1pQTBMakUwTWlBd0lEQWdNQzAwTGpFME1pQTBMakUwTW5ZekxqRXdNMmc0TGpJNE5GWXlOeTR6TkVFMExqRTBNaUEwTGpFME1pQXdJREFnTUNBek1pQXlNeTR4T1RkNklpOCtQQzl6ZG1jK1wiO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgci5yKHQpLCB0LmRlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpUHo0OGMzWm5JSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdkMmxrZEdnOUlqVXlJaUJvWldsbmFIUTlJalkwSWlCMmFXVjNRbTk0UFNJd0lEQWdOVElnTmpRaVBqeDBhWFJzWlQ1c2IyTnJQQzkwYVhSc1pUNDhjR0YwYUNCbWFXeHNQU0lqTVVJeFFqRkNJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHlOaUF3WXpFd0xqUTVNeUF3SURFNUlEZ3VOVEEzSURFNUlERTVkamxvTTJFMElEUWdNQ0F3SURFZ05DQTBkakk0WVRRZ05DQXdJREFnTVMwMElEUklOR0UwSURRZ01DQXdJREV0TkMwMFZqTXlZVFFnTkNBd0lEQWdNU0EwTFRSb00zWXRPVU0zSURndU5UQTNJREUxTGpVd055QXdJREkySURCNmJUQWdPR010TlM0NU56a2dNQzB4TUM0NE5ETWdOQzQzTnkweE1DNDVPVFlnTVRBdU56RXlUREUxSURFNWRqbG9NakoyTFRsak1DMDJMakEzTlMwMExqa3lOUzB4TVMweE1TMHhNWG9pTHo0OEwzTjJaejQ9XCI7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LkJ1dHRvbkdyb3VwID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pNSA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pNSA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSkge1xuICAgICAgdmFyIHQgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICByID0gZS5jaGlsZHJlbixcbiAgICAgICAgICBvID0gZS50eXBlLFxuICAgICAgICAgIHUgPSB2b2lkIDAgPT09IG8gPyBcImRlZmF1bHRcIiA6IG8sXG4gICAgICAgICAgYyA9IGwoZSwgW1wiY2xhc3NOYW1lXCIsIFwiY2hpbGRyZW5cIiwgXCJ0eXBlXCJdKSxcbiAgICAgICAgICBzID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtYnV0dG9uLWdyb3VwXCIsIHtcbiAgICAgICAgXCJ1c2EtYnV0dG9uLWdyb3VwLS1zZWdtZW50ZWRcIjogXCJzZWdtZW50ZWRcIiA9PSB1XG4gICAgICB9LCB0KTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInVsXCIsIF9pNSh7XG4gICAgICAgIGNsYXNzTmFtZTogc1xuICAgICAgfSwgYyksIGEuZGVmYXVsdC5DaGlsZHJlbi5tYXAociwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlcIiwge1xuICAgICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYnV0dG9uLWdyb3VwX19pdGVtXCJcbiAgICAgICAgfSwgZSk7XG4gICAgICB9KSk7XG4gICAgfTtcblxuICAgIHQuQnV0dG9uR3JvdXAgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5UYWJsZSA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IGkocigwKSksXG4gICAgICAgIG4gPSBpKHIoMSkpLFxuICAgICAgICBvID0gaShyKDMxKSk7XG5cbiAgICBmdW5jdGlvbiBpKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIGwgPSBmdW5jdGlvbiBsKGUpIHtcbiAgICAgIHZhciB0LFxuICAgICAgICAgIHIgPSBlLmJvcmRlcmVkLFxuICAgICAgICAgIGkgPSBlLmNhcHRpb24sXG4gICAgICAgICAgbCA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgdSA9IGUuZnVsbFdpZHRoLFxuICAgICAgICAgIGMgPSBlLmZpeGVkLFxuICAgICAgICAgIHMgPSBlLnNjcm9sbGFibGUsXG4gICAgICAgICAgZCA9IGUuc3RyaXBlZCxcbiAgICAgICAgICBmID0gZS5jb21wYWN0LFxuICAgICAgICAgIHAgPSBlLnN0YWNrZWRTdHlsZSxcbiAgICAgICAgICBtID0gdm9pZCAwID09PSBwID8gXCJub25lXCIgOiBwLFxuICAgICAgICAgIHkgPSAoMCwgbi5kZWZhdWx0KShcInVzYS10YWJsZVwiLCAoKHQgPSB7XG4gICAgICAgIFwidXNhLXRhYmxlLS1ib3JkZXJsZXNzXCI6ICFyXG4gICAgICB9KVtcIlwiICsgby5kZWZhdWx0LmZ1bGx3aWR0aF0gPSB1LCB0W1wiXCIgKyBvLmRlZmF1bHQuZml4ZWRdID0gYywgdFtcInVzYS10YWJsZS0tc3RyaXBlZFwiXSA9IGQsIHRbXCJ1c2EtdGFibGUtLWNvbXBhY3RcIl0gPSBmLCB0W1widXNhLXRhYmxlLS1zdGFja2VkXCJdID0gXCJkZWZhdWx0XCIgPT09IG0sIHRbXCJ1c2EtdGFibGUtLXN0YWNrZWQtaGVhZGVyXCJdID0gXCJoZWFkZXJzXCIgPT09IG0sIHQpKTtcbiAgICAgIGYgJiYgXCJub25lXCIgIT09IG0gJiYgY29uc29sZS53YXJuKFwiVVNXRFMgc3RhdGVzIHRoYXQgY29tcGFjdCBzdHlsaW5nIGlzIG5vdCBzdWl0YWJsZSBmb3IgdXNlIHdpdGggc3RhY2tlZCB2YXJpYW50cy4gU2VlIFVTV0RTIFRhYmxlIGNvbXBvbmVudCwgVGFibGUgdmFyaWFudHMgZm9yIG1vcmUgaW5mb3JtYXRpb246IGh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2NvbXBvbmVudHMvdGFibGVcIik7XG4gICAgICB2YXIgYiA9IGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwidGFibGVcIiwge1xuICAgICAgICBjbGFzc05hbWU6IHksXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJ0YWJsZVwiXG4gICAgICB9LCBpICYmIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiY2FwdGlvblwiLCBudWxsLCBpKSwgbCk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoYS5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCBzID8gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwic2Nyb2xsYWJsZS10YWJsZS1jb250YWluZXJcIixcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS10YWJsZS1jb250YWluZXItLXNjcm9sbGFibGVcIlxuICAgICAgfSwgYikgOiBiKTtcbiAgICB9O1xuXG4gICAgdC5UYWJsZSA9IGw7XG4gICAgdmFyIHUgPSBsO1xuICAgIHQuZGVmYXVsdCA9IHU7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICByLnIodCksIHQuZGVmYXVsdCA9IHtcbiAgICAgIGZ1bGx3aWR0aDogXCJzcmMtY29tcG9uZW50cy1UYWJsZS1UYWJsZS1tb2R1bGVfX2Z1bGx3aWR0aC0tMy1LM3RcIixcbiAgICAgIGZpeGVkOiBcInNyYy1jb21wb25lbnRzLVRhYmxlLVRhYmxlLW1vZHVsZV9fZml4ZWQtLTJBd2N5XCJcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5UYWcgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2k2ID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2k2ID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9LFxuICAgICAgICB1ID0gZnVuY3Rpb24gdShlKSB7XG4gICAgICB2YXIgdCA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgciA9IGUuYmFja2dyb3VuZCxcbiAgICAgICAgICBvID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgdSA9IGwoZSwgW1wiY2hpbGRyZW5cIiwgXCJiYWNrZ3JvdW5kXCIsIFwiY2xhc3NOYW1lXCJdKSxcbiAgICAgICAgICBjID0ge307XG4gICAgICByICYmIChjLmJhY2tncm91bmQgPSByKTtcbiAgICAgIHZhciBzID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtdGFnXCIsIG8pO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCBfaTYoe1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwidGFnXCIsXG4gICAgICAgIGNsYXNzTmFtZTogcyxcbiAgICAgICAgc3R5bGU6IF9pNih7fSwgYylcbiAgICAgIH0sIHUpLCB0KTtcbiAgICB9O1xuXG4gICAgdC5UYWcgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5pc0N1c3RvbVByb3BzID0gcywgdC5Ub29sdGlwID0gZDtcblxuICAgIHZhciBhLFxuICAgICAgICBuID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGlmICghdCAmJiBlICYmIGUuX19lc01vZHVsZSkgcmV0dXJuIGU7XG4gICAgICBpZiAobnVsbCA9PT0gZSB8fCBcIm9iamVjdFwiICE9IHR5cGVvZiBlICYmIFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgZSkgcmV0dXJuIHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICAgIHZhciByID0gbCh0KTtcbiAgICAgIGlmIChyICYmIHIuaGFzKGUpKSByZXR1cm4gci5nZXQoZSk7XG4gICAgICB2YXIgYSA9IHt9LFxuICAgICAgICAgIG4gPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgICAgZm9yICh2YXIgbyBpbiBlKSB7XG4gICAgICAgIGlmIChcImRlZmF1bHRcIiAhPT0gbyAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgbykpIHtcbiAgICAgICAgICB2YXIgaSA9IG4gPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsIG8pIDogbnVsbDtcbiAgICAgICAgICBpICYmIChpLmdldCB8fCBpLnNldCkgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgbywgaSkgOiBhW29dID0gZVtvXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhLmRlZmF1bHQgPSBlLCByICYmIHIuc2V0KGUsIGEpO1xuICAgICAgcmV0dXJuIGE7XG4gICAgfShyKDApKSxcbiAgICAgICAgbyA9IChhID0gcigxKSkgJiYgYS5fX2VzTW9kdWxlID8gYSA6IHtcbiAgICAgIGRlZmF1bHQ6IGFcbiAgICB9LFxuICAgICAgICBpID0gcigzNCk7XG5cbiAgICBmdW5jdGlvbiBsKGUpIHtcbiAgICAgIGlmIChcImZ1bmN0aW9uXCIgIT0gdHlwZW9mIFdlYWtNYXApIHJldHVybiBudWxsO1xuICAgICAgdmFyIHQgPSBuZXcgV2Vha01hcCgpLFxuICAgICAgICAgIHIgPSBuZXcgV2Vha01hcCgpO1xuICAgICAgcmV0dXJuIChsID0gZnVuY3Rpb24gbChlKSB7XG4gICAgICAgIHJldHVybiBlID8gciA6IHQ7XG4gICAgICB9KShlKTtcbiAgICB9XG5cbiAgICB2YXIgX3UgPSBmdW5jdGlvbiB1KCkge1xuICAgICAgcmV0dXJuIChfdSA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgYyA9IGZ1bmN0aW9uIGMoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIHMoZSkge1xuICAgICAgcmV0dXJuIFwiYXNDdXN0b21cIiBpbiBlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGQoZSkge1xuICAgICAgdmFyIHQgPSAoMCwgbi51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIHIgPSAoMCwgbi51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIGEgPSAoMCwgbi51c2VSZWYpKFwidG9vbHRpcC1cIiArIChNYXRoLmZsb29yKDllNSAqIE1hdGgucmFuZG9tKCkpICsgMWU1KSksXG4gICAgICAgICAgbCA9ICgwLCBuLnVzZVN0YXRlKSghMSksXG4gICAgICAgICAgZCA9IGxbMF0sXG4gICAgICAgICAgZiA9IGxbMV0sXG4gICAgICAgICAgcCA9IGZ1bmN0aW9uIHAoYSwgbykge1xuICAgICAgICAoMCwgbi51c2VFZmZlY3QpKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB2YXIgbiA9IG87XG5cbiAgICAgICAgICBpZiAoYS5jdXJyZW50ICYmIHIuY3VycmVudCAmJiB0LmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHZhciBsID0gYS5jdXJyZW50LFxuICAgICAgICAgICAgICAgIHUgPSByLmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgYyA9IHQuY3VycmVudCxcbiAgICAgICAgICAgICAgICBzID0gbC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgICBkID0gbC5vZmZzZXRIZWlnaHQsXG4gICAgICAgICAgICAgICAgZiA9IE51bWJlci5wYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShsKS5nZXRQcm9wZXJ0eVZhbHVlKFwibWFyZ2luLXRvcFwiKSwgMTApLFxuICAgICAgICAgICAgICAgIHAgPSBOdW1iZXIucGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUobCkuZ2V0UHJvcGVydHlWYWx1ZShcIm1hcmdpbi1ib3R0b21cIiksIDEwKSxcbiAgICAgICAgICAgICAgICBtID0gTnVtYmVyLnBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGMpLmdldFByb3BlcnR5VmFsdWUoXCJwYWRkaW5nLXRvcFwiKSwgMTApLFxuICAgICAgICAgICAgICAgIHkgPSBOdW1iZXIucGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUoYykuZ2V0UHJvcGVydHlWYWx1ZShcInBhZGRpbmctYm90dG9tXCIpLCAxMCksXG4gICAgICAgICAgICAgICAgYiA9IE51bWJlci5wYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh1KS5nZXRQcm9wZXJ0eVZhbHVlKFwiaGVpZ2h0XCIpLCAxMCksXG4gICAgICAgICAgICAgICAgdiA9IGwub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICBPID0gdS5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgICBnID0gcyAvIDIgKyB2LFxuICAgICAgICAgICAgICAgIF8gPSBzICsgNSArIDIsXG4gICAgICAgICAgICAgICAgaCA9IGQgKyA1ICsgMixcbiAgICAgICAgICAgICAgICBqID0gZnVuY3Rpb24gaihlKSB7XG4gICAgICAgICAgICAgIHUuY2xhc3NMaXN0LnJlbW92ZShcInVzYS10b29sdGlwX19ib2R5LS1cIiArIG4pLCBuID0gZSwgdS5jbGFzc0xpc3QuYWRkKFwidXNhLXRvb2x0aXBfX2JvZHktLVwiICsgZSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpZiAoZS53cmFwcGVyY2xhc3NlcykgZS53cmFwcGVyY2xhc3Nlcy5zcGxpdChcIiBcIikuZm9yRWFjaChmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICByZXR1cm4gYy5jbGFzc0xpc3QuYWRkKGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoZS5jbGFzc05hbWUpIGUuY2xhc3NOYW1lLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBsLmNsYXNzTGlzdC5hZGQoZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdmFyIE0gPSBmdW5jdGlvbiBNKGUpIHtcbiAgICAgICAgICAgICAgaihcInRvcFwiKSwgZS5zdHlsZS5tYXJnaW5MZWZ0ID0gZyArIFwicHhcIiwgKDAsIGkuaXNFbGVtZW50SW5WaWV3cG9ydCkoZSkgfHwgZS5jbGFzc0xpc3QuYWRkKFwidXNhLXRvb2x0aXBfX2JvZHktLXdyYXBcIiksIGUuc3R5bGUubWFyZ2luQm90dG9tID0gaCArIHAgKyB5ICsgXCJweFwiO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBOID0gZnVuY3Rpb24gTihlKSB7XG4gICAgICAgICAgICAgIGooXCJib3R0b21cIiksIGUuc3R5bGUubWFyZ2luTGVmdCA9IGcgKyBcInB4XCIsICgwLCBpLmlzRWxlbWVudEluVmlld3BvcnQpKGUpIHx8IGUuY2xhc3NMaXN0LmFkZChcInVzYS10b29sdGlwX19ib2R5LS13cmFwXCIpLCBlLnN0eWxlLm1hcmdpblRvcCA9IGggKyBmICsgbSArIFwicHhcIjtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgRSA9IGZ1bmN0aW9uIEUoZSkge1xuICAgICAgICAgICAgICBqKFwicmlnaHRcIiksIGUuc3R5bGUubWFyZ2luQm90dG9tID0gXCIwXCIsIGUuc3R5bGUubWFyZ2luTGVmdCA9IF8gKyB2ICsgXCJweFwiLCBlLnN0eWxlLmJvdHRvbSA9IChkIC0gYikgLyAyICsgcCArIHkgKyBcInB4XCI7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFAgPSBmdW5jdGlvbiBQKGUpIHtcbiAgICAgICAgICAgICAgaihcImxlZnRcIiksIGUuc3R5bGUubWFyZ2luQm90dG9tID0gXCIwXCIsIGUuc3R5bGUubWFyZ2luTGVmdCA9IHYgPiBPID8gdiAtIE8gLSA3ICsgXCJweFwiIDogXCItXCIgKyAoTyAtIHYgKyA3KSArIFwicHhcIiwgZS5zdHlsZS5ib3R0b20gPSAoZCAtIGIpIC8gMiArIHAgKyB5ICsgXCJweFwiO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgc3dpdGNoIChvKSB7XG4gICAgICAgICAgICAgIGNhc2UgXCJ0b3BcIjpcbiAgICAgICAgICAgICAgICBNKHUpLCAoMCwgaS5pc0VsZW1lbnRJblZpZXdwb3J0KSh1KSB8fCBOKHUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgIGNhc2UgXCJib3R0b21cIjpcbiAgICAgICAgICAgICAgICBOKHUpLCAoMCwgaS5pc0VsZW1lbnRJblZpZXdwb3J0KSh1KSB8fCBNKHUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgIGNhc2UgXCJyaWdodFwiOlxuICAgICAgICAgICAgICAgIEUodSksICgwLCBpLmlzRWxlbWVudEluVmlld3BvcnQpKHUpIHx8IChQKHUpLCAoMCwgaS5pc0VsZW1lbnRJblZpZXdwb3J0KSh1KSB8fCBNKHUpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICBjYXNlIFwibGVmdFwiOlxuICAgICAgICAgICAgICAgIFAodSksICgwLCBpLmlzRWxlbWVudEluVmlld3BvcnQpKHUpIHx8IChFKHUpLCAoMCwgaS5pc0VsZW1lbnRJblZpZXdwb3J0KSh1KSB8fCBNKHUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sIFtkXSk7XG4gICAgICB9O1xuXG4gICAgICBpZiAocyhlKSkge1xuICAgICAgICB2YXIgbSA9ICgwLCBuLnVzZVJlZikobnVsbCksXG4gICAgICAgICAgICB5ID0gZS5sYWJlbCxcbiAgICAgICAgICAgIGIgPSBlLnBvc2l0aW9uLFxuICAgICAgICAgICAgdiA9IGUuYXNDdXN0b20sXG4gICAgICAgICAgICBPID0gZS5jaGlsZHJlbixcbiAgICAgICAgICAgIGcgPSBOID0gYyhlLCBbXCJsYWJlbFwiLCBcInBvc2l0aW9uXCIsIFwiYXNDdXN0b21cIiwgXCJjaGlsZHJlblwiXSksXG4gICAgICAgICAgICBfID0gKDAsIG8uZGVmYXVsdCkoXCJ1c2EtdG9vbHRpcF9fYm9keVwiLCB7XG4gICAgICAgICAgXCJpcy1zZXRcIjogZCxcbiAgICAgICAgICBcInVzYS10b29sdGlwX19ib2R5LS10b3BcIjogXCJ0b3BcIiA9PT0gYixcbiAgICAgICAgICBcInVzYS10b29sdGlwX19ib2R5LS1ib3R0b21cIjogXCJib3R0b21cIiA9PT0gYixcbiAgICAgICAgICBcInVzYS10b29sdGlwX19ib2R5LS1yaWdodFwiOiBcInJpZ2h0XCIgPT09IGIsXG4gICAgICAgICAgXCJ1c2EtdG9vbHRpcF9fYm9keS0tbGVmdFwiOiBcImxlZnRcIiA9PT0gYixcbiAgICAgICAgICBcImlzLXZpc2libGVcIjogZFxuICAgICAgICB9KSxcbiAgICAgICAgICAgIGggPSBmdW5jdGlvbiBoKCkge1xuICAgICAgICAgIGYoITApO1xuICAgICAgICB9LFxuICAgICAgICAgICAgaiA9IGZ1bmN0aW9uIGooKSB7XG4gICAgICAgICAgZighMSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcChtLCBiKTtcbiAgICAgICAgdmFyIE0gPSAoMCwgbi5jcmVhdGVFbGVtZW50KSh2LCBfdSh7XG4gICAgICAgICAgcmVmOiBtLFxuICAgICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJ0cmlnZ2VyRWxlbWVudFwiLFxuICAgICAgICAgIG9uTW91c2VFbnRlcjogZnVuY3Rpb24gb25Nb3VzZUVudGVyKCkge1xuICAgICAgICAgICAgcmV0dXJuIGgoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uTW91c2VPdmVyOiBmdW5jdGlvbiBvbk1vdXNlT3ZlcigpIHtcbiAgICAgICAgICAgIHJldHVybiBoKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBvbkZvY3VzOiBmdW5jdGlvbiBvbkZvY3VzKCkge1xuICAgICAgICAgICAgcmV0dXJuIGgoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uTW91c2VMZWF2ZTogZnVuY3Rpb24gb25Nb3VzZUxlYXZlKCkge1xuICAgICAgICAgICAgcmV0dXJuIGooKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKCkge1xuICAgICAgICAgICAgcmV0dXJuIGooKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uS2V5RG93bjogZnVuY3Rpb24gb25LZXlEb3duKCkge1xuICAgICAgICAgICAgcmV0dXJuIGooKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIGcpLCBPKTtcbiAgICAgICAgcmV0dXJuIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRvb2x0aXBXcmFwcGVyXCIsXG4gICAgICAgICAgcmVmOiB0LFxuICAgICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtdG9vbHRpcFwiLFxuICAgICAgICAgIHJvbGU6IFwidG9vbHRpcFwiXG4gICAgICAgIH0sIE0sIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRvb2x0aXBCb2R5XCIsXG4gICAgICAgICAgdGl0bGU6IHksXG4gICAgICAgICAgaWQ6IGEuY3VycmVudCxcbiAgICAgICAgICByZWY6IHIsXG4gICAgICAgICAgY2xhc3NOYW1lOiBfXG4gICAgICAgIH0sIHkpKTtcbiAgICAgIH1cblxuICAgICAgbSA9ICgwLCBuLnVzZVJlZikobnVsbCksIHkgPSBlLmxhYmVsLCBiID0gZS5wb3NpdGlvbiwgTyA9IGUuY2hpbGRyZW47XG5cbiAgICAgIHZhciBOID0gYyhlLCBbXCJsYWJlbFwiLCBcInBvc2l0aW9uXCIsIFwiY2hpbGRyZW5cIl0pLFxuICAgICAgICAgIEUgPSAoXyA9ICgwLCBvLmRlZmF1bHQpKFwidXNhLXRvb2x0aXBfX2JvZHlcIiwge1xuICAgICAgICBcImlzLXNldFwiOiBkLFxuICAgICAgICBcInVzYS10b29sdGlwX19ib2R5LS10b3BcIjogXCJ0b3BcIiA9PT0gYixcbiAgICAgICAgXCJ1c2EtdG9vbHRpcF9fYm9keS0tYm90dG9tXCI6IFwiYm90dG9tXCIgPT09IGIsXG4gICAgICAgIFwidXNhLXRvb2x0aXBfX2JvZHktLXJpZ2h0XCI6IFwicmlnaHRcIiA9PT0gYixcbiAgICAgICAgXCJ1c2EtdG9vbHRpcF9fYm9keS0tbGVmdFwiOiBcImxlZnRcIiA9PT0gYixcbiAgICAgICAgXCJpcy12aXNpYmxlXCI6IGRcbiAgICAgIH0pLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGYoITApO1xuICAgICAgfSksXG4gICAgICAgICAgUCA9IGZ1bmN0aW9uIFAoKSB7XG4gICAgICAgIGYoITEpO1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHAobSwgYiksIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJ0b29sdGlwV3JhcHBlclwiLFxuICAgICAgICByZWY6IHQsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtdG9vbHRpcFwiLFxuICAgICAgICByb2xlOiBcInRvb2x0aXBcIlxuICAgICAgfSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgX3Uoe30sIE4sIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRyaWdnZXJFbGVtZW50XCIsXG4gICAgICAgIHJlZjogbSxcbiAgICAgICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGEuY3VycmVudCxcbiAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1idXR0b24gdXNhLXRvb2x0aXBfX3RyaWdnZXJcIixcbiAgICAgICAgdGl0bGU6IHksXG4gICAgICAgIG9uTW91c2VFbnRlcjogRSxcbiAgICAgICAgb25Nb3VzZU92ZXI6IEUsXG4gICAgICAgIG9uRm9jdXM6IEUsXG4gICAgICAgIG9uTW91c2VMZWF2ZTogUCxcbiAgICAgICAgb25CbHVyOiBQLFxuICAgICAgICBvbktleURvd246IFBcbiAgICAgIH0pLCBPKSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRvb2x0aXBCb2R5XCIsXG4gICAgICAgIHRpdGxlOiB5LFxuICAgICAgICBpZDogYS5jdXJyZW50LFxuICAgICAgICByZWY6IHIsXG4gICAgICAgIGNsYXNzTmFtZTogX1xuICAgICAgfSwgeSkpO1xuICAgIH1cblxuICAgIGQuZGVmYXVsdFByb3BzID0ge1xuICAgICAgcG9zaXRpb246IFwidG9wXCJcbiAgICB9LCBkLkRpc3BsYXlOYW1lID0gXCJUb29sdGlwXCI7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmlzRWxlbWVudEluVmlld3BvcnQgPSB2b2lkIDA7XG5cbiAgICB0LmlzRWxlbWVudEluVmlld3BvcnQgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgICAgdm9pZCAwID09PSB0ICYmICh0ID0gd2luZG93KSwgdm9pZCAwID09PSByICYmIChyID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTtcbiAgICAgIHZhciBhID0gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHJldHVybiBhLnRvcCA+PSAwICYmIGEubGVmdCA+PSAwICYmIGEuYm90dG9tIDw9ICh0LmlubmVySGVpZ2h0IHx8IHIuY2xpZW50SGVpZ2h0KSAmJiBhLnJpZ2h0IDw9ICh0LmlubmVyV2lkdGggfHwgci5jbGllbnRXaWR0aCk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuU2lkZU5hdiA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHQuU2lkZU5hdiA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuaXRlbXMsXG4gICAgICAgICAgciA9IGUuaXNTdWJuYXYsXG4gICAgICAgICAgbyA9IHZvaWQgMCAhPT0gciAmJiByLFxuICAgICAgICAgIGkgPSAoMCwgbi5kZWZhdWx0KSh7XG4gICAgICAgIFwidXNhLXNpZGVuYXZcIjogIW8sXG4gICAgICAgIFwidXNhLXNpZGVuYXZfX3N1Ymxpc3RcIjogb1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ1bFwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogaSxcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInNpZGVuYXZcIlxuICAgICAgfSwgdC5tYXAoZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlcIiwge1xuICAgICAgICAgIGtleTogXCJzaWRlbmF2X2l0ZW1fXCIgKyB0LFxuICAgICAgICAgIGNsYXNzTmFtZTogXCJ1c2Etc2lkZW5hdl9faXRlbVwiXG4gICAgICAgIH0sIGUpO1xuICAgICAgfSkpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LkNvbGxlY3Rpb24gPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2k3ID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2k3ID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5Db2xsZWN0aW9uID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gZS5jaGlsZHJlbixcbiAgICAgICAgICByID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgbyA9IGUuY29uZGVuc2VkLFxuICAgICAgICAgIHUgPSBsKGUsIFtcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCIsIFwiY29uZGVuc2VkXCJdKSxcbiAgICAgICAgICBjID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtY29sbGVjdGlvblwiLCB7XG4gICAgICAgIFwidXNhLWNvbGxlY3Rpb24tLWNvbmRlbnNlZFwiOiBvXG4gICAgICB9LCByKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInVsXCIsIF9pNyh7XG4gICAgICAgIGNsYXNzTmFtZTogYyxcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImNvbGxlY3Rpb25cIlxuICAgICAgfSwgdSksIHQpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LkNvbGxlY3Rpb25JdGVtID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pOCA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pOCA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcblxuICAgIHQuQ29sbGVjdGlvbkl0ZW0gPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICByID0gZS5jaGlsZHJlbixcbiAgICAgICAgICBvID0gZS52YXJpYW50Q29tcG9uZW50LFxuICAgICAgICAgIHUgPSBsKGUsIFtcImNsYXNzTmFtZVwiLCBcImNoaWxkcmVuXCIsIFwidmFyaWFudENvbXBvbmVudFwiXSksXG4gICAgICAgICAgYyA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWNvbGxlY3Rpb25fX2l0ZW1cIiwgdCk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaVwiLCBfaTgoe1xuICAgICAgICBjbGFzc05hbWU6IGNcbiAgICAgIH0sIHUpLCBvLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtY29sbGVjdGlvbl9fYm9keVwiXG4gICAgICB9LCByKSk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuQ29sbGVjdGlvbkhlYWRpbmcgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2k5ID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2k5ID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5Db2xsZWN0aW9uSGVhZGluZyA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuaGVhZGluZ0xldmVsLFxuICAgICAgICAgIHIgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBvID0gZS5jaGlsZHJlbixcbiAgICAgICAgICB1ID0gbChlLCBbXCJoZWFkaW5nTGV2ZWxcIiwgXCJjbGFzc05hbWVcIiwgXCJjaGlsZHJlblwiXSksXG4gICAgICAgICAgYyA9IHQgfHwgXCJoM1wiLFxuICAgICAgICAgIHMgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1jb2xsZWN0aW9uX19oZWFkaW5nXCIsIHIpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KGMsIF9pOSh7XG4gICAgICAgIGNsYXNzTmFtZTogc1xuICAgICAgfSwgdSksIG8pO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LkNvbGxlY3Rpb25EZXNjcmlwdGlvbiA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTEwID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kxMCA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcblxuICAgIHQuQ29sbGVjdGlvbkRlc2NyaXB0aW9uID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgciA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbyA9IGwoZSwgW1wiY2xhc3NOYW1lXCIsIFwiY2hpbGRyZW5cIl0pLFxuICAgICAgICAgIHUgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1jb2xsZWN0aW9uX19kZXNjcmlwdGlvblwiLCB0KTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInBcIiwgX2kxMCh7XG4gICAgICAgIGNsYXNzTmFtZTogdVxuICAgICAgfSwgbyksIHIpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LkNvbGxlY3Rpb25NZXRhID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pMTEgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTExID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5Db2xsZWN0aW9uTWV0YSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHIgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIG8gPSBsKGUsIFtcImNsYXNzTmFtZVwiLCBcImNoaWxkcmVuXCJdKSxcbiAgICAgICAgICB1ID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtY29sbGVjdGlvbl9fbWV0YVwiLCB0KTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInVsXCIsIF9pMTEoe1xuICAgICAgICBjbGFzc05hbWU6IHVcbiAgICAgIH0sIG8pLCByKTtcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5Db2xsZWN0aW9uTWV0YUl0ZW0gPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kxMiA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMTIgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH07XG5cbiAgICB0LkNvbGxlY3Rpb25NZXRhSXRlbSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHIgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIG8gPSBsKGUsIFtcImNsYXNzTmFtZVwiLCBcImNoaWxkcmVuXCJdKSxcbiAgICAgICAgICB1ID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtY29sbGVjdGlvbl9fbWV0YS1pdGVtXCIsIHQpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlcIiwgX2kxMih7XG4gICAgICAgIGNsYXNzTmFtZTogdVxuICAgICAgfSwgbyksIHIpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LkNvbGxlY3Rpb25NZXRhSXRlbVRhZyA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTEzID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kxMyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcblxuICAgIHQuQ29sbGVjdGlvbk1ldGFJdGVtVGFnID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgciA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbyA9IGUudGFnU3R5bGUsXG4gICAgICAgICAgdSA9IGwoZSwgW1wiY2xhc3NOYW1lXCIsIFwiY2hpbGRyZW5cIiwgXCJ0YWdTdHlsZVwiXSksXG4gICAgICAgICAgYyA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWNvbGxlY3Rpb25fX21ldGEtaXRlbVwiLCBcInVzYS10YWdcIiwge1xuICAgICAgICBcInVzYS10YWctLW5ld1wiOiBcIm5ld1wiID09PSBvXG4gICAgICB9LCB0KTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxpXCIsIF9pMTMoe1xuICAgICAgICBjbGFzc05hbWU6IGNcbiAgICAgIH0sIHUpLCByKTtcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5Db2xsZWN0aW9uVGh1bWJuYWlsID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pMTQgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTE0ID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5Db2xsZWN0aW9uVGh1bWJuYWlsID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgciA9IGUuc3JjLFxuICAgICAgICAgIG8gPSBlLmFsdCxcbiAgICAgICAgICB1ID0gbChlLCBbXCJjbGFzc05hbWVcIiwgXCJzcmNcIiwgXCJhbHRcIl0pLFxuICAgICAgICAgIGMgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1jb2xsZWN0aW9uX19pbWdcIiwgdCk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIiwgX2kxNCh7XG4gICAgICAgIGNsYXNzTmFtZTogYyxcbiAgICAgICAgc3JjOiByLFxuICAgICAgICBhbHQ6IG9cbiAgICAgIH0sIHUpKTtcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5Db2xsZWN0aW9uQ2FsZW5kYXJEYXRlID0gdm9pZCAwO1xuICAgIHZhciBhLFxuICAgICAgICBuID0gKGEgPSByKDApKSAmJiBhLl9fZXNNb2R1bGUgPyBhIDoge1xuICAgICAgZGVmYXVsdDogYVxuICAgIH07XG4gICAgdmFyIG8gPSBbXCJKYW5cIiwgXCJGZWJcIiwgXCJNYXJcIiwgXCJBcHJcIiwgXCJNYXlcIiwgXCJKdW5cIiwgXCJKdWxcIiwgXCJBdWdcIiwgXCJTZXBcIiwgXCJPY3RcIiwgXCJOb3ZcIiwgXCJEZWNcIl07XG5cbiAgICB0LkNvbGxlY3Rpb25DYWxlbmRhckRhdGUgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLmRhdGV0aW1lLFxuICAgICAgICAgIHIgPSBuZXcgRGF0ZSh0KTtcbiAgICAgIHJldHVybiByICYmIHIuZ2V0VGltZSAmJiBpc05hTihyLmdldFRpbWUoKSkgPyBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChuLmRlZmF1bHQuRnJhZ21lbnQsIG51bGwpIDogbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWNvbGxlY3Rpb25fX2NhbGVuZGFyLWRhdGVcIixcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImNvbGxlY3Rpb24tY2FsZW5kYXItZGF0ZVwiXG4gICAgICB9LCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInRpbWVcIiwge1xuICAgICAgICBkYXRlVGltZTogdFxuICAgICAgfSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1jb2xsZWN0aW9uX19jYWxlbmRhci1kYXRlLW1vbnRoXCJcbiAgICAgIH0sIG9bci5nZXRNb250aCgpXSksIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtY29sbGVjdGlvbl9fY2FsZW5kYXItZGF0ZS1kYXlcIlxuICAgICAgfSwgci5nZXREYXRlKCkpKSk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuaXNDdXN0b21Qcm9wcyA9IHUsIHQuR3JpZENvbnRhaW5lciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICBpZiAodShlKSkge1xuICAgICAgICB2YXIgdCA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgICAgciA9IGUuY29udGFpbmVyU2l6ZSxcbiAgICAgICAgICAgIG4gPSBlLmFzQ3VzdG9tLFxuICAgICAgICAgICAgbyA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgICBzID0gbChlLCBbXCJjbGFzc05hbWVcIiwgXCJjb250YWluZXJTaXplXCIsIFwiYXNDdXN0b21cIiwgXCJjaGlsZHJlblwiXSksXG4gICAgICAgICAgICBkID0gYyh0LCByKTtcbiAgICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KG4sIF9pMTUoe1xuICAgICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJncmlkQ29udGFpbmVyXCIsXG4gICAgICAgICAgY2xhc3NOYW1lOiBkXG4gICAgICAgIH0sIHMpLCBvKTtcbiAgICAgIH1cblxuICAgICAgdCA9IGUuY2xhc3NOYW1lLCByID0gZS5jb250YWluZXJTaXplLCBvID0gZS5jaGlsZHJlbiwgcyA9IGwoZSwgW1wiY2xhc3NOYW1lXCIsIFwiY29udGFpbmVyU2l6ZVwiLCBcImNoaWxkcmVuXCJdKSwgZCA9IGModCwgcik7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgX2kxNSh7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJncmlkQ29udGFpbmVyXCIsXG4gICAgICAgIGNsYXNzTmFtZTogZFxuICAgICAgfSwgcyksIG8pO1xuICAgIH07XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kxNSA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMTUgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHJldHVybiBcImFzQ3VzdG9tXCIgaW4gZTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjKGUsIHQpIHtcbiAgICAgIHZhciByO1xuICAgICAgcmV0dXJuICgwLCBuLmRlZmF1bHQpKCgociA9IHtcbiAgICAgICAgXCJncmlkLWNvbnRhaW5lclwiOiAhdFxuICAgICAgfSlbXCJncmlkLWNvbnRhaW5lci1cIiArIHRdID0gISF0LCByKSwgZSk7XG4gICAgfVxuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5icmVha3BvaW50cyA9IHZvaWQgMDtcbiAgICB0LmJyZWFrcG9pbnRzID0ge1xuICAgICAgbW9iaWxlOiBcIm1vYmlsZVwiLFxuICAgICAgbW9iaWxlTGc6IFwibW9iaWxlLWxnXCIsXG4gICAgICB0YWJsZXQ6IFwidGFibGV0XCIsXG4gICAgICB0YWJsZXRMZzogXCJ0YWJsZXQtbGdcIixcbiAgICAgIGRlc2t0b3A6IFwiZGVza3RvcFwiLFxuICAgICAgZGVza3RvcExnOiBcImRlc2t0b3AtbGdcIixcbiAgICAgIHdpZGVzY3JlZW46IFwid2lkZXNjcmVlblwiXG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuQ2hhcmFjdGVyQ291bnQgPSB2b2lkIDA7XG5cbiAgICB2YXIgYSxcbiAgICAgICAgbiA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICBpZiAoIXQgJiYgZSAmJiBlLl9fZXNNb2R1bGUpIHJldHVybiBlO1xuICAgICAgaWYgKG51bGwgPT09IGUgfHwgXCJvYmplY3RcIiAhPSB0eXBlb2YgZSAmJiBcImZ1bmN0aW9uXCIgIT0gdHlwZW9mIGUpIHJldHVybiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgICB2YXIgciA9IHUodCk7XG4gICAgICBpZiAociAmJiByLmhhcyhlKSkgcmV0dXJuIHIuZ2V0KGUpO1xuICAgICAgdmFyIGEgPSB7fSxcbiAgICAgICAgICBuID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbiAgICAgIGZvciAodmFyIG8gaW4gZSkge1xuICAgICAgICBpZiAoXCJkZWZhdWx0XCIgIT09IG8gJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIG8pKSB7XG4gICAgICAgICAgdmFyIGkgPSBuID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLCBvKSA6IG51bGw7XG4gICAgICAgICAgaSAmJiAoaS5nZXQgfHwgaS5zZXQpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIG8sIGkpIDogYVtvXSA9IGVbb107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYS5kZWZhdWx0ID0gZSwgciAmJiByLnNldChlLCBhKTtcbiAgICAgIHJldHVybiBhO1xuICAgIH0ocigwKSksXG4gICAgICAgIG8gPSAoYSA9IHIoMSkpICYmIGEuX19lc01vZHVsZSA/IGEgOiB7XG4gICAgICBkZWZhdWx0OiBhXG4gICAgfSxcbiAgICAgICAgaSA9IHIoNyksXG4gICAgICAgIGwgPSByKDE2KTtcblxuICAgIGZ1bmN0aW9uIHUoZSkge1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgV2Vha01hcCkgcmV0dXJuIG51bGw7XG4gICAgICB2YXIgdCA9IG5ldyBXZWFrTWFwKCksXG4gICAgICAgICAgciA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICByZXR1cm4gKHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgICAgcmV0dXJuIGUgPyByIDogdDtcbiAgICAgIH0pKGUpO1xuICAgIH1cblxuICAgIHZhciBfYyA9IGZ1bmN0aW9uIGMoKSB7XG4gICAgICByZXR1cm4gKF9jID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBzID0gZnVuY3Rpb24gcyhlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9LFxuICAgICAgICBkID0gZnVuY3Rpb24gZChlKSB7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbShlKS5sZW5ndGg7XG4gICAgfSxcbiAgICAgICAgZiA9IGZ1bmN0aW9uIGYoZSwgdCkge1xuICAgICAgdmFyIHIgPSB0ICsgXCIgY2hhcmFjdGVycyBhbGxvd2VkXCIsXG4gICAgICAgICAgYSA9IHQgLSBlO1xuXG4gICAgICBzd2l0Y2ggKGEpIHtcbiAgICAgICAgY2FzZSB0OlxuICAgICAgICAgIHJldHVybiByO1xuXG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICByZXR1cm4gXCIkMCBjaGFyYWN0ZXIgbGVmdFwiLnJlcGxhY2UoXCIkMFwiLCBcIjFcIik7XG5cbiAgICAgICAgY2FzZSAtMTpcbiAgICAgICAgICByZXR1cm4gXCIkMCBjaGFyYWN0ZXIgb3ZlciBsaW1pdFwiLnJlcGxhY2UoXCIkMFwiLCBcIjFcIik7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gYSA+PSAwID8gXCIkMCBjaGFyYWN0ZXJzIGxlZnRcIi5yZXBsYWNlKFwiJDBcIiwgYS50b1N0cmluZygpKSA6IFwiJDAgY2hhcmFjdGVycyBvdmVyIGxpbWl0XCIucmVwbGFjZShcIiQwXCIsIE1hdGguYWJzKGEpLnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgIH0sXG4gICAgICAgIHAgPSBmdW5jdGlvbiBwKGUpIHtcbiAgICAgIHZhciB0ID0gZS5pZCxcbiAgICAgICAgICByID0gZS5uYW1lLFxuICAgICAgICAgIGEgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICB1ID0gZS5tYXhMZW5ndGgsXG4gICAgICAgICAgcCA9IGUuZGVmYXVsdFZhbHVlLFxuICAgICAgICAgIG0gPSB2b2lkIDAgPT09IHAgPyBcIlwiIDogcCxcbiAgICAgICAgICB5ID0gZS5pc1RleHRBcmVhLFxuICAgICAgICAgIGIgPSB2b2lkIDAgIT09IHkgJiYgeSxcbiAgICAgICAgICB2ID0gZS5nZXRDaGFyYWN0ZXJDb3VudCxcbiAgICAgICAgICBPID0gdm9pZCAwID09PSB2ID8gZCA6IHYsXG4gICAgICAgICAgZyA9IGUuZ2V0TWVzc2FnZSxcbiAgICAgICAgICBfID0gdm9pZCAwID09PSBnID8gZiA6IGcsXG4gICAgICAgICAgaCA9IHMoZSwgW1wiaWRcIiwgXCJuYW1lXCIsIFwiY2xhc3NOYW1lXCIsIFwibWF4TGVuZ3RoXCIsIFwiZGVmYXVsdFZhbHVlXCIsIFwiaXNUZXh0QXJlYVwiLCBcImdldENoYXJhY3RlckNvdW50XCIsIFwiZ2V0TWVzc2FnZVwiXSksXG4gICAgICAgICAgaiA9IE8obSksXG4gICAgICAgICAgTSA9ICgwLCBuLnVzZVN0YXRlKShqKSxcbiAgICAgICAgICBOID0gTVswXSxcbiAgICAgICAgICBFID0gTVsxXSxcbiAgICAgICAgICBQID0gKDAsIG4udXNlU3RhdGUpKF8oaiwgdSkpLFxuICAgICAgICAgIHcgPSBQWzBdLFxuICAgICAgICAgIEkgPSBQWzFdLFxuICAgICAgICAgIEQgPSAoMCwgbi51c2VTdGF0ZSkoaiA8IHUpLFxuICAgICAgICAgIFMgPSBEWzBdLFxuICAgICAgICAgIHggPSBEWzFdLFxuICAgICAgICAgIGsgPSAoMCwgby5kZWZhdWx0KShcInVzYS1jaGFyYWN0ZXItY291bnRfX2ZpZWxkXCIsIGEpLFxuICAgICAgICAgIEEgPSAoMCwgby5kZWZhdWx0KShcInVzYS1oaW50XCIsIFwidXNhLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZVwiLCB7XG4gICAgICAgIFwidXNhLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZS0taW52YWxpZFwiOiAhU1xuICAgICAgfSk7XG5cbiAgICAgICgwLCBuLnVzZUVmZmVjdCkoZnVuY3Rpb24gKCkge1xuICAgICAgICBJKF8oTiwgdSkpLCB4KE4gPD0gdSk7XG4gICAgICB9LCBbTl0pO1xuXG4gICAgICB2YXIgVCxcbiAgICAgICAgICBDID0gZnVuY3Rpb24gQyhlLCB0KSB7XG4gICAgICAgIHZhciByID0gUyA/IFwiXCIgOiBcIlRoZSBjb250ZW50IGlzIHRvbyBsb25nLlwiO1xuICAgICAgICBlLnRhcmdldC5zZXRDdXN0b21WYWxpZGl0eShyKSwgdCAmJiB0KGUpO1xuICAgICAgfSxcbiAgICAgICAgICBMID0gZnVuY3Rpb24gTChlLCB0KSB7XG4gICAgICAgIHZhciByID0gZS50YXJnZXQudmFsdWU7XG4gICAgICAgIEUoTyh2b2lkIDAgPT09IHIgPyBcIlwiIDogcikpLCB0ICYmIHQoZSk7XG4gICAgICB9O1xuXG4gICAgICBpZiAoYikge1xuICAgICAgICB2YXIgRiA9IGgsXG4gICAgICAgICAgICBSID0gRi5vbkJsdXIsXG4gICAgICAgICAgICBVID0gRi5vbkNoYW5nZSxcbiAgICAgICAgICAgIFcgPSBGLmlucHV0UmVmLFxuICAgICAgICAgICAgQiA9IHMoRiwgW1wib25CbHVyXCIsIFwib25DaGFuZ2VcIiwgXCJpbnB1dFJlZlwiXSk7XG4gICAgICAgIFQgPSBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChsLlRleHRhcmVhLCBfYyh7XG4gICAgICAgICAgaWQ6IHQsXG4gICAgICAgICAgbmFtZTogcixcbiAgICAgICAgICBjbGFzc05hbWU6IGssXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBtLFxuICAgICAgICAgIG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBDKGUsIFIpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgb25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBMKGUsIFUpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5wdXRSZWY6IFdcbiAgICAgICAgfSwgQikpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHogPSBoLFxuICAgICAgICAgICAgWSA9IHoub25CbHVyLFxuICAgICAgICAgICAgRyA9IHoub25DaGFuZ2UsXG4gICAgICAgICAgICBWID0gKFcgPSB6LmlucHV0UmVmLCB6LnR5cGUpLFxuICAgICAgICAgICAgSCA9IHZvaWQgMCA9PT0gViA/IFwidGV4dFwiIDogVixcbiAgICAgICAgICAgIFEgPSBzKHosIFtcIm9uQmx1clwiLCBcIm9uQ2hhbmdlXCIsIFwiaW5wdXRSZWZcIiwgXCJ0eXBlXCJdKTtcbiAgICAgICAgVCA9IG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KGkuVGV4dElucHV0LCBfYyh7XG4gICAgICAgICAgaWQ6IHQsXG4gICAgICAgICAgdHlwZTogSCxcbiAgICAgICAgICBuYW1lOiByLFxuICAgICAgICAgIGNsYXNzTmFtZTogayxcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IG0sXG4gICAgICAgICAgb25CbHVyOiBmdW5jdGlvbiBvbkJsdXIoZSkge1xuICAgICAgICAgICAgcmV0dXJuIEMoZSwgWSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuICAgICAgICAgICAgcmV0dXJuIEwoZSwgRyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbnB1dFJlZjogV1xuICAgICAgICB9LCBRKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChuLmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsIFQsIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJjaGFyYWN0ZXJDb3VudE1lc3NhZ2VcIixcbiAgICAgICAgaWQ6IHQgKyBcIi1pbmZvXCIsXG4gICAgICAgIGNsYXNzTmFtZTogQSxcbiAgICAgICAgXCJhcmlhLWxpdmVcIjogXCJwb2xpdGVcIlxuICAgICAgfSwgdykpO1xuICAgIH07XG5cbiAgICB0LkNoYXJhY3RlckNvdW50ID0gcDtcbiAgICB2YXIgbSA9IHA7XG4gICAgdC5kZWZhdWx0ID0gbTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuQ2hlY2tib3ggPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kxNiA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMTYgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5pZCxcbiAgICAgICAgICByID0gZS5uYW1lLFxuICAgICAgICAgIG8gPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICB1ID0gZS5sYWJlbCxcbiAgICAgICAgICBjID0gZS5pbnB1dFJlZixcbiAgICAgICAgICBzID0gZS50aWxlLFxuICAgICAgICAgIGQgPSBlLmxhYmVsRGVzY3JpcHRpb24sXG4gICAgICAgICAgZiA9IGwoZSwgW1wiaWRcIiwgXCJuYW1lXCIsIFwiY2xhc3NOYW1lXCIsIFwibGFiZWxcIiwgXCJpbnB1dFJlZlwiLCBcInRpbGVcIiwgXCJsYWJlbERlc2NyaXB0aW9uXCJdKSxcbiAgICAgICAgICBwID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtY2hlY2tib3hcIiwgbyksXG4gICAgICAgICAgbSA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWNoZWNrYm94X19pbnB1dFwiLCB7XG4gICAgICAgIFwidXNhLWNoZWNrYm94X19pbnB1dC0tdGlsZVwiOiBzXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJjaGVja2JveFwiLFxuICAgICAgICBjbGFzc05hbWU6IHBcbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwgX2kxNih7XG4gICAgICAgIGNsYXNzTmFtZTogbSxcbiAgICAgICAgaWQ6IHQsXG4gICAgICAgIHR5cGU6IFwiY2hlY2tib3hcIixcbiAgICAgICAgbmFtZTogcixcbiAgICAgICAgcmVmOiBjXG4gICAgICB9LCBmKSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGFiZWxcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWNoZWNrYm94X19sYWJlbFwiLFxuICAgICAgICBodG1sRm9yOiB0XG4gICAgICB9LCB1LCBkICYmIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtY2hlY2tib3hfX2xhYmVsLWRlc2NyaXB0aW9uXCJcbiAgICAgIH0sIGQpKSk7XG4gICAgfTtcblxuICAgIHQuQ2hlY2tib3ggPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC51c2VDb21ib0JveCA9IHQuQWN0aW9uVHlwZXMgPSB2b2lkIDA7XG5cbiAgICB2YXIgYSxcbiAgICAgICAgbiA9IHIoMCksXG4gICAgICAgIG8gPSByKDExKSxcbiAgICAgICAgaSA9IHIoNTApLFxuICAgICAgICBfbDggPSBmdW5jdGlvbiBsKCkge1xuICAgICAgcmV0dXJuIChfbDggPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG5cbiAgICB0LkFjdGlvblR5cGVzID0gYSwgZnVuY3Rpb24gKGUpIHtcbiAgICAgIGVbZS5TRUxFQ1RfT1BUSU9OID0gMF0gPSBcIlNFTEVDVF9PUFRJT05cIiwgZVtlLkNMRUFSID0gMV0gPSBcIkNMRUFSXCIsIGVbZS5PUEVOX0xJU1QgPSAyXSA9IFwiT1BFTl9MSVNUXCIsIGVbZS5DTE9TRV9MSVNUID0gM10gPSBcIkNMT1NFX0xJU1RcIiwgZVtlLkZPQ1VTX09QVElPTiA9IDRdID0gXCJGT0NVU19PUFRJT05cIiwgZVtlLlVQREFURV9GSUxURVIgPSA1XSA9IFwiVVBEQVRFX0ZJTFRFUlwiLCBlW2UuQkxVUiA9IDZdID0gXCJCTFVSXCI7XG4gICAgfShhIHx8ICh0LkFjdGlvblR5cGVzID0gYSA9IHt9KSk7XG5cbiAgICB0LnVzZUNvbWJvQm94ID0gZnVuY3Rpb24gKGUsIHQsIHIsIHUpIHtcbiAgICAgIHJldHVybiAoMCwgbi51c2VSZWR1Y2VyKShmdW5jdGlvbiAoZSwgbikge1xuICAgICAgICBzd2l0Y2ggKG4udHlwZSkge1xuICAgICAgICAgIGNhc2UgYS5TRUxFQ1RfT1BUSU9OOlxuICAgICAgICAgICAgcmV0dXJuIF9sOChfbDgoe30sIGUpLCB7XG4gICAgICAgICAgICAgIGlzT3BlbjogITEsXG4gICAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uOiBuLm9wdGlvbixcbiAgICAgICAgICAgICAgZm9jdXNNb2RlOiBvLkZvY3VzTW9kZS5JbnB1dCxcbiAgICAgICAgICAgICAgaW5wdXRWYWx1ZTogbi5vcHRpb24ubGFiZWwsXG4gICAgICAgICAgICAgIGZpbHRlcmVkT3B0aW9uczogdCxcbiAgICAgICAgICAgICAgZm9jdXNlZE9wdGlvbjogbi5vcHRpb25cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY2FzZSBhLlVQREFURV9GSUxURVI6XG4gICAgICAgICAgICB2YXIgYyA9IChwID0gbi52YWx1ZSwgbSA9ICgwLCBpLmdlbmVyYXRlRHluYW1pY1JlZ0V4cCkodS5maWx0ZXIsIHAsIHUuZXh0cmFzKSwgeSA9IHQuZmlsdGVyKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBtLnRlc3QoZS5sYWJlbC50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgICAgIH0pLCByID8ge1xuICAgICAgICAgICAgICBjbG9zZXN0TWF0Y2g6IHkubGVuZ3RoID4gMCA/IHlbMF0gOiB0WzBdLFxuICAgICAgICAgICAgICBvcHRpb25zVG9EaXNwbGF5OiB0XG4gICAgICAgICAgICB9IDoge1xuICAgICAgICAgICAgICBjbG9zZXN0TWF0Y2g6IHlbMF0sXG4gICAgICAgICAgICAgIG9wdGlvbnNUb0Rpc3BsYXk6IHlcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHMgPSBjLmNsb3Nlc3RNYXRjaCxcbiAgICAgICAgICAgICAgICBkID0gYy5vcHRpb25zVG9EaXNwbGF5LFxuICAgICAgICAgICAgICAgIGYgPSBfbDgoX2w4KHt9LCBlKSwge1xuICAgICAgICAgICAgICBpc09wZW46ICEwLFxuICAgICAgICAgICAgICBmaWx0ZXJlZE9wdGlvbnM6IGQsXG4gICAgICAgICAgICAgIGlucHV0VmFsdWU6IG4udmFsdWVcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gciB8fCAhZS5zZWxlY3RlZE9wdGlvbiA/IGYuZm9jdXNlZE9wdGlvbiA9IHMgOiBlLnNlbGVjdGVkT3B0aW9uICYmIChmLmZpbHRlcmVkT3B0aW9ucy5pbmNsdWRlcyhlLnNlbGVjdGVkT3B0aW9uKSA/IGYuZm9jdXNlZE9wdGlvbiA9IGUuc2VsZWN0ZWRPcHRpb24gOiBmLmZvY3VzZWRPcHRpb24gPSBzKSwgZjtcblxuICAgICAgICAgIGNhc2UgYS5PUEVOX0xJU1Q6XG4gICAgICAgICAgICByZXR1cm4gX2w4KF9sOCh7fSwgZSksIHtcbiAgICAgICAgICAgICAgaXNPcGVuOiAhMCxcbiAgICAgICAgICAgICAgZm9jdXNNb2RlOiBvLkZvY3VzTW9kZS5JbnB1dCxcbiAgICAgICAgICAgICAgZm9jdXNlZE9wdGlvbjogZS5zZWxlY3RlZE9wdGlvbiB8fCBlLmZvY3VzZWRPcHRpb24gfHwgdFswXVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjYXNlIGEuQ0xPU0VfTElTVDpcbiAgICAgICAgICAgIGYgPSBfbDgoX2w4KHt9LCBlKSwge1xuICAgICAgICAgICAgICBpc09wZW46ICExLFxuICAgICAgICAgICAgICBmb2N1c01vZGU6IG8uRm9jdXNNb2RlLklucHV0LFxuICAgICAgICAgICAgICBmb2N1c2VkT3B0aW9uOiB2b2lkIDBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIDAgPT09IGUuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCAmJiAoZi5maWx0ZXJlZE9wdGlvbnMgPSB0LCBmLmlucHV0VmFsdWUgPSBcIlwiKSwgZS5zZWxlY3RlZE9wdGlvbiAmJiAoZi5pbnB1dFZhbHVlID0gZS5zZWxlY3RlZE9wdGlvbi5sYWJlbCksIGY7XG5cbiAgICAgICAgICBjYXNlIGEuRk9DVVNfT1BUSU9OOlxuICAgICAgICAgICAgcmV0dXJuIF9sOChfbDgoe30sIGUpLCB7XG4gICAgICAgICAgICAgIGlzT3BlbjogITAsXG4gICAgICAgICAgICAgIGZvY3VzZWRPcHRpb246IG4ub3B0aW9uLFxuICAgICAgICAgICAgICBmb2N1c01vZGU6IG8uRm9jdXNNb2RlLkl0ZW1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY2FzZSBhLkNMRUFSOlxuICAgICAgICAgICAgcmV0dXJuIF9sOChfbDgoe30sIGUpLCB7XG4gICAgICAgICAgICAgIGlucHV0VmFsdWU6IFwiXCIsXG4gICAgICAgICAgICAgIGlzT3BlbjogITEsXG4gICAgICAgICAgICAgIGZvY3VzTW9kZTogby5Gb2N1c01vZGUuSW5wdXQsXG4gICAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uOiB2b2lkIDAsXG4gICAgICAgICAgICAgIGZpbHRlcmVkT3B0aW9uczogdCxcbiAgICAgICAgICAgICAgZm9jdXNlZE9wdGlvbjogdFswXVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjYXNlIGEuQkxVUjpcbiAgICAgICAgICAgIGYgPSBfbDgoX2w4KHt9LCBlKSwge1xuICAgICAgICAgICAgICBpc09wZW46ICExLFxuICAgICAgICAgICAgICBmb2N1c01vZGU6IG8uRm9jdXNNb2RlLk5vbmUsXG4gICAgICAgICAgICAgIGZpbHRlcmVkT3B0aW9uczogdFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZS5zZWxlY3RlZE9wdGlvbiA/IChmLmlucHV0VmFsdWUgPSBlLnNlbGVjdGVkT3B0aW9uLmxhYmVsLCBmLmZvY3VzZWRPcHRpb24gPSBlLnNlbGVjdGVkT3B0aW9uKSA6IChmLmlucHV0VmFsdWUgPSBcIlwiLCBmLmZvY3VzZWRPcHRpb24gPSB0WzBdKSwgZjtcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBwLCBtLCB5O1xuICAgICAgfSwgZSk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZ2VuZXJhdGVEeW5hbWljUmVnRXhwID0gdm9pZCAwO1xuXG4gICAgdC5nZW5lcmF0ZUR5bmFtaWNSZWdFeHAgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgICAgdm9pZCAwID09PSB0ICYmICh0ID0gXCJcIiksIHZvaWQgMCA9PT0gciAmJiAociA9IHt9KTtcblxuICAgICAgdmFyIGEgPSBmdW5jdGlvbiBhKGUpIHtcbiAgICAgICAgcmV0dXJuIGUucmVwbGFjZSgvWy1bXFxde30oKSorPy4sXFxcXF4kfCNcXHNdL2csIFwiXFxcXCQmXCIpO1xuICAgICAgfSxcbiAgICAgICAgICBuID0gZS5yZXBsYWNlKC97eyguKj8pfX0vZywgZnVuY3Rpb24gKGUsIG4pIHtcbiAgICAgICAgdmFyIG8gPSBuLnRyaW0oKSxcbiAgICAgICAgICAgIGkgPSByW29dO1xuXG4gICAgICAgIGlmIChcInF1ZXJ5XCIgIT09IG8gJiYgaSkge1xuICAgICAgICAgIHZhciBsID0gbmV3IFJlZ0V4cChpLCBcImlcIiksXG4gICAgICAgICAgICAgIHUgPSB0Lm1hdGNoKGwpO1xuICAgICAgICAgIHJldHVybiB1ID8gYSh1WzFdKSA6IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYSh0KTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbiA9IFwiXig/OlwiICsgbiArIFwiKSRcIiwgbmV3IFJlZ0V4cChuLCBcImlcIik7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuRGF0ZUlucHV0ID0gdm9pZCAwO1xuICAgIHZhciBhID0gdShyKDApKSxcbiAgICAgICAgbiA9IHUocigxKSksXG4gICAgICAgIG8gPSByKDcpLFxuICAgICAgICBpID0gcig1KSxcbiAgICAgICAgbCA9IHIoOCk7XG5cbiAgICBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9jMiA9IGZ1bmN0aW9uIGMoKSB7XG4gICAgICByZXR1cm4gKF9jMiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgcyA9IGZ1bmN0aW9uIHMoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgZCA9IGZ1bmN0aW9uIGQoZSkge1xuICAgICAgdmFyIHQgPSBlLmlkLFxuICAgICAgICAgIHIgPSBlLm5hbWUsXG4gICAgICAgICAgdSA9IGUubGFiZWwsXG4gICAgICAgICAgZCA9IGUudW5pdCxcbiAgICAgICAgICBmID0gZS5tYXhMZW5ndGgsXG4gICAgICAgICAgcCA9IGUubWluTGVuZ3RoLFxuICAgICAgICAgIG0gPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICB5ID0gcyhlLCBbXCJpZFwiLCBcIm5hbWVcIiwgXCJsYWJlbFwiLCBcInVuaXRcIiwgXCJtYXhMZW5ndGhcIiwgXCJtaW5MZW5ndGhcIiwgXCJjbGFzc05hbWVcIl0pLFxuICAgICAgICAgIGIgPSAoMCwgbi5kZWZhdWx0KSh7XG4gICAgICAgIFwidXNhLWZvcm0tZ3JvdXAtLW1vbnRoXCI6IFwibW9udGhcIiA9PSBkLFxuICAgICAgICBcInVzYS1mb3JtLWdyb3VwLS1kYXlcIjogXCJkYXlcIiA9PSBkLFxuICAgICAgICBcInVzYS1mb3JtLWdyb3VwLS15ZWFyXCI6IFwieWVhclwiID09IGRcbiAgICAgIH0pLFxuICAgICAgICAgIHYgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1pbnB1dC0taW5saW5lXCIsIG0pO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KGwuRm9ybUdyb3VwLCB7XG4gICAgICAgIGNsYXNzTmFtZTogYlxuICAgICAgfSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoaS5MYWJlbCwge1xuICAgICAgICBodG1sRm9yOiB0XG4gICAgICB9LCB1KSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoby5UZXh0SW5wdXQsIF9jMih7fSwgeSwge1xuICAgICAgICBjbGFzc05hbWU6IHYsXG4gICAgICAgIGlkOiB0LFxuICAgICAgICBuYW1lOiByLFxuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgbWF4TGVuZ3RoOiBmLFxuICAgICAgICBtaW5MZW5ndGg6IHAsXG4gICAgICAgIHBhdHRlcm46IFwiWzAtOV0qXCIsXG4gICAgICAgIGlucHV0TW9kZTogXCJudW1lcmljXCJcbiAgICAgIH0pKSk7XG4gICAgfTtcblxuICAgIHQuRGF0ZUlucHV0ID0gZDtcbiAgICB2YXIgZiA9IGQ7XG4gICAgdC5kZWZhdWx0ID0gZjtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuRGF0ZUlucHV0R3JvdXAgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kxNyA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMTcgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5jaGlsZHJlbixcbiAgICAgICAgICByID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgbyA9IGwoZSwgW1wiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIl0pLFxuICAgICAgICAgIHUgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1tZW1vcmFibGUtZGF0ZVwiLCByKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCBfaTE3KHtcbiAgICAgICAgY2xhc3NOYW1lOiB1XG4gICAgICB9LCBvLCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJkYXRlSW5wdXRHcm91cFwiXG4gICAgICB9KSwgdCk7XG4gICAgfTtcblxuICAgIHQuRGF0ZUlucHV0R3JvdXAgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5DYWxlbmRhciA9IHZvaWQgMDtcblxuICAgIHZhciBhID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGlmICghdCAmJiBlICYmIGUuX19lc01vZHVsZSkgcmV0dXJuIGU7XG4gICAgICBpZiAobnVsbCA9PT0gZSB8fCBcIm9iamVjdFwiICE9IHR5cGVvZiBlICYmIFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgZSkgcmV0dXJuIHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICAgIHZhciByID0gcyh0KTtcbiAgICAgIGlmIChyICYmIHIuaGFzKGUpKSByZXR1cm4gci5nZXQoZSk7XG4gICAgICB2YXIgYSA9IHt9LFxuICAgICAgICAgIG4gPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgICAgZm9yICh2YXIgbyBpbiBlKSB7XG4gICAgICAgIGlmIChcImRlZmF1bHRcIiAhPT0gbyAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgbykpIHtcbiAgICAgICAgICB2YXIgaSA9IG4gPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsIG8pIDogbnVsbDtcbiAgICAgICAgICBpICYmIChpLmdldCB8fCBpLnNldCkgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgbywgaSkgOiBhW29dID0gZVtvXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhLmRlZmF1bHQgPSBlLCByICYmIHIuc2V0KGUsIGEpO1xuICAgICAgcmV0dXJuIGE7XG4gICAgfShyKDApKSxcbiAgICAgICAgbiA9IHIoMyksXG4gICAgICAgIG8gPSByKDU0KSxcbiAgICAgICAgaSA9IHIoNTUpLFxuICAgICAgICBsID0gcig1NiksXG4gICAgICAgIHUgPSByKDEyKSxcbiAgICAgICAgYyA9IHIoOSk7XG5cbiAgICBmdW5jdGlvbiBzKGUpIHtcbiAgICAgIGlmIChcImZ1bmN0aW9uXCIgIT0gdHlwZW9mIFdlYWtNYXApIHJldHVybiBudWxsO1xuICAgICAgdmFyIHQgPSBuZXcgV2Vha01hcCgpLFxuICAgICAgICAgIHIgPSBuZXcgV2Vha01hcCgpO1xuICAgICAgcmV0dXJuIChzID0gZnVuY3Rpb24gcyhlKSB7XG4gICAgICAgIHJldHVybiBlID8gciA6IHQ7XG4gICAgICB9KShlKTtcbiAgICB9XG5cbiAgICB2YXIgZCA9IFwiREFURV9QSUNLRVJcIixcbiAgICAgICAgZiA9IFwiTU9OVEhfUElDS0VSXCIsXG4gICAgICAgIHAgPSBcIllFQVJfUElDS0VSXCIsXG4gICAgICAgIG0gPSBmdW5jdGlvbiBtKGUpIHtcbiAgICAgIHZhciB0ID0gZS5kYXRlLFxuICAgICAgICAgIHIgPSBlLnNlbGVjdGVkRGF0ZSxcbiAgICAgICAgICBzID0gZS5oYW5kbGVTZWxlY3REYXRlLFxuICAgICAgICAgIG0gPSBlLm1pbkRhdGUsXG4gICAgICAgICAgeSA9IGUubWF4RGF0ZSxcbiAgICAgICAgICBiID0gZS5yYW5nZURhdGUsXG4gICAgICAgICAgdiA9IGUuc2V0U3RhdHVzZXMsXG4gICAgICAgICAgTyA9IGUuZm9jdXNNb2RlLFxuICAgICAgICAgIGcgPSBlLmkxOG4sXG4gICAgICAgICAgXyA9IHZvaWQgMCA9PT0gZyA/IGMuRU5fVVMgOiBnLFxuICAgICAgICAgIGggPSAoMCwgYS51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIGogPSAoMCwgYS51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIE0gPSAoMCwgYS51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIE4gPSAoMCwgYS51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIEUgPSAoMCwgYS51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIFAgPSAoMCwgYS51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIHcgPSAoMCwgYS51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIEkgPSAoMCwgYS51c2VSZWYpKG51bGwpLFxuICAgICAgICAgIEQgPSAoMCwgYS51c2VTdGF0ZSkodCB8fCAoMCwgbi50b2RheSkoKSksXG4gICAgICAgICAgUyA9IERbMF0sXG4gICAgICAgICAgeCA9IERbMV0sXG4gICAgICAgICAgayA9ICgwLCBhLnVzZVN0YXRlKShkKSxcbiAgICAgICAgICBBID0ga1swXSxcbiAgICAgICAgICBUID0ga1sxXSxcbiAgICAgICAgICBDID0gKDAsIGEudXNlU3RhdGUpKFtudWxsLCBudWxsXSksXG4gICAgICAgICAgTCA9IENbMF0sXG4gICAgICAgICAgRiA9IENbMV0sXG4gICAgICAgICAgUiA9ICEwLFxuICAgICAgICAgIFUgPSAoMCwgbi5hZGREYXlzKShTLCAwKSxcbiAgICAgICAgICBXID0gUy5nZXRNb250aCgpLFxuICAgICAgICAgIEIgPSBTLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgeiA9IF8ubW9udGhzW3BhcnNlSW50KFwiXCIgKyBXKV0sXG4gICAgICAgICAgWSA9IF8uZGF5c09mV2Vla1Nob3J0LFxuICAgICAgICAgIEcgPSBfLmRheXNPZldlZWssXG4gICAgICAgICAgViA9IF8uYmFja09uZVllYXIsXG4gICAgICAgICAgSCA9IF8uYmFja09uZU1vbnRoLFxuICAgICAgICAgIFEgPSB6ICsgXCIuIFwiICsgXy5jbGlja1RvU2VsZWN0TW9udGgsXG4gICAgICAgICAgSyA9IEIgKyBcIi4gXCIgKyBfLmNsaWNrVG9TZWxlY3RZZWFyLFxuICAgICAgICAgIFogPSBfLmZvcndhcmRPbmVNb250aCxcbiAgICAgICAgICBYID0gXy5mb3J3YXJkT25lWWVhcjtcblxuICAgICAgaWYgKCgwLCBhLnVzZUVmZmVjdCkoZnVuY3Rpb24gKCkge1xuICAgICAgICBSID0gITE7XG4gICAgICB9LCBbXSksICgwLCBhLnVzZUVmZmVjdCkoZnVuY3Rpb24gKCkge1xuICAgICAgICB0ICYmIEEgPT09IGQgJiYgeCh0KTtcbiAgICAgIH0sIFt0XSksICgwLCBhLnVzZUVmZmVjdCkoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoTyAhPT0gdS5Gb2N1c01vZGUuSW5wdXQpIHtcbiAgICAgICAgICB2YXIgZSA9IExbMF0sXG4gICAgICAgICAgICAgIHQgPSBMWzFdO1xuICAgICAgICAgIGlmIChlICYmIHQpIGUuZGlzYWJsZWQgPyB0LmZvY3VzKCkgOiBlLmZvY3VzKCksIEYoW251bGwsIG51bGxdKTtlbHNlIHtcbiAgICAgICAgICAgIHZhciBhID0gSS5jdXJyZW50ICYmIEkuY3VycmVudC5xdWVyeVNlbGVjdG9yKFwiLnVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX2RhdGUtLWZvY3VzZWRcIik7XG4gICAgICAgICAgICBhICYmIGEuZm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoUikge1xuICAgICAgICAgIHZhciBvID0gW3ogKyBcIiBcIiArIEJdO1xuXG4gICAgICAgICAgaWYgKHIgJiYgKDAsIG4uaXNTYW1lRGF5KShVLCByKSkge1xuICAgICAgICAgICAgdmFyIGkgPSBfLnNlbGVjdGVkRGF0ZTtcbiAgICAgICAgICAgIG8udW5zaGlmdChpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2KG8pO1xuICAgICAgICB9XG4gICAgICB9LCBbU10pLCBBID09PSBmKSByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoaS5Nb250aFBpY2tlciwge1xuICAgICAgICBkYXRlOiBTLFxuICAgICAgICBtaW5EYXRlOiBtLFxuICAgICAgICBtYXhEYXRlOiB5LFxuICAgICAgICBoYW5kbGVTZWxlY3RNb250aDogZnVuY3Rpb24gaGFuZGxlU2VsZWN0TW9udGgoZSkge1xuICAgICAgICAgIHZhciB0ID0gKDAsIG4uc2V0TW9udGgpKFMsIGUpO1xuICAgICAgICAgIHQgPSAoMCwgbi5rZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgpKHQsIG0sIHkpLCB4KHQpLCBUKGQpO1xuICAgICAgICB9LFxuICAgICAgICBpMThuOiBfXG4gICAgICB9KTtcbiAgICAgIGlmIChBID09PSBwKSByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQobC5ZZWFyUGlja2VyLCB7XG4gICAgICAgIGRhdGU6IFMsXG4gICAgICAgIG1pbkRhdGU6IG0sXG4gICAgICAgIG1heERhdGU6IHksXG4gICAgICAgIGhhbmRsZVNlbGVjdFllYXI6IGZ1bmN0aW9uIGhhbmRsZVNlbGVjdFllYXIoZSkge1xuICAgICAgICAgIHZhciB0ID0gKDAsIG4uc2V0WWVhcikoUywgZSk7XG4gICAgICAgICAgdCA9ICgwLCBuLmtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heCkodCwgbSwgeSksIHgodCksIFQoZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHNldFN0YXR1c2VzOiB2XG4gICAgICB9KTtcblxuICAgICAgZm9yICh2YXIgSiA9ICgwLCBuLnN1Yk1vbnRocykoUywgMSksIHEgPSAoMCwgbi5hZGRNb250aHMpKFMsIDEpLCAkID0gKDAsIG4uc3RhcnRPZk1vbnRoKShTKSwgZWUgPSAoMCwgbi5pc1NhbWVNb250aCkoUywgbSksIHRlID0geSAmJiAoMCwgbi5pc1NhbWVNb250aCkoUywgeSksIHJlID0gciB8fCBTLCBhZSA9IGIgJiYgKDAsIG4ubWluKShyZSwgYiksIG5lID0gYiAmJiAoMCwgbi5tYXgpKHJlLCBiKSwgb2UgPSBhZSAmJiAoMCwgbi5hZGREYXlzKShhZSwgMSksIGllID0gbmUgJiYgKDAsIG4uc3ViRGF5cykobmUsIDEpLCBsZSA9IGZ1bmN0aW9uIGxlKGUpIHtcbiAgICAgICAgdmFyIHQ7XG5cbiAgICAgICAgc3dpdGNoIChlLmtleSkge1xuICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgY2FzZSBcIlVwXCI6XG4gICAgICAgICAgICB0ID0gKDAsIG4uc3ViV2Vla3MpKFMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFwiQXJyb3dEb3duXCI6XG4gICAgICAgICAgY2FzZSBcIkRvd25cIjpcbiAgICAgICAgICAgIHQgPSAoMCwgbi5hZGRXZWVrcykoUywgMSk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgXCJBcnJvd0xlZnRcIjpcbiAgICAgICAgICBjYXNlIFwiTGVmdFwiOlxuICAgICAgICAgICAgdCA9ICgwLCBuLnN1YkRheXMpKFMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFwiQXJyb3dSaWdodFwiOlxuICAgICAgICAgIGNhc2UgXCJSaWdodFwiOlxuICAgICAgICAgICAgdCA9ICgwLCBuLmFkZERheXMpKFMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFwiSG9tZVwiOlxuICAgICAgICAgICAgdCA9ICgwLCBuLnN0YXJ0T2ZXZWVrKShTKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBcIkVuZFwiOlxuICAgICAgICAgICAgdCA9ICgwLCBuLmVuZE9mV2VlaykoUyk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgXCJQYWdlRG93blwiOlxuICAgICAgICAgICAgdCA9IGUuc2hpZnRLZXkgPyAoMCwgbi5hZGRZZWFycykoUywgMSkgOiAoMCwgbi5hZGRNb250aHMpKFMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFwiUGFnZVVwXCI6XG4gICAgICAgICAgICB0ID0gZS5zaGlmdEtleSA/ICgwLCBuLnN1YlllYXJzKShTLCAxKSA6ICgwLCBuLnN1Yk1vbnRocykoUywgMSk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodm9pZCAwICE9PSB0KSB7XG4gICAgICAgICAgdmFyIHIgPSAoMCwgbi5rZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgpKHQsIG0sIHkpO1xuICAgICAgICAgICgwLCBuLmlzU2FtZURheSkoUywgcikgfHwgeCh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH0sIHVlID0gZnVuY3Rpb24gdWUoZSkge1xuICAgICAgICBlICE9PSBTICYmIHgoZSk7XG4gICAgICB9LCBjZSA9IFtdLCBzZSA9ICgwLCBuLnN0YXJ0T2ZXZWVrKSgkKTsgY2UubGVuZ3RoIDwgMjggfHwgc2UuZ2V0TW9udGgoKSA9PT0gVyB8fCBjZS5sZW5ndGggJSA3ICE9IDA7KSB7XG4gICAgICAgIHZhciBkZSA9ICgwLCBuLmlzU2FtZURheSkoc2UsIFUpO1xuICAgICAgICBjZS5wdXNoKGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KG8uRGF5LCB7XG4gICAgICAgICAgZGF0ZTogc2UsXG4gICAgICAgICAgb25DbGljazogcyxcbiAgICAgICAgICBvbktleURvd246IGxlLFxuICAgICAgICAgIG9uTW91c2VNb3ZlOiB1ZSxcbiAgICAgICAgICByZWY6IGRlID8gdyA6IG51bGwsXG4gICAgICAgICAgaXNEaXNhYmxlZDogISgwLCBuLmlzRGF0ZVdpdGhpbk1pbkFuZE1heCkoc2UsIG0sIHkpLFxuICAgICAgICAgIGlzU2VsZWN0ZWQ6IHIgJiYgKDAsIG4uaXNTYW1lRGF5KShzZSwgciksXG4gICAgICAgICAgaXNGb2N1c2VkOiBkZSxcbiAgICAgICAgICBpc1ByZXZNb250aDogKDAsIG4uaXNTYW1lTW9udGgpKHNlLCBKKSxcbiAgICAgICAgICBpc0ZvY3VzZWRNb250aDogKDAsIG4uaXNTYW1lTW9udGgpKHNlLCBVKSxcbiAgICAgICAgICBpc05leHRNb250aDogKDAsIG4uaXNTYW1lTW9udGgpKHNlLCBxKSxcbiAgICAgICAgICBpc1RvZGF5OiAoMCwgbi5pc1NhbWVEYXkpKHNlLCAoMCwgbi50b2RheSkoKSksXG4gICAgICAgICAgaXNSYW5nZURhdGU6IGIgJiYgKDAsIG4uaXNTYW1lRGF5KShzZSwgYiksXG4gICAgICAgICAgaXNSYW5nZVN0YXJ0OiBhZSAmJiAoMCwgbi5pc1NhbWVEYXkpKHNlLCBhZSksXG4gICAgICAgICAgaXNSYW5nZUVuZDogbmUgJiYgKDAsIG4uaXNTYW1lRGF5KShzZSwgbmUpLFxuICAgICAgICAgIGlzV2l0aGluUmFuZ2U6IG9lICYmIGllICYmICgwLCBuLmlzRGF0ZVdpdGhpbk1pbkFuZE1heCkoc2UsIG9lLCBpZSksXG4gICAgICAgICAgaTE4bjogX1xuICAgICAgICB9KSksIHNlID0gKDAsIG4uYWRkRGF5cykoc2UsIDEpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICB0YWJJbmRleDogLTEsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19kYXRlLXBpY2tlclwiLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiY2FsZW5kYXItZGF0ZS1waWNrZXJcIixcbiAgICAgICAgcmVmOiBJLFxuICAgICAgICBvbktleURvd246IGZ1bmN0aW9uIG9uS2V5RG93bihlKSB7XG4gICAgICAgICAgKDAsIG4uaGFuZGxlVGFiS2V5KShlLCBbbnVsbCA9PSBoID8gdm9pZCAwIDogaC5jdXJyZW50LCBudWxsID09IGogPyB2b2lkIDAgOiBqLmN1cnJlbnQsIG51bGwgPT0gRSA/IHZvaWQgMCA6IEUuY3VycmVudCwgbnVsbCA9PSBQID8gdm9pZCAwIDogUC5jdXJyZW50LCBudWxsID09IE0gPyB2b2lkIDAgOiBNLmN1cnJlbnQsIG51bGwgPT0gTiA/IHZvaWQgMCA6IE4uY3VycmVudCwgbnVsbCA9PSB3ID8gdm9pZCAwIDogdy5jdXJyZW50XSk7XG4gICAgICAgIH1cbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX3Jvd1wiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19jZWxsIHVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX2NlbGwtLWNlbnRlci1pdGVtc1wiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7XG4gICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJwcmV2aW91cy15ZWFyXCIsXG4gICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG4gICAgICAgICAgdmFyIGUgPSAoMCwgbi5zdWJZZWFycykoUywgMSk7XG4gICAgICAgICAgZSA9ICgwLCBuLmtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heCkoZSwgbSwgeSksIHgoZSksIEYoW2guY3VycmVudCwgSS5jdXJyZW50XSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlZjogaCxcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX3ByZXZpb3VzLXllYXJcIixcbiAgICAgICAgXCJhcmlhLWxhYmVsXCI6IFYsXG4gICAgICAgIGRpc2FibGVkOiBlZVxuICAgICAgfSwgXCLCoFwiKSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX2NlbGwgdXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fY2VsbC0tY2VudGVyLWl0ZW1zXCJcbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHtcbiAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInByZXZpb3VzLW1vbnRoXCIsXG4gICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG4gICAgICAgICAgdmFyIGUgPSAoMCwgbi5zdWJNb250aHMpKFMsIDEpO1xuICAgICAgICAgIGUgPSAoMCwgbi5rZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgpKGUsIG0sIHkpLCB4KGUpLCBGKFtqLmN1cnJlbnQsIEkuY3VycmVudF0pO1xuICAgICAgICB9LFxuICAgICAgICByZWY6IGosXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19wcmV2aW91cy1tb250aFwiLFxuICAgICAgICBcImFyaWEtbGFiZWxcIjogSCxcbiAgICAgICAgZGlzYWJsZWQ6IGVlXG4gICAgICB9LCBcIsKgXCIpKSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fY2VsbCB1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19tb250aC1sYWJlbFwiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7XG4gICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJzZWxlY3QtbW9udGhcIixcbiAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcbiAgICAgICAgICBUKGYpO1xuICAgICAgICAgIHZhciBlID0gXy5zZWxlY3RBTW9udGg7XG4gICAgICAgICAgdihbZV0pO1xuICAgICAgICB9LFxuICAgICAgICByZWY6IEUsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19tb250aC1zZWxlY3Rpb25cIixcbiAgICAgICAgXCJhcmlhLWxhYmVsXCI6IFFcbiAgICAgIH0sIHopLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7XG4gICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJzZWxlY3QteWVhclwiLFxuICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuICAgICAgICAgIFQocCk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlZjogUCxcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX3llYXItc2VsZWN0aW9uXCIsXG4gICAgICAgIFwiYXJpYS1sYWJlbFwiOiBLXG4gICAgICB9LCBCKSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX2NlbGwgdXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fY2VsbC0tY2VudGVyLWl0ZW1zXCJcbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHtcbiAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcIm5leHQtbW9udGhcIixcbiAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcbiAgICAgICAgICB2YXIgZSA9ICgwLCBuLmFkZE1vbnRocykoUywgMSk7XG4gICAgICAgICAgZSA9ICgwLCBuLmtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heCkoZSwgbSwgeSksIHgoZSksIEYoW00uY3VycmVudCwgSS5jdXJyZW50XSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlZjogTSxcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX25leHQtbW9udGhcIixcbiAgICAgICAgXCJhcmlhLWxhYmVsXCI6IFosXG4gICAgICAgIGRpc2FibGVkOiB0ZVxuICAgICAgfSwgXCLCoFwiKSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX2NlbGwgdXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fY2VsbC0tY2VudGVyLWl0ZW1zXCJcbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHtcbiAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcIm5leHQteWVhclwiLFxuICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuICAgICAgICAgIHZhciBlID0gKDAsIG4uYWRkWWVhcnMpKFMsIDEpO1xuICAgICAgICAgIGUgPSAoMCwgbi5rZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgpKGUsIG0sIHkpLCB4KGUpLCBGKFtOLmN1cnJlbnQsIEkuY3VycmVudF0pO1xuICAgICAgICB9LFxuICAgICAgICByZWY6IE4sXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19uZXh0LXllYXJcIixcbiAgICAgICAgXCJhcmlhLWxhYmVsXCI6IFgsXG4gICAgICAgIGRpc2FibGVkOiB0ZVxuICAgICAgfSwgXCLCoFwiKSkpLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInRhYmxlXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX3RhYmxlXCIsXG4gICAgICAgIHJvbGU6IFwicHJlc2VudGF0aW9uXCJcbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwidGhlYWRcIiwgbnVsbCwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ0clwiLCBudWxsLCBZLm1hcChmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ0aFwiLCB7XG4gICAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX2RheS1vZi13ZWVrXCIsXG4gICAgICAgICAgc2NvcGU6IFwiY29sXCIsXG4gICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IEdbcGFyc2VJbnQoXCJcIiArIHQpXSxcbiAgICAgICAgICBrZXk6IFwiZGF5LW9mLXdlZWstXCIgKyBlICsgXCItXCIgKyB0XG4gICAgICAgIH0sIGUpO1xuICAgICAgfSkpKSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ0Ym9keVwiLCBudWxsLCAoMCwgbi5saXN0VG9UYWJsZSkoY2UsIDcpKSkpO1xuICAgIH07XG5cbiAgICB0LkNhbGVuZGFyID0gbSwgbS5kaXNwbGF5TmFtZSA9IFwiQ2FsZW5kYXJcIjtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuRGF5ID0gdm9pZCAwO1xuXG4gICAgdmFyIGEsXG4gICAgICAgIG4gPSBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgaWYgKCF0ICYmIGUgJiYgZS5fX2VzTW9kdWxlKSByZXR1cm4gZTtcbiAgICAgIGlmIChudWxsID09PSBlIHx8IFwib2JqZWN0XCIgIT0gdHlwZW9mIGUgJiYgXCJmdW5jdGlvblwiICE9IHR5cGVvZiBlKSByZXR1cm4ge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgICAgdmFyIHIgPSB1KHQpO1xuICAgICAgaWYgKHIgJiYgci5oYXMoZSkpIHJldHVybiByLmdldChlKTtcbiAgICAgIHZhciBhID0ge30sXG4gICAgICAgICAgbiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4gICAgICBmb3IgKHZhciBvIGluIGUpIHtcbiAgICAgICAgaWYgKFwiZGVmYXVsdFwiICE9PSBvICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBvKSkge1xuICAgICAgICAgIHZhciBpID0gbiA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSwgbykgOiBudWxsO1xuICAgICAgICAgIGkgJiYgKGkuZ2V0IHx8IGkuc2V0KSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCBvLCBpKSA6IGFbb10gPSBlW29dO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEuZGVmYXVsdCA9IGUsIHIgJiYgci5zZXQoZSwgYSk7XG4gICAgICByZXR1cm4gYTtcbiAgICB9KHIoMCkpLFxuICAgICAgICBvID0gKGEgPSByKDEpKSAmJiBhLl9fZXNNb2R1bGUgPyBhIDoge1xuICAgICAgZGVmYXVsdDogYVxuICAgIH0sXG4gICAgICAgIGkgPSByKDMpLFxuICAgICAgICBsID0gcig5KTtcblxuICAgIGZ1bmN0aW9uIHUoZSkge1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgV2Vha01hcCkgcmV0dXJuIG51bGw7XG4gICAgICB2YXIgdCA9IG5ldyBXZWFrTWFwKCksXG4gICAgICAgICAgciA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICByZXR1cm4gKHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgICAgcmV0dXJuIGUgPyByIDogdDtcbiAgICAgIH0pKGUpO1xuICAgIH1cblxuICAgIHZhciBjID0gKDAsIG4uZm9yd2FyZFJlZikoZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIHZhciByID0gZS5kYXRlLFxuICAgICAgICAgIGEgPSBlLm9uQ2xpY2ssXG4gICAgICAgICAgdSA9IGUub25LZXlEb3duLFxuICAgICAgICAgIGMgPSBlLm9uTW91c2VNb3ZlLFxuICAgICAgICAgIHMgPSBlLmlzRGlzYWJsZWQsXG4gICAgICAgICAgZCA9IHZvaWQgMCAhPT0gcyAmJiBzLFxuICAgICAgICAgIGYgPSBlLmlzU2VsZWN0ZWQsXG4gICAgICAgICAgcCA9IHZvaWQgMCAhPT0gZiAmJiBmLFxuICAgICAgICAgIG0gPSBlLmlzRm9jdXNlZCxcbiAgICAgICAgICB5ID0gdm9pZCAwICE9PSBtICYmIG0sXG4gICAgICAgICAgYiA9IGUuaXNQcmV2TW9udGgsXG4gICAgICAgICAgdiA9IHZvaWQgMCAhPT0gYiAmJiBiLFxuICAgICAgICAgIE8gPSBlLmlzRm9jdXNlZE1vbnRoLFxuICAgICAgICAgIGcgPSB2b2lkIDAgIT09IE8gJiYgTyxcbiAgICAgICAgICBfID0gZS5pc05leHRNb250aCxcbiAgICAgICAgICBoID0gdm9pZCAwICE9PSBfICYmIF8sXG4gICAgICAgICAgaiA9IGUuaXNUb2RheSxcbiAgICAgICAgICBNID0gdm9pZCAwICE9PSBqICYmIGosXG4gICAgICAgICAgTiA9IGUuaXNSYW5nZURhdGUsXG4gICAgICAgICAgRSA9IHZvaWQgMCAhPT0gTiAmJiBOLFxuICAgICAgICAgIFAgPSBlLmlzUmFuZ2VTdGFydCxcbiAgICAgICAgICB3ID0gdm9pZCAwICE9PSBQICYmIFAsXG4gICAgICAgICAgSSA9IGUuaXNSYW5nZUVuZCxcbiAgICAgICAgICBEID0gdm9pZCAwICE9PSBJICYmIEksXG4gICAgICAgICAgUyA9IGUuaXNXaXRoaW5SYW5nZSxcbiAgICAgICAgICB4ID0gdm9pZCAwICE9PSBTICYmIFMsXG4gICAgICAgICAgayA9IGUuaTE4bixcbiAgICAgICAgICBBID0gdm9pZCAwID09PSBrID8gbC5FTl9VUyA6IGssXG4gICAgICAgICAgVCA9IHIuZ2V0RGF0ZSgpLFxuICAgICAgICAgIEMgPSByLmdldE1vbnRoKCksXG4gICAgICAgICAgTCA9IHIuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICBGID0gci5nZXREYXkoKSxcbiAgICAgICAgICBSID0gKDAsIGkuZm9ybWF0RGF0ZSkociksXG4gICAgICAgICAgVSA9IHkgPyAwIDogLTEsXG4gICAgICAgICAgVyA9ICgwLCBvLmRlZmF1bHQpKFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fZGF0ZVwiLCB7XG4gICAgICAgIFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fZGF0ZS0tcHJldmlvdXMtbW9udGhcIjogdixcbiAgICAgICAgXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19kYXRlLS1jdXJyZW50LW1vbnRoXCI6IGcsXG4gICAgICAgIFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fZGF0ZS0tbmV4dC1tb250aFwiOiBoLFxuICAgICAgICBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX2RhdGUtLXNlbGVjdGVkXCI6IHAsXG4gICAgICAgIFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fZGF0ZS0tdG9kYXlcIjogTSxcbiAgICAgICAgXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19kYXRlLS1mb2N1c2VkXCI6IHksXG4gICAgICAgIFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fZGF0ZS0tcmFuZ2UtZGF0ZVwiOiBFLFxuICAgICAgICBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX2RhdGUtLXJhbmdlLWRhdGUtc3RhcnRcIjogdyxcbiAgICAgICAgXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19kYXRlLS1yYW5nZS1kYXRlLWVuZFwiOiBELFxuICAgICAgICBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX2RhdGUtLXdpdGhpbi1yYW5nZVwiOiB4XG4gICAgICB9KSxcbiAgICAgICAgICBCID0gQS5tb250aHNbcGFyc2VJbnQoXCJcIiArIEMpXSxcbiAgICAgICAgICB6ID0gQS5kYXlzT2ZXZWVrW3BhcnNlSW50KFwiXCIgKyBGKV07XG4gICAgICByZXR1cm4gbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwge1xuICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwic2VsZWN0LWRhdGVcIixcbiAgICAgICAgcmVmOiB0LFxuICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuICAgICAgICAgIGEoUik7XG4gICAgICAgIH0sXG4gICAgICAgIHRhYkluZGV4OiBVLFxuICAgICAgICBjbGFzc05hbWU6IFcsXG4gICAgICAgIFwiZGF0YS1kYXlcIjogVCxcbiAgICAgICAgXCJkYXRhLW1vbnRoXCI6IEMgKyAxLFxuICAgICAgICBcImRhdGEteWVhclwiOiBMLFxuICAgICAgICBcImRhdGEtdmFsdWVcIjogUixcbiAgICAgICAgXCJhcmlhLWxhYmVsXCI6IFQgKyBcIiBcIiArIEIgKyBcIiBcIiArIEwgKyBcIiBcIiArIHosXG4gICAgICAgIFwiYXJpYS1zZWxlY3RlZFwiOiAhIXAsXG4gICAgICAgIGRpc2FibGVkOiBkLFxuICAgICAgICBvbktleURvd246IGZ1bmN0aW9uIG9uS2V5RG93bihlKSB7XG4gICAgICAgICAgdShlKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Nb3VzZU1vdmU6IGcgPyBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgZCB8fCAoMCwgaS5pc0lvc0RldmljZSkoKSB8fCBjKHIpO1xuICAgICAgICB9IDogdm9pZCAwXG4gICAgICB9LCBUKTtcbiAgICB9KTtcbiAgICB0LkRheSA9IGMsIGMuZGlzcGxheU5hbWUgPSBcIkRheVwiO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5Nb250aFBpY2tlciA9IHZvaWQgMDtcblxuICAgIHZhciBhLFxuICAgICAgICBuID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGlmICghdCAmJiBlICYmIGUuX19lc01vZHVsZSkgcmV0dXJuIGU7XG4gICAgICBpZiAobnVsbCA9PT0gZSB8fCBcIm9iamVjdFwiICE9IHR5cGVvZiBlICYmIFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgZSkgcmV0dXJuIHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICAgIHZhciByID0gdSh0KTtcbiAgICAgIGlmIChyICYmIHIuaGFzKGUpKSByZXR1cm4gci5nZXQoZSk7XG4gICAgICB2YXIgYSA9IHt9LFxuICAgICAgICAgIG4gPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgICAgZm9yICh2YXIgbyBpbiBlKSB7XG4gICAgICAgIGlmIChcImRlZmF1bHRcIiAhPT0gbyAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgbykpIHtcbiAgICAgICAgICB2YXIgaSA9IG4gPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsIG8pIDogbnVsbDtcbiAgICAgICAgICBpICYmIChpLmdldCB8fCBpLnNldCkgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgbywgaSkgOiBhW29dID0gZVtvXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhLmRlZmF1bHQgPSBlLCByICYmIHIuc2V0KGUsIGEpO1xuICAgICAgcmV0dXJuIGE7XG4gICAgfShyKDApKSxcbiAgICAgICAgbyA9IChhID0gcigxKSkgJiYgYS5fX2VzTW9kdWxlID8gYSA6IHtcbiAgICAgIGRlZmF1bHQ6IGFcbiAgICB9LFxuICAgICAgICBpID0gcigzKSxcbiAgICAgICAgbCA9IHIoOSk7XG5cbiAgICBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIGlmIChcImZ1bmN0aW9uXCIgIT0gdHlwZW9mIFdlYWtNYXApIHJldHVybiBudWxsO1xuICAgICAgdmFyIHQgPSBuZXcgV2Vha01hcCgpLFxuICAgICAgICAgIHIgPSBuZXcgV2Vha01hcCgpO1xuICAgICAgcmV0dXJuICh1ID0gZnVuY3Rpb24gdShlKSB7XG4gICAgICAgIHJldHVybiBlID8gciA6IHQ7XG4gICAgICB9KShlKTtcbiAgICB9XG5cbiAgICB2YXIgYyA9IGZ1bmN0aW9uIGMoZSkge1xuICAgICAgdmFyIHQgPSBlLmRhdGUsXG4gICAgICAgICAgciA9IGUubWluRGF0ZSxcbiAgICAgICAgICBhID0gZS5tYXhEYXRlLFxuICAgICAgICAgIHUgPSBlLmhhbmRsZVNlbGVjdE1vbnRoLFxuICAgICAgICAgIGMgPSBlLmkxOG4sXG4gICAgICAgICAgcyA9IHZvaWQgMCA9PT0gYyA/IGwuRU5fVVMgOiBjLFxuICAgICAgICAgIGQgPSB0LmdldE1vbnRoKCksXG4gICAgICAgICAgZiA9ICgwLCBuLnVzZVN0YXRlKShkKSxcbiAgICAgICAgICBwID0gZlswXSxcbiAgICAgICAgICBtID0gZlsxXSxcbiAgICAgICAgICB5ID0gKDAsIG4udXNlUmVmKShudWxsKSxcbiAgICAgICAgICBiID0gKDAsIG4udXNlUmVmKShudWxsKTtcbiAgICAgICgwLCBuLnVzZUVmZmVjdCkoZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZSA9IHkuY3VycmVudCAmJiB5LmN1cnJlbnQucXVlcnlTZWxlY3RvcignW2RhdGEtdmFsdWU9XCInICsgcCArICdcIl0nKTtcbiAgICAgICAgZSAmJiBlLmZvY3VzKCk7XG4gICAgICB9LCBbcF0pO1xuXG4gICAgICB2YXIgdiA9IGZ1bmN0aW9uIHYoZSkge1xuICAgICAgICB2YXIgbixcbiAgICAgICAgICAgIG8sXG4gICAgICAgICAgICBsID0gZS50YXJnZXQsXG4gICAgICAgICAgICB1ID0gcGFyc2VJbnQoKG51bGwgPT09IChuID0gbC5kYXRhc2V0KSB8fCB2b2lkIDAgPT09IG4gPyB2b2lkIDAgOiBuLnZhbHVlKSB8fCBcIlwiLCAxMCksXG4gICAgICAgICAgICBjID0gKDAsIGkuc2V0TW9udGgpKHQsIHUpO1xuXG4gICAgICAgIHN3aXRjaCAoZS5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiQXJyb3dVcFwiOlxuICAgICAgICAgIGNhc2UgXCJVcFwiOlxuICAgICAgICAgICAgbyA9IHUgLSAzO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFwiQXJyb3dEb3duXCI6XG4gICAgICAgICAgY2FzZSBcIkRvd25cIjpcbiAgICAgICAgICAgIG8gPSB1ICsgMztcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBcIkFycm93TGVmdFwiOlxuICAgICAgICAgIGNhc2UgXCJMZWZ0XCI6XG4gICAgICAgICAgICBvID0gdSAtIDE7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgXCJBcnJvd1JpZ2h0XCI6XG4gICAgICAgICAgY2FzZSBcIlJpZ2h0XCI6XG4gICAgICAgICAgICBvID0gdSArIDE7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgXCJIb21lXCI6XG4gICAgICAgICAgICBvID0gdSAtIHUgJSAzO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFwiRW5kXCI6XG4gICAgICAgICAgICBvID0gdSArIDIgLSB1ICUgMztcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBcIlBhZ2VEb3duXCI6XG4gICAgICAgICAgICBvID0gMTE7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgXCJQYWdlVXBcIjpcbiAgICAgICAgICAgIG8gPSAwO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZvaWQgMCAhPT0gbykge1xuICAgICAgICAgIG8gPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMSwgbykpO1xuICAgICAgICAgIHZhciBzID0gKDAsIGkuc2V0TW9udGgpKHQsIG8pLFxuICAgICAgICAgICAgICBkID0gKDAsIGkua2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KShzLCByLCBhKTtcbiAgICAgICAgICAoMCwgaS5pc1NhbWVNb250aCkoYywgZCkgfHwgbShkLmdldE1vbnRoKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfSxcbiAgICAgICAgICBPID0gcy5tb250aHMubWFwKGZ1bmN0aW9uIChlLCBsKSB7XG4gICAgICAgIHZhciBjID0gKDAsIGkuc2V0TW9udGgpKHQsIGwpLFxuICAgICAgICAgICAgcyA9ICgwLCBpLmlzRGF0ZXNNb250aE91dHNpZGVNaW5Pck1heCkoYywgciwgYSksXG4gICAgICAgICAgICBmID0gbCA9PT0gZCxcbiAgICAgICAgICAgIHkgPSBsID09PSBwLFxuICAgICAgICAgICAgTyA9IHkgPyAwIDogLTEsXG4gICAgICAgICAgICBnID0gKDAsIG8uZGVmYXVsdCkoXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19tb250aFwiLCB7XG4gICAgICAgICAgXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19tb250aC0tc2VsZWN0ZWRcIjogZixcbiAgICAgICAgICBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX21vbnRoLS1mb2N1c2VkXCI6IHlcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7XG4gICAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgICBrZXk6IFwic2VsZWN0TW9udGhfXCIgKyBlLFxuICAgICAgICAgIHJlZjogeSA/IGIgOiBudWxsLFxuICAgICAgICAgIHRhYkluZGV4OiBPLFxuICAgICAgICAgIGNsYXNzTmFtZTogZyxcbiAgICAgICAgICBcImRhdGEtdmFsdWVcIjogbCxcbiAgICAgICAgICBcImRhdGEtbGFiZWxcIjogZSxcbiAgICAgICAgICBcImFyaWEtc2VsZWN0ZWRcIjogZixcbiAgICAgICAgICBkaXNhYmxlZDogcyxcbiAgICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuICAgICAgICAgICAgdShsKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uS2V5RG93bjogdixcbiAgICAgICAgICBvbk1vdXNlTW92ZTogZnVuY3Rpb24gb25Nb3VzZU1vdmUoKSB7XG4gICAgICAgICAgICBzIHx8ICgwLCBpLmlzSW9zRGV2aWNlKSgpIHx8IGwgIT09IHAgJiYgbShsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIGUpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIHRhYkluZGV4OiAtMSxcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImNhbGVuZGFyLW1vbnRoLXBpY2tlclwiLFxuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fbW9udGgtcGlja2VyXCIsXG4gICAgICAgIHJlZjogeSxcbiAgICAgICAgb25LZXlEb3duOiBmdW5jdGlvbiBvbktleURvd24oZSkge1xuICAgICAgICAgICgwLCBpLmhhbmRsZVRhYktleSkoZSwgW251bGwgPT0gYiA/IHZvaWQgMCA6IGIuY3VycmVudF0pO1xuICAgICAgICB9XG4gICAgICB9LCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInRhYmxlXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX3RhYmxlXCIsXG4gICAgICAgIHJvbGU6IFwicHJlc2VudGF0aW9uXCJcbiAgICAgIH0sIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwidGJvZHlcIiwgbnVsbCwgKDAsIGkubGlzdFRvVGFibGUpKE8sIDMpKSkpO1xuICAgIH07XG5cbiAgICB0Lk1vbnRoUGlja2VyID0gYywgYy5kaXNwbGF5TmFtZSA9IFwiTW9udGhQaWNrZXJcIjtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuWWVhclBpY2tlciA9IHZvaWQgMDtcblxuICAgIHZhciBhLFxuICAgICAgICBuID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGlmICghdCAmJiBlICYmIGUuX19lc01vZHVsZSkgcmV0dXJuIGU7XG4gICAgICBpZiAobnVsbCA9PT0gZSB8fCBcIm9iamVjdFwiICE9IHR5cGVvZiBlICYmIFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgZSkgcmV0dXJuIHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICAgIHZhciByID0gdSh0KTtcbiAgICAgIGlmIChyICYmIHIuaGFzKGUpKSByZXR1cm4gci5nZXQoZSk7XG4gICAgICB2YXIgYSA9IHt9LFxuICAgICAgICAgIG4gPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgICAgZm9yICh2YXIgbyBpbiBlKSB7XG4gICAgICAgIGlmIChcImRlZmF1bHRcIiAhPT0gbyAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgbykpIHtcbiAgICAgICAgICB2YXIgaSA9IG4gPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsIG8pIDogbnVsbDtcbiAgICAgICAgICBpICYmIChpLmdldCB8fCBpLnNldCkgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgbywgaSkgOiBhW29dID0gZVtvXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhLmRlZmF1bHQgPSBlLCByICYmIHIuc2V0KGUsIGEpO1xuICAgICAgcmV0dXJuIGE7XG4gICAgfShyKDApKSxcbiAgICAgICAgbyA9IChhID0gcigxKSkgJiYgYS5fX2VzTW9kdWxlID8gYSA6IHtcbiAgICAgIGRlZmF1bHQ6IGFcbiAgICB9LFxuICAgICAgICBpID0gcig2KSxcbiAgICAgICAgbCA9IHIoMyk7XG5cbiAgICBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIGlmIChcImZ1bmN0aW9uXCIgIT0gdHlwZW9mIFdlYWtNYXApIHJldHVybiBudWxsO1xuICAgICAgdmFyIHQgPSBuZXcgV2Vha01hcCgpLFxuICAgICAgICAgIHIgPSBuZXcgV2Vha01hcCgpO1xuICAgICAgcmV0dXJuICh1ID0gZnVuY3Rpb24gdShlKSB7XG4gICAgICAgIHJldHVybiBlID8gciA6IHQ7XG4gICAgICB9KShlKTtcbiAgICB9XG5cbiAgICB2YXIgYyA9IGZ1bmN0aW9uIGMoZSkge1xuICAgICAgdmFyIHQgPSBlLmRhdGUsXG4gICAgICAgICAgciA9IGUubWluRGF0ZSxcbiAgICAgICAgICBhID0gZS5tYXhEYXRlLFxuICAgICAgICAgIHUgPSBlLmhhbmRsZVNlbGVjdFllYXIsXG4gICAgICAgICAgYyA9IGUuc2V0U3RhdHVzZXMsXG4gICAgICAgICAgcyA9ICgwLCBuLnVzZVJlZikobnVsbCksXG4gICAgICAgICAgZCA9ICgwLCBuLnVzZVJlZikobnVsbCksXG4gICAgICAgICAgZiA9ICgwLCBuLnVzZVJlZikobnVsbCksXG4gICAgICAgICAgcCA9ICgwLCBuLnVzZVJlZikobnVsbCksXG4gICAgICAgICAgbSA9IHQuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICB5ID0gKDAsIG4udXNlU3RhdGUpKG0pLFxuICAgICAgICAgIGIgPSB5WzBdLFxuICAgICAgICAgIHYgPSB5WzFdLFxuICAgICAgICAgIE8gPSAoMCwgbi51c2VTdGF0ZSkoW251bGwsIG51bGxdKSxcbiAgICAgICAgICBnID0gT1swXSxcbiAgICAgICAgICBfID0gT1sxXSxcbiAgICAgICAgICBoID0gYjtcbiAgICAgIGggLT0gaCAlIGkuWUVBUl9DSFVOSywgaCA9IE1hdGgubWF4KDAsIGgpO1xuICAgICAgdmFyIGogPSAoMCwgbC5pc0RhdGVzWWVhck91dHNpZGVNaW5Pck1heCkoKDAsIGwuc2V0WWVhcikodCwgaCAtIDEpLCByLCBhKSxcbiAgICAgICAgICBNID0gKDAsIGwuaXNEYXRlc1llYXJPdXRzaWRlTWluT3JNYXgpKCgwLCBsLnNldFllYXIpKHQsIGggKyBpLllFQVJfQ0hVTkspLCByLCBhKTtcbiAgICAgICgwLCBuLnVzZUVmZmVjdCkoZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZSA9IFwiU2hvd2luZyB5ZWFycyBcIiArIGggKyBcIiB0byBcIiArIChoICsgaS5ZRUFSX0NIVU5LIC0gMSkgKyBcIi4gU2VsZWN0IGEgeWVhci5cIjtcbiAgICAgICAgYyhbZV0pO1xuICAgICAgICB2YXIgdCA9IGdbMF0sXG4gICAgICAgICAgICByID0gZ1sxXTtcbiAgICAgICAgaWYgKHQgJiYgcikgdC5kaXNhYmxlZCA/IHIuZm9jdXMoKSA6IHQuZm9jdXMoKSwgXyhbbnVsbCwgbnVsbF0pO2Vsc2Uge1xuICAgICAgICAgIHZhciBhID0gcC5jdXJyZW50ICYmIHAuY3VycmVudC5xdWVyeVNlbGVjdG9yKFwiLnVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX3llYXItLWZvY3VzZWRcIik7XG4gICAgICAgICAgYSAmJiBhLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0sIFtiXSksICgwLCBuLnVzZUVmZmVjdCkoZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZSA9IHAuY3VycmVudCAmJiBwLmN1cnJlbnQucXVlcnlTZWxlY3RvcignW2RhdGEtdmFsdWU9XCInICsgYiArICdcIl0nKTtcbiAgICAgICAgZSAmJiBlLmZvY3VzKCk7XG4gICAgICB9LCBbXSk7XG5cbiAgICAgIGZvciAodmFyIE4gPSBmdW5jdGlvbiBOKGUpIHtcbiAgICAgICAgdmFyIG4sXG4gICAgICAgICAgICBvLFxuICAgICAgICAgICAgdSA9IGUudGFyZ2V0LFxuICAgICAgICAgICAgYyA9IHBhcnNlSW50KChudWxsID09PSAobiA9IHUuZGF0YXNldCkgfHwgdm9pZCAwID09PSBuID8gdm9pZCAwIDogbi52YWx1ZSkgfHwgXCJcIiwgMTApLFxuICAgICAgICAgICAgcyA9ICgwLCBsLnNldFllYXIpKHQsIGMpO1xuXG4gICAgICAgIHN3aXRjaCAoZS5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiQXJyb3dVcFwiOlxuICAgICAgICAgIGNhc2UgXCJVcFwiOlxuICAgICAgICAgICAgbyA9IGMgLSAzO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFwiQXJyb3dEb3duXCI6XG4gICAgICAgICAgY2FzZSBcIkRvd25cIjpcbiAgICAgICAgICAgIG8gPSBjICsgMztcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBcIkFycm93TGVmdFwiOlxuICAgICAgICAgIGNhc2UgXCJMZWZ0XCI6XG4gICAgICAgICAgICBvID0gYyAtIDE7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgXCJBcnJvd1JpZ2h0XCI6XG4gICAgICAgICAgY2FzZSBcIlJpZ2h0XCI6XG4gICAgICAgICAgICBvID0gYyArIDE7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgXCJIb21lXCI6XG4gICAgICAgICAgICBvID0gYyAtIGMgJSAzO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFwiRW5kXCI6XG4gICAgICAgICAgICBvID0gYyArIDIgLSBjICUgMztcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBcIlBhZ2VEb3duXCI6XG4gICAgICAgICAgICBvID0gYyArIGkuWUVBUl9DSFVOSztcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBcIlBhZ2VVcFwiOlxuICAgICAgICAgICAgbyA9IGMgLSBpLllFQVJfQ0hVTks7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodm9pZCAwICE9PSBvKSB7XG4gICAgICAgICAgbyA9IE1hdGgubWF4KDAsIG8pO1xuICAgICAgICAgIHZhciBkID0gKDAsIGwuc2V0WWVhcikodCwgbyksXG4gICAgICAgICAgICAgIGYgPSAoMCwgbC5rZWVwRGF0ZUJldHdlZW5NaW5BbmRNYXgpKGQsIHIsIGEpO1xuICAgICAgICAgICgwLCBsLmlzU2FtZVllYXIpKHMsIGYpIHx8IHYoZi5nZXRGdWxsWWVhcigpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH0sIEUgPSBbXSwgUCA9IGgsIHcgPSBmdW5jdGlvbiB3KCkge1xuICAgICAgICB2YXIgZSA9IFAsXG4gICAgICAgICAgICBpID0gKDAsIGwuaXNEYXRlc1llYXJPdXRzaWRlTWluT3JNYXgpKCgwLCBsLnNldFllYXIpKHQsIGUpLCByLCBhKSxcbiAgICAgICAgICAgIGMgPSBlID09PSBtLFxuICAgICAgICAgICAgcyA9IGUgPT09IGIsXG4gICAgICAgICAgICBkID0gcyA/IDAgOiAtMSxcbiAgICAgICAgICAgIHAgPSAoMCwgby5kZWZhdWx0KShcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX3llYXJcIiwge1xuICAgICAgICAgIFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9feWVhci0tc2VsZWN0ZWRcIjogYyxcbiAgICAgICAgICBcInVzYS1kYXRlLXBpY2tlcl9fY2FsZW5kYXJfX3llYXItLWZvY3VzZWRcIjogc1xuICAgICAgICB9KTtcbiAgICAgICAgRS5wdXNoKG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICAgIHRhYkluZGV4OiBkLFxuICAgICAgICAgIHJlZjogcyA/IGYgOiBudWxsLFxuICAgICAgICAgIGNsYXNzTmFtZTogcCxcbiAgICAgICAgICBcImRhdGEtdmFsdWVcIjogZSxcbiAgICAgICAgICBcImFyaWEtc2VsZWN0ZWRcIjogYyxcbiAgICAgICAgICBkaXNhYmxlZDogaSxcbiAgICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuICAgICAgICAgICAgdShlKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uS2V5RG93bjogTixcbiAgICAgICAgICBvbk1vdXNlTW92ZTogZnVuY3Rpb24gb25Nb3VzZU1vdmUoKSB7XG4gICAgICAgICAgICBpIHx8ICgwLCBsLmlzSW9zRGV2aWNlKSgpIHx8IGUgIT09IGIgJiYgdihlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIGUpKSwgUCArPSAxO1xuICAgICAgfTsgRS5sZW5ndGggPCBpLllFQVJfQ0hVTks7KSB7XG4gICAgICAgIHcoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9feWVhci1waWNrZXJcIixcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImNhbGVuZGFyLXllYXItcGlja2VyXCIsXG4gICAgICAgIHJlZjogcCxcbiAgICAgICAgb25LZXlEb3duOiBmdW5jdGlvbiBvbktleURvd24oZSkge1xuICAgICAgICAgICgwLCBsLmhhbmRsZVRhYktleSkoZSwgW251bGwgPT0gcyA/IHZvaWQgMCA6IHMuY3VycmVudCwgbnVsbCA9PSBmID8gdm9pZCAwIDogZi5jdXJyZW50LCBudWxsID09IGQgPyB2b2lkIDAgOiBkLmN1cnJlbnRdKTtcbiAgICAgICAgfVxuICAgICAgfSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ0YWJsZVwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX190YWJsZVwiLFxuICAgICAgICByb2xlOiBcInByZXNlbnRhdGlvblwiXG4gICAgICB9LCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInRib2R5XCIsIG51bGwsIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwidHJcIiwgbnVsbCwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ0ZFwiLCBudWxsLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7XG4gICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJwcmV2aW91cy15ZWFyLWNodW5rXCIsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19wcmV2aW91cy15ZWFyLWNodW5rXCIsXG4gICAgICAgIFwiYXJpYS1sYWJlbFwiOiBcIk5hdmlnYXRlIGJhY2sgXCIgKyBpLllFQVJfQ0hVTksgKyBcIiB5ZWFyc1wiLFxuICAgICAgICBkaXNhYmxlZDogaixcbiAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcbiAgICAgICAgICB2YXIgZSA9IGIgLSBpLllFQVJfQ0hVTks7XG4gICAgICAgICAgZSA9IE1hdGgubWF4KDAsIGUpO1xuICAgICAgICAgIHZhciBuID0gKDAsIGwuc2V0WWVhcikodCwgZSk7XG4gICAgICAgICAgbiA9ICgwLCBsLmtlZXBEYXRlQmV0d2Vlbk1pbkFuZE1heCkobiwgciwgYSksIF8oW3MuY3VycmVudCwgcC5jdXJyZW50XSksIHYobi5nZXRGdWxsWWVhcigpKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVmOiBzXG4gICAgICB9LCBcIsKgXCIpKSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ0ZFwiLCB7XG4gICAgICAgIGNvbFNwYW46IDNcbiAgICAgIH0sIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwidGFibGVcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWRhdGUtcGlja2VyX19jYWxlbmRhcl9fdGFibGVcIixcbiAgICAgICAgcm9sZTogXCJwcmVzZW50YXRpb25cIlxuICAgICAgfSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ0Ym9keVwiLCBudWxsLCAoMCwgbC5saXN0VG9UYWJsZSkoRSwgMykpKSksIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwidGRcIiwgbnVsbCwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwge1xuICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwibmV4dC15ZWFyLWNodW5rXCIsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZGF0ZS1waWNrZXJfX2NhbGVuZGFyX19uZXh0LXllYXItY2h1bmtcIixcbiAgICAgICAgXCJhcmlhLWxhYmVsXCI6IFwiTmF2aWdhdGUgZm9yd2FyZCBcIiArIGkuWUVBUl9DSFVOSyArIFwiIHllYXJzXCIsXG4gICAgICAgIGRpc2FibGVkOiBNLFxuICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuICAgICAgICAgIHZhciBlID0gYiArIGkuWUVBUl9DSFVOSztcbiAgICAgICAgICBlID0gTWF0aC5tYXgoMCwgZSk7XG4gICAgICAgICAgdmFyIG4gPSAoMCwgbC5zZXRZZWFyKSh0LCBlKTtcbiAgICAgICAgICBuID0gKDAsIGwua2VlcERhdGVCZXR3ZWVuTWluQW5kTWF4KShuLCByLCBhKSwgXyhbZC5jdXJyZW50LCBwLmN1cnJlbnRdKSwgdihuLmdldEZ1bGxZZWFyKCkpO1xuICAgICAgICB9LFxuICAgICAgICByZWY6IGRcbiAgICAgIH0sIFwiwqBcIikpKSkpKTtcbiAgICB9O1xuXG4gICAgdC5ZZWFyUGlja2VyID0gYywgYy5kaXNwbGF5TmFtZSA9IFwiWWVhclBpY2tlclwiO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5EYXRlUmFuZ2VQaWNrZXIgPSB2b2lkIDA7XG5cbiAgICB2YXIgYSxcbiAgICAgICAgbiA9IChhID0gcigxKSkgJiYgYS5fX2VzTW9kdWxlID8gYSA6IHtcbiAgICAgIGRlZmF1bHQ6IGFcbiAgICB9LFxuICAgICAgICBvID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGlmICghdCAmJiBlICYmIGUuX19lc01vZHVsZSkgcmV0dXJuIGU7XG4gICAgICBpZiAobnVsbCA9PT0gZSB8fCBcIm9iamVjdFwiICE9IHR5cGVvZiBlICYmIFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgZSkgcmV0dXJuIHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICAgIHZhciByID0gZCh0KTtcbiAgICAgIGlmIChyICYmIHIuaGFzKGUpKSByZXR1cm4gci5nZXQoZSk7XG4gICAgICB2YXIgYSA9IHt9LFxuICAgICAgICAgIG4gPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgICAgZm9yICh2YXIgbyBpbiBlKSB7XG4gICAgICAgIGlmIChcImRlZmF1bHRcIiAhPT0gbyAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgbykpIHtcbiAgICAgICAgICB2YXIgaSA9IG4gPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsIG8pIDogbnVsbDtcbiAgICAgICAgICBpICYmIChpLmdldCB8fCBpLnNldCkgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgbywgaSkgOiBhW29dID0gZVtvXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhLmRlZmF1bHQgPSBlLCByICYmIHIuc2V0KGUsIGEpO1xuICAgICAgcmV0dXJuIGE7XG4gICAgfShyKDApKSxcbiAgICAgICAgaSA9IHIoNiksXG4gICAgICAgIGwgPSByKDEyKSxcbiAgICAgICAgdSA9IHIoMyksXG4gICAgICAgIGMgPSByKDgpLFxuICAgICAgICBzID0gcig1KTtcblxuICAgIGZ1bmN0aW9uIGQoZSkge1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgV2Vha01hcCkgcmV0dXJuIG51bGw7XG4gICAgICB2YXIgdCA9IG5ldyBXZWFrTWFwKCksXG4gICAgICAgICAgciA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICByZXR1cm4gKGQgPSBmdW5jdGlvbiBkKGUpIHtcbiAgICAgICAgcmV0dXJuIGUgPyByIDogdDtcbiAgICAgIH0pKGUpO1xuICAgIH1cblxuICAgIHZhciBfZjIgPSBmdW5jdGlvbiBmKCkge1xuICAgICAgcmV0dXJuIChfZjIgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG5cbiAgICB0LkRhdGVSYW5nZVBpY2tlciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCxcbiAgICAgICAgICByLFxuICAgICAgICAgIGEsXG4gICAgICAgICAgZCxcbiAgICAgICAgICBwLFxuICAgICAgICAgIG0sXG4gICAgICAgICAgeSA9IGUuc3RhcnREYXRlTGFiZWwsXG4gICAgICAgICAgYiA9IGUuc3RhcnREYXRlSGludCxcbiAgICAgICAgICB2ID0gZS5zdGFydERhdGVQaWNrZXJQcm9wcyxcbiAgICAgICAgICBPID0gZS5lbmREYXRlTGFiZWwsXG4gICAgICAgICAgZyA9IGUuZW5kRGF0ZUhpbnQsXG4gICAgICAgICAgXyA9IGUuZW5kRGF0ZVBpY2tlclByb3BzLFxuICAgICAgICAgIGggPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBqID0gKDAsIG8udXNlU3RhdGUpKHYuZGVmYXVsdFZhbHVlKSxcbiAgICAgICAgICBNID0galswXSxcbiAgICAgICAgICBOID0galsxXSxcbiAgICAgICAgICBFID0gKDAsIG8udXNlU3RhdGUpKF8uZGVmYXVsdFZhbHVlKSxcbiAgICAgICAgICBQID0gRVswXSxcbiAgICAgICAgICB3ID0gRVsxXSxcbiAgICAgICAgICBJID0gZnVuY3Rpb24gSShlLCB0KSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAocikge1xuICAgICAgICAgIHZhciBhID0gciAmJiAoMCwgdS5wYXJzZURhdGVTdHJpbmcpKHIsIGkuREVGQVVMVF9FWFRFUk5BTF9EQVRFX0ZPUk1BVCk7XG5cbiAgICAgICAgICBpZiAoYSkge1xuICAgICAgICAgICAgdmFyIG4gPSAoMCwgdS5mb3JtYXREYXRlKShhKTtcbiAgICAgICAgICAgIHQobik7XG4gICAgICAgICAgfSBlbHNlIHQocik7XG5cbiAgICAgICAgICBlICYmIGUocik7XG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgICAgIEQgPSBJKHYub25DaGFuZ2UsIE4pLFxuICAgICAgICAgIFMgPSBJKF8ub25DaGFuZ2UsIHcpLFxuICAgICAgICAgIHggPSAoMCwgbi5kZWZhdWx0KShoLCBcInVzYS1kYXRlLXJhbmdlLXBpY2tlclwiKSxcbiAgICAgICAgICBrID0gKDAsIG4uZGVmYXVsdCkodi5jbGFzc05hbWUsIFwidXNhLWRhdGUtcmFuZ2UtcGlja2VyX19yYW5nZS1zdGFydFwiKSxcbiAgICAgICAgICBBID0gKDAsIG4uZGVmYXVsdCkoXy5jbGFzc05hbWUsIFwidXNhLWRhdGUtcmFuZ2UtcGlja2VyX19yYW5nZS1lbmRcIiksXG4gICAgICAgICAgVCA9IHYuaWQgKyBcIi1sYWJlbFwiLFxuICAgICAgICAgIEMgPSB2LmlkICsgXCItaGludFwiLFxuICAgICAgICAgIEwgPSBbeSAmJiBULCBiICYmIENdLmpvaW4oXCIgXCIpLnRyaW0oKSB8fCB2b2lkIDAsXG4gICAgICAgICAgRiA9IF8uaWQgKyBcIi1sYWJlbFwiLFxuICAgICAgICAgIFIgPSBfLmlkICsgXCItaGludFwiLFxuICAgICAgICAgIFUgPSBbTyAmJiBGLCBnICYmIFJdLmpvaW4oXCIgXCIpLnRyaW0oKSB8fCB2b2lkIDA7XG5cbiAgICAgIHJldHVybiBvLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogeCxcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImRhdGUtcmFuZ2UtcGlja2VyXCJcbiAgICAgIH0sIG8uZGVmYXVsdC5jcmVhdGVFbGVtZW50KGMuRm9ybUdyb3VwLCBudWxsLCB5ICYmIG8uZGVmYXVsdC5jcmVhdGVFbGVtZW50KHMuTGFiZWwsIHtcbiAgICAgICAgaWQ6IFQsXG4gICAgICAgIGh0bWxGb3I6IHYuaWRcbiAgICAgIH0sIHkpLCBiICYmIG8uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1oaW50XCIsXG4gICAgICAgIGlkOiBDXG4gICAgICB9LCBiKSwgby5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQobC5EYXRlUGlja2VyLCBfZjIoe1xuICAgICAgICBjbGFzc05hbWU6IGssXG4gICAgICAgIHJhbmdlRGF0ZTogUFxuICAgICAgfSwgdiwge1xuICAgICAgICBcImFyaWEtZGVzY3JpYmVkYnlcIjogTCxcbiAgICAgICAgb25DaGFuZ2U6IEQsXG4gICAgICAgIG1heERhdGU6IChkID0gdi5tYXhEYXRlLCBwID0gZCAmJiAoMCwgdS5wYXJzZURhdGVTdHJpbmcpKGQpLCBtID0gUCAmJiAoMCwgdS5wYXJzZURhdGVTdHJpbmcpKFApLCBtICYmIHAgPyBtLmdldFRpbWUoKSA8IHAuZ2V0VGltZSgpID8gKDAsIHUuZm9ybWF0RGF0ZSkobSkgOiAoMCwgdS5mb3JtYXREYXRlKShwKSA6IG0gJiYgKDAsIHUuZm9ybWF0RGF0ZSkobSkgfHwgcCAmJiAoMCwgdS5mb3JtYXREYXRlKShwKSB8fCB2b2lkIDApXG4gICAgICB9KSkpLCBvLmRlZmF1bHQuY3JlYXRlRWxlbWVudChjLkZvcm1Hcm91cCwgbnVsbCwgTyAmJiBvLmRlZmF1bHQuY3JlYXRlRWxlbWVudChzLkxhYmVsLCB7XG4gICAgICAgIGlkOiBGLFxuICAgICAgICBodG1sRm9yOiBfLmlkXG4gICAgICB9LCBPKSwgZyAmJiBvLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtaGludFwiLFxuICAgICAgICBpZDogUlxuICAgICAgfSwgZyksIG8uZGVmYXVsdC5jcmVhdGVFbGVtZW50KGwuRGF0ZVBpY2tlciwgX2YyKHtcbiAgICAgICAgY2xhc3NOYW1lOiBBLFxuICAgICAgICByYW5nZURhdGU6IE1cbiAgICAgIH0sIF8sIHtcbiAgICAgICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IFUsXG4gICAgICAgIG9uQ2hhbmdlOiBTLFxuICAgICAgICBtaW5EYXRlOiAodCA9IF8ubWluRGF0ZSwgciA9IHQgJiYgKDAsIHUucGFyc2VEYXRlU3RyaW5nKSh0KSwgYSA9IE0gJiYgKDAsIHUucGFyc2VEYXRlU3RyaW5nKShNKSwgYSAmJiByID8gYS5nZXRUaW1lKCkgPiByLmdldFRpbWUoKSA/ICgwLCB1LmZvcm1hdERhdGUpKGEpIDogKDAsIHUuZm9ybWF0RGF0ZSkocikgOiBhICYmICgwLCB1LmZvcm1hdERhdGUpKGEpIHx8IHIgJiYgKDAsIHUuZm9ybWF0RGF0ZSkocikgfHwgdm9pZCAwKVxuICAgICAgfSkpKSk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuRHJvcGRvd24gPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kxOCA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMTggPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5pZCxcbiAgICAgICAgICByID0gZS5uYW1lLFxuICAgICAgICAgIG8gPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICB1ID0gZS5pbnB1dFJlZixcbiAgICAgICAgICBjID0gZS5jaGlsZHJlbixcbiAgICAgICAgICBzID0gbChlLCBbXCJpZFwiLCBcIm5hbWVcIiwgXCJjbGFzc05hbWVcIiwgXCJpbnB1dFJlZlwiLCBcImNoaWxkcmVuXCJdKSxcbiAgICAgICAgICBkID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2Etc2VsZWN0XCIsIG8pO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2VsZWN0XCIsIF9pMTgoe1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiZHJvcGRvd25cIixcbiAgICAgICAgY2xhc3NOYW1lOiBkLFxuICAgICAgICBpZDogdCxcbiAgICAgICAgbmFtZTogcixcbiAgICAgICAgcmVmOiB1XG4gICAgICB9LCBzKSwgYyk7XG4gICAgfTtcblxuICAgIHQuRHJvcGRvd24gPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5FcnJvck1lc3NhZ2UgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgaSA9IGZ1bmN0aW9uIGkoZSkge1xuICAgICAgdmFyIHQgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIHIgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBvID0gZS5pZCxcbiAgICAgICAgICBpID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtZXJyb3ItbWVzc2FnZVwiLCByKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiZXJyb3JNZXNzYWdlXCIsXG4gICAgICAgIGNsYXNzTmFtZTogaSxcbiAgICAgICAgaWQ6IG8sXG4gICAgICAgIHJvbGU6IFwiYWxlcnRcIlxuICAgICAgfSwgdCk7XG4gICAgfTtcblxuICAgIHQuRXJyb3JNZXNzYWdlID0gaTtcbiAgICB2YXIgbCA9IGk7XG4gICAgdC5kZWZhdWx0ID0gbDtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuRmllbGRzZXQgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBpKHIoMCkpLFxuICAgICAgICBuID0gaShyKDEpKSxcbiAgICAgICAgbyA9IHIoMik7XG5cbiAgICBmdW5jdGlvbiBpKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdC5GaWVsZHNldCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgciA9IGUubGVnZW5kLFxuICAgICAgICAgIGkgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBsID0gZS5sZWdlbmRTck9ubHksXG4gICAgICAgICAgdSA9IGUubGVnZW5kU3R5bGUsXG4gICAgICAgICAgYyA9IHZvaWQgMCA9PT0gdSA/IFwiZGVmYXVsdFwiIDogdSxcbiAgICAgICAgICBzID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtZmllbGRzZXRcIiwgaSk7XG4gICAgICBsICYmICgwLCBvLmRlcHJlY2F0aW9uV2FybmluZykoXCJGaWVsZHNldCBwcm9wZXJ0eSBsZWdlbmRTck9ubHkgaXMgZGVwcmVjYXRlZC4gVXNlIGxlZ2VuZFN0eWxlID0gJ3NyT25seScuXCIpO1xuICAgICAgdmFyIGQgPSAoMCwgbi5kZWZhdWx0KSh7XG4gICAgICAgIFwidXNhLWxlZ2VuZFwiOiBcImRlZmF1bHRcIiA9PT0gYyxcbiAgICAgICAgXCJ1c2EtbGVnZW5kLS1sYXJnZVwiOiBcImxhcmdlXCIgPT09IGMsXG4gICAgICAgIFwidXNhLXNyLW9ubHlcIjogXCJzck9ubHlcIiA9PT0gYyB8fCBsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImZpZWxkc2V0XCIsIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImZpZWxkc2V0XCIsXG4gICAgICAgIGNsYXNzTmFtZTogc1xuICAgICAgfSwgciAmJiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImxlZ2VuZFwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogZFxuICAgICAgfSwgciksIHQpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LkZpbGVJbnB1dCA9IHZvaWQgMDtcblxuICAgIHZhciBhLFxuICAgICAgICBuID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGlmICghdCAmJiBlICYmIGUuX19lc01vZHVsZSkgcmV0dXJuIGU7XG4gICAgICBpZiAobnVsbCA9PT0gZSB8fCBcIm9iamVjdFwiICE9IHR5cGVvZiBlICYmIFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgZSkgcmV0dXJuIHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICAgIHZhciByID0gdSh0KTtcbiAgICAgIGlmIChyICYmIHIuaGFzKGUpKSByZXR1cm4gci5nZXQoZSk7XG4gICAgICB2YXIgYSA9IHt9LFxuICAgICAgICAgIG4gPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgICAgZm9yICh2YXIgbyBpbiBlKSB7XG4gICAgICAgIGlmIChcImRlZmF1bHRcIiAhPT0gbyAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgbykpIHtcbiAgICAgICAgICB2YXIgaSA9IG4gPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsIG8pIDogbnVsbDtcbiAgICAgICAgICBpICYmIChpLmdldCB8fCBpLnNldCkgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgbywgaSkgOiBhW29dID0gZVtvXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhLmRlZmF1bHQgPSBlLCByICYmIHIuc2V0KGUsIGEpO1xuICAgICAgcmV0dXJuIGE7XG4gICAgfShyKDApKSxcbiAgICAgICAgbyA9IChhID0gcigxKSkgJiYgYS5fX2VzTW9kdWxlID8gYSA6IHtcbiAgICAgIGRlZmF1bHQ6IGFcbiAgICB9LFxuICAgICAgICBpID0gcig2MiksXG4gICAgICAgIGwgPSByKDYzKTtcblxuICAgIGZ1bmN0aW9uIHUoZSkge1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgV2Vha01hcCkgcmV0dXJuIG51bGw7XG4gICAgICB2YXIgdCA9IG5ldyBXZWFrTWFwKCksXG4gICAgICAgICAgciA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICByZXR1cm4gKHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgICAgcmV0dXJuIGUgPyByIDogdDtcbiAgICAgIH0pKGUpO1xuICAgIH1cblxuICAgIHZhciBfYzMgPSBmdW5jdGlvbiBjKCkge1xuICAgICAgcmV0dXJuIChfYzMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIHMgPSBmdW5jdGlvbiBzKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH07XG5cbiAgICB0LkZpbGVJbnB1dCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUubmFtZSxcbiAgICAgICAgICByID0gZS5pZCxcbiAgICAgICAgICBhID0gZS5kaXNhYmxlZCxcbiAgICAgICAgICB1ID0gZS5tdWx0aXBsZSxcbiAgICAgICAgICBkID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgZiA9IGUuYWNjZXB0LFxuICAgICAgICAgIHAgPSBlLm9uQ2hhbmdlLFxuICAgICAgICAgIG0gPSBlLm9uRHJvcCxcbiAgICAgICAgICB5ID0gZS5pbnB1dFJlZixcbiAgICAgICAgICBiID0gcyhlLCBbXCJuYW1lXCIsIFwiaWRcIiwgXCJkaXNhYmxlZFwiLCBcIm11bHRpcGxlXCIsIFwiY2xhc3NOYW1lXCIsIFwiYWNjZXB0XCIsIFwib25DaGFuZ2VcIiwgXCJvbkRyb3BcIiwgXCJpbnB1dFJlZlwiXSksXG4gICAgICAgICAgdiA9ICgwLCBuLnVzZVN0YXRlKSghMSksXG4gICAgICAgICAgTyA9IHZbMF0sXG4gICAgICAgICAgZyA9IHZbMV0sXG4gICAgICAgICAgXyA9ICgwLCBuLnVzZVN0YXRlKSghMSksXG4gICAgICAgICAgaCA9IF9bMF0sXG4gICAgICAgICAgaiA9IF9bMV0sXG4gICAgICAgICAgTSA9ICgwLCBuLnVzZVN0YXRlKShudWxsKSxcbiAgICAgICAgICBOID0gTVswXSxcbiAgICAgICAgICBFID0gTVsxXSxcbiAgICAgICAgICBQID0gKDAsIG8uZGVmYXVsdCkoXCJ1c2EtZmlsZS1pbnB1dFwiLCB7XG4gICAgICAgIFwidXNhLWZpbGUtaW5wdXQtLWRpc2FibGVkXCI6IGFcbiAgICAgIH0sIGQpLFxuICAgICAgICAgIHcgPSAoMCwgby5kZWZhdWx0KShcInVzYS1maWxlLWlucHV0X190YXJnZXRcIiwge1xuICAgICAgICBcInVzYS1maWxlLWlucHV0LS1kcmFnXCI6IE8sXG4gICAgICAgIFwiaGFzLWludmFsaWQtZmlsZVwiOiBoXG4gICAgICB9KSxcbiAgICAgICAgICBJID0gL3J2OjExLjAvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpIHx8IC9FZGdlXFwvXFxkLi9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksXG4gICAgICAgICAgRCA9IHUgPyBcIkRyYWcgZmlsZXMgaGVyZSBvciBcIiA6IFwiRHJhZyBmaWxlIGhlcmUgb3IgXCIsXG4gICAgICAgICAgUyA9IFtdO1xuXG4gICAgICBpZiAoTikgZm9yICh2YXIgeCA9IDA7IHggPCAobnVsbCA9PSBOID8gdm9pZCAwIDogTi5sZW5ndGgpOyB4KyspIHtcbiAgICAgICAgdmFyIGsgPSAoMCwgbC5tYWtlU2FmZUZvcklEKShOW3BhcnNlSW50KFwiXCIgKyB4KV0ubmFtZSksXG4gICAgICAgICAgICBBID0gXCJmaWxlUHJldmlld19cIiArIGs7XG4gICAgICAgIFMucHVzaChuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChpLkZpbGVQcmV2aWV3LCB7XG4gICAgICAgICAga2V5OiBBLFxuICAgICAgICAgIGltYWdlSWQ6IGssXG4gICAgICAgICAgZmlsZTogTltwYXJzZUludChcIlwiICsgeCldXG4gICAgICAgIH0pKTtcbiAgICAgIH1cbiAgICAgIHZhciBUID0gKDAsIG8uZGVmYXVsdCkoXCJ1c2EtZmlsZS1pbnB1dF9faW5zdHJ1Y3Rpb25zXCIsIHtcbiAgICAgICAgXCJkaXNwbGF5LW5vbmVcIjogUy5sZW5ndGggPiAwXG4gICAgICB9KSxcbiAgICAgICAgICBDID0gUy5sZW5ndGggPiAxID8gUy5sZW5ndGggKyBcIiBmaWxlcyBzZWxlY3RlZFwiIDogXCJTZWxlY3RlZCBmaWxlXCI7XG4gICAgICByZXR1cm4gbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiZmlsZS1pbnB1dFwiLFxuICAgICAgICBjbGFzc05hbWU6IFAsXG4gICAgICAgIFwiYXJpYS1kaXNhYmxlZFwiOiBhXG4gICAgICB9LCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJmaWxlLWlucHV0LWRyb3B0YXJnZXRcIixcbiAgICAgICAgY2xhc3NOYW1lOiB3LFxuICAgICAgICBvbkRyYWdPdmVyOiBmdW5jdGlvbiBvbkRyYWdPdmVyKCkge1xuICAgICAgICAgIHJldHVybiBnKCEwKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25EcmFnTGVhdmU6IGZ1bmN0aW9uIG9uRHJhZ0xlYXZlKCkge1xuICAgICAgICAgIHJldHVybiBnKCExKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Ecm9wOiBmdW5jdGlvbiBvbkRyb3AoZSkge1xuICAgICAgICAgICFmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgaWYgKGooITEpLCBmKSB7XG4gICAgICAgICAgICAgIGZvciAodmFyIHQgPSBmLnNwbGl0KFwiLFwiKSwgciA9ICEwLCBhID0gMDsgYSA8IGUuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aDsgYSArPSAxKSB7XG4gICAgICAgICAgICAgICAgdmFyIG4gPSBlLmRhdGFUcmFuc2Zlci5maWxlc1twYXJzZUludChcIlwiICsgYSldO1xuICAgICAgICAgICAgICAgIGlmICghcikgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBmb3IgKHZhciBvID0gMDsgbyA8IHQubGVuZ3RoOyBvICs9IDEpIHtcbiAgICAgICAgICAgICAgICAgIHZhciBpID0gdFtwYXJzZUludChcIlwiICsgbyldO1xuICAgICAgICAgICAgICAgICAgaWYgKHIgPSBuLm5hbWUuaW5kZXhPZihpKSA+IDAgfHwgbi50eXBlLmluY2x1ZGVzKGkucmVwbGFjZSgvXFwqL2csIFwiXCIpKSkgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgciB8fCAoRShudWxsKSwgaighMCksIGUucHJldmVudERlZmF1bHQoKSwgZS5zdG9wUHJvcGFnYXRpb24oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfShlKSwgZyghMSksIG0gJiYgbShlKTtcbiAgICAgICAgfVxuICAgICAgfSwgUy5sZW5ndGggPiAwICYmIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImZpbGUtaW5wdXQtcHJldmlldy1oZWFkaW5nXCIsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZmlsZS1pbnB1dF9fcHJldmlldy1oZWFkaW5nXCJcbiAgICAgIH0sIEMsIFwiIFwiLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWZpbGUtaW5wdXRfX2Nob29zZVwiXG4gICAgICB9LCBcIkNoYW5nZSBmaWxlXCIsIFMubGVuZ3RoID4gMSAmJiBcInNcIikpLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJmaWxlLWlucHV0LWluc3RydWN0aW9uc1wiLFxuICAgICAgICBjbGFzc05hbWU6IFQsXG4gICAgICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCJcbiAgICAgIH0sICFJICYmIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZmlsZS1pbnB1dF9fZHJhZy10ZXh0XCJcbiAgICAgIH0sIEQpLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWZpbGUtaW5wdXRfX2Nob29zZVwiXG4gICAgICB9LCBcImNob29zZSBmcm9tIGZvbGRlclwiKSksIFMsIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImZpbGUtaW5wdXQtYm94XCIsXG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZmlsZS1pbnB1dF9fYm94XCJcbiAgICAgIH0pLCBoICYmIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImZpbGUtaW5wdXQtZXJyb3JcIixcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1maWxlLWlucHV0X19hY2NlcHRlZC1maWxlcy1tZXNzYWdlXCJcbiAgICAgIH0sIFwiVGhpcyBpcyBub3QgYSB2YWxpZCBmaWxlIHR5cGUuXCIpLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIF9jMyh7fSwgYiwge1xuICAgICAgICByZWY6IHksXG4gICAgICAgIHR5cGU6IFwiZmlsZVwiLFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiZmlsZS1pbnB1dC1pbnB1dFwiLFxuICAgICAgICBuYW1lOiB0LFxuICAgICAgICBpZDogcixcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1maWxlLWlucHV0X19pbnB1dFwiLFxuICAgICAgICBkaXNhYmxlZDogYSxcbiAgICAgICAgb25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKGUpIHtcbiAgICAgICAgICB2YXIgdDtcbiAgICAgICAgICBqKCExKSwgRShudWxsID09PSAodCA9IGUudGFyZ2V0KSB8fCB2b2lkIDAgPT09IHQgPyB2b2lkIDAgOiB0LmZpbGVzKSwgcCAmJiBwKGUpO1xuICAgICAgICB9LFxuICAgICAgICBtdWx0aXBsZTogdSxcbiAgICAgICAgYWNjZXB0OiBmXG4gICAgICB9KSkpKTtcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5GaWxlUHJldmlldyA9IHZvaWQgMDtcblxuICAgIHZhciBhLFxuICAgICAgICBuID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGlmICghdCAmJiBlICYmIGUuX19lc01vZHVsZSkgcmV0dXJuIGU7XG4gICAgICBpZiAobnVsbCA9PT0gZSB8fCBcIm9iamVjdFwiICE9IHR5cGVvZiBlICYmIFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgZSkgcmV0dXJuIHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICAgIHZhciByID0gaSh0KTtcbiAgICAgIGlmIChyICYmIHIuaGFzKGUpKSByZXR1cm4gci5nZXQoZSk7XG4gICAgICB2YXIgYSA9IHt9LFxuICAgICAgICAgIG4gPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuICAgICAgZm9yICh2YXIgbyBpbiBlKSB7XG4gICAgICAgIGlmIChcImRlZmF1bHRcIiAhPT0gbyAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgbykpIHtcbiAgICAgICAgICB2YXIgbCA9IG4gPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsIG8pIDogbnVsbDtcbiAgICAgICAgICBsICYmIChsLmdldCB8fCBsLnNldCkgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgbywgbCkgOiBhW29dID0gZVtvXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhLmRlZmF1bHQgPSBlLCByICYmIHIuc2V0KGUsIGEpO1xuICAgICAgcmV0dXJuIGE7XG4gICAgfShyKDApKSxcbiAgICAgICAgbyA9IChhID0gcigxKSkgJiYgYS5fX2VzTW9kdWxlID8gYSA6IHtcbiAgICAgIGRlZmF1bHQ6IGFcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gaShlKSB7XG4gICAgICBpZiAoXCJmdW5jdGlvblwiICE9IHR5cGVvZiBXZWFrTWFwKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciB0ID0gbmV3IFdlYWtNYXAoKSxcbiAgICAgICAgICByID0gbmV3IFdlYWtNYXAoKTtcbiAgICAgIHJldHVybiAoaSA9IGZ1bmN0aW9uIGkoZSkge1xuICAgICAgICByZXR1cm4gZSA/IHIgOiB0O1xuICAgICAgfSkoZSk7XG4gICAgfVxuXG4gICAgdmFyIGwgPSBcImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBN1wiO1xuXG4gICAgdC5GaWxlUHJldmlldyA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuaW1hZ2VJZCxcbiAgICAgICAgICByID0gZS5maWxlLFxuICAgICAgICAgIGEgPSAoMCwgbi51c2VSZWYpKG5ldyBGaWxlUmVhZGVyKCkpLFxuICAgICAgICAgIGkgPSAoMCwgbi51c2VTdGF0ZSkoITApLFxuICAgICAgICAgIHUgPSBpWzBdLFxuICAgICAgICAgIGMgPSBpWzFdLFxuICAgICAgICAgIHMgPSAoMCwgbi51c2VTdGF0ZSkobCksXG4gICAgICAgICAgZCA9IHNbMF0sXG4gICAgICAgICAgZiA9IHNbMV0sXG4gICAgICAgICAgcCA9ICgwLCBuLnVzZVN0YXRlKSghMSksXG4gICAgICAgICAgbSA9IHBbMF0sXG4gICAgICAgICAgeSA9IHBbMV07XG4gICAgICAoMCwgbi51c2VFZmZlY3QpKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIGEuY3VycmVudC5vbmxvYWRlbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgYyghMSksIGYoYS5jdXJyZW50LnJlc3VsdCk7XG4gICAgICAgIH0sIGEuY3VycmVudC5yZWFkQXNEYXRhVVJMKHIpLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgYS5jdXJyZW50Lm9ubG9hZGVuZCA9IG51bGw7XG4gICAgICAgIH07XG4gICAgICB9LCBbXSk7XG5cbiAgICAgIHZhciBiID0gci5uYW1lLFxuICAgICAgICAgIHYgPSBiLmluZGV4T2YoXCIucGRmXCIpID4gMCxcbiAgICAgICAgICBPID0gYi5pbmRleE9mKFwiLmRvY1wiKSA+IDAgfHwgYi5pbmRleE9mKFwiLnBhZ2VzXCIpID4gMCxcbiAgICAgICAgICBnID0gYi5pbmRleE9mKFwiLm1vdlwiKSA+IDAgfHwgYi5pbmRleE9mKFwiLm1wNFwiKSA+IDAsXG4gICAgICAgICAgXyA9IGIuaW5kZXhPZihcIi54bHNcIikgPiAwIHx8IGIuaW5kZXhPZihcIi5udW1iZXJzXCIpID4gMCxcbiAgICAgICAgICBoID0gISh2IHx8IE8gfHwgZyB8fCBfKSxcbiAgICAgICAgICBqID0gKDAsIG8uZGVmYXVsdCkoXCJ1c2EtZmlsZS1pbnB1dF9fcHJldmlldy1pbWFnZVwiLCB7XG4gICAgICAgIFwiaXMtbG9hZGluZ1wiOiB1LFxuICAgICAgICBcInVzYS1maWxlLWlucHV0X19wcmV2aWV3LWltYWdlLS1wZGZcIjogbSAmJiB2LFxuICAgICAgICBcInVzYS1maWxlLWlucHV0X19wcmV2aWV3LWltYWdlLS13b3JkXCI6IG0gJiYgTyxcbiAgICAgICAgXCJ1c2EtZmlsZS1pbnB1dF9fcHJldmlldy1pbWFnZS0tdmlkZW9cIjogbSAmJiBnLFxuICAgICAgICBcInVzYS1maWxlLWlucHV0X19wcmV2aWV3LWltYWdlLS1leGNlbFwiOiBtICYmIF8sXG4gICAgICAgIFwidXNhLWZpbGUtaW5wdXRfX3ByZXZpZXctaW1hZ2UtLWdlbmVyaWNcIjogbSAmJiBoXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImZpbGUtaW5wdXQtcHJldmlld1wiLFxuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWZpbGUtaW5wdXRfX3ByZXZpZXdcIixcbiAgICAgICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIlxuICAgICAgfSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIiwge1xuICAgICAgICBpZDogdCxcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImZpbGUtaW5wdXQtcHJldmlldy1pbWFnZVwiLFxuICAgICAgICBzcmM6IGQsXG4gICAgICAgIGFsdDogXCJcIixcbiAgICAgICAgY2xhc3NOYW1lOiBqLFxuICAgICAgICBvbkVycm9yOiBmdW5jdGlvbiBvbkVycm9yKCkge1xuICAgICAgICAgIGYobCksIHkoITApO1xuICAgICAgICB9XG4gICAgICB9KSwgYik7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQubWFrZVNhZmVGb3JJRCA9IHZvaWQgMDtcblxuICAgIHQubWFrZVNhZmVGb3JJRCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICByZXR1cm4gZS5yZXBsYWNlKC9bXmEtejAtOV0vZywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgdmFyIHQgPSBlLmNoYXJDb2RlQXQoMCk7XG4gICAgICAgIHJldHVybiAzMiA9PT0gdCA/IFwiLVwiIDogdCA+PSA2NSAmJiB0IDw9IDkwID8gXCJpbWdfXCIgKyBlLnRvTG93ZXJDYXNlKCkgOiBcIl9fXCIgKyB0LnRvU3RyaW5nKDE2KS5zbGljZSgtNCk7XG4gICAgICB9KTtcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5SYWRpbyA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTE5ID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kxOSA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSkge1xuICAgICAgdmFyIHQgPSBlLmlkLFxuICAgICAgICAgIHIgPSBlLm5hbWUsXG4gICAgICAgICAgbyA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHUgPSBlLmxhYmVsLFxuICAgICAgICAgIGMgPSBlLmlucHV0UmVmLFxuICAgICAgICAgIHMgPSBlLnRpbGUsXG4gICAgICAgICAgZCA9IGUubGFiZWxEZXNjcmlwdGlvbixcbiAgICAgICAgICBmID0gbChlLCBbXCJpZFwiLCBcIm5hbWVcIiwgXCJjbGFzc05hbWVcIiwgXCJsYWJlbFwiLCBcImlucHV0UmVmXCIsIFwidGlsZVwiLCBcImxhYmVsRGVzY3JpcHRpb25cIl0pLFxuICAgICAgICAgIHAgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1yYWRpb1wiLCBvKSxcbiAgICAgICAgICBtID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtcmFkaW9fX2lucHV0XCIsIHtcbiAgICAgICAgXCJ1c2EtcmFkaW9fX2lucHV0LS10aWxlXCI6IHNcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInJhZGlvXCIsXG4gICAgICAgIGNsYXNzTmFtZTogcFxuICAgICAgfSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCBfaTE5KHtcbiAgICAgICAgY2xhc3NOYW1lOiBtLFxuICAgICAgICBpZDogdCxcbiAgICAgICAgdHlwZTogXCJyYWRpb1wiLFxuICAgICAgICBuYW1lOiByLFxuICAgICAgICByZWY6IGNcbiAgICAgIH0sIGYpKSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsYWJlbFwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtcmFkaW9fX2xhYmVsXCIsXG4gICAgICAgIGh0bWxGb3I6IHRcbiAgICAgIH0sIHUsIGQgJiYgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1jaGVja2JveF9fbGFiZWwtZGVzY3JpcHRpb25cIlxuICAgICAgfSwgZCkpKTtcbiAgICB9O1xuXG4gICAgdC5SYWRpbyA9IHU7XG4gICAgdmFyIGMgPSB1O1xuICAgIHQuZGVmYXVsdCA9IGM7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LlJhbmdlSW5wdXQgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kyMCA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMjAgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgciA9IGUuaW5wdXRSZWYsXG4gICAgICAgICAgbyA9IGwoZSwgW1wiY2xhc3NOYW1lXCIsIFwiaW5wdXRSZWZcIl0pLFxuICAgICAgICAgIHUgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1yYW5nZVwiLCB0KTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIF9pMjAoe1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwicmFuZ2VcIixcbiAgICAgICAgY2xhc3NOYW1lOiB1LFxuICAgICAgICByZWY6IHIsXG4gICAgICAgIHR5cGU6IFwicmFuZ2VcIlxuICAgICAgfSwgbykpO1xuICAgIH07XG5cbiAgICB0LlJhbmdlSW5wdXQgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5UaW1lUGlja2VyID0gdm9pZCAwO1xuXG4gICAgdmFyIGEsXG4gICAgICAgIG4gPSBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgaWYgKCF0ICYmIGUgJiYgZS5fX2VzTW9kdWxlKSByZXR1cm4gZTtcbiAgICAgIGlmIChudWxsID09PSBlIHx8IFwib2JqZWN0XCIgIT0gdHlwZW9mIGUgJiYgXCJmdW5jdGlvblwiICE9IHR5cGVvZiBlKSByZXR1cm4ge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgICAgdmFyIHIgPSBkKHQpO1xuICAgICAgaWYgKHIgJiYgci5oYXMoZSkpIHJldHVybiByLmdldChlKTtcbiAgICAgIHZhciBhID0ge30sXG4gICAgICAgICAgbiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4gICAgICBmb3IgKHZhciBvIGluIGUpIHtcbiAgICAgICAgaWYgKFwiZGVmYXVsdFwiICE9PSBvICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBvKSkge1xuICAgICAgICAgIHZhciBpID0gbiA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSwgbykgOiBudWxsO1xuICAgICAgICAgIGkgJiYgKGkuZ2V0IHx8IGkuc2V0KSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCBvLCBpKSA6IGFbb10gPSBlW29dO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEuZGVmYXVsdCA9IGUsIHIgJiYgci5zZXQoZSwgYSk7XG4gICAgICByZXR1cm4gYTtcbiAgICB9KHIoMCkpLFxuICAgICAgICBvID0gKGEgPSByKDEpKSAmJiBhLl9fZXNNb2R1bGUgPyBhIDoge1xuICAgICAgZGVmYXVsdDogYVxuICAgIH0sXG4gICAgICAgIGkgPSByKDgpLFxuICAgICAgICBsID0gcig1KSxcbiAgICAgICAgdSA9IHIoMTEpLFxuICAgICAgICBjID0gcig2NyksXG4gICAgICAgIHMgPSByKDY4KTtcblxuICAgIGZ1bmN0aW9uIGQoZSkge1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgV2Vha01hcCkgcmV0dXJuIG51bGw7XG4gICAgICB2YXIgdCA9IG5ldyBXZWFrTWFwKCksXG4gICAgICAgICAgciA9IG5ldyBXZWFrTWFwKCk7XG4gICAgICByZXR1cm4gKGQgPSBmdW5jdGlvbiBkKGUpIHtcbiAgICAgICAgcmV0dXJuIGUgPyByIDogdDtcbiAgICAgIH0pKGUpO1xuICAgIH1cblxuICAgIHQuVGltZVBpY2tlciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuaWQsXG4gICAgICAgICAgciA9IGUubmFtZSxcbiAgICAgICAgICBhID0gZS5vbkNoYW5nZSxcbiAgICAgICAgICBkID0gZS5sYWJlbCxcbiAgICAgICAgICBmID0gZS5kZWZhdWx0VmFsdWUsXG4gICAgICAgICAgcCA9IGUuZGlzYWJsZWQsXG4gICAgICAgICAgbSA9IGUubWluVGltZSxcbiAgICAgICAgICB5ID0gdm9pZCAwID09PSBtID8gcy5ERUZBVUxUX01JTl9USU1FIDogbSxcbiAgICAgICAgICBiID0gZS5tYXhUaW1lLFxuICAgICAgICAgIHYgPSB2b2lkIDAgPT09IGIgPyBzLkRFRkFVTFRfTUFYX1RJTUUgOiBiLFxuICAgICAgICAgIE8gPSBlLnN0ZXAsXG4gICAgICAgICAgZyA9IHZvaWQgMCA9PT0gTyA/IHMuREVGQVVMVF9TVEVQIDogTyxcbiAgICAgICAgICBfID0gZS5oaW50LFxuICAgICAgICAgIGggPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBqID0gKDAsIG8uZGVmYXVsdCkoXCJ1c2EtdGltZS1waWNrZXJcIiwgaCksXG4gICAgICAgICAgTSA9ICgwLCBjLnBhcnNlVGltZVN0cmluZykoeSkgfHwgcy5ERUZBVUxUX01JTl9USU1FX01JTlVURVMsXG4gICAgICAgICAgTiA9ICgwLCBjLnBhcnNlVGltZVN0cmluZykodikgfHwgcy5ERUZBVUxUX01BWF9USU1FX01JTlVURVMsXG4gICAgICAgICAgRSA9IGcgPCBzLk1JTl9TVEVQID8gcy5NSU5fU1RFUCA6IGcsXG4gICAgICAgICAgUCA9ICgwLCBuLnVzZU1lbW8pKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuICgwLCBjLmdldFRpbWVPcHRpb25zKShNLCBOLCBFKTtcbiAgICAgIH0sIFt5LCB2LCBnXSksXG4gICAgICAgICAgdyA9IHIgKyBcIi1sYWJlbFwiLFxuICAgICAgICAgIEkgPSByICsgXCItaGludFwiO1xuICAgICAgcmV0dXJuIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KGkuRm9ybUdyb3VwLCBudWxsLCBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChsLkxhYmVsLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtbGFiZWxcIixcbiAgICAgICAgaWQ6IHcsXG4gICAgICAgIGh0bWxGb3I6IHRcbiAgICAgIH0sIGQpLCBfICYmIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1oaW50XCIsXG4gICAgICAgIGlkOiBJXG4gICAgICB9LCBfKSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQodS5Db21ib0JveCwge1xuICAgICAgICBpZDogdCxcbiAgICAgICAgbmFtZTogcixcbiAgICAgICAgY2xhc3NOYW1lOiBqLFxuICAgICAgICBvbkNoYW5nZTogYSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBmLFxuICAgICAgICBvcHRpb25zOiBQLFxuICAgICAgICBkaXNhYmxlZDogcCxcbiAgICAgICAgY3VzdG9tRmlsdGVyOiBzLlRJTUVfUElDS0VSX0NVU1RPTV9GSUxURVIsXG4gICAgICAgIGRpc2FibGVGaWx0ZXJpbmc6ICEwXG4gICAgICB9KSk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZ2V0VGltZU9wdGlvbnMgPSB0LnBhcnNlVGltZVN0cmluZyA9IHZvaWQgMDtcblxuICAgIHQucGFyc2VUaW1lU3RyaW5nID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0O1xuXG4gICAgICBpZiAoZSkge1xuICAgICAgICB2YXIgciA9IGUuc3BsaXQoXCI6XCIpLm1hcChmdW5jdGlvbiAoZSkge1xuICAgICAgICAgIHZhciB0LFxuICAgICAgICAgICAgICByID0gcGFyc2VJbnQoZSwgMTApO1xuICAgICAgICAgIHJldHVybiBOdW1iZXIuaXNOYU4ocikgfHwgKHQgPSByKSwgdDtcbiAgICAgICAgfSksXG4gICAgICAgICAgICBhID0gclswXSxcbiAgICAgICAgICAgIG4gPSByWzFdO1xuICAgICAgICBudWxsICE9IGEgJiYgbnVsbCAhPSBuICYmICh0ID0gNjAgKiBhICsgbik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0O1xuICAgIH07XG5cbiAgICB2YXIgYSA9IGZ1bmN0aW9uIGEoZSkge1xuICAgICAgdmFyIHQgPSBlICUgNjAsXG4gICAgICAgICAgciA9IE1hdGguZmxvb3IoZSAvIDYwKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1pbnV0ZTogdCxcbiAgICAgICAgaG91cjI0OiByLFxuICAgICAgICBob3VyMTI6IHIgJSAxMiB8fCAxMixcbiAgICAgICAgYW1wbTogciA8IDEyID8gXCJhbVwiIDogXCJwbVwiXG4gICAgICB9O1xuICAgIH0sXG4gICAgICAgIG4gPSBmdW5jdGlvbiBuKGUsIHQpIHtcbiAgICAgIHJldHVybiAoXCIwMDAwXCIgKyBlKS5zbGljZSgtdCk7XG4gICAgfTtcblxuICAgIHQuZ2V0VGltZU9wdGlvbnMgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgICAgZm9yICh2YXIgbyA9IFtdLCBpID0gZTsgaSA8PSB0OyBpICs9IHIpIHtcbiAgICAgICAgdmFyIGwgPSBhKGkpLFxuICAgICAgICAgICAgdSA9IGwubWludXRlLFxuICAgICAgICAgICAgYyA9IGwuaG91cjI0LFxuICAgICAgICAgICAgcyA9IGwuaG91cjEyLFxuICAgICAgICAgICAgZCA9IGwuYW1wbTtcbiAgICAgICAgby5wdXNoKHtcbiAgICAgICAgICB2YWx1ZTogbihjLCAyKSArIFwiOlwiICsgbih1LCAyKSxcbiAgICAgICAgICBsYWJlbDogcyArIFwiOlwiICsgbih1LCAyKSArIGRcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LlRJTUVfUElDS0VSX0NVU1RPTV9GSUxURVIgPSB0Lk1JTl9TVEVQID0gdC5ERUZBVUxUX1NURVAgPSB0LkRFRkFVTFRfTUlOX1RJTUVfTUlOVVRFUyA9IHQuREVGQVVMVF9NSU5fVElNRSA9IHQuREVGQVVMVF9NQVhfVElNRV9NSU5VVEVTID0gdC5ERUZBVUxUX01BWF9USU1FID0gdm9pZCAwO1xuICAgIHQuREVGQVVMVF9NQVhfVElNRSA9IFwiMjM6NTlcIjtcbiAgICB0LkRFRkFVTFRfTUFYX1RJTUVfTUlOVVRFUyA9IDE0Mzk7XG4gICAgdC5ERUZBVUxUX01JTl9USU1FID0gXCIwMDowMFwiO1xuICAgIHQuREVGQVVMVF9NSU5fVElNRV9NSU5VVEVTID0gMDtcbiAgICB0LkRFRkFVTFRfU1RFUCA9IDMwO1xuICAgIHQuTUlOX1NURVAgPSAxO1xuICAgIHQuVElNRV9QSUNLRVJfQ1VTVE9NX0ZJTFRFUiA9IHtcbiAgICAgIGZpbHRlcjogXCIwP3t7IGhvdXJRdWVyeUZpbHRlciB9fTp7e21pbnV0ZVF1ZXJ5RmlsdGVyfX0uKnt7IGFwUXVlcnlGaWx0ZXIgfX1tP1wiLFxuICAgICAgZXh0cmFzOiB7XG4gICAgICAgIGFwUXVlcnlGaWx0ZXI6IFwiKFthcF0pXCIsXG4gICAgICAgIGhvdXJRdWVyeUZpbHRlcjogXCIoWzEtOV1bMC0yXT8pXCIsXG4gICAgICAgIG1pbnV0ZVF1ZXJ5RmlsdGVyOiBcIltcXFxcZF0rOihbMC05XXswLDJ9KVwiXG4gICAgICB9XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuVmFsaWRhdGlvbkNoZWNrbGlzdCA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTIxID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kyMSA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSkge1xuICAgICAgdmFyIHQgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIHIgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBvID0gbChlLCBbXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiXSksXG4gICAgICAgICAgdSA9ICgwLCBuLmRlZmF1bHQpKHIsIFwidXNhLWNoZWNrbGlzdFwiKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInVsXCIsIF9pMjEoe1xuICAgICAgICBjbGFzc05hbWU6IHUsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJ2YWxpZGF0aW9uQ2hlY2tsaXN0XCJcbiAgICAgIH0sIG8pLCB0KTtcbiAgICB9O1xuXG4gICAgdC5WYWxpZGF0aW9uQ2hlY2tsaXN0ID0gdTtcbiAgICB2YXIgYyA9IHU7XG4gICAgdC5kZWZhdWx0ID0gYztcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuVmFsaWRhdGlvbkl0ZW0gPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kyMiA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMjIgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5jaGlsZHJlbixcbiAgICAgICAgICByID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgbyA9IGUuaXNWYWxpZCxcbiAgICAgICAgICB1ID0gbChlLCBbXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiLCBcImlzVmFsaWRcIl0pLFxuICAgICAgICAgIGMgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1jaGVja2xpc3RfX2l0ZW1cIiwge1xuICAgICAgICBcInVzYS1jaGVja2xpc3RfX2l0ZW0tLWNoZWNrZWRcIjogb1xuICAgICAgfSwgcik7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaVwiLCBfaTIyKHtcbiAgICAgICAgY2xhc3NOYW1lOiBjXG4gICAgICB9LCB1KSwgdCk7XG4gICAgfTtcblxuICAgIHQuVmFsaWRhdGlvbkl0ZW0gPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5FeHRlbmRlZE5hdiA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IGwocigwKSksXG4gICAgICAgIG4gPSBsKHIoMSkpLFxuICAgICAgICBvID0gcigxMyksXG4gICAgICAgIGkgPSByKDQpO1xuXG4gICAgZnVuY3Rpb24gbChlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfdTIgPSBmdW5jdGlvbiB1KCkge1xuICAgICAgcmV0dXJuIChfdTIgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGMgPSBmdW5jdGlvbiBjKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHMgPSBmdW5jdGlvbiBzKGUpIHtcbiAgICAgIHZhciB0ID0gZS5wcmltYXJ5SXRlbXMsXG4gICAgICAgICAgciA9IGUuc2Vjb25kYXJ5SXRlbXMsXG4gICAgICAgICAgbCA9IGUubW9iaWxlRXhwYW5kZWQsXG4gICAgICAgICAgcyA9IHZvaWQgMCAhPT0gbCAmJiBsLFxuICAgICAgICAgIGQgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIGYgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBwID0gZS5vblRvZ2dsZU1vYmlsZU5hdixcbiAgICAgICAgICBtID0gYyhlLCBbXCJwcmltYXJ5SXRlbXNcIiwgXCJzZWNvbmRhcnlJdGVtc1wiLCBcIm1vYmlsZUV4cGFuZGVkXCIsIFwiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJvblRvZ2dsZU1vYmlsZU5hdlwiXSksXG4gICAgICAgICAgeSA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLW5hdlwiLCB7XG4gICAgICAgIFwiaXMtdmlzaWJsZVwiOiBzXG4gICAgICB9LCBmKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm5hdlwiLCBfdTIoe1xuICAgICAgICBjbGFzc05hbWU6IHlcbiAgICAgIH0sIG0pLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtbmF2X19pbm5lclwiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChvLk5hdkNsb3NlQnV0dG9uLCB7XG4gICAgICAgIG9uQ2xpY2s6IHBcbiAgICAgIH0pLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChpLk5hdkxpc3QsIHtcbiAgICAgICAgaXRlbXM6IHQsXG4gICAgICAgIHR5cGU6IFwicHJpbWFyeVwiXG4gICAgICB9KSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLW5hdl9fc2Vjb25kYXJ5XCJcbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KGkuTmF2TGlzdCwge1xuICAgICAgICBpdGVtczogcixcbiAgICAgICAgdHlwZTogXCJzZWNvbmRhcnlcIlxuICAgICAgfSksIGQpKSk7XG4gICAgfTtcblxuICAgIHQuRXh0ZW5kZWROYXYgPSBzO1xuICAgIHZhciBkID0gcztcbiAgICB0LmRlZmF1bHQgPSBkO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgci5yKHQpLCB0LmRlZmF1bHQgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpUHo0OGMzWm5JSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdkMmxrZEdnOUlqWTBJaUJvWldsbmFIUTlJalkwSWlCMmFXVjNRbTk0UFNJd0lEQWdOalFnTmpRaVBqeDBhWFJzWlQ1amJHOXpaVHd2ZEdsMGJHVStQSEJoZEdnZ1ptbHNiRDBpSXpVMk5VTTJOU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCa1BTSk5OVGN1TURReUlERXVNVFZzTlM0NE1Ea2dOUzQ0TURoaE5DQTBJREFnTUNBeElEQWdOUzQyTlRkTU5ETXVORFkxSURNeWJERTVMak00TmlBeE9TNHpPRFZoTkNBMElEQWdNQ0F4SURBZ05TNDJOVGRzTFRVdU9EQTVJRFV1T0RBNVlUUWdOQ0F3SURBZ01TMDFMalkxTnlBd1RETXlJRFF6TGpRMk5TQXhNaTQyTVRVZ05qSXVPRFV4WVRRZ05DQXdJREFnTVMwMUxqWTFOeUF3YkMwMUxqZ3dPUzAxTGpnd09XRTBJRFFnTUNBd0lERWdNQzAxTGpZMU4wd3lNQzQxTXpVZ016SWdNUzR4TkRrZ01USXVOakUxWVRRZ05DQXdJREFnTVNBd0xUVXVOalUzYkRVdU9EQTVMVFV1T0RBNVlUUWdOQ0F3SURBZ01TQTFMalkxTnlBd1RETXlJREl3TGpVek5TQTFNUzR6T0RVZ01TNHhORGxoTkNBMElEQWdNQ0F4SURVdU5qVTNJREI2SWk4K1BDOXpkbWMrXCI7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LkhlYWRlciA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTIzID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kyMyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcblxuICAgIHQuSGVhZGVyID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gZS5iYXNpYyxcbiAgICAgICAgICByID0gZS5leHRlbmRlZCxcbiAgICAgICAgICBvID0gZS5iYXNpY1dpdGhNZWdhTWVudSxcbiAgICAgICAgICB1ID0gZS5jaGlsZHJlbixcbiAgICAgICAgICBjID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgcyA9IGwoZSwgW1wiYmFzaWNcIiwgXCJleHRlbmRlZFwiLCBcImJhc2ljV2l0aE1lZ2FNZW51XCIsIFwiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIl0pLFxuICAgICAgICAgIGQgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1oZWFkZXJcIiwge1xuICAgICAgICBcInVzYS1oZWFkZXItLWJhc2ljXCI6IHQsXG4gICAgICAgIFwidXNhLWhlYWRlci0tbWVnYW1lbnVcIjogbyxcbiAgICAgICAgXCJ1c2EtaGVhZGVyLS1leHRlbmRlZFwiOiByXG4gICAgICB9LCBjKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImhlYWRlclwiLCBfaTIzKHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImhlYWRlclwiLFxuICAgICAgICBjbGFzc05hbWU6IGRcbiAgICAgIH0sIHMpLCB1KTtcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5NZWdhTWVudSA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IGkocigwKSksXG4gICAgICAgIG4gPSBpKHIoMSkpLFxuICAgICAgICBvID0gcig0KTtcblxuICAgIGZ1bmN0aW9uIGkoZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2w5ID0gZnVuY3Rpb24gbCgpIHtcbiAgICAgIHJldHVybiAoX2w5ID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICB1ID0gZnVuY3Rpb24gdShlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9LFxuICAgICAgICBjID0gZnVuY3Rpb24gYyhlKSB7XG4gICAgICB2YXIgdCA9IGUuaXRlbXMsXG4gICAgICAgICAgciA9IGUuaXNPcGVuLFxuICAgICAgICAgIGkgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBjID0gdShlLCBbXCJpdGVtc1wiLCBcImlzT3BlblwiLCBcImNsYXNzTmFtZVwiXSksXG4gICAgICAgICAgcyA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLW5hdl9fc3VibWVudSB1c2EtbWVnYW1lbnVcIiwgaSk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IHMsXG4gICAgICAgIGhpZGRlbjogIXIsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJtZWdhbWVudVwiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJncmlkLXJvdyBncmlkLWdhcC00XCJcbiAgICAgIH0sIHQubWFwKGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1jb2xcIixcbiAgICAgICAgICBrZXk6IFwic3VibmF2X2NvbF9cIiArIHRcbiAgICAgICAgfSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoby5OYXZMaXN0LCBfbDkoe1xuICAgICAgICAgIGl0ZW1zOiBlLFxuICAgICAgICAgIHR5cGU6IFwibWVnYW1lbnVcIlxuICAgICAgICB9LCBjKSkpO1xuICAgICAgfSkpKTtcbiAgICB9O1xuXG4gICAgdC5NZWdhTWVudSA9IGM7XG4gICAgdmFyIHMgPSBjO1xuICAgIHQuZGVmYXVsdCA9IHM7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0Lk1lbnUgPSB2b2lkIDA7XG4gICAgdmFyIGEsXG4gICAgICAgIG4gPSAoYSA9IHIoMCkpICYmIGEuX19lc01vZHVsZSA/IGEgOiB7XG4gICAgICBkZWZhdWx0OiBhXG4gICAgfSxcbiAgICAgICAgbyA9IHIoNCk7XG5cbiAgICB2YXIgX2kyNCA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMjQgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgciA9IGUuaXRlbXMsXG4gICAgICAgICAgYSA9IGUuaXNPcGVuLFxuICAgICAgICAgIHUgPSBsKGUsIFtcImNsYXNzTmFtZVwiLCBcIml0ZW1zXCIsIFwiaXNPcGVuXCJdKTtcbiAgICAgIHJldHVybiBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChvLk5hdkxpc3QsIF9pMjQoe1xuICAgICAgICBjbGFzc05hbWU6IHQsXG4gICAgICAgIGl0ZW1zOiByLFxuICAgICAgICB0eXBlOiBcInN1Ym5hdlwiLFxuICAgICAgICBoaWRkZW46ICFhXG4gICAgICB9LCB1KSk7XG4gICAgfTtcblxuICAgIHQuTWVudSA9IHU7XG4gICAgdmFyIGMgPSB1O1xuICAgIHQuZGVmYXVsdCA9IGM7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0Lk5hdk1lbnVCdXR0b24gPSB2b2lkIDA7XG4gICAgdmFyIGEsXG4gICAgICAgIG4gPSAoYSA9IHIoMCkpICYmIGEuX19lc01vZHVsZSA/IGEgOiB7XG4gICAgICBkZWZhdWx0OiBhXG4gICAgfTtcblxuICAgIHZhciBfbyA9IGZ1bmN0aW9uIG8oKSB7XG4gICAgICByZXR1cm4gKF9vID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBpID0gZnVuY3Rpb24gaShlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5OYXZNZW51QnV0dG9uID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gZS5sYWJlbCxcbiAgICAgICAgICByID0gZS5vbkNsaWNrLFxuICAgICAgICAgIGEgPSBpKGUsIFtcImxhYmVsXCIsIFwib25DbGlja1wiXSk7XG4gICAgICByZXR1cm4gbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgX28oe1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLW1lbnUtYnRuXCIsXG4gICAgICAgIG9uQ2xpY2s6IHIsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJuYXZNZW51QnV0dG9uXCJcbiAgICAgIH0sIGEsIHtcbiAgICAgICAgdHlwZTogXCJidXR0b25cIlxuICAgICAgfSksIHQpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0Lk5hdkRyb3BEb3duQnV0dG9uID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pMjUgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTI1ID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9LFxuICAgICAgICB1ID0gZnVuY3Rpb24gdShlKSB7XG4gICAgICB2YXIgdCA9IGUubGFiZWwsXG4gICAgICAgICAgciA9IGUubWVudUlkLFxuICAgICAgICAgIG8gPSBlLmlzT3BlbixcbiAgICAgICAgICB1ID0gZS5vblRvZ2dsZSxcbiAgICAgICAgICBjID0gZS5pc0N1cnJlbnQsXG4gICAgICAgICAgcyA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIGQgPSBsKGUsIFtcImxhYmVsXCIsIFwibWVudUlkXCIsIFwiaXNPcGVuXCIsIFwib25Ub2dnbGVcIiwgXCJpc0N1cnJlbnRcIiwgXCJjbGFzc05hbWVcIl0pLFxuICAgICAgICAgIGYgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1hY2NvcmRpb25fX2J1dHRvblwiLCBcInVzYS1uYXZfX2xpbmtcIiwge1xuICAgICAgICBcInVzYS1jdXJyZW50XCI6IGNcbiAgICAgIH0sIHMpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIF9pMjUoe1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwibmF2RHJvcERvd25CdXR0b25cIixcbiAgICAgICAgY2xhc3NOYW1lOiBmLFxuICAgICAgICBcImFyaWEtZXhwYW5kZWRcIjogbyxcbiAgICAgICAgXCJhcmlhLWNvbnRyb2xzXCI6IHIsXG4gICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG4gICAgICAgICAgcmV0dXJuIHUoKTtcbiAgICAgICAgfVxuICAgICAgfSwgZCwge1xuICAgICAgICB0eXBlOiBcImJ1dHRvblwiXG4gICAgICB9KSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIG51bGwsIHQpKTtcbiAgICB9O1xuXG4gICAgdC5OYXZEcm9wRG93bkJ1dHRvbiA9IHU7XG4gICAgdmFyIGMgPSB1O1xuICAgIHQuZGVmYXVsdCA9IGM7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LlByaW1hcnlOYXYgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBsKHIoMCkpLFxuICAgICAgICBuID0gbChyKDEpKSxcbiAgICAgICAgbyA9IHIoMTMpLFxuICAgICAgICBpID0gcig0KTtcblxuICAgIGZ1bmN0aW9uIGwoZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX3UzID0gZnVuY3Rpb24gdSgpIHtcbiAgICAgIHJldHVybiAoX3UzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBjID0gZnVuY3Rpb24gYyhlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9LFxuICAgICAgICBzID0gZnVuY3Rpb24gcyhlKSB7XG4gICAgICB2YXIgdCA9IGUuaXRlbXMsXG4gICAgICAgICAgciA9IGUub25Ub2dnbGVNb2JpbGVOYXYsXG4gICAgICAgICAgbCA9IGUubW9iaWxlRXhwYW5kZWQsXG4gICAgICAgICAgcyA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgZCA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIGYgPSBjKGUsIFtcIml0ZW1zXCIsIFwib25Ub2dnbGVNb2JpbGVOYXZcIiwgXCJtb2JpbGVFeHBhbmRlZFwiLCBcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCJdKSxcbiAgICAgICAgICBwID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtbmF2XCIsIHtcbiAgICAgICAgXCJpcy12aXNpYmxlXCI6IGxcbiAgICAgIH0sIGQpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibmF2XCIsIF91Myh7XG4gICAgICAgIGNsYXNzTmFtZTogcFxuICAgICAgfSwgZiksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KG8uTmF2Q2xvc2VCdXR0b24sIHtcbiAgICAgICAgb25DbGljazogclxuICAgICAgfSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KGkuTmF2TGlzdCwge1xuICAgICAgICBpdGVtczogdCxcbiAgICAgICAgdHlwZTogXCJwcmltYXJ5XCJcbiAgICAgIH0pLCBzKTtcbiAgICB9O1xuXG4gICAgdC5QcmltYXJ5TmF2ID0gcztcbiAgICB2YXIgZCA9IHM7XG4gICAgdC5kZWZhdWx0ID0gZDtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuVGl0bGUgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kyNiA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMjYgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgciA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbyA9IGwoZSwgW1wiY2xhc3NOYW1lXCIsIFwiY2hpbGRyZW5cIl0pLFxuICAgICAgICAgIHUgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1sb2dvXCIsIHQpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIF9pMjYoe1xuICAgICAgICBjbGFzc05hbWU6IHVcbiAgICAgIH0sIG8pLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImVtXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1sb2dvX190ZXh0XCJcbiAgICAgIH0sIHIpKTtcbiAgICB9O1xuXG4gICAgdC5UaXRsZSA9IHU7XG4gICAgdmFyIGMgPSB1O1xuICAgIHQuZGVmYXVsdCA9IGM7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LklkZW50aWZpZXIgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kyNyA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMjcgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgciA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbyA9IGwoZSwgW1wiY2xhc3NOYW1lXCIsIFwiY2hpbGRyZW5cIl0pLFxuICAgICAgICAgIHUgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1pZGVudGlmaWVyXCIsIHQpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIF9pMjcoe1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiaWRlbnRpZmllclwiLFxuICAgICAgICBjbGFzc05hbWU6IHVcbiAgICAgIH0sIG8pLCByKTtcbiAgICB9O1xuXG4gICAgdC5JZGVudGlmaWVyID0gdTtcbiAgICB2YXIgYyA9IHU7XG4gICAgdC5kZWZhdWx0ID0gYztcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuSWRlbnRpZmllckdvdiA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTI4ID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kyOCA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSkge1xuICAgICAgdmFyIHQgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIHIgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBvID0gbChlLCBbXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiXSksXG4gICAgICAgICAgdSA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWlkZW50aWZpZXJfX3NlY3Rpb24gdXNhLWlkZW50aWZpZXJfX3NlY3Rpb24tLXVzYWdvdlwiLCByKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNlY3Rpb25cIiwgX2kyOCh7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJpZGVudGlmaWVyR292XCIsXG4gICAgICAgIGNsYXNzTmFtZTogdVxuICAgICAgfSwgbyksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1pZGVudGlmaWVyX19jb250YWluZXJcIlxuICAgICAgfSwgdCkpO1xuICAgIH07XG5cbiAgICB0LklkZW50aWZpZXJHb3YgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5JZGVudGlmaWVySWRlbnRpdHkgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kyOSA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMjkgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5jaGlsZHJlbixcbiAgICAgICAgICByID0gZS5kb21haW4sXG4gICAgICAgICAgbyA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHUgPSBsKGUsIFtcImNoaWxkcmVuXCIsIFwiZG9tYWluXCIsIFwiY2xhc3NOYW1lXCJdKSxcbiAgICAgICAgICBjID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtaWRlbnRpZmllcl9faWRlbnRpdHlcIiwgbyk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgX2kyOSh7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJpZGVudGlmaWVySWRlbnRpdHlcIixcbiAgICAgICAgY2xhc3NOYW1lOiBjXG4gICAgICB9LCB1KSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJwXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1pZGVudGlmaWVyX19pZGVudGl0eS1kb21haW5cIlxuICAgICAgfSwgciksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwicFwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtaWRlbnRpZmllcl9faWRlbnRpdHktZGlzY2xhaW1lclwiXG4gICAgICB9LCB0KSk7XG4gICAgfTtcblxuICAgIHQuSWRlbnRpZmllcklkZW50aXR5ID0gdTtcbiAgICB2YXIgYyA9IHU7XG4gICAgdC5kZWZhdWx0ID0gYztcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuSWRlbnRpZmllckxpbmsgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICByID0gdShlLCBbXCJjbGFzc05hbWVcIl0pLFxuICAgICAgICAgIGkgPSAoMCwgbi5kZWZhdWx0KSh0LCBcInVzYS1pZGVudGlmaWVyX19yZXF1aXJlZC1saW5rXCIpLFxuICAgICAgICAgIGMgPSBfbDEwKF9sMTAoe30sIHIpLCB7XG4gICAgICAgIGNsYXNzTmFtZTogaVxuICAgICAgfSk7XG5cbiAgICAgIGlmICgoMCwgby5pc0N1c3RvbVByb3BzKShjKSkgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KG8uTGluaywgX2wxMCh7fSwgYykpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KG8uTGluaywgX2wxMCh7fSwgYykpO1xuICAgIH07XG4gICAgdmFyIGEgPSBpKHIoMCkpLFxuICAgICAgICBuID0gaShyKDEpKSxcbiAgICAgICAgbyA9IHIoMTApO1xuXG4gICAgZnVuY3Rpb24gaShlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfbDEwID0gZnVuY3Rpb24gbCgpIHtcbiAgICAgIHJldHVybiAoX2wxMCA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuSWRlbnRpZmllckxpbmtJdGVtID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pMzAgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTMwID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5JZGVudGlmaWVyTGlua0l0ZW0gPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIHIgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBvID0gbChlLCBbXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiXSksXG4gICAgICAgICAgdSA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWlkZW50aWZpZXJfX3JlcXVpcmVkLWxpbmtzLWl0ZW1cIiwgcik7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaVwiLCBfaTMwKHtcbiAgICAgICAgY2xhc3NOYW1lOiB1XG4gICAgICB9LCBvKSwgdCk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuSWRlbnRpZmllckxpbmtzID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pMzEgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTMxID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlKSB7XG4gICAgICB2YXIgdCA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgciA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIG8gPSBlLm5hdlByb3BzLFxuICAgICAgICAgIGwgPSBlLmxpc3RQcm9wcyxcbiAgICAgICAgICB1ID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtaWRlbnRpZmllcl9fc2VjdGlvbiB1c2EtaWRlbnRpZmllcl9fc2VjdGlvbi0tcmVxdWlyZWQtbGlua3NcIiwgcik7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJuYXZcIiwgX2kzMSh7XG4gICAgICAgIGNsYXNzTmFtZTogdVxuICAgICAgfSwgbyksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1pZGVudGlmaWVyX19jb250YWluZXJcIlxuICAgICAgfSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ1bFwiLCBfaTMxKHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1pZGVudGlmaWVyX19yZXF1aXJlZC1saW5rcy1saXN0XCJcbiAgICAgIH0sIGwpLCB0KSkpO1xuICAgIH07XG5cbiAgICB0LklkZW50aWZpZXJMaW5rcyA9IGw7XG4gICAgdmFyIHUgPSBsO1xuICAgIHQuZGVmYXVsdCA9IHU7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LklkZW50aWZpZXJMb2dvID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pMzIgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTMyID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5JZGVudGlmaWVyTG9nbyA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgciA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIG8gPSBsKGUsIFtcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCJdKSxcbiAgICAgICAgICB1ID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtaWRlbnRpZmllcl9fbG9nb1wiLCByKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImFcIiwgX2kzMih7XG4gICAgICAgIGNsYXNzTmFtZTogdVxuICAgICAgfSwgbyksIHQpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LklkZW50aWZpZXJMb2dvcyA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTMzID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kzMyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSkge1xuICAgICAgdmFyIHQgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIHIgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBvID0gbChlLCBbXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiXSksXG4gICAgICAgICAgdSA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWlkZW50aWZpZXJfX2xvZ29zXCIsIHIpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIF9pMzMoe1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiaWRlbnRpZmllckxvZ29zXCIsXG4gICAgICAgIGNsYXNzTmFtZTogdVxuICAgICAgfSwgbyksIHQpO1xuICAgIH07XG5cbiAgICB0LklkZW50aWZpZXJMb2dvcyA9IHU7XG4gICAgdmFyIGMgPSB1O1xuICAgIHQuZGVmYXVsdCA9IGM7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LklkZW50aWZpZXJNYXN0aGVhZCA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTM0ID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kzNCA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSkge1xuICAgICAgdmFyIHQgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICByID0gZS5jaGlsZHJlbixcbiAgICAgICAgICBvID0gbChlLCBbXCJjbGFzc05hbWVcIiwgXCJjaGlsZHJlblwiXSksXG4gICAgICAgICAgdSA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWlkZW50aWZpZXJfX3NlY3Rpb24gdXNhLWlkZW50aWZpZXJfX3NlY3Rpb24tLW1hc3RoZWFkXCIsIHQpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic2VjdGlvblwiLCBfaTM0KHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcImlkZW50aWZpZXJNYXN0aGVhZFwiLFxuICAgICAgICBjbGFzc05hbWU6IHVcbiAgICAgIH0sIG8pLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtaWRlbnRpZmllcl9fY29udGFpbmVyXCJcbiAgICAgIH0sIHIpKTtcbiAgICB9O1xuXG4gICAgdC5JZGVudGlmaWVyTWFzdGhlYWQgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5BZGRyZXNzID0gdm9pZCAwO1xuICAgIHZhciBhID0gaShyKDApKSxcbiAgICAgICAgbiA9IGkocigxKSksXG4gICAgICAgIG8gPSByKDIpO1xuXG4gICAgZnVuY3Rpb24gaShlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHQuQWRkcmVzcyA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuc2l6ZSxcbiAgICAgICAgICByID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgaSA9IGUuYmlnLFxuICAgICAgICAgIGwgPSBlLm1lZGl1bSxcbiAgICAgICAgICB1ID0gZS5zbGltLFxuICAgICAgICAgIGMgPSBlLml0ZW1zO1xuICAgICAgaSAmJiAoMCwgby5kZXByZWNhdGlvbldhcm5pbmcpKFwiRm9vdGVyTmF2IHByb3BlcnR5IGJpZyBpcyBkZXByZWNhdGVkLiAgVXNlIHNpemVcIiksIGwgJiYgKDAsIG8uZGVwcmVjYXRpb25XYXJuaW5nKShcIkZvb3Rlck5hdiBwcm9wZXJ0eSBtZWRpdW0gaXMgZGVwcmVjYXRlZC4gIFVzZSBzaXplXCIpLCB1ICYmICgwLCBvLmRlcHJlY2F0aW9uV2FybmluZykoXCJGb290ZXJOYXYgcHJvcGVydHkgc2xpbSBpcyBkZXByZWNhdGVkLiAgVXNlIHNpemVcIik7XG4gICAgICB2YXIgcyA9IHQgPyBcImJpZ1wiID09PSB0IDogaSxcbiAgICAgICAgICBkID0gdCA/IFwibWVkaXVtXCIgPT09IHQgOiBsLFxuICAgICAgICAgIGYgPSB0ID8gXCJzbGltXCIgPT09IHQgOiB1LFxuICAgICAgICAgIHAgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1mb290ZXJfX2FkZHJlc3NcIiwgciksXG4gICAgICAgICAgbSA9ICgwLCBuLmRlZmF1bHQpKHtcbiAgICAgICAgXCJncmlkLWNvbC1hdXRvXCI6IHMgfHwgZCxcbiAgICAgICAgXCJncmlkLWNvbC1hdXRvIG1vYmlsZS1sZzpncmlkLWNvbC0xMiBkZXNrdG9wOmdyaWQtY29sLWF1dG9cIjogZlxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJhZGRyZXNzXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBwXG4gICAgICB9LCBmID8gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwiZ3JpZC1yb3cgZ3JpZC1nYXBcIlxuICAgICAgfSwgYy5tYXAoZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgICBjbGFzc05hbWU6IG0sXG4gICAgICAgICAga2V5OiBcImFkZHJlc3NJdGVtLVwiICsgdFxuICAgICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1mb290ZXJfX2NvbnRhY3QtaW5mb1wiXG4gICAgICAgIH0sIGUpKTtcbiAgICAgIH0pKSA6IGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1mb290ZXJfX2NvbnRhY3QtaW5mbyBncmlkLXJvdyBncmlkLWdhcFwiXG4gICAgICB9LCBjLm1hcChmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICAgIGNsYXNzTmFtZTogbSxcbiAgICAgICAgICBrZXk6IFwiYWRkcmVzc0l0ZW0tXCIgKyB0XG4gICAgICAgIH0sIGUpO1xuICAgICAgfSkpKTtcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5Gb290ZXIgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBpKHIoMCkpLFxuICAgICAgICBuID0gaShyKDEpKSxcbiAgICAgICAgbyA9IHIoMik7XG5cbiAgICBmdW5jdGlvbiBpKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9sMTEgPSBmdW5jdGlvbiBsKCkge1xuICAgICAgcmV0dXJuIChfbDExID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICB1ID0gZnVuY3Rpb24gdShlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5Gb290ZXIgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLnNpemUsXG4gICAgICAgICAgciA9IGUuYmlnLFxuICAgICAgICAgIGkgPSBlLm1lZGl1bSxcbiAgICAgICAgICBjID0gZS5zbGltLFxuICAgICAgICAgIHMgPSBlLnJldHVyblRvVG9wLFxuICAgICAgICAgIGQgPSBlLnByaW1hcnksXG4gICAgICAgICAgZiA9IGUuc2Vjb25kYXJ5LFxuICAgICAgICAgIHAgPSB1KGUsIFtcInNpemVcIiwgXCJiaWdcIiwgXCJtZWRpdW1cIiwgXCJzbGltXCIsIFwicmV0dXJuVG9Ub3BcIiwgXCJwcmltYXJ5XCIsIFwic2Vjb25kYXJ5XCJdKTtcbiAgICAgIHIgJiYgKDAsIG8uZGVwcmVjYXRpb25XYXJuaW5nKShcIkZvb3RlciBwcm9wZXJ0eSBiaWcgaXMgZGVwcmVjYXRlZC4gIFVzZSBzaXplXCIpLCBpICYmICgwLCBvLmRlcHJlY2F0aW9uV2FybmluZykoXCJGb290ZXIgcHJvcGVydHkgbWVkaXVtIGlzIGRlcHJlY2F0ZWQuICBVc2Ugc2l6ZVwiKSwgYyAmJiAoMCwgby5kZXByZWNhdGlvbldhcm5pbmcpKFwiRm9vdGVyIHByb3BlcnR5IHNsaW0gaXMgZGVwcmVjYXRlZC4gIFVzZSBzaXplXCIpO1xuICAgICAgdmFyIG0gPSB0ID8gXCJiaWdcIiA9PT0gdCA6IHIsXG4gICAgICAgICAgeSA9IHQgPyBcIm1lZGl1bVwiID09PSB0IDogaSxcbiAgICAgICAgICBiID0gdCA/IFwic2xpbVwiID09PSB0IDogYyxcbiAgICAgICAgICB2ID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtZm9vdGVyXCIsIHtcbiAgICAgICAgXCJ1c2EtZm9vdGVyLS1iaWdcIjogbSxcbiAgICAgICAgXCJ1c2EtZm9vdGVyLS1tZWRpdW1cIjogeSxcbiAgICAgICAgXCJ1c2EtZm9vdGVyLS1zbGltXCI6IGJcbiAgICAgIH0sIHAuY2xhc3NOYW1lKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImZvb3RlclwiLCBfbDExKHt9LCBwLCB7XG4gICAgICAgIGNsYXNzTmFtZTogdlxuICAgICAgfSksIHMgJiYgcywgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWZvb3Rlcl9fcHJpbWFyeS1zZWN0aW9uXCJcbiAgICAgIH0sIGQpLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtZm9vdGVyX19zZWNvbmRhcnktc2VjdGlvblwiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJncmlkLWNvbnRhaW5lclwiXG4gICAgICB9LCBmKSkpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LkZvb3Rlck5hdiA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IGwocigwKSksXG4gICAgICAgIG4gPSByKDE4KSxcbiAgICAgICAgbyA9IGwocigxKSksXG4gICAgICAgIGkgPSByKDIpO1xuXG4gICAgZnVuY3Rpb24gbChlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfdTQgPSBmdW5jdGlvbiB1KCkge1xuICAgICAgcmV0dXJuIChfdTQgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGMgPSBmdW5jdGlvbiBjKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBzKGUpIHtcbiAgICAgIHJldHVybiBlWzBdLmNvbnN0cnVjdG9yID09PSBBcnJheTtcbiAgICB9XG5cbiAgICB0LkZvb3Rlck5hdiA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHIgPSBlLnNpemUsXG4gICAgICAgICAgbCA9IGUuYmlnLFxuICAgICAgICAgIGQgPSBlLm1lZGl1bSxcbiAgICAgICAgICBmID0gZS5zbGltLFxuICAgICAgICAgIHAgPSBlLmlzTW9iaWxlLFxuICAgICAgICAgIG0gPSBlLmxpbmtzLFxuICAgICAgICAgIHkgPSBjKGUsIFtcImNsYXNzTmFtZVwiLCBcInNpemVcIiwgXCJiaWdcIiwgXCJtZWRpdW1cIiwgXCJzbGltXCIsIFwiaXNNb2JpbGVcIiwgXCJsaW5rc1wiXSk7XG4gICAgICBsICYmICgwLCBpLmRlcHJlY2F0aW9uV2FybmluZykoXCJGb290ZXJOYXYgcHJvcGVydHkgYmlnIGlzIGRlcHJlY2F0ZWQuICBVc2Ugc2l6ZVwiKSwgZCAmJiAoMCwgaS5kZXByZWNhdGlvbldhcm5pbmcpKFwiRm9vdGVyTmF2IHByb3BlcnR5IG1lZGl1bSBpcyBkZXByZWNhdGVkLiAgVXNlIHNpemVcIiksIGYgJiYgKDAsIGkuZGVwcmVjYXRpb25XYXJuaW5nKShcIkZvb3Rlck5hdiBwcm9wZXJ0eSBzbGltIGlzIGRlcHJlY2F0ZWQuICBVc2Ugc2l6ZVwiKTtcblxuICAgICAgdmFyIGIgPSByID8gXCJiaWdcIiA9PT0gciA6IGwsXG4gICAgICAgICAgdiA9IHIgPyBcIm1lZGl1bVwiID09PSByIDogZCxcbiAgICAgICAgICBPID0gciA/IFwic2xpbVwiID09PSByIDogZixcbiAgICAgICAgICBnID0gKDAsIG8uZGVmYXVsdCkoXCJ1c2EtZm9vdGVyX19uYXZcIiwgdCksXG4gICAgICAgICAgXyA9ICgwLCBvLmRlZmF1bHQpKFwiZGVza3RvcDpncmlkLWNvbC1hdXRvIHVzYS1mb290ZXJfX3ByaW1hcnktY29udGVudFwiLCB7XG4gICAgICAgIFwibW9iaWxlLWxnOmdyaWQtY29sLTRcIjogYiB8fCB2LFxuICAgICAgICBcIm1vYmlsZS1sZzpncmlkLWNvbC02XCI6IE9cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJuYXZcIiwgX3U0KHtcbiAgICAgICAgY2xhc3NOYW1lOiBnXG4gICAgICB9LCB5KSwgYiAmJiBzKG0pICYmIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KG4uRm9vdGVyRXh0ZW5kZWROYXZMaXN0LCB7XG4gICAgICAgIGlzTW9iaWxlOiBwLFxuICAgICAgICBuZXN0ZWRMaW5rczogbVxuICAgICAgfSksICFzKG0pICYmIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwidWxcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwiZ3JpZC1yb3cgZ3JpZC1nYXBcIlxuICAgICAgfSwgbS5tYXAoZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlcIiwge1xuICAgICAgICAgIGtleTogXCJuYXZMaW5rLVwiICsgdCxcbiAgICAgICAgICBjbGFzc05hbWU6IF9cbiAgICAgICAgfSwgZSk7XG4gICAgICB9KSkpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LkxvZ28gPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBpKHIoMCkpLFxuICAgICAgICBuID0gaShyKDEpKSxcbiAgICAgICAgbyA9IHIoMik7XG5cbiAgICBmdW5jdGlvbiBpKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH07XG5cbiAgICB0LkxvZ28gPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLnNpemUsXG4gICAgICAgICAgciA9IGUuYmlnLFxuICAgICAgICAgIGkgPSBlLm1lZGl1bSxcbiAgICAgICAgICB1ID0gZS5zbGltLFxuICAgICAgICAgIGMgPSBlLmhlYWRpbmcsXG4gICAgICAgICAgcyA9IGUuaW1hZ2UsXG4gICAgICAgICAgZCA9IGwoZSwgW1wic2l6ZVwiLCBcImJpZ1wiLCBcIm1lZGl1bVwiLCBcInNsaW1cIiwgXCJoZWFkaW5nXCIsIFwiaW1hZ2VcIl0pO1xuICAgICAgciAmJiAoMCwgby5kZXByZWNhdGlvbldhcm5pbmcpKFwiRm9vdGVyTmF2IHByb3BlcnR5IGJpZyBpcyBkZXByZWNhdGVkLiAgVXNlIHNpemVcIiksIGkgJiYgKDAsIG8uZGVwcmVjYXRpb25XYXJuaW5nKShcIkZvb3Rlck5hdiBwcm9wZXJ0eSBtZWRpdW0gaXMgZGVwcmVjYXRlZC4gIFVzZSBzaXplXCIpLCB1ICYmICgwLCBvLmRlcHJlY2F0aW9uV2FybmluZykoXCJGb290ZXJOYXYgcHJvcGVydHkgc2xpbSBpcyBkZXByZWNhdGVkLiAgVXNlIHNpemVcIik7XG4gICAgICB2YXIgZiA9IHQgPyBcImJpZ1wiID09PSB0IDogcixcbiAgICAgICAgICBwID0gdCA/IFwibWVkaXVtXCIgPT09IHQgOiBpLFxuICAgICAgICAgIG0gPSB0ID8gXCJzbGltXCIgPT09IHQgOiB1LFxuICAgICAgICAgIHkgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1mb290ZXJfX2xvZ28gZ3JpZC1yb3dcIiwge1xuICAgICAgICBcIm1vYmlsZS1sZzpncmlkLWNvbC02IG1vYmlsZS1sZzpncmlkLWdhcC0yXCI6IGYgfHwgcCxcbiAgICAgICAgXCJncmlkLWdhcC0yXCI6IG1cbiAgICAgIH0sIGQuY2xhc3NOYW1lKSxcbiAgICAgICAgICBiID0gKDAsIG4uZGVmYXVsdCkoe1xuICAgICAgICBcIm1vYmlsZS1sZzpncmlkLWNvbC1hdXRvXCI6IGYgfHwgcCxcbiAgICAgICAgXCJncmlkLWNvbC1hdXRvXCI6IG1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiB5LFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiZm9vdGVyTG9nb1wiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChhLmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBiXG4gICAgICB9LCBzKSwgYyAmJiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogYlxuICAgICAgfSwgYykpKTtcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5Tb2NpYWxMaW5rcyA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHQuU29jaWFsTGlua3MgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICByID0gZS5saW5rcyxcbiAgICAgICAgICBvID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtZm9vdGVyX19zb2NpYWwtbGlua3MgZ3JpZC1yb3cgZ3JpZC1nYXAtMVwiLCB0KTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogb1xuICAgICAgfSwgci5tYXAoZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgICBrZXk6IFwic29jaWFsTGlua1wiICsgdCxcbiAgICAgICAgICBjbGFzc05hbWU6IFwiZ3JpZC1jb2wtYXV0b1wiXG4gICAgICAgIH0sIGUpO1xuICAgICAgfSkpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LkNhcmRHcm91cCA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTM1ID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kzNSA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSkge1xuICAgICAgdmFyIHQgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIHIgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBvID0gbChlLCBbXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiXSksXG4gICAgICAgICAgdSA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWNhcmQtZ3JvdXBcIiwgcik7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ1bFwiLCBfaTM1KHtcbiAgICAgICAgY2xhc3NOYW1lOiB1LFxuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiQ2FyZEdyb3VwXCJcbiAgICAgIH0sIG8pLCB0KTtcbiAgICB9O1xuXG4gICAgdC5DYXJkR3JvdXAgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5DYXJkID0gdm9pZCAwO1xuICAgIHZhciBhID0gaShyKDApKSxcbiAgICAgICAgbiA9IGkocigxKSksXG4gICAgICAgIG8gPSByKDE1KTtcblxuICAgIGZ1bmN0aW9uIGkoZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2wxMiA9IGZ1bmN0aW9uIGwoKSB7XG4gICAgICByZXR1cm4gKF9sMTIgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIGMgPSBmdW5jdGlvbiBjKGUpIHtcbiAgICAgIHZhciB0ID0gZS5sYXlvdXQsXG4gICAgICAgICAgciA9IHZvaWQgMCA9PT0gdCA/IFwic3RhbmRhcmREZWZhdWx0XCIgOiB0LFxuICAgICAgICAgIGkgPSBlLmhlYWRlckZpcnN0LFxuICAgICAgICAgIGMgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIHMgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBkID0gZS5ncmlkTGF5b3V0LFxuICAgICAgICAgIGYgPSBlLmNvbnRhaW5lclByb3BzLFxuICAgICAgICAgIHAgPSB1KGUsIFtcImxheW91dFwiLCBcImhlYWRlckZpcnN0XCIsIFwiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJncmlkTGF5b3V0XCIsIFwiY29udGFpbmVyUHJvcHNcIl0pLFxuICAgICAgICAgIG0gPSBmIHx8IHt9LFxuICAgICAgICAgIHkgPSBtLmNsYXNzTmFtZSxcbiAgICAgICAgICBiID0gdShtLCBbXCJjbGFzc05hbWVcIl0pLFxuICAgICAgICAgIHYgPSBkICYmICgwLCBvLmFwcGx5R3JpZENsYXNzZXMpKGQpLFxuICAgICAgICAgIE8gPSAoMCwgbi5kZWZhdWx0KShcInVzYS1jYXJkXCIsIHtcbiAgICAgICAgXCJ1c2EtY2FyZC0taGVhZGVyLWZpcnN0XCI6IGksXG4gICAgICAgIFwidXNhLWNhcmQtLWZsYWdcIjogXCJmbGFnRGVmYXVsdFwiID09PSByIHx8IFwiZmxhZ01lZGlhUmlnaHRcIiA9PT0gcixcbiAgICAgICAgXCJ1c2EtY2FyZC0tbWVkaWEtcmlnaHRcIjogXCJmbGFnTWVkaWFSaWdodFwiID09PSByXG4gICAgICB9LCB2LCBzKSxcbiAgICAgICAgICBnID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtY2FyZF9fY29udGFpbmVyXCIsIHkpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlcIiwgX2wxMih7XG4gICAgICAgIGNsYXNzTmFtZTogTyxcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcIkNhcmRcIlxuICAgICAgfSwgcCksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIF9sMTIoe1xuICAgICAgICBjbGFzc05hbWU6IGdcbiAgICAgIH0sIGIpLCBjKSk7XG4gICAgfTtcblxuICAgIHQuQ2FyZCA9IGM7XG4gICAgdmFyIHMgPSBjO1xuICAgIHQuZGVmYXVsdCA9IHM7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LkNhcmRIZWFkZXIgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kzNiA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMzYgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5leGRlbnQsXG4gICAgICAgICAgciA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbyA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHUgPSBsKGUsIFtcImV4ZGVudFwiLCBcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCJdKSxcbiAgICAgICAgICBjID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtY2FyZF9faGVhZGVyXCIsIHtcbiAgICAgICAgXCJ1c2EtY2FyZF9faGVhZGVyLS1leGRlbnRcIjogdFxuICAgICAgfSwgbyk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJoZWFkZXJcIiwgX2kzNih7XG4gICAgICAgIGNsYXNzTmFtZTogY1xuICAgICAgfSwgdSwge1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwiQ2FyZEhlYWRlclwiXG4gICAgICB9KSwgcik7XG4gICAgfTtcblxuICAgIHQuQ2FyZEhlYWRlciA9IHU7XG4gICAgdmFyIGMgPSB1O1xuICAgIHQuZGVmYXVsdCA9IGM7XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LmRlZmF1bHQgPSB0LkNhcmRNZWRpYSA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTM3ID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2kzNyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSkge1xuICAgICAgdmFyIHQgPSBlLmV4ZGVudCxcbiAgICAgICAgICByID0gZS5pbnNldCxcbiAgICAgICAgICBvID0gZS5pbWFnZUNsYXNzLFxuICAgICAgICAgIHUgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIGMgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBzID0gbChlLCBbXCJleGRlbnRcIiwgXCJpbnNldFwiLCBcImltYWdlQ2xhc3NcIiwgXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiXSksXG4gICAgICAgICAgZCA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWNhcmRfX21lZGlhXCIsIHtcbiAgICAgICAgXCJ1c2EtY2FyZF9fbWVkaWEtLWV4ZGVudFwiOiB0LFxuICAgICAgICBcInVzYS1jYXJkX19tZWRpYS0taW5zZXRcIjogclxuICAgICAgfSwgYyksXG4gICAgICAgICAgZiA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWNhcmRfX2ltZ1wiLCBvKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCBfaTM3KHtcbiAgICAgICAgY2xhc3NOYW1lOiBkXG4gICAgICB9LCBzLCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJDYXJkTWVkaWFcIlxuICAgICAgfSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBmXG4gICAgICB9LCB1KSk7XG4gICAgfTtcblxuICAgIHQuQ2FyZE1lZGlhID0gdTtcbiAgICB2YXIgYyA9IHU7XG4gICAgdC5kZWZhdWx0ID0gYztcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuQ2FyZEJvZHkgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2kzOCA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pMzggPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5leGRlbnQsXG4gICAgICAgICAgciA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbyA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHUgPSBsKGUsIFtcImV4ZGVudFwiLCBcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCJdKSxcbiAgICAgICAgICBjID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtY2FyZF9fYm9keVwiLCB7XG4gICAgICAgIFwidXNhLWNhcmRfX2JvZHktLWV4ZGVudFwiOiB0XG4gICAgICB9LCBvKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCBfaTM4KHtcbiAgICAgICAgY2xhc3NOYW1lOiBjXG4gICAgICB9LCB1LCB7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJDYXJkQm9keVwiXG4gICAgICB9KSwgcik7XG4gICAgfTtcblxuICAgIHQuQ2FyZEJvZHkgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5DYXJkRm9vdGVyID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pMzkgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTM5ID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9LFxuICAgICAgICB1ID0gZnVuY3Rpb24gdShlKSB7XG4gICAgICB2YXIgdCA9IGUuZXhkZW50LFxuICAgICAgICAgIHIgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIG8gPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICB1ID0gbChlLCBbXCJleGRlbnRcIiwgXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiXSksXG4gICAgICAgICAgYyA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLWNhcmRfX2Zvb3RlclwiLCB7XG4gICAgICAgIFwidXNhLWNhcmRfX2Zvb3Rlci0tZXhkZW50XCI6IHRcbiAgICAgIH0sIG8pO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIF9pMzkoe1xuICAgICAgICBjbGFzc05hbWU6IGNcbiAgICAgIH0sIHUsIHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcIkNhcmRGb290ZXJcIlxuICAgICAgfSksIHIpO1xuICAgIH07XG5cbiAgICB0LkNhcmRGb290ZXIgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5CcmVhZGNydW1iQmFyID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pNDAgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTQwID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xuXG4gICAgdC5CcmVhZGNydW1iQmFyID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gZS52YXJpYW50LFxuICAgICAgICAgIHIgPSB2b2lkIDAgPT09IHQgPyBcImRlZmF1bHRcIiA6IHQsXG4gICAgICAgICAgbyA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbCA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHUgPSBlLm5hdlByb3BzLFxuICAgICAgICAgIGMgPSBlLmxpc3RQcm9wcyxcbiAgICAgICAgICBzID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2EtYnJlYWRjcnVtYlwiLCB7XG4gICAgICAgIFwidXNhLWJyZWFkY3J1bWItLXdyYXBcIjogXCJ3cmFwXCIgPT09IHJcbiAgICAgIH0sIGwpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibmF2XCIsIF9pNDAoe1xuICAgICAgICBjbGFzc05hbWU6IHNcbiAgICAgIH0sIHUsIHtcbiAgICAgICAgXCJhcmlhLWxhYmVsXCI6IFwiQnJlYWRjcnVtYnNcIlxuICAgICAgfSksIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwib2xcIiwgX2k0MCh7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYnJlYWRjcnVtYl9fbGlzdFwiXG4gICAgICB9LCBjKSwgbykpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LkJyZWFkY3J1bWIgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2k0MSA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pNDEgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH07XG5cbiAgICB0LkJyZWFkY3J1bWIgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIHIgPSBlLmN1cnJlbnQsXG4gICAgICAgICAgbyA9IHZvaWQgMCAhPT0gciAmJiByLFxuICAgICAgICAgIHUgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBjID0gbChlLCBbXCJjaGlsZHJlblwiLCBcImN1cnJlbnRcIiwgXCJjbGFzc05hbWVcIl0pLFxuICAgICAgICAgIHMgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1icmVhZGNydW1iX19saXN0LWl0ZW1cIiwge1xuICAgICAgICBcInVzYS1jdXJyZW50XCI6IG9cbiAgICAgIH0sIHUpO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibGlcIiwgX2k0MSh7XG4gICAgICAgIGNsYXNzTmFtZTogcyxcbiAgICAgICAgXCJhcmlhLWN1cnJlbnRcIjogbyA/IFwicGFnZVwiIDogdm9pZCAwXG4gICAgICB9LCBjKSwgdCk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuQnJlYWRjcnVtYkxpbmsgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICByID0gdShlLCBbXCJjbGFzc05hbWVcIl0pLFxuICAgICAgICAgIGkgPSAoMCwgYS5kZWZhdWx0KSh0LCBcInVzYS1icmVhZGNydW1iX19saW5rXCIpLFxuICAgICAgICAgIGMgPSBfbDEzKF9sMTMoe30sIHIpLCB7XG4gICAgICAgIGNsYXNzTmFtZTogaVxuICAgICAgfSk7XG5cbiAgICAgIGlmICgoMCwgby5pc0N1c3RvbVByb3BzKShjKSkgcmV0dXJuIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KG8uTGluaywgX2wxMyh7fSwgYywge1xuICAgICAgICB2YXJpYW50OiBcInVuc3R5bGVkXCJcbiAgICAgIH0pKTtcbiAgICAgIHJldHVybiBuLmRlZmF1bHQuY3JlYXRlRWxlbWVudChvLkxpbmssIF9sMTMoe30sIGMsIHtcbiAgICAgICAgdmFyaWFudDogXCJ1bnN0eWxlZFwiXG4gICAgICB9KSk7XG4gICAgfTtcbiAgICB2YXIgYSA9IGkocigxKSksXG4gICAgICAgIG4gPSBpKHIoMCkpLFxuICAgICAgICBvID0gcigxMCk7XG5cbiAgICBmdW5jdGlvbiBpKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9sMTMgPSBmdW5jdGlvbiBsKCkge1xuICAgICAgcmV0dXJuIChfbDEzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICB1ID0gZnVuY3Rpb24gdShlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5TdGVwSW5kaWNhdG9yID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pNDIgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTQyID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xuXG4gICAgdC5TdGVwSW5kaWNhdG9yID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0LFxuICAgICAgICAgIHIgPSBlLnNob3dMYWJlbHMsXG4gICAgICAgICAgbyA9IHZvaWQgMCA9PT0gciB8fCByLFxuICAgICAgICAgIGwgPSBlLmNvdW50ZXJzLFxuICAgICAgICAgIHUgPSB2b2lkIDAgPT09IGwgPyBcIm5vbmVcIiA6IGwsXG4gICAgICAgICAgYyA9IGUuY2VudGVyZWQsXG4gICAgICAgICAgcyA9IHZvaWQgMCAhPT0gYyAmJiBjLFxuICAgICAgICAgIGQgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIGYgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBwID0gZS5kaXZQcm9wcyxcbiAgICAgICAgICBtID0gZS5saXN0UHJvcHMsXG4gICAgICAgICAgeSA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLXN0ZXAtaW5kaWNhdG9yXCIsIHtcbiAgICAgICAgXCJ1c2Etc3RlcC1pbmRpY2F0b3ItLW5vLWxhYmVsc1wiOiAhbyxcbiAgICAgICAgXCJ1c2Etc3RlcC1pbmRpY2F0b3ItLWNvdW50ZXJzXCI6IFwiZGVmYXVsdFwiID09PSB1LFxuICAgICAgICBcInVzYS1zdGVwLWluZGljYXRvci0tY291bnRlcnMtc21cIjogXCJzbWFsbFwiID09PSB1LFxuICAgICAgICBcInVzYS1zdGVwLWluZGljYXRvci0tY2VudGVyXCI6IHNcbiAgICAgIH0sIGYpLFxuICAgICAgICAgIGIgPSAtMSA9PT0gKHQgPSBkLmZpbmRJbmRleChmdW5jdGlvbiAoZSkge1xuICAgICAgICByZXR1cm4gXCJjdXJyZW50XCIgPT09IGUucHJvcHMuc3RhdHVzO1xuICAgICAgfSkpID8gMCA6IHQsXG4gICAgICAgICAgdiA9IGIgKyAxLFxuICAgICAgICAgIE8gPSBkW3BhcnNlSW50KFwiXCIgKyBiKV0ucHJvcHMubGFiZWwsXG4gICAgICAgICAgZyA9IGQubGVuZ3RoO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIF9pNDIoe1xuICAgICAgICBjbGFzc05hbWU6IHksXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJzdGVwLWluZGljYXRvclwiLFxuICAgICAgICBcImFyaWEtbGFiZWxcIjogXCJwcm9ncmVzc1wiXG4gICAgICB9LCBwKSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJvbFwiLCBfaTQyKHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1zdGVwLWluZGljYXRvcl9fc2VnbWVudHNcIlxuICAgICAgfSwgbSksIGQpLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2Etc3RlcC1pbmRpY2F0b3JfX2hlYWRlclwiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImgyXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1zdGVwLWluZGljYXRvcl9faGVhZGluZ1wiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLXN0ZXAtaW5kaWNhdG9yX19oZWFkaW5nLWNvdW50ZXJcIlxuICAgICAgfSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1zci1vbmx5XCJcbiAgICAgIH0sIFwiU3RlcFwiKSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1zdGVwLWluZGljYXRvcl9fY3VycmVudC1zdGVwXCJcbiAgICAgIH0sIHYpLCBcIsKgXCIsIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2Etc3RlcC1pbmRpY2F0b3JfX3RvdGFsLXN0ZXBzXCJcbiAgICAgIH0sIFwib2YgXCIgKyBnKSwgXCLCoFwiKSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1zdGVwLWluZGljYXRvcl9faGVhZGluZy10ZXh0XCJcbiAgICAgIH0sIE8pKSkpO1xuICAgIH07XG4gIH0sIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiAhMFxuICAgIH0pLCB0LlN0ZXBJbmRpY2F0b3JTdGVwID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDEpKSxcbiAgICAgICAgbiA9IG8ocigwKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pNDMgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTQzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5TdGVwSW5kaWNhdG9yU3RlcCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUubGFiZWwsXG4gICAgICAgICAgciA9IGUuc3RhdHVzLFxuICAgICAgICAgIG8gPSB2b2lkIDAgPT09IHIgPyBcImluY29tcGxldGVcIiA6IHIsXG4gICAgICAgICAgdSA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIGMgPSBsKGUsIFtcImxhYmVsXCIsIFwic3RhdHVzXCIsIFwiY2xhc3NOYW1lXCJdKSxcbiAgICAgICAgICBzID0gKDAsIGEuZGVmYXVsdCkoXCJ1c2Etc3RlcC1pbmRpY2F0b3JfX3NlZ21lbnRcIiwge1xuICAgICAgICBcInVzYS1zdGVwLWluZGljYXRvcl9fc2VnbWVudC0tY29tcGxldGVcIjogXCJjb21wbGV0ZVwiID09PSBvLFxuICAgICAgICBcInVzYS1zdGVwLWluZGljYXRvcl9fc2VnbWVudC0tY3VycmVudFwiOiBcImN1cnJlbnRcIiA9PT0gb1xuICAgICAgfSwgdSk7XG4gICAgICByZXR1cm4gbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaVwiLCBfaTQzKHtcbiAgICAgICAgY2xhc3NOYW1lOiBzLFxuICAgICAgICBcImFyaWEtY3VycmVudFwiOiBcImN1cnJlbnRcIiA9PT0gbyA/IFwidHJ1ZVwiIDogdm9pZCAwXG4gICAgICB9LCBjKSwgbi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcInVzYS1zdGVwLWluZGljYXRvcl9fc2VnbWVudC1sYWJlbFwiXG4gICAgICB9LCB0LCBcIsKgXCIsIFwiY3VycmVudFwiICE9PSBvICYmIG4uZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2Etc3Itb25seVwiXG4gICAgICB9LCBcImNvbXBsZXRlXCIgPT09IG8gPyBcImNvbXBsZXRlZFwiIDogXCJub3QgY29tcGxldGVkXCIpKSk7XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuU2VhcmNoID0gdm9pZCAwO1xuICAgIHZhciBhID0gcyhyKDApKSxcbiAgICAgICAgbiA9IHMocigxKSksXG4gICAgICAgIG8gPSByKDIpLFxuICAgICAgICBpID0gcigxNCksXG4gICAgICAgIGwgPSByKDE3KSxcbiAgICAgICAgdSA9IHIoNSksXG4gICAgICAgIGMgPSByKDcpO1xuXG4gICAgZnVuY3Rpb24gcyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfZDIgPSBmdW5jdGlvbiBkKCkge1xuICAgICAgcmV0dXJuIChfZDIgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGYgPSBmdW5jdGlvbiBmKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHAgPSBmdW5jdGlvbiBwKGUpIHtcbiAgICAgIHZhciB0ID0gZS5vblN1Ym1pdCxcbiAgICAgICAgICByID0gZS5zaXplLFxuICAgICAgICAgIHMgPSBlLmJpZyxcbiAgICAgICAgICBwID0gZS5zbWFsbCxcbiAgICAgICAgICBtID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgeSA9IGUucGxhY2Vob2xkZXIsXG4gICAgICAgICAgYiA9IGUuaW5wdXROYW1lLFxuICAgICAgICAgIHYgPSB2b2lkIDAgPT09IGIgPyBcInNlYXJjaFwiIDogYixcbiAgICAgICAgICBPID0gZS5sYWJlbCxcbiAgICAgICAgICBnID0gdm9pZCAwID09PSBPID8gXCJTZWFyY2hcIiA6IE8sXG4gICAgICAgICAgXyA9IGUuaW5wdXRJZCxcbiAgICAgICAgICBoID0gdm9pZCAwID09PSBfID8gXCJzZWFyY2gtZmllbGRcIiA6IF8sXG4gICAgICAgICAgaiA9IGUuaTE4bixcbiAgICAgICAgICBNID0gZihlLCBbXCJvblN1Ym1pdFwiLCBcInNpemVcIiwgXCJiaWdcIiwgXCJzbWFsbFwiLCBcImNsYXNzTmFtZVwiLCBcInBsYWNlaG9sZGVyXCIsIFwiaW5wdXROYW1lXCIsIFwibGFiZWxcIiwgXCJpbnB1dElkXCIsIFwiaTE4blwiXSk7XG4gICAgICBzICYmICgwLCBvLmRlcHJlY2F0aW9uV2FybmluZykoXCJTZWFyY2ggcHJvcGVydHkgYmlnIGlzIGRlcHJlY2F0ZWQuICBVc2Ugc2l6ZVwiKSwgcCAmJiAoMCwgby5kZXByZWNhdGlvbldhcm5pbmcpKFwiU2VhcmNoIHByb3BlcnR5IHNtYWxsIGlzIGRlcHJlY2F0ZWQuICBVc2Ugc2l6ZVwiKTtcbiAgICAgIHZhciBOID0gKG51bGwgPT0gaiA/IHZvaWQgMCA6IGouYnV0dG9uVGV4dCkgfHwgXCJTZWFyY2hcIixcbiAgICAgICAgICBFID0gciA/IFwiYmlnXCIgPT09IHIgOiBzLFxuICAgICAgICAgIFAgPSByID8gXCJzbWFsbFwiID09PSByIDogcCxcbiAgICAgICAgICB3ID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2Etc2VhcmNoXCIsIHtcbiAgICAgICAgXCJ1c2Etc2VhcmNoLS1zbWFsbFwiOiBQLFxuICAgICAgICBcInVzYS1zZWFyY2gtLWJpZ1wiOiBFXG4gICAgICB9LCBtKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChsLkZvcm0sIF9kMih7XG4gICAgICAgIG9uU3VibWl0OiB0LFxuICAgICAgICBjbGFzc05hbWU6IHcsXG4gICAgICAgIHJvbGU6IFwic2VhcmNoXCIsXG4gICAgICAgIHNlYXJjaDogITBcbiAgICAgIH0sIE0pLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudCh1LkxhYmVsLCB7XG4gICAgICAgIHNyT25seTogITAsXG4gICAgICAgIGh0bWxGb3I6IGhcbiAgICAgIH0sIGcpLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChjLlRleHRJbnB1dCwge1xuICAgICAgICBpZDogaCxcbiAgICAgICAgdHlwZTogXCJzZWFyY2hcIixcbiAgICAgICAgbmFtZTogdixcbiAgICAgICAgcGxhY2Vob2xkZXI6IHlcbiAgICAgIH0pLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChpLkJ1dHRvbiwge1xuICAgICAgICB0eXBlOiBcInN1Ym1pdFwiXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgICAgICBjbGFzc05hbWU6IFAgPyBcInVzYS1zci1vbmx5XCIgOiBcInVzYS1zZWFyY2hfX3N1Ym1pdC10ZXh0XCJcbiAgICAgIH0sIE4pKSk7XG4gICAgfTtcblxuICAgIHQuU2VhcmNoID0gcDtcbiAgICB2YXIgbSA9IHA7XG4gICAgdC5kZWZhdWx0ID0gbTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuU3VtbWFyeUJveCA9IHZvaWQgMDtcbiAgICB2YXIgYSA9IG8ocigwKSksXG4gICAgICAgIG4gPSBvKHIoMSkpO1xuXG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICByZXR1cm4gZSAmJiBlLl9fZXNNb2R1bGUgPyBlIDoge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBfaTQ0ID0gZnVuY3Rpb24gaSgpIHtcbiAgICAgIHJldHVybiAoX2k0NCA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgbCA9IGZ1bmN0aW9uIGwoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSxcbiAgICAgICAgdSA9IGZ1bmN0aW9uIHUoZSkge1xuICAgICAgdmFyIHQgPSBlLmhlYWRpbmcsXG4gICAgICAgICAgciA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbyA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIHUgPSBsKGUsIFtcImhlYWRpbmdcIiwgXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiXSksXG4gICAgICAgICAgYyA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLXN1bW1hcnktYm94XCIsIG8pO1xuICAgICAgcmV0dXJuIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIF9pNDQoe1xuICAgICAgICBjbGFzc05hbWU6IGMsXG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJzdW1tYXJ5LWJveFwiXG4gICAgICB9LCB1KSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLXN1bW1hcnktYm94X19ib2R5XCJcbiAgICAgIH0sIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaDNcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLXN1bW1hcnktYm94X19oZWFkaW5nXCJcbiAgICAgIH0sIHQpLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2Etc3VtbWFyeS1ib3hfX3RleHRcIlxuICAgICAgfSwgcikpKTtcbiAgICB9O1xuXG4gICAgdC5TdW1tYXJ5Qm94ID0gdTtcbiAgICB2YXIgYyA9IHU7XG4gICAgdC5kZWZhdWx0ID0gYztcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuZGVmYXVsdCA9IHQuUHJvY2Vzc0xpc3QgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2k0NSA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pNDUgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgciA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbyA9IGwoZSwgW1wiY2xhc3NOYW1lXCIsIFwiY2hpbGRyZW5cIl0pLFxuICAgICAgICAgIHUgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1wcm9jZXNzLWxpc3RcIiwgdCk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJvbFwiLCBfaTQ1KHtcbiAgICAgICAgY2xhc3NOYW1lOiB1XG4gICAgICB9LCBvKSwgcik7XG4gICAgfTtcblxuICAgIHQuUHJvY2Vzc0xpc3QgPSB1O1xuICAgIHZhciBjID0gdTtcbiAgICB0LmRlZmF1bHQgPSBjO1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5Qcm9jZXNzTGlzdEl0ZW0gPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2k0NiA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pNDYgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS5jbGFzc05hbWUsXG4gICAgICAgICAgciA9IGUuY2hpbGRyZW4sXG4gICAgICAgICAgbyA9IGwoZSwgW1wiY2xhc3NOYW1lXCIsIFwiY2hpbGRyZW5cIl0pLFxuICAgICAgICAgIHUgPSAoMCwgbi5kZWZhdWx0KShcInVzYS1wcm9jZXNzLWxpc3RfX2l0ZW1cIiwgdCk7XG4gICAgICByZXR1cm4gYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJsaVwiLCBfaTQ2KHtcbiAgICAgICAgY2xhc3NOYW1lOiB1XG4gICAgICB9LCBvKSwgcik7XG4gICAgfTtcblxuICAgIHQuUHJvY2Vzc0xpc3RJdGVtID0gdTtcbiAgICB2YXIgYyA9IHU7XG4gICAgdC5kZWZhdWx0ID0gYztcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQuUHJvY2Vzc0xpc3RIZWFkaW5nID0gdm9pZCAwO1xuICAgIHZhciBhID0gbyhyKDApKSxcbiAgICAgICAgbiA9IG8ocigxKSk7XG5cbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIF9pNDcgPSBmdW5jdGlvbiBpKCkge1xuICAgICAgcmV0dXJuIChfaTQ3ID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0LCByID0gMSwgYSA9IGFyZ3VtZW50cy5sZW5ndGg7IHIgPCBhOyByKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBuIGluIHQgPSBhcmd1bWVudHNbcl0pIHtcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBuKSAmJiAoZVtuXSA9IHRbbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlO1xuICAgICAgfSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgICAgICBsID0gZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgICB2YXIgciA9IHt9O1xuXG4gICAgICBmb3IgKHZhciBhIGluIGUpIHtcbiAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIGEpICYmIHQuaW5kZXhPZihhKSA8IDAgJiYgKHJbYV0gPSBlW2FdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG51bGwgIT0gZSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgdmFyIG4gPSAwO1xuXG4gICAgICAgIGZvciAoYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7IG4gPCBhLmxlbmd0aDsgbisrKSB7XG4gICAgICAgICAgdC5pbmRleE9mKGFbbl0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSwgYVtuXSkgJiYgKHJbYVtuXV0gPSBlW2Fbbl1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcjtcbiAgICB9O1xuXG4gICAgdC5Qcm9jZXNzTGlzdEhlYWRpbmcgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLnR5cGUsXG4gICAgICAgICAgciA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIG8gPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIHUgPSBsKGUsIFtcInR5cGVcIiwgXCJjbGFzc05hbWVcIiwgXCJjaGlsZHJlblwiXSksXG4gICAgICAgICAgYyA9ICgwLCBuLmRlZmF1bHQpKFwidXNhLXByb2Nlc3MtbGlzdF9faGVhZGluZ1wiLCByKSxcbiAgICAgICAgICBzID0gdDtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChzLCBfaTQ3KHtcbiAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInByb2Nlc3NMaXN0SGVhZGluZ1wiLFxuICAgICAgICBjbGFzc05hbWU6IGNcbiAgICAgIH0sIHUpLCBvKTtcbiAgICB9O1xuICB9LCBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogITBcbiAgICB9KSwgdC5kZWZhdWx0ID0gdC5TaXRlQWxlcnQgPSB2b2lkIDA7XG4gICAgdmFyIGEgPSBvKHIoMCkpLFxuICAgICAgICBuID0gbyhyKDEpKTtcblxuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgcmV0dXJuIGUgJiYgZS5fX2VzTW9kdWxlID8gZSA6IHtcbiAgICAgICAgZGVmYXVsdDogZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgX2k0OCA9IGZ1bmN0aW9uIGkoKSB7XG4gICAgICByZXR1cm4gKF9pNDggPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQsIHIgPSAxLCBhID0gYXJndW1lbnRzLmxlbmd0aDsgciA8IGE7IHIrKykge1xuICAgICAgICAgIGZvciAodmFyIG4gaW4gdCA9IGFyZ3VtZW50c1tyXSkge1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIG4pICYmIChlW25dID0gdFtuXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgICAgIGwgPSBmdW5jdGlvbiBsKGUsIHQpIHtcbiAgICAgIHZhciByID0ge307XG5cbiAgICAgIGZvciAodmFyIGEgaW4gZSkge1xuICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgYSkgJiYgdC5pbmRleE9mKGEpIDwgMCAmJiAoclthXSA9IGVbYV0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobnVsbCAhPSBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICB2YXIgbiA9IDA7XG5cbiAgICAgICAgZm9yIChhID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTsgbiA8IGEubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICB0LmluZGV4T2YoYVtuXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLCBhW25dKSAmJiAoclthW25dXSA9IGVbYVtuXV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAgICAgIHUgPSBmdW5jdGlvbiB1KGUpIHtcbiAgICAgIHZhciB0ID0gZS52YXJpYW50LFxuICAgICAgICAgIHIgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIG8gPSBlLmhlYWRpbmcsXG4gICAgICAgICAgdSA9IGUuc2hvd0ljb24sXG4gICAgICAgICAgYyA9IHZvaWQgMCA9PT0gdSB8fCB1LFxuICAgICAgICAgIHMgPSBlLnNsaW0sXG4gICAgICAgICAgZCA9IHZvaWQgMCAhPT0gcyAmJiBzLFxuICAgICAgICAgIGYgPSBlLmNsYXNzTmFtZSxcbiAgICAgICAgICBwID0gbChlLCBbXCJ2YXJpYW50XCIsIFwiY2hpbGRyZW5cIiwgXCJoZWFkaW5nXCIsIFwic2hvd0ljb25cIiwgXCJzbGltXCIsIFwiY2xhc3NOYW1lXCJdKSxcbiAgICAgICAgICBtID0gKDAsIG4uZGVmYXVsdCkoXCJ1c2Etc2l0ZS1hbGVydFwiLCB7XG4gICAgICAgIFwidXNhLXNpdGUtYWxlcnQtLWluZm9cIjogXCJpbmZvXCIgPT09IHQsXG4gICAgICAgIFwidXNhLXNpdGUtYWxlcnQtLWVtZXJnZW5jeVwiOiBcImVtZXJnZW5jeVwiID09PSB0LFxuICAgICAgICBcInVzYS1zaXRlLWFsZXJ0LS1uby1oZWFkaW5nXCI6IHZvaWQgMCA9PT0gbyAmJiAhZCxcbiAgICAgICAgXCJ1c2Etc2l0ZS1hbGVydC0tbm8taWNvblwiOiAhYyxcbiAgICAgICAgXCJ1c2Etc2l0ZS1hbGVydC0tc2xpbVwiOiBkXG4gICAgICB9LCBmKTtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInNlY3Rpb25cIiwgX2k0OCh7XG4gICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJzaXRlQWxlcnRcIixcbiAgICAgICAgY2xhc3NOYW1lOiBtLFxuICAgICAgICBcImFyaWEtbGFiZWxcIjogXCJTaXRlIGFsZXJ0XCJcbiAgICAgIH0sIHApLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYWxlcnRcIlxuICAgICAgfSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwidXNhLWFsZXJ0X19ib2R5XCJcbiAgICAgIH0sIG8gJiYgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJoM1wiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogXCJ1c2EtYWxlcnRfX2hlYWRpbmdcIlxuICAgICAgfSwgbyksIHIpKSk7XG4gICAgfTtcblxuICAgIHQuU2l0ZUFsZXJ0ID0gdTtcbiAgICB2YXIgYyA9IHU7XG4gICAgdC5kZWZhdWx0ID0gYztcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6ICEwXG4gICAgfSksIHQudXNlTW9kYWwgPSB0LmNvbm5lY3RNb2RhbCA9IHQuTW9kYWxDb250YWluZXIgPSB0Lk92ZXJsYXkgPSB0Lk1vZGFsID0gdm9pZCAwO1xuXG4gICAgdmFyIGEgPSBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgaWYgKCF0ICYmIGUgJiYgZS5fX2VzTW9kdWxlKSByZXR1cm4gZTtcbiAgICAgIGlmIChudWxsID09PSBlIHx8IFwib2JqZWN0XCIgIT0gdHlwZW9mIGUgJiYgXCJmdW5jdGlvblwiICE9IHR5cGVvZiBlKSByZXR1cm4ge1xuICAgICAgICBkZWZhdWx0OiBlXG4gICAgICB9O1xuICAgICAgdmFyIHIgPSB1KHQpO1xuICAgICAgaWYgKHIgJiYgci5oYXMoZSkpIHJldHVybiByLmdldChlKTtcbiAgICAgIHZhciBhID0ge30sXG4gICAgICAgICAgbiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4gICAgICBmb3IgKHZhciBvIGluIGUpIHtcbiAgICAgICAgaWYgKFwiZGVmYXVsdFwiICE9PSBvICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBvKSkge1xuICAgICAgICAgIHZhciBpID0gbiA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSwgbykgOiBudWxsO1xuICAgICAgICAgIGkgJiYgKGkuZ2V0IHx8IGkuc2V0KSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCBvLCBpKSA6IGFbb10gPSBlW29dO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEuZGVmYXVsdCA9IGUsIHIgJiYgci5zZXQoZSwgYSk7XG4gICAgICByZXR1cm4gYTtcbiAgICB9KHIoMCkpLFxuICAgICAgICBuID0gbChyKDEpKSxcbiAgICAgICAgbyA9IGwocigxMTIpKSxcbiAgICAgICAgaSA9IHIoMik7XG5cbiAgICBmdW5jdGlvbiBsKGUpIHtcbiAgICAgIHJldHVybiBlICYmIGUuX19lc01vZHVsZSA/IGUgOiB7XG4gICAgICAgIGRlZmF1bHQ6IGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdShlKSB7XG4gICAgICBpZiAoXCJmdW5jdGlvblwiICE9IHR5cGVvZiBXZWFrTWFwKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciB0ID0gbmV3IFdlYWtNYXAoKSxcbiAgICAgICAgICByID0gbmV3IFdlYWtNYXAoKTtcbiAgICAgIHJldHVybiAodSA9IGZ1bmN0aW9uIHUoZSkge1xuICAgICAgICByZXR1cm4gZSA/IHIgOiB0O1xuICAgICAgfSkoZSk7XG4gICAgfVxuXG4gICAgdmFyIF9jNCA9IGZ1bmN0aW9uIGMoKSB7XG4gICAgICByZXR1cm4gKF9jNCA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCwgciA9IDEsIGEgPSBhcmd1bWVudHMubGVuZ3RoOyByIDwgYTsgcisrKSB7XG4gICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW3JdKSB7XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICAgICAgcyA9IGZ1bmN0aW9uIHMoZSwgdCkge1xuICAgICAgdmFyIHIgPSB7fTtcblxuICAgICAgZm9yICh2YXIgYSBpbiBlKSB7XG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCBhKSAmJiB0LmluZGV4T2YoYSkgPCAwICYmIChyW2FdID0gZVthXSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChudWxsICE9IGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICAgIHZhciBuID0gMDtcblxuICAgICAgICBmb3IgKGEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpOyBuIDwgYS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgIHQuaW5kZXhPZihhW25dKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIGFbbl0pICYmIChyW2Fbbl1dID0gZVthW25dXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHI7XG4gICAgfTtcblxuICAgIHQuTW9kYWwgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBlLnRpdGxlLFxuICAgICAgICAgIHIgPSBlLmNoaWxkcmVuLFxuICAgICAgICAgIGwgPSBlLmFjdGlvbnMsXG4gICAgICAgICAgdSA9IGUuY2xhc3NOYW1lLFxuICAgICAgICAgIGMgPSAoMCwgbi5kZWZhdWx0KShvLmRlZmF1bHQubW9kYWwsIHUpO1xuICAgICAgcmV0dXJuICgwLCBpLmRlcHJlY2F0aW9uV2FybmluZykoXCJNb2RhbCBpcyBkZXByZWNhdGVkLiAgTW9kYWwgd2lsbCBiZSByZW1vdmVkIGZyb20gcmVhY3QtdXN3ZHMgYWxvbmdzaWRlIGFsbCBvdGhlciBNb2RhbCByZWxhdGVkIGNvbXBvbmVudHMgYW5kIGZ1bmN0aW9ucyBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlwiKSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwibW9kYWxcIixcbiAgICAgICAgY2xhc3NOYW1lOiBjXG4gICAgICB9LCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogby5kZWZhdWx0LnRpdGxlXG4gICAgICB9LCB0KSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IG8uZGVmYXVsdC5jb250ZW50XG4gICAgICB9LCByKSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IG8uZGVmYXVsdC5hY3Rpb25zXG4gICAgICB9LCBsKSk7XG4gICAgfTtcblxuICAgIHZhciBkID0gZnVuY3Rpb24gZCgpIHtcbiAgICAgIHJldHVybiBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogby5kZWZhdWx0Lm92ZXJsYXlcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICB0Lk92ZXJsYXkgPSBkO1xuXG4gICAgdmFyIGYgPSBmdW5jdGlvbiBmKGUpIHtcbiAgICAgIHZhciB0ID0gZS5jaGlsZHJlbjtcbiAgICAgIHJldHVybiAoMCwgaS5kZXByZWNhdGlvbldhcm5pbmcpKFwiTW9kYWwgaXMgZGVwcmVjYXRlZC4gTW9kYWxDb250YWluZXIgd2lsbCBiZSByZW1vdmVkIGZyb20gcmVhY3QtdXN3ZHMgYWxvbmdzaWRlIGFsbCBvdGhlciBNb2RhbCByZWxhdGVkIGNvbXBvbmVudHMgYW5kIGZ1bmN0aW9ucyBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlwiKSwgYS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgICAgICBjbGFzc05hbWU6IG8uZGVmYXVsdC5tb2RhbENvbnRhaW5lclxuICAgICAgfSwgdCk7XG4gICAgfTtcblxuICAgIHQuTW9kYWxDb250YWluZXIgPSBmO1xuXG4gICAgdC5jb25uZWN0TW9kYWwgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIHZhciByID0gdC5pc09wZW4sXG4gICAgICAgICAgICBuID0gcyh0LCBbXCJpc09wZW5cIl0pO1xuICAgICAgICByZXR1cm4gKDAsIGkuZGVwcmVjYXRpb25XYXJuaW5nKShcIk1vZGFsIGlzIGRlcHJlY2F0ZWQuICdjb25uZWN0TW9kYWwnIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHJlYWN0LXVzd2RzIGFsb25nc2lkZSBhbGwgb3RoZXIgTW9kYWwgcmVsYXRlZCBjb21wb25lbnRzIGFuZCBmdW5jdGlvbnMgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cIiksIHIgPyBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChhLmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsIGEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KGQsIG51bGwpLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChmLCBudWxsLCBhLmRlZmF1bHQuY3JlYXRlRWxlbWVudChlLCBfYzQoe30sIG4pKSkpIDogbnVsbDtcbiAgICAgIH07XG4gICAgfTtcblxuICAgIHQudXNlTW9kYWwgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAoMCwgaS5kZXByZWNhdGlvbldhcm5pbmcpKFwiTW9kYWwgaXMgZGVwcmVjYXRlZC4gVGhlIHVzZU1vZGFsIGhvb2sgd2lsbCBiZSByZW1vdmVkIGZyb20gcmVhY3QtdXN3ZHMgYWxvbmdzaWRlIGFsbCBvdGhlciBNb2RhbCByZWxhdGVkIGNvbXBvbmVudHMgYW5kIGZ1bmN0aW9ucyBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlwiKTtcbiAgICAgIHZhciBlID0gKDAsIGEudXNlU3RhdGUpKCExKSxcbiAgICAgICAgICB0ID0gZVswXSxcbiAgICAgICAgICByID0gZVsxXTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlzT3BlbjogdCxcbiAgICAgICAgb3Blbk1vZGFsOiBmdW5jdGlvbiBvcGVuTW9kYWwoKSB7XG4gICAgICAgICAgcighMCk7XG4gICAgICAgIH0sXG4gICAgICAgIGNsb3NlTW9kYWw6IGZ1bmN0aW9uIGNsb3NlTW9kYWwoKSB7XG4gICAgICAgICAgcighMSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfTtcbiAgfSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIHIucih0KSwgdC5kZWZhdWx0ID0ge1xuICAgICAgdGl0bGU6IFwic3JjLWNvbXBvbmVudHMtTW9kYWwtTW9kYWwtbW9kdWxlX190aXRsZS0tM1lISERcIixcbiAgICAgIGFjdGlvbnM6IFwic3JjLWNvbXBvbmVudHMtTW9kYWwtTW9kYWwtbW9kdWxlX19hY3Rpb25zLS0yVXI5TlwiLFxuICAgICAgY29udGVudDogXCJzcmMtY29tcG9uZW50cy1Nb2RhbC1Nb2RhbC1tb2R1bGVfX2NvbnRlbnQtLTMtNF9ZXCIsXG4gICAgICBtb2RhbDogXCJzcmMtY29tcG9uZW50cy1Nb2RhbC1Nb2RhbC1tb2R1bGVfX21vZGFsLS0xdXN6c1wiLFxuICAgICAgb3ZlcmxheTogXCJzcmMtY29tcG9uZW50cy1Nb2RhbC1Nb2RhbC1tb2R1bGVfX292ZXJsYXktLVdTc3lPXCIsXG4gICAgICBtb2RhbENvbnRhaW5lcjogXCJzcmMtY29tcG9uZW50cy1Nb2RhbC1Nb2RhbC1tb2R1bGVfX21vZGFsQ29udGFpbmVyLS0yWnY5T1wiXG4gICAgfTtcbiAgfV0pO1xufSk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///2593\n')}}]); \ No newline at end of file diff --git a/404.html b/404.html new file mode 100644 index 00000000..0c309804 --- /dev/null +++ b/404.html @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/404/index.html b/404/index.html new file mode 100644 index 00000000..b5b4a37a --- /dev/null +++ b/404/index.html @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index c7f26038..00000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,13 +0,0 @@ -# Contributor Code of Conduct - -As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. - -We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion. - -Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers at justice40open@usds.gov. - -This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 8b12b239..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,48 +0,0 @@ -# Contributing to the Justice40 Tool - -🎉 First off, thanks for taking the time to contribute! 🎉 - -The following is a set of guidelines for contributing to the Justice40 Tool that lives in this repository. - -Before contributing, we encourage you to also read our [LICENSE](https://github.com/usds/justice40-tool/blob/main/LICENSE) and [README](https://github.com/usds/justice40-tool/blob/main/README) files, also found in this repository. If you have any questions not answered by the content of this repository, please don't hesitate to [contact us](mailto:justice40open@usds.gov). - -## Public Domain - -This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). - -All contributions to this project will be released under the CC0 dedication. By submitting a pull request you are agreeing to comply with this waiver of copyright interest. - -## How Can I Contribute? - -### Report a bug - -If you think you have found a bug in the Justice40 tool, search our issues list on GitHub in case a similar issue has already been opened. - -When reporting the bug, please follow these guidelines: - -- **Please use the `Bug Report` issue template** ([here](https://github.com/usds/justice40-tool/issues/new/choose)). This is populated with the right information -- **Use a clear and descriptive issue title** for the issue to identify the problem. -- **Describe the exact steps which reproduce the problem** in as many details as possible. For example, start by explaining how you got to the page where you encountered the bug. -- **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior. -- **Explain which behavior you expected to see instead and why.** -- **Include screenshots and animated GIFs** if possible, which show you following the described steps and clearly demonstrate the problem. -- **If the problem wasn't triggered by a specific action**, describe what you were doing before the problem happened. - -### Suggest an enhancement - -If you don't have specific language or code to submit but would like to suggest a change, request a feature, -or have something addressed, you can open an issue in this repository. - -Please open an issue of type "Feature request" [here](https://github.com/usds/justice40-tool/issues/new/choose). - -In the issue, please describe the feature you would like to see, why you need it, and how it should work. Team members will respond to the issue as soon as possible. - -### Submit a pull request - -If you would like to contribute, please submit a pull request. In order for us to merge a pull request, the following checks are enabled within this repo: - -- Merges to `main` are prohibited - please open a pull request from a branch -- At least one required reviewer must approve the commit (see [CODEOWNERS](https://github.com/usds/justice40-tool/tree/main/.github/CODEOWNERS) for the most up-to-date list of these members) -- All required status checks must pass - -If there is significant dissent within the team, a meeting will be held to discuss a plan of action for the pull request. diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 1d94419c..00000000 --- a/LICENSE.md +++ /dev/null @@ -1,25 +0,0 @@ -## This project is in the worldwide public domain - -As a work of the United States government, this project is in the public domain within the United States. - -Additionally, we waive copyright and related rights in the work worldwide through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). - -### CC0 1.0 Universal Summary - -This is a human-readable summary of the [Legal Code (read the full text)](https://creativecommons.org/publicdomain/zero/1.0/legalcode). - -#### No Copyright - -The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his, her, or their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. - -You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. - -#### Other Information - -In no way are the patent or trademark rights of any person affected by CC0, nor are the rights that other persons may have in the work or in how the work is used, such as publicity or privacy rights. - -Unless expressly stated otherwise, the person who associated a work with this deed makes no warranties about the work, and disclaims liability for all uses of the work, to the fullest extent permitted by applicable law. When using or citing the work, you should not imply endorsement by the author or the affirmer. - -### Contributions to this project - -As stated in [CONTRIBUTING](CONTRIBUTING.md), all contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest. diff --git a/README.md b/README.md deleted file mode 100644 index 1ba0e8bb..00000000 --- a/README.md +++ /dev/null @@ -1,17 +0,0 @@ - -# Justice40 Tool -[![CC0 License](https://img.shields.io/badge/license-CCO--1.0-brightgreen)](https://github.com/usds/justice40-tool/blob/main/LICENSE) - -This repo contains the code for the working prototype and soon to be MVP of the Justice40 Climate, Environmental, and Economic Justice Screeing Tool. The Justice40 initiative and screening tool were announced in an [Executive Order](https://www.whitehouse.gov/briefing-room/presidential-actions/2021/01/27/executive-order-on-tackling-the-climate-crisis-at-home-and-abroad/) in January 2021, with the goal to launch an MVP of the tool by July 27, 2021. This tool will include interactive maps and an initial draft scorecard by which federal agencies can identify historically overburdened and underserved communities for benefits in their programs. - -The Justice40 team is taking a community-first and open source approach to the product development of this tool. We encourage contributions in the form of discussion on issues in this repo and pull requests of documentation and code. Please see the [Contributing](#Contributing) section for more information. - -## Contributing - -Contributions are always welcome! - -See `CONTRIBUTING.md` for ways to get started. - -## Feedback - -If you have any feedback or questions, please reach out to us at justice40open@usds.gov. diff --git a/app-404d7df65849d4125f83.js b/app-404d7df65849d4125f83.js new file mode 100644 index 00000000..2908ec3b --- /dev/null +++ b/app-404d7df65849d4125f83.js @@ -0,0 +1 @@ +(self.webpackChunkjustice40_tool=self.webpackChunkjustice40_tool||[]).push([[143],{1506:function(module){eval("function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports.default = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2Fzc2VydFRoaXNJbml0aWFsaXplZC5qcz8zYzk2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxzQkFBeUIsbUJBQW1CLHlCQUF5QiIsImZpbGUiOiIxNTA2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7XG4gIGlmIChzZWxmID09PSB2b2lkIDApIHtcbiAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7XG4gIH1cblxuICByZXR1cm4gc2VsZjtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfYXNzZXJ0VGhpc0luaXRpYWxpemVkO1xubW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1506\n")},1788:function(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Z": function() { return /* binding */ _inheritsLoose; }\n/* harmony export */ });\n/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4665);\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z)(subClass, superClass);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pbmhlcml0c0xvb3NlLmpzPzc0OGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFpRDtBQUNsQztBQUNmO0FBQ0E7QUFDQSxFQUFFLG9FQUFjO0FBQ2hCIiwiZmlsZSI6IjE3ODguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2V0UHJvdG90eXBlT2YgZnJvbSBcIi4vc2V0UHJvdG90eXBlT2YuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7XG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpO1xuICBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzcztcbiAgc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1788\n')},4665:function(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Z": function() { return /* binding */ _setPrototypeOf; }\n/* harmony export */ });\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zZXRQcm90b3R5cGVPZi5qcz9iMzgwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsImZpbGUiOiI0NjY1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHtcbiAgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7XG4gICAgby5fX3Byb3RvX18gPSBwO1xuICAgIHJldHVybiBvO1xuICB9O1xuXG4gIHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///4665\n')},18:function(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n "Z": function() { return /* binding */ _toConsumableArray; }\n});\n\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);\n}\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === "string") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === "Object" && o.constructor) n = o.constructor.name;\n if (n === "Map" || n === "Set") return Array.from(o);\n if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\nfunction _nonIterableSpread() {\n throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");\n}\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\n\n\n\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheUxpa2VUb0FycmF5LmpzPzZiNzUiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlXaXRob3V0SG9sZXMuanM/NjAwNSIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pdGVyYWJsZVRvQXJyYXkuanM/ZGI5MCIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheS5qcz8wNmM1Iiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL25vbkl0ZXJhYmxlU3ByZWFkLmpzPzM0MjciLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkuanM/MjkwOSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQWU7QUFDZjs7QUFFQSx3Q0FBd0MsU0FBUztBQUNqRDtBQUNBOztBQUVBO0FBQ0EsQzs7QUNScUQ7QUFDdEM7QUFDZixpQ0FBaUMsaUJBQWdCO0FBQ2pELEM7O0FDSGU7QUFDZjtBQUNBLEM7O0FDRnFEO0FBQ3RDO0FBQ2Y7QUFDQSxvQ0FBb0MsaUJBQWdCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLHNGQUFzRixpQkFBZ0I7QUFDdEcsQzs7QUNSZTtBQUNmO0FBQ0EsQzs7QUNGdUQ7QUFDSjtBQUNzQjtBQUNsQjtBQUN4QztBQUNmLFNBQVMsa0JBQWlCLFNBQVMsZ0JBQWUsU0FBUywyQkFBMEIsU0FBUyxrQkFBaUI7QUFDL0ciLCJmaWxlIjoiMTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHtcbiAgICBhcnIyW2ldID0gYXJyW2ldO1xuICB9XG5cbiAgcmV0dXJuIGFycjI7XG59IiwiaW1wb3J0IGFycmF5TGlrZVRvQXJyYXkgZnJvbSBcIi4vYXJyYXlMaWtlVG9BcnJheS5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShhcnIpO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikge1xuICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBpdGVyW1N5bWJvbC5pdGVyYXRvcl0gIT0gbnVsbCB8fCBpdGVyW1wiQEBpdGVyYXRvclwiXSAhPSBudWxsKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbn0iLCJpbXBvcnQgYXJyYXlMaWtlVG9BcnJheSBmcm9tIFwiLi9hcnJheUxpa2VUb0FycmF5LmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobywgbWluTGVuKSB7XG4gIGlmICghbykgcmV0dXJuO1xuICBpZiAodHlwZW9mIG8gPT09IFwic3RyaW5nXCIpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59IiwiaW1wb3J0IGFycmF5V2l0aG91dEhvbGVzIGZyb20gXCIuL2FycmF5V2l0aG91dEhvbGVzLmpzXCI7XG5pbXBvcnQgaXRlcmFibGVUb0FycmF5IGZyb20gXCIuL2l0ZXJhYmxlVG9BcnJheS5qc1wiO1xuaW1wb3J0IHVuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IGZyb20gXCIuL3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5LmpzXCI7XG5pbXBvcnQgbm9uSXRlcmFibGVTcHJlYWQgZnJvbSBcIi4vbm9uSXRlcmFibGVTcHJlYWQuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF90b0NvbnN1bWFibGVBcnJheShhcnIpIHtcbiAgcmV0dXJuIGFycmF5V2l0aG91dEhvbGVzKGFycikgfHwgaXRlcmFibGVUb0FycmF5KGFycikgfHwgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCBub25JdGVyYWJsZVNwcmVhZCgpO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///18\n')},7154:function(module){eval("function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n module.exports.default = module.exports, module.exports.__esModule = true;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\nmodule.exports.default = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHMuanM/YTU1OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsbUJBQW1CLHNCQUFzQjtBQUN6Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxFQUFFLHNCQUF5QixtQkFBbUIseUJBQXlCO0FBQ3ZFO0FBQ0E7O0FBRUE7QUFDQSxzQkFBeUIsbUJBQW1CLHlCQUF5QiIsImZpbGUiOiI3MTU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2V4dGVuZHMoKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xuXG4gIG1vZHVsZS5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IG1vZHVsZS5leHBvcnRzLCBtb2R1bGUuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbiAgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2V4dGVuZHM7XG5tb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cywgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7154\n")},5354:function(module,__unused_webpack_exports,__webpack_require__){eval("var setPrototypeOf = __webpack_require__(9489);\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose;\nmodule.exports.default = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzTG9vc2UuanM/NTViNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQkFBcUIsbUJBQU8sQ0FBQyxJQUFxQjs7QUFFbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNCQUF5QixtQkFBbUIseUJBQXlCIiwiZmlsZSI6IjUzNTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgc2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKFwiLi9zZXRQcm90b3R5cGVPZi5qc1wiKTtcblxuZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHtcbiAgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7XG4gIHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzO1xuICBzZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2luaGVyaXRzTG9vc2U7XG5tb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cywgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///5354\n")},5318:function(module){eval('function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n "default": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports.default = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdC5qcz80ZWE0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxzQkFBeUIsbUJBQW1CLHlCQUF5QiIsImZpbGUiOiI1MzE4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHtcbiAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICBcImRlZmF1bHRcIjogb2JqXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdDtcbm1vZHVsZS5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IG1vZHVsZS5leHBvcnRzLCBtb2R1bGUuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5318\n')},7316:function(module){eval("function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports.default = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UuanM/ZjBlNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGFBQWEsdUJBQXVCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxzQkFBeUIsbUJBQW1CLHlCQUF5QiIsImZpbGUiOiI3MzE2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uoc291cmNlLCBleGNsdWRlZCkge1xuICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgdmFyIHRhcmdldCA9IHt9O1xuICB2YXIgc291cmNlS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG4gIHZhciBrZXksIGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBzb3VyY2VLZXlzW2ldO1xuICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2U7XG5tb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cywgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7316\n")},9489:function(module){eval("function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports.default = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports.default = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3NldFByb3RvdHlwZU9mLmpzPzRhNGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxFQUFFLHNCQUF5QixtQkFBbUIseUJBQXlCO0FBQ3ZFO0FBQ0E7O0FBRUE7QUFDQSxzQkFBeUIsbUJBQW1CLHlCQUF5QiIsImZpbGUiOiI5NDg5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHtcbiAgICBvLl9fcHJvdG9fXyA9IHA7XG4gICAgcmV0dXJuIG87XG4gIH07XG5cbiAgbW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuICByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9zZXRQcm90b3R5cGVPZjtcbm1vZHVsZS5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IG1vZHVsZS5leHBvcnRzLCBtb2R1bGUuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///9489\n")},8:function(module){eval('function _typeof(obj) {\n "@babel/helpers - typeof";\n\n if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports.default = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;\n };\n\n module.exports.default = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports.default = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3R5cGVvZi5qcz83MDM3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSSxzQkFBeUIsbUJBQW1CLHlCQUF5QjtBQUN6RSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBLElBQUksc0JBQXlCLG1CQUFtQix5QkFBeUI7QUFDekU7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHNCQUF5QixtQkFBbUIseUJBQXlCIiwiZmlsZSI6IjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7XG5cbiAgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHtcbiAgICAgIHJldHVybiB0eXBlb2Ygb2JqO1xuICAgIH07XG5cbiAgICBtb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cywgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHtcbiAgICAgIHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqO1xuICAgIH07XG5cbiAgICBtb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cywgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gX3R5cGVvZihvYmopO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF90eXBlb2Y7XG5tb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cywgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///8\n')},7625:function(I,g,n){var C={"./en":4574,"./en.js":4574,"./es":3745,"./es.js":3745,"./ses":6867,"./ses.js":6867};function c(I){var g=B(I);return n(g)}function B(I){if(!n.o(C,I)){var g=new Error("Cannot find module '"+I+"'");throw g.code="MODULE_NOT_FOUND",g}return C[I]}c.keys=function(){return Object.keys(C)},c.resolve=B,I.exports=c,c.id=7625},7991:function(I){"use strict";I.exports=JSON.parse('{"data":{"en-001":{"year-short":{"0":"this yr","1":"next yr","future":{"one":"in {0} yr","other":"in {0} yr"},"past":{"one":"{0} yr ago","other":"{0} yr ago"},"-1":"last yr"},"year-narrow":{"0":"this yr","1":"next yr","future":{"one":"in {0} yr","other":"in {0} yr"},"past":{"one":"{0} yr ago","other":"{0} yr ago"},"-1":"last yr"},"quarter-short":{"0":"this qtr.","1":"next qtr.","future":{"one":"in {0} qtr","other":"in {0} qtr"},"past":{"one":"{0} qtr ago","other":"{0} qtr ago"},"-1":"last qtr."},"quarter-narrow":{"0":"this qtr.","1":"next qtr.","future":{"one":"in {0} qtr","other":"in {0} qtr"},"past":{"one":"{0} qtr ago","other":"{0} qtr ago"},"-1":"last qtr."},"month-short":{"0":"this mo","1":"next mo","future":{"one":"in {0} mo","other":"in {0} mo"},"past":{"one":"{0} mo ago","other":"{0} mo ago"},"-1":"last mo"},"month-narrow":{"0":"this mo","1":"next mo","future":{"one":"in {0} mo","other":"in {0} mo"},"past":{"one":"{0} mo ago","other":"{0} mo ago"},"-1":"last mo"},"week-short":{"0":"this wk","1":"next wk","future":{"one":"in {0} wk","other":"in {0} wk"},"past":{"one":"{0} wk ago","other":"{0} wk ago"},"-1":"last wk"},"week-narrow":{"0":"this wk","1":"next wk","future":{"one":"in {0} wk","other":"in {0} wk"},"past":{"one":"{0} wk ago","other":"{0} wk ago"},"-1":"last wk"},"hour-short":{"0":"this hour","future":{"one":"in {0} hr","other":"in {0} hr"},"past":{"one":"{0} hr ago","other":"{0} hr ago"}},"hour-narrow":{"0":"this hour","future":{"one":"in {0} hr","other":"in {0} hr"},"past":{"one":"{0} hr ago","other":"{0} hr ago"}},"minute-short":{"0":"this minute","future":{"one":"in {0} min","other":"in {0} min"},"past":{"one":"{0} min ago","other":"{0} min ago"}},"minute-narrow":{"0":"this minute","future":{"one":"in {0} min","other":"in {0} min"},"past":{"one":"{0} min ago","other":"{0} min ago"}},"second-short":{"0":"now","future":{"one":"in {0} sec","other":"in {0} sec"},"past":{"one":"{0} sec ago","other":"{0} sec ago"}},"second-narrow":{"0":"now","future":{"one":"in {0} sec","other":"in {0} sec"},"past":{"one":"{0} sec ago","other":"{0} sec ago"}}},"en-150":{"year-short":{"0":"this yr","1":"next yr","future":{"one":"in {0} yr","other":"in {0} yr"},"past":{"one":"{0} yr ago","other":"{0} yr ago"},"-1":"last yr"},"year-narrow":{"0":"this yr","1":"next yr","future":{"one":"in {0} yr","other":"in {0} yr"},"past":{"one":"{0} yr ago","other":"{0} yr ago"},"-1":"last yr"},"quarter-short":{"0":"this qtr.","1":"next qtr.","future":{"one":"in {0} qtr","other":"in {0} qtr"},"past":{"one":"{0} qtr ago","other":"{0} qtr ago"},"-1":"last qtr."},"quarter-narrow":{"0":"this qtr.","1":"next qtr.","future":{"one":"in {0} qtr","other":"in {0} qtr"},"past":{"one":"{0} qtr ago","other":"{0} qtr ago"},"-1":"last qtr."},"month-short":{"0":"this mo","1":"next mo","future":{"one":"in {0} mo","other":"in {0} mo"},"past":{"one":"{0} mo ago","other":"{0} mo ago"},"-1":"last mo"},"month-narrow":{"0":"this mo","1":"next mo","future":{"one":"in {0} mo","other":"in {0} mo"},"past":{"one":"{0} mo ago","other":"{0} mo ago"},"-1":"last mo"},"week-short":{"0":"this wk","1":"next wk","future":{"one":"in {0} wk","other":"in {0} wk"},"past":{"one":"{0} wk ago","other":"{0} wk ago"},"-1":"last wk"},"week-narrow":{"0":"this wk","1":"next wk","future":{"one":"in {0} wk","other":"in {0} wk"},"past":{"one":"{0} wk ago","other":"{0} wk ago"},"-1":"last wk"},"hour-short":{"0":"this hour","future":{"one":"in {0} hr","other":"in {0} hr"},"past":{"one":"{0} hr ago","other":"{0} hr ago"}},"hour-narrow":{"0":"this hour","future":{"one":"in {0} hr","other":"in {0} hr"},"past":{"one":"{0} hr ago","other":"{0} hr ago"}},"minute-short":{"0":"this minute","future":{"one":"in {0} min","other":"in {0} min"},"past":{"one":"{0} min ago","other":"{0} min ago"}},"minute-narrow":{"0":"this minute","future":{"one":"in {0} min","other":"in {0} min"},"past":{"one":"{0} min ago","other":"{0} min ago"}},"second-short":{"0":"now","future":{"one":"in {0} sec","other":"in {0} sec"},"past":{"one":"{0} sec ago","other":"{0} sec ago"}},"second-narrow":{"0":"now","future":{"one":"in {0} sec","other":"in {0} sec"},"past":{"one":"{0} sec ago","other":"{0} sec ago"}}},"en-AU":{"year-short":{"0":"this yr","1":"next yr","future":{"one":"in {0} yr","other":"in {0} yrs"},"past":{"one":"{0} yr ago","other":"{0} yrs ago"},"-1":"last yr"},"year-narrow":{"0":"this yr","1":"next yr","future":{"one":"in {0} yr","other":"in {0} yrs"},"past":{"one":"{0} yr ago","other":"{0} yrs ago"},"-1":"last yr"},"quarter-short":{"0":"this qtr.","1":"next qtr.","future":{"one":"in {0} qtr","other":"in {0} qtrs"},"past":{"one":"{0} qtr ago","other":"{0} qtrs ago"},"-1":"last qtr."},"quarter-narrow":{"0":"this qtr.","1":"next qtr.","future":{"one":"in {0} qtr","other":"in {0} qtrs"},"past":{"one":"in {0} qtr ago","other":"{0} qtrs ago"},"-1":"last qtr."},"month-short":{"0":"this mo","1":"next mo","future":{"one":"in {0} mo.","other":"in {0} mo."},"past":{"one":"{0} mo. ago","other":"{0} mo. ago"},"-1":"last mo"},"month-narrow":{"0":"this mo","1":"next mo","future":{"one":"in {0} mo.","other":"in {0} mo."},"past":{"one":"{0} mo. ago","other":"{0} mo. ago"},"-1":"last mo"},"week-short":{"0":"this wk","1":"next wk","future":{"one":"in {0} wk","other":"in {0} wks"},"past":{"one":"{0} wk ago","other":"{0} wks ago"},"-1":"last wk"},"week-narrow":{"0":"this wk","1":"next wk","future":{"one":"in {0} wk","other":"in {0} wks"},"past":{"one":"{0} wk ago","other":"{0} wks ago"},"-1":"last wk"},"hour-short":{"0":"this hour","future":{"one":"in {0} hr","other":"in {0} hrs"},"past":{"one":"{0} hr ago","other":"{0} hrs ago"}},"hour-narrow":{"0":"this hour","future":{"one":"in {0} hr","other":"in {0} hrs"},"past":{"one":"{0} hr ago","other":"{0} hrs ago"}},"minute-short":{"0":"this minute","future":{"one":"in {0} min.","other":"in {0} mins"},"past":{"one":"{0} min. ago","other":"{0} mins ago"}},"minute-narrow":{"0":"this minute","future":{"one":"in {0} min.","other":"in {0} mins"},"past":{"one":"{0} min. ago","other":"{0} mins ago"}},"second-short":{"0":"now","future":{"one":"in {0} sec.","other":"in {0} secs"},"past":{"one":"{0} sec. ago","other":"{0} secs ago"}},"second-narrow":{"0":"now","future":{"one":"in {0} sec.","other":"in {0} secs"},"past":{"one":"{0} sec. ago","other":"{0} secs ago"}}},"en-CA":{"year-short":{"0":"this yr","1":"next yr","future":{"one":"in {0} yr.","other":"in {0} yrs."},"past":{"one":"{0} yr. ago","other":"{0} yrs. ago"},"-1":"last yr"},"year-narrow":{"0":"this yr","1":"next yr","future":{"one":"in {0} yr.","other":"in {0} yrs."},"past":{"one":"{0} yr. ago","other":"{0} yrs. ago"},"-1":"last yr"},"quarter-short":{"0":"this qtr.","1":"next qtr.","future":{"one":"in {0} qtr.","other":"in {0} qtrs."},"past":{"one":"{0} qtr. ago","other":"{0} qtrs. ago"},"-1":"last qtr."},"quarter-narrow":{"0":"this qtr.","1":"next qtr.","future":{"one":"in {0} qtr.","other":"in {0} qtrs."},"past":{"one":"{0} qtr. ago","other":"{0} qtrs. ago"},"-1":"last qtr."},"month-short":{"0":"this mo","1":"next mo","future":{"one":"in {0} mo.","other":"in {0} mos."},"past":{"one":"{0} mo. ago","other":"{0} mos. ago"},"-1":"last mo"},"month-narrow":{"0":"this mo","1":"next mo","future":{"one":"in {0} mo.","other":"in {0} mos."},"past":{"one":"{0} mo. ago","other":"{0} mos. ago"},"-1":"last mo"},"week-short":{"0":"this wk","1":"next wk","future":{"one":"in {0} wk.","other":"in {0} wks."},"past":{"one":"{0} wk. ago","other":"{0} wks. ago"},"-1":"last wk"},"week-narrow":{"0":"this wk","1":"next wk","future":{"one":"in {0} wk.","other":"in {0} wks."},"past":{"one":"{0} wk. ago","other":"{0} wks. ago"},"-1":"last wk"},"hour-short":{"0":"this hour","future":{"one":"in {0} hr.","other":"in {0} hrs."},"past":{"one":"{0} hr. ago","other":"{0} hrs. ago"}},"hour-narrow":{"0":"this hour","future":{"one":"in {0} hr.","other":"in {0} hrs."},"past":{"one":"{0} hr. ago","other":"{0} hrs. ago"}},"minute-short":{"0":"this minute","future":{"one":"in {0} min.","other":"in {0} mins."},"past":{"one":"{0} min. ago","other":"{0} mins. ago"}},"minute-narrow":{"0":"this minute","future":{"one":"in {0} min.","other":"in {0} mins."},"past":{"one":"{0} min. ago","other":"{0} mins. ago"}},"second-short":{"0":"now","future":{"one":"in {0} sec.","other":"in {0} secs."},"past":{"one":"{0} sec. ago","other":"{0} secs. ago"}},"second-narrow":{"0":"now","future":{"one":"in {0} sec.","other":"in {0} secs."},"past":{"one":"{0} sec. ago","other":"{0} secs. ago"}}},"en-SG":{"quarter-short":{"0":"this qtr","1":"next qtr","future":{"one":"in {0} qtr","other":"in {0} qtrs"},"past":{"one":"{0} qtr ago","other":"{0} qtrs ago"},"-1":"last qtr"},"quarter-narrow":{"0":"this qtr","1":"next qtr","future":{"one":"in {0} qtr","other":"in {0} qtr"},"past":{"one":"{0} qtr ago","other":"{0} qtr ago"},"-1":"last qtr"},"month-short":{"0":"this mth","1":"next mth","future":{"one":"in {0} mth","other":"in {0} mth"},"past":{"one":"{0} mth ago","other":"{0} mth ago"},"-1":"last mth"}},"en":{"nu":["latn"],"year":{"0":"this year","1":"next year","future":{"one":"in {0} year","other":"in {0} years"},"past":{"one":"{0} year ago","other":"{0} years ago"},"-1":"last year"},"year-short":{"0":"this yr.","1":"next yr.","future":{"one":"in {0} yr.","other":"in {0} yr."},"past":{"one":"{0} yr. ago","other":"{0} yr. ago"},"-1":"last yr."},"year-narrow":{"0":"this yr.","1":"next yr.","future":{"one":"in {0} yr.","other":"in {0} yr."},"past":{"one":"{0} yr. ago","other":"{0} yr. ago"},"-1":"last yr."},"quarter":{"0":"this quarter","1":"next quarter","future":{"one":"in {0} quarter","other":"in {0} quarters"},"past":{"one":"{0} quarter ago","other":"{0} quarters ago"},"-1":"last quarter"},"quarter-short":{"0":"this qtr.","1":"next qtr.","future":{"one":"in {0} qtr.","other":"in {0} qtrs."},"past":{"one":"{0} qtr. ago","other":"{0} qtrs. ago"},"-1":"last qtr."},"quarter-narrow":{"0":"this qtr.","1":"next qtr.","future":{"one":"in {0} qtr.","other":"in {0} qtrs."},"past":{"one":"{0} qtr. ago","other":"{0} qtrs. ago"},"-1":"last qtr."},"month":{"0":"this month","1":"next month","future":{"one":"in {0} month","other":"in {0} months"},"past":{"one":"{0} month ago","other":"{0} months ago"},"-1":"last month"},"month-short":{"0":"this mo.","1":"next mo.","future":{"one":"in {0} mo.","other":"in {0} mo."},"past":{"one":"{0} mo. ago","other":"{0} mo. ago"},"-1":"last mo."},"month-narrow":{"0":"this mo.","1":"next mo.","future":{"one":"in {0} mo.","other":"in {0} mo."},"past":{"one":"{0} mo. ago","other":"{0} mo. ago"},"-1":"last mo."},"week":{"0":"this week","1":"next week","future":{"one":"in {0} week","other":"in {0} weeks"},"past":{"one":"{0} week ago","other":"{0} weeks ago"},"-1":"last week"},"week-short":{"0":"this wk.","1":"next wk.","future":{"one":"in {0} wk.","other":"in {0} wk."},"past":{"one":"{0} wk. ago","other":"{0} wk. ago"},"-1":"last wk."},"week-narrow":{"0":"this wk.","1":"next wk.","future":{"one":"in {0} wk.","other":"in {0} wk."},"past":{"one":"{0} wk. ago","other":"{0} wk. ago"},"-1":"last wk."},"day":{"0":"today","1":"tomorrow","future":{"one":"in {0} day","other":"in {0} days"},"past":{"one":"{0} day ago","other":"{0} days ago"},"-1":"yesterday"},"day-short":{"0":"today","1":"tomorrow","future":{"one":"in {0} day","other":"in {0} days"},"past":{"one":"{0} day ago","other":"{0} days ago"},"-1":"yesterday"},"day-narrow":{"0":"today","1":"tomorrow","future":{"one":"in {0} day","other":"in {0} days"},"past":{"one":"{0} day ago","other":"{0} days ago"},"-1":"yesterday"},"hour":{"0":"this hour","future":{"one":"in {0} hour","other":"in {0} hours"},"past":{"one":"{0} hour ago","other":"{0} hours ago"}},"hour-short":{"0":"this hour","future":{"one":"in {0} hr.","other":"in {0} hr."},"past":{"one":"{0} hr. ago","other":"{0} hr. ago"}},"hour-narrow":{"0":"this hour","future":{"one":"in {0} hr.","other":"in {0} hr."},"past":{"one":"{0} hr. ago","other":"{0} hr. ago"}},"minute":{"0":"this minute","future":{"one":"in {0} minute","other":"in {0} minutes"},"past":{"one":"{0} minute ago","other":"{0} minutes ago"}},"minute-short":{"0":"this minute","future":{"one":"in {0} min.","other":"in {0} min."},"past":{"one":"{0} min. ago","other":"{0} min. ago"}},"minute-narrow":{"0":"this minute","future":{"one":"in {0} min.","other":"in {0} min."},"past":{"one":"{0} min. ago","other":"{0} min. ago"}},"second":{"0":"now","future":{"one":"in {0} second","other":"in {0} seconds"},"past":{"one":"{0} second ago","other":"{0} seconds ago"}},"second-short":{"0":"now","future":{"one":"in {0} sec.","other":"in {0} sec."},"past":{"one":"{0} sec. ago","other":"{0} sec. ago"}},"second-narrow":{"0":"now","future":{"one":"in {0} sec.","other":"in {0} sec."},"past":{"one":"{0} sec. ago","other":"{0} sec. ago"}}}},"availableLocales":["en-001","en-150","en-AE","en-AG","en-AI","en-AS","en-AT","en-AU","en-BB","en-BE","en-BI","en-BM","en-BS","en-BW","en-BZ","en-CA","en-CC","en-CH","en-CK","en-CM","en-CX","en-CY","en-DE","en-DG","en-DK","en-DM","en-ER","en-FI","en-FJ","en-FK","en-FM","en-GB","en-GD","en-GG","en-GH","en-GI","en-GM","en-GU","en-GY","en-HK","en-IE","en-IL","en-IM","en-IN","en-IO","en-JE","en-JM","en-KE","en-KI","en-KN","en-KY","en-LC","en-LR","en-LS","en-MG","en-MH","en-MO","en-MP","en-MS","en-MT","en-MU","en-MW","en-MY","en-NA","en-NF","en-NG","en-NL","en-NR","en-NU","en-NZ","en-PG","en-PH","en-PK","en-PN","en-PR","en-PW","en-RW","en-SB","en-SC","en-SD","en-SE","en-SG","en-SH","en-SI","en-SL","en-SS","en-SX","en-SZ","en-TC","en-TK","en-TO","en-TT","en-TV","en-TZ","en-UG","en-UM","en-US-POSIX","en-US","en-VC","en-VG","en-VI","en-VU","en-WS","en-ZA","en-ZM","en-ZW","en"],"aliases":{},"parentLocales":{"en-150":"en-001","en-AG":"en-001","en-AI":"en-001","en-AU":"en-001","en-BB":"en-001","en-BM":"en-001","en-BS":"en-001","en-BW":"en-001","en-BZ":"en-001","en-CA":"en-001","en-CC":"en-001","en-CK":"en-001","en-CM":"en-001","en-CX":"en-001","en-CY":"en-001","en-DG":"en-001","en-DM":"en-001","en-ER":"en-001","en-FJ":"en-001","en-FK":"en-001","en-FM":"en-001","en-GB":"en-001","en-GD":"en-001","en-GG":"en-001","en-GH":"en-001","en-GI":"en-001","en-GM":"en-001","en-GY":"en-001","en-HK":"en-001","en-IE":"en-001","en-IL":"en-001","en-IM":"en-001","en-IN":"en-001","en-IO":"en-001","en-JE":"en-001","en-JM":"en-001","en-KE":"en-001","en-KI":"en-001","en-KN":"en-001","en-KY":"en-001","en-LC":"en-001","en-LR":"en-001","en-LS":"en-001","en-MG":"en-001","en-MO":"en-001","en-MS":"en-001","en-MT":"en-001","en-MU":"en-001","en-MW":"en-001","en-MY":"en-001","en-NA":"en-001","en-NF":"en-001","en-NG":"en-001","en-NR":"en-001","en-NU":"en-001","en-NZ":"en-001","en-PG":"en-001","en-PH":"en-001","en-PK":"en-001","en-PN":"en-001","en-PW":"en-001","en-RW":"en-001","en-SB":"en-001","en-SC":"en-001","en-SD":"en-001","en-SG":"en-001","en-SH":"en-001","en-SL":"en-001","en-SS":"en-001","en-SX":"en-001","en-SZ":"en-001","en-TC":"en-001","en-TK":"en-001","en-TO":"en-001","en-TT":"en-001","en-TV":"en-001","en-TZ":"en-001","en-UG":"en-001","en-VC":"en-001","en-VG":"en-001","en-VU":"en-001","en-WS":"en-001","en-ZA":"en-001","en-ZM":"en-001","en-ZW":"en-001","en-AT":"en-150","en-BE":"en-150","en-CH":"en-150","en-DE":"en-150","en-DK":"en-150","en-FI":"en-150","en-NL":"en-150","en-SE":"en-150","en-SI":"en-150"}}')},7684:function(I){"use strict";I.exports=JSON.parse('{"data":{"es-419":{"week-short":{"0":"esta sem.","1":"próx. sem.","future":{"one":"dentro de {0} sem.","other":"dentro de {0} sem."},"past":{"one":"hace {0} sem.","other":"hace {0} sem."},"-1":"sem. pas."},"week-narrow":{"0":"esta sem.","1":"próx. sem.","future":{"one":"dentro de {0} sem.","other":"dentro de {0} sem."},"past":{"one":"hace {0} sem.","other":"hace {0} sem."},"-1":"sem. pas."}},"es-AR":{"day-short":{"0":"hoy","1":"mañana","2":"pasado mañana","future":{"one":"dentro de {0} días","other":"dentro de {0} días"},"past":{"one":"hace {0} días","other":"hace {0} días"},"-2":"anteayer","-1":"ayer"},"day-narrow":{"0":"hoy","1":"mañana","2":"pasado mañana","future":{"one":"dentro de {0} días","other":"dentro de {0} días"},"past":{"one":"hace {0} días","other":"hace {0} días"},"-2":"anteayer","-1":"ayer"},"second-short":{"0":"ahora","future":{"one":"dentro de {0} seg.","other":"dentro de {0} seg."},"past":{"one":"hace {0} seg.","other":"hace {0} seg."}},"second-narrow":{"0":"ahora","future":{"one":"dentro de {0} seg.","other":"dentro de {0} seg."},"past":{"one":"hace {0} seg.","other":"hace {0} seg."}}},"es-MX":{"year":{"0":"este año","1":"el año próximo","future":{"one":"dentro de {0} año","other":"dentro de {0} años"},"past":{"one":"hace {0} año","other":"hace {0} años"},"-1":"el año pasado"},"year-short":{"0":"este año","1":"el próximo año","future":{"one":"en {0} a","other":"en {0} a"},"past":{"one":"hace {0} a","other":"hace {0} a"},"-1":"el año pasado"},"year-narrow":{"0":"este año","1":"el próximo año","future":{"one":"en {0} a","other":"en {0} a"},"past":{"one":"-{0} a","other":"-{0} a"},"-1":"el año pasado"},"quarter":{"0":"este trimestre","1":"el próximo trimestre","future":{"one":"en {0} trimestre","other":"dentro de {0} trimetres"},"past":{"one":"hace {0} trimestre","other":"hace {0} trimestres"},"-1":"el trimestre pasado"},"quarter-short":{"0":"este trimestre","1":"el próximo trimestre","future":{"one":"en {0} trim.","other":"en {0} trim"},"past":{"one":"hace {0} trim.","other":"hace {0} trim."},"-1":"el trimestre pasado"},"quarter-narrow":{"0":"este trimestre","1":"el próximo trimestre","future":{"one":"en {0} trim.","other":"en {0} trim."},"past":{"one":"-{0} T","other":"-{0} T"},"-1":"el trimestre pasado"},"month":{"0":"este mes","1":"el mes próximo","future":{"one":"en {0} mes","other":"en {0} meses"},"past":{"one":"hace {0} mes","other":"hace {0} meses"},"-1":"el mes pasado"},"month-short":{"0":"este mes","1":"el próximo mes","future":{"one":"en {0} m","other":"en {0} m"},"past":{"one":"hace {0} m","other":"hace {0} m"},"-1":"el mes pasado"},"month-narrow":{"0":"este mes","1":"el próximo mes","future":{"one":"+{0} m","other":"+{0} m"},"past":{"one":"-{0} m","other":"-{0} m"},"-1":"el mes pasado"},"week":{"0":"esta semana","1":"la semana próxima","future":{"one":"dentro de {0} semana","other":"dentro de {0} semanas"},"past":{"one":"hace {0} semana","other":"hace {0} semanas"},"-1":"la semana pasada"},"week-short":{"0":"esta sem.","1":"próx. sem.","future":{"one":"en {0} sem.","other":"en {0} sem."},"past":{"one":"hace {0} sem.","other":"hace {0} sem."},"-1":"sem. pas."},"day-short":{"0":"hoy","1":"mañana","2":"pasado mañana","future":{"one":"en {0} día","other":"en {0} días"},"past":{"one":"hace {0} día","other":"hace {0} días"},"-2":"anteayer","-1":"ayer"},"day-narrow":{"0":"hoy","1":"mañana","2":"pasado mañana","future":{"one":"+{0} día","other":"en {0} días"},"past":{"one":"hace {0} día","other":"hace {0} días"},"-2":"anteayer","-1":"ayer"},"hour-short":{"0":"esta hora","future":{"one":"en {0} h","other":"en {0} n"},"past":{"one":"hace {0} h","other":"hace {0} h"}},"minute-short":{"0":"este minuto","future":{"one":"en {0} min","other":"en {0} min"},"past":{"one":"hace {0} min","other":"hace {0} min"}},"minute-narrow":{"0":"este minuto","future":{"one":"en {0} min","other":"en {0} min"},"past":{"one":"hace {0} min","other":"hace {0} min"}},"second-short":{"0":"ahora","future":{"one":"en {0} s","other":"en {0} s"},"past":{"one":"hace {0} s","other":"hace {0} s"}},"second-narrow":{"0":"ahora","future":{"one":"+{0} s","other":"+{0} s"},"past":{"one":"hace {0} s","other":"hace {0} s"}}},"es-PY":{"second-short":{"0":"ahora","future":{"one":"dentro de {0} seg.","other":"dentro de {0} seg."},"past":{"one":"hace {0} seg.","other":"hace {0} seg."}},"second-narrow":{"0":"ahora","future":{"one":"dentro de {0} seg.","other":"dentro de {0} seg."},"past":{"one":"hace {0} seg.","other":"hace {0} seg."}}},"es-SV":{"day":{"0":"hoy","1":"mañana","2":"pasado mañana","future":{"one":"dentro de {0} día","other":"dentro de {0} días"},"past":{"one":"hace {0} día","other":"hace {0} días"},"-2":"antier","-1":"ayer"}},"es-US":{"year":{"0":"este año","1":"el año próximo","future":{"one":"dentro de {0} año","other":"dentro de {0} años"},"past":{"one":"hace {0} año","other":"hace {0} años"},"-1":"el año pasado"},"quarter":{"0":"este trimestre","1":"el próximo trimestre","future":{"one":"dentro de {0} trimetre","other":"dentro de {0} trimetres"},"past":{"one":"hace {0} trimestre","other":"hace {0} trimestres"},"-1":"el trimestre pasado"},"month":{"0":"este mes","1":"el mes próximo","future":{"one":"dentro de {0} mes","other":"dentro de {0} meses"},"past":{"one":"hace {0} mes","other":"hace {0} meses"},"-1":"el mes pasado"},"week":{"0":"esta semana","1":"la semana próxima","future":{"one":"dentro de {0} semana","other":"dentro de {0} semanas"},"past":{"one":"hace {0} semana","other":"hace {0} semanas"},"-1":"la semana pasada"}},"es":{"nu":["latn"],"year":{"0":"este año","1":"el próximo año","future":{"one":"dentro de {0} año","other":"dentro de {0} años"},"past":{"one":"hace {0} año","other":"hace {0} años"},"-1":"el año pasado"},"year-short":{"0":"este año","1":"el próximo año","future":{"one":"dentro de {0} a","other":"dentro de {0} a"},"past":{"one":"hace {0} a","other":"hace {0} a"},"-1":"el año pasado"},"year-narrow":{"0":"este año","1":"el próximo año","future":{"one":"dentro de {0} a","other":"dentro de {0} a"},"past":{"one":"hace {0} a","other":"hace {0} a"},"-1":"el año pasado"},"quarter":{"0":"este trimestre","1":"el próximo trimestre","future":{"one":"dentro de {0} trimestre","other":"dentro de {0} trimestres"},"past":{"one":"hace {0} trimestre","other":"hace {0} trimestres"},"-1":"el trimestre pasado"},"quarter-short":{"0":"este trimestre","1":"el próximo trimestre","future":{"one":"dentro de {0} trim.","other":"dentro de {0} trim."},"past":{"one":"hace {0} trim.","other":"hace {0} trim."},"-1":"el trimestre pasado"},"quarter-narrow":{"0":"este trimestre","1":"el próximo trimestre","future":{"one":"dentro de {0} trim.","other":"dentro de {0} trim."},"past":{"one":"hace {0} trim.","other":"hace {0} trim."},"-1":"el trimestre pasado"},"month":{"0":"este mes","1":"el próximo mes","future":{"one":"dentro de {0} mes","other":"dentro de {0} meses"},"past":{"one":"hace {0} mes","other":"hace {0} meses"},"-1":"el mes pasado"},"month-short":{"0":"este mes","1":"el próximo mes","future":{"one":"dentro de {0} m","other":"dentro de {0} m"},"past":{"one":"hace {0} m","other":"hace {0} m"},"-1":"el mes pasado"},"month-narrow":{"0":"este mes","1":"el próximo mes","future":{"one":"dentro de {0} m","other":"dentro de {0} m"},"past":{"one":"hace {0} m","other":"hace {0} m"},"-1":"el mes pasado"},"week":{"0":"esta semana","1":"la próxima semana","future":{"one":"dentro de {0} semana","other":"dentro de {0} semanas"},"past":{"one":"hace {0} semana","other":"hace {0} semanas"},"-1":"la semana pasada"},"week-short":{"0":"esta sem.","1":"próx. sem.","future":{"one":"dentro de {0} sem.","other":"dentro de {0} sem."},"past":{"one":"hace {0} sem.","other":"hace {0} sem."},"-1":"sem. ant."},"week-narrow":{"0":"esta sem.","1":"próx. sem.","future":{"one":"dentro de {0} sem.","other":"dentro de {0} sem."},"past":{"one":"hace {0} sem.","other":"hace {0} sem."},"-1":"sem. ant."},"day":{"0":"hoy","1":"mañana","2":"pasado mañana","future":{"one":"dentro de {0} día","other":"dentro de {0} días"},"past":{"one":"hace {0} día","other":"hace {0} días"},"-2":"anteayer","-1":"ayer"},"day-short":{"0":"hoy","1":"mañana","2":"pasado mañana","future":{"one":"dentro de {0} día","other":"dentro de {0} días"},"past":{"one":"hace {0} día","other":"hace {0} días"},"-2":"anteayer","-1":"ayer"},"day-narrow":{"0":"hoy","1":"mañana","2":"pasado mañana","future":{"one":"dentro de {0} día","other":"dentro de {0} días"},"past":{"one":"hace {0} día","other":"hace {0} días"},"-2":"anteayer","-1":"ayer"},"hour":{"0":"esta hora","future":{"one":"dentro de {0} hora","other":"dentro de {0} horas"},"past":{"one":"hace {0} hora","other":"hace {0} horas"}},"hour-short":{"0":"esta hora","future":{"one":"dentro de {0} h","other":"dentro de {0} h"},"past":{"one":"hace {0} h","other":"hace {0} h"}},"hour-narrow":{"0":"esta hora","future":{"one":"dentro de {0} h","other":"dentro de {0} h"},"past":{"one":"hace {0} h","other":"hace {0} h"}},"minute":{"0":"este minuto","future":{"one":"dentro de {0} minuto","other":"dentro de {0} minutos"},"past":{"one":"hace {0} minuto","other":"hace {0} minutos"}},"minute-short":{"0":"este minuto","future":{"one":"dentro de {0} min","other":"dentro de {0} min"},"past":{"one":"hace {0} min","other":"hace {0} min"}},"minute-narrow":{"0":"este minuto","future":{"one":"dentro de {0} min","other":"dentro de {0} min"},"past":{"one":"hace {0} min","other":"hace {0} min"}},"second":{"0":"ahora","future":{"one":"dentro de {0} segundo","other":"dentro de {0} segundos"},"past":{"one":"hace {0} segundo","other":"hace {0} segundos"}},"second-short":{"0":"ahora","future":{"one":"dentro de {0} s","other":"dentro de {0} s"},"past":{"one":"hace {0} s","other":"hace {0} s"}},"second-narrow":{"0":"ahora","future":{"one":"dentro de {0} s","other":"dentro de {0} s"},"past":{"one":"hace {0} s","other":"hace {0} s"}}}},"availableLocales":["es-419","es-AR","es-BO","es-BR","es-BZ","es-CL","es-CO","es-CR","es-CU","es-DO","es-EA","es-EC","es-GQ","es-GT","es-HN","es-IC","es-MX","es-NI","es-PA","es-PE","es-PH","es-PR","es-PY","es-SV","es-US","es-UY","es-VE","es"],"aliases":{},"parentLocales":{"es-AR":"es-419","es-BO":"es-419","es-BR":"es-419","es-BZ":"es-419","es-CL":"es-419","es-CO":"es-419","es-CR":"es-419","es-CU":"es-419","es-DO":"es-419","es-EC":"es-419","es-GT":"es-419","es-HN":"es-419","es-MX":"es-419","es-NI":"es-419","es-PA":"es-419","es-PE":"es-419","es-PR":"es-419","es-PY":"es-419","es-SV":"es-419","es-US":"es-419","es-UY":"es-419","es-VE":"es-419"}}')},8385:function(I){"use strict";I.exports=JSON.parse('{"data":{"ses":{"nu":["latn"],"year":{"0":"this year","1":"next year","future":{"other":"+{0} y"},"past":{"other":"-{0} y"},"-1":"last year"},"year-short":{"0":"this year","1":"next year","future":{"other":"+{0} y"},"past":{"other":"-{0} y"},"-1":"last year"},"year-narrow":{"0":"this year","1":"next year","future":{"other":"+{0} y"},"past":{"other":"-{0} y"},"-1":"last year"},"quarter":{"0":"this quarter","1":"next quarter","future":{"other":"+{0} Q"},"past":{"other":"-{0} Q"},"-1":"last quarter"},"quarter-short":{"0":"this quarter","1":"next quarter","future":{"other":"+{0} Q"},"past":{"other":"-{0} Q"},"-1":"last quarter"},"quarter-narrow":{"0":"this quarter","1":"next quarter","future":{"other":"+{0} Q"},"past":{"other":"-{0} Q"},"-1":"last quarter"},"month":{"0":"this month","1":"next month","future":{"other":"+{0} m"},"past":{"other":"-{0} m"},"-1":"last month"},"month-short":{"0":"this month","1":"next month","future":{"other":"+{0} m"},"past":{"other":"-{0} m"},"-1":"last month"},"month-narrow":{"0":"this month","1":"next month","future":{"other":"+{0} m"},"past":{"other":"-{0} m"},"-1":"last month"},"week":{"0":"this week","1":"next week","future":{"other":"+{0} w"},"past":{"other":"-{0} w"},"-1":"last week"},"week-short":{"0":"this week","1":"next week","future":{"other":"+{0} w"},"past":{"other":"-{0} w"},"-1":"last week"},"week-narrow":{"0":"this week","1":"next week","future":{"other":"+{0} w"},"past":{"other":"-{0} w"},"-1":"last week"},"day":{"0":"Hõo","1":"Suba","future":{"other":"+{0} d"},"past":{"other":"-{0} d"},"-1":"Bi"},"day-short":{"0":"Hõo","1":"Suba","future":{"other":"+{0} d"},"past":{"other":"-{0} d"},"-1":"Bi"},"day-narrow":{"0":"Hõo","1":"Suba","future":{"other":"+{0} d"},"past":{"other":"-{0} d"},"-1":"Bi"},"hour":{"0":"this hour","future":{"other":"+{0} h"},"past":{"other":"-{0} h"}},"hour-short":{"0":"this hour","future":{"other":"+{0} h"},"past":{"other":"-{0} h"}},"hour-narrow":{"0":"this hour","future":{"other":"+{0} h"},"past":{"other":"-{0} h"}},"minute":{"0":"this minute","future":{"other":"+{0} min"},"past":{"other":"-{0} min"}},"minute-short":{"0":"this minute","future":{"other":"+{0} min"},"past":{"other":"-{0} min"}},"minute-narrow":{"0":"this minute","future":{"other":"+{0} min"},"past":{"other":"-{0} min"}},"second":{"0":"now","future":{"other":"+{0} s"},"past":{"other":"-{0} s"}},"second-short":{"0":"now","future":{"other":"+{0} s"},"past":{"other":"-{0} s"}},"second-narrow":{"0":"now","future":{"other":"+{0} s"},"past":{"other":"-{0} s"}}}},"availableLocales":["ses"],"aliases":{},"parentLocales":{}}')},1666:function(I,g,n){var C={"./en":8079,"./en.js":8079,"./en.json":7991,"./es":4033,"./es.js":4033,"./es.json":7684,"./ses":9584,"./ses.js":9584,"./ses.json":8385};function c(I){var g=B(I);return n(g)}function B(I){if(!n.o(C,I)){var g=new Error("Cannot find module '"+I+"'");throw g.code="MODULE_NOT_FOUND",g}return C[I]}c.keys=function(){return Object.keys(C)},c.resolve=B,I.exports=c,c.id=1666},9228:function(module){eval('/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n * ie10 fix - Mikael Kristiansson 2019\n */\n!(function(name, definition) {\n if (true) module.exports = definition();\n else {}\n})("domready", function() {\n var ie10 = false;\n if (navigator.appVersion.indexOf("MSIE 10") !== -1) {\n ie10 = true;\n }\n\n var fns = [],\n listener,\n doc = typeof document === "object" && document,\n hack = ie10\n ? doc.documentElement.doScroll("left")\n : doc.documentElement.doScroll,\n domContentLoaded = "DOMContentLoaded",\n loaded =\n doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded && doc)\n doc.addEventListener(\n domContentLoaded,\n (listener = function() {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while ((listener = fns.shift())) listener();\n })\n );\n\n return function(fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AbWlrYWVsa3Jpc3RpYW5zc29uL2RvbXJlYWR5L3JlYWR5LmpzPzMwYzUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sSUFBNEI7QUFDbEMsT0FBTyxFQUUwQjtBQUNqQyxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiOTIyOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogZG9tcmVhZHkgKGMpIER1c3RpbiBEaWF6IDIwMTQgLSBMaWNlbnNlIE1JVFxuICogaWUxMCBmaXggLSBNaWthZWwgS3Jpc3RpYW5zc29uIDIwMTlcbiAqL1xuIShmdW5jdGlvbihuYW1lLCBkZWZpbml0aW9uKSB7XG4gIGlmICh0eXBlb2YgbW9kdWxlICE9IFwidW5kZWZpbmVkXCIpIG1vZHVsZS5leHBvcnRzID0gZGVmaW5pdGlvbigpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgZGVmaW5lLmFtZCA9PSBcIm9iamVjdFwiKVxuICAgIGRlZmluZShkZWZpbml0aW9uKTtcbiAgZWxzZSB0aGlzW25hbWVdID0gZGVmaW5pdGlvbigpO1xufSkoXCJkb21yZWFkeVwiLCBmdW5jdGlvbigpIHtcbiAgdmFyIGllMTAgPSBmYWxzZTtcbiAgaWYgKG5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoXCJNU0lFIDEwXCIpICE9PSAtMSkge1xuICAgIGllMTAgPSB0cnVlO1xuICB9XG5cbiAgdmFyIGZucyA9IFtdLFxuICAgIGxpc3RlbmVyLFxuICAgIGRvYyA9IHR5cGVvZiBkb2N1bWVudCA9PT0gXCJvYmplY3RcIiAmJiBkb2N1bWVudCxcbiAgICBoYWNrID0gaWUxMFxuICAgICAgPyBkb2MuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKFwibGVmdFwiKVxuICAgICAgOiBkb2MuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsLFxuICAgIGRvbUNvbnRlbnRMb2FkZWQgPSBcIkRPTUNvbnRlbnRMb2FkZWRcIixcbiAgICBsb2FkZWQgPVxuICAgICAgZG9jICYmIChoYWNrID8gL15sb2FkZWR8XmMvIDogL15sb2FkZWR8Xml8XmMvKS50ZXN0KGRvYy5yZWFkeVN0YXRlKTtcblxuICBpZiAoIWxvYWRlZCAmJiBkb2MpXG4gICAgZG9jLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICBkb21Db250ZW50TG9hZGVkLFxuICAgICAgKGxpc3RlbmVyID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIGRvYy5yZW1vdmVFdmVudExpc3RlbmVyKGRvbUNvbnRlbnRMb2FkZWQsIGxpc3RlbmVyKTtcbiAgICAgICAgbG9hZGVkID0gMTtcbiAgICAgICAgd2hpbGUgKChsaXN0ZW5lciA9IGZucy5zaGlmdCgpKSkgbGlzdGVuZXIoKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICByZXR1cm4gZnVuY3Rpb24oZm4pIHtcbiAgICBsb2FkZWQgPyBzZXRUaW1lb3V0KGZuLCAwKSA6IGZucy5wdXNoKGZuKTtcbiAgfTtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///9228\n')},3012:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval("\n\nvar __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar intl_utils_1 = __webpack_require__(2650);\n\nfunction validateInstance(instance, method) {\n if (!(instance instanceof PluralRules)) {\n throw new TypeError(\"Method Intl.PluralRules.prototype.\" + method + \" called on incompatible receiver \" + String(instance));\n }\n}\n/**\n * https://tc39.es/ecma402/#sec-torawprecision\n * @param x\n * @param minPrecision\n * @param maxPrecision\n */\n\n\nfunction toRawPrecision(x, minPrecision, maxPrecision) {\n var m = x.toPrecision(maxPrecision);\n\n if (~m.indexOf('.') && maxPrecision > minPrecision) {\n var cut = maxPrecision - minPrecision;\n\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, m.length - 1);\n cut--;\n }\n\n if (m[m.length - 1] === '.') {\n return m.slice(0, m.length - 1);\n }\n }\n\n return m;\n}\n/**\n * https://tc39.es/ecma402/#sec-torawfixed\n * @param x\n * @param minInteger\n * @param minFraction\n * @param maxFraction\n */\n\n\nfunction toRawFixed(x, minInteger, minFraction, maxFraction) {\n var cut = maxFraction - minFraction;\n var m = x.toFixed(maxFraction);\n\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, m.length - 1);\n cut--;\n }\n\n if (m[m.length - 1] === '.') {\n m = m.slice(0, m.length - 1);\n }\n\n var int = m.split('.')[0].length;\n\n if (int < minInteger) {\n var z = '';\n\n for (; z.length < minInteger - int; z += '0') {\n ;\n }\n\n m = z + m;\n }\n\n return m;\n}\n\nfunction formatNumericToString(internalSlotMap, pl, x) {\n var minimumSignificantDigits = intl_utils_1.getInternalSlot(internalSlotMap, pl, 'minimumSignificantDigits');\n var maximumSignificantDigits = intl_utils_1.getInternalSlot(internalSlotMap, pl, 'maximumSignificantDigits');\n\n if (minimumSignificantDigits !== undefined && maximumSignificantDigits !== undefined) {\n return toRawPrecision(x, minimumSignificantDigits, maximumSignificantDigits);\n }\n\n return toRawFixed(x, intl_utils_1.getInternalSlot(internalSlotMap, pl, 'minimumIntegerDigits'), intl_utils_1.getInternalSlot(internalSlotMap, pl, 'minimumFractionDigits'), intl_utils_1.getInternalSlot(internalSlotMap, pl, 'maximumFractionDigits'));\n}\n\nvar PluralRules =\n/** @class */\nfunction () {\n function PluralRules(locales, options) {\n // test262/test/intl402/RelativeTimeFormat/constructor/constructor/newtarget-undefined.js\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n var newTarget = this && this instanceof PluralRules ? this.constructor : void 0;\n\n if (!newTarget) {\n throw new TypeError(\"Intl.PluralRules must be called with 'new'\");\n }\n\n var requestedLocales = intl_utils_1.getCanonicalLocales(locales);\n var opt = Object.create(null);\n var opts = options === undefined ? Object.create(null) : intl_utils_1.toObject(options);\n intl_utils_1.setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'initializedPluralRules', true);\n var matcher = intl_utils_1.getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');\n opt.localeMatcher = matcher;\n intl_utils_1.setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type', intl_utils_1.getOption(opts, 'type', 'string', ['cardinal', 'ordinal'], 'cardinal'));\n intl_utils_1.setNumberFormatDigitOptions(PluralRules.__INTERNAL_SLOT_MAP__, this, opts, 0, 3);\n var r = intl_utils_1.createResolveLocale(PluralRules.getDefaultLocale)(PluralRules.availableLocales, requestedLocales, opt, PluralRules.relevantExtensionKeys, PluralRules.localeData);\n intl_utils_1.setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale', r.locale);\n }\n\n PluralRules.prototype.resolvedOptions = function () {\n var _this = this;\n\n validateInstance(this, 'resolvedOptions');\n var opts = Object.create(null);\n opts.locale = intl_utils_1.getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale');\n opts.type = intl_utils_1.getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type');\n ['minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits'].forEach(function (field) {\n var val = intl_utils_1.getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, _this, field);\n\n if (val !== undefined) {\n opts[field] = val;\n }\n });\n opts.pluralCategories = __spreadArrays(PluralRules.localeData[opts.locale].categories[opts.type]);\n return opts;\n };\n\n PluralRules.prototype.select = function (val) {\n validateInstance(this, 'select');\n var locale = intl_utils_1.getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale');\n var type = intl_utils_1.getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type');\n return PluralRules.localeData[locale].fn(formatNumericToString(PluralRules.__INTERNAL_SLOT_MAP__, this, Math.abs(Number(val))), type == 'ordinal');\n };\n\n PluralRules.prototype.toString = function () {\n return '[object Intl.PluralRules]';\n };\n\n PluralRules.supportedLocalesOf = function (locales, options) {\n return intl_utils_1.supportedLocales(PluralRules.availableLocales, intl_utils_1.getCanonicalLocales(locales), options);\n };\n\n PluralRules.__addLocaleData = function () {\n var data = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n\n var _loop_1 = function _loop_1(datum) {\n var availableLocales = Object.keys(__spreadArrays(datum.availableLocales, Object.keys(datum.aliases), Object.keys(datum.parentLocales)).reduce(function (all, k) {\n all[k] = true;\n return all;\n }, {}));\n availableLocales.forEach(function (locale) {\n try {\n PluralRules.localeData[locale] = intl_utils_1.unpackData(locale, datum);\n } catch (e) {\n if (intl_utils_1.isMissingLocaleDataError(e)) {\n // If we just don't have data for certain locale, that's ok\n return;\n }\n\n throw e;\n }\n });\n };\n\n for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {\n var datum = data_1[_a];\n\n _loop_1(datum);\n }\n\n PluralRules.availableLocales = Object.keys(PluralRules.localeData);\n\n if (!PluralRules.__defaultLocale) {\n PluralRules.__defaultLocale = PluralRules.availableLocales[0];\n }\n };\n\n PluralRules.getDefaultLocale = function () {\n return PluralRules.__defaultLocale;\n };\n\n PluralRules.localeData = {};\n PluralRules.availableLocales = [];\n PluralRules.__defaultLocale = 'en';\n PluralRules.relevantExtensionKeys = [];\n PluralRules.polyfilled = true;\n PluralRules.__INTERNAL_SLOT_MAP__ = new WeakMap();\n return PluralRules;\n}();\n\nexports.PluralRules = PluralRules;\n\ntry {\n // https://github.com/tc39/test262/blob/master/test/intl402/PluralRules/length.js\n Object.defineProperty(PluralRules, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true\n }); // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/length.js\n\n Object.defineProperty(PluralRules.prototype.constructor, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true\n }); // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/length.js\n\n Object.defineProperty(PluralRules.supportedLocalesOf, 'length', {\n value: 1,\n writable: false,\n enumerable: false,\n configurable: true\n });\n} catch (ex) {// Meta fixes for test262\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1wbHVyYWxydWxlcy9kaXN0L2NvcmUuanM/NjIxMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBLCtDQUErQyxRQUFRO0FBQ3ZEO0FBQ0E7O0FBRUEsc0NBQXNDLFFBQVE7QUFDOUMsb0RBQW9ELFFBQVE7QUFDNUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDOztBQUVGLG1CQUFtQixtQkFBTyxDQUFDLElBQXNCOztBQUVqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsVUFBVSw2QkFBNkI7QUFDdkM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxvQkFBb0IsdUJBQXVCO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQUk7QUFDWDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQSxtQ0FBbUMsb0JBQW9CO0FBQ3ZEOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCxtQkFBbUI7O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxFQUFFOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLEVBQUU7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDLGFBQWE7QUFDZCIsImZpbGUiOiIzMDEyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfX3NwcmVhZEFycmF5cyA9IHRoaXMgJiYgdGhpcy5fX3NwcmVhZEFycmF5cyB8fCBmdW5jdGlvbiAoKSB7XG4gIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykge1xuICAgIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcbiAgfVxuXG4gIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKykge1xuICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKSB7XG4gICAgICByW2tdID0gYVtqXTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcjtcbn07XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBpbnRsX3V0aWxzXzEgPSByZXF1aXJlKFwiQGZvcm1hdGpzL2ludGwtdXRpbHNcIik7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlSW5zdGFuY2UoaW5zdGFuY2UsIG1ldGhvZCkge1xuICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIFBsdXJhbFJ1bGVzKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJNZXRob2QgSW50bC5QbHVyYWxSdWxlcy5wcm90b3R5cGUuXCIgKyBtZXRob2QgKyBcIiBjYWxsZWQgb24gaW5jb21wYXRpYmxlIHJlY2VpdmVyIFwiICsgU3RyaW5nKGluc3RhbmNlKSk7XG4gIH1cbn1cbi8qKlxuICogaHR0cHM6Ly90YzM5LmVzL2VjbWE0MDIvI3NlYy10b3Jhd3ByZWNpc2lvblxuICogQHBhcmFtIHhcbiAqIEBwYXJhbSBtaW5QcmVjaXNpb25cbiAqIEBwYXJhbSBtYXhQcmVjaXNpb25cbiAqL1xuXG5cbmZ1bmN0aW9uIHRvUmF3UHJlY2lzaW9uKHgsIG1pblByZWNpc2lvbiwgbWF4UHJlY2lzaW9uKSB7XG4gIHZhciBtID0geC50b1ByZWNpc2lvbihtYXhQcmVjaXNpb24pO1xuXG4gIGlmICh+bS5pbmRleE9mKCcuJykgJiYgbWF4UHJlY2lzaW9uID4gbWluUHJlY2lzaW9uKSB7XG4gICAgdmFyIGN1dCA9IG1heFByZWNpc2lvbiAtIG1pblByZWNpc2lvbjtcblxuICAgIHdoaWxlIChjdXQgPiAwICYmIG1bbS5sZW5ndGggLSAxXSA9PT0gJzAnKSB7XG4gICAgICBtID0gbS5zbGljZSgwLCBtLmxlbmd0aCAtIDEpO1xuICAgICAgY3V0LS07XG4gICAgfVxuXG4gICAgaWYgKG1bbS5sZW5ndGggLSAxXSA9PT0gJy4nKSB7XG4gICAgICByZXR1cm4gbS5zbGljZSgwLCBtLmxlbmd0aCAtIDEpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtO1xufVxuLyoqXG4gKiBodHRwczovL3RjMzkuZXMvZWNtYTQwMi8jc2VjLXRvcmF3Zml4ZWRcbiAqIEBwYXJhbSB4XG4gKiBAcGFyYW0gbWluSW50ZWdlclxuICogQHBhcmFtIG1pbkZyYWN0aW9uXG4gKiBAcGFyYW0gbWF4RnJhY3Rpb25cbiAqL1xuXG5cbmZ1bmN0aW9uIHRvUmF3Rml4ZWQoeCwgbWluSW50ZWdlciwgbWluRnJhY3Rpb24sIG1heEZyYWN0aW9uKSB7XG4gIHZhciBjdXQgPSBtYXhGcmFjdGlvbiAtIG1pbkZyYWN0aW9uO1xuICB2YXIgbSA9IHgudG9GaXhlZChtYXhGcmFjdGlvbik7XG5cbiAgd2hpbGUgKGN1dCA+IDAgJiYgbVttLmxlbmd0aCAtIDFdID09PSAnMCcpIHtcbiAgICBtID0gbS5zbGljZSgwLCBtLmxlbmd0aCAtIDEpO1xuICAgIGN1dC0tO1xuICB9XG5cbiAgaWYgKG1bbS5sZW5ndGggLSAxXSA9PT0gJy4nKSB7XG4gICAgbSA9IG0uc2xpY2UoMCwgbS5sZW5ndGggLSAxKTtcbiAgfVxuXG4gIHZhciBpbnQgPSBtLnNwbGl0KCcuJylbMF0ubGVuZ3RoO1xuXG4gIGlmIChpbnQgPCBtaW5JbnRlZ2VyKSB7XG4gICAgdmFyIHogPSAnJztcblxuICAgIGZvciAoOyB6Lmxlbmd0aCA8IG1pbkludGVnZXIgLSBpbnQ7IHogKz0gJzAnKSB7XG4gICAgICA7XG4gICAgfVxuXG4gICAgbSA9IHogKyBtO1xuICB9XG5cbiAgcmV0dXJuIG07XG59XG5cbmZ1bmN0aW9uIGZvcm1hdE51bWVyaWNUb1N0cmluZyhpbnRlcm5hbFNsb3RNYXAsIHBsLCB4KSB7XG4gIHZhciBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBpbnRsX3V0aWxzXzEuZ2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgcGwsICdtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMnKTtcbiAgdmFyIG1heGltdW1TaWduaWZpY2FudERpZ2l0cyA9IGludGxfdXRpbHNfMS5nZXRJbnRlcm5hbFNsb3QoaW50ZXJuYWxTbG90TWFwLCBwbCwgJ21heGltdW1TaWduaWZpY2FudERpZ2l0cycpO1xuXG4gIGlmIChtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMgIT09IHVuZGVmaW5lZCAmJiBtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0b1Jhd1ByZWNpc2lvbih4LCBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMsIG1heGltdW1TaWduaWZpY2FudERpZ2l0cyk7XG4gIH1cblxuICByZXR1cm4gdG9SYXdGaXhlZCh4LCBpbnRsX3V0aWxzXzEuZ2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgcGwsICdtaW5pbXVtSW50ZWdlckRpZ2l0cycpLCBpbnRsX3V0aWxzXzEuZ2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgcGwsICdtaW5pbXVtRnJhY3Rpb25EaWdpdHMnKSwgaW50bF91dGlsc18xLmdldEludGVybmFsU2xvdChpbnRlcm5hbFNsb3RNYXAsIHBsLCAnbWF4aW11bUZyYWN0aW9uRGlnaXRzJykpO1xufVxuXG52YXIgUGx1cmFsUnVsZXMgPVxuLyoqIEBjbGFzcyAqL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBQbHVyYWxSdWxlcyhsb2NhbGVzLCBvcHRpb25zKSB7XG4gICAgLy8gdGVzdDI2Mi90ZXN0L2ludGw0MDIvUmVsYXRpdmVUaW1lRm9ybWF0L2NvbnN0cnVjdG9yL2NvbnN0cnVjdG9yL25ld3RhcmdldC11bmRlZmluZWQuanNcbiAgICAvLyBDYW5ub3QgdXNlIGBuZXcudGFyZ2V0YCBiYyBvZiBJRTExICYgVFMgdHJhbnNwaWxlcyBpdCB0byBzb21ldGhpbmcgZWxzZVxuICAgIHZhciBuZXdUYXJnZXQgPSB0aGlzICYmIHRoaXMgaW5zdGFuY2VvZiBQbHVyYWxSdWxlcyA/IHRoaXMuY29uc3RydWN0b3IgOiB2b2lkIDA7XG5cbiAgICBpZiAoIW5ld1RhcmdldCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludGwuUGx1cmFsUnVsZXMgbXVzdCBiZSBjYWxsZWQgd2l0aCAnbmV3J1wiKTtcbiAgICB9XG5cbiAgICB2YXIgcmVxdWVzdGVkTG9jYWxlcyA9IGludGxfdXRpbHNfMS5nZXRDYW5vbmljYWxMb2NhbGVzKGxvY2FsZXMpO1xuICAgIHZhciBvcHQgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHZhciBvcHRzID0gb3B0aW9ucyA9PT0gdW5kZWZpbmVkID8gT2JqZWN0LmNyZWF0ZShudWxsKSA6IGludGxfdXRpbHNfMS50b09iamVjdChvcHRpb25zKTtcbiAgICBpbnRsX3V0aWxzXzEuc2V0SW50ZXJuYWxTbG90KFBsdXJhbFJ1bGVzLl9fSU5URVJOQUxfU0xPVF9NQVBfXywgdGhpcywgJ2luaXRpYWxpemVkUGx1cmFsUnVsZXMnLCB0cnVlKTtcbiAgICB2YXIgbWF0Y2hlciA9IGludGxfdXRpbHNfMS5nZXRPcHRpb24ob3B0cywgJ2xvY2FsZU1hdGNoZXInLCAnc3RyaW5nJywgWydiZXN0IGZpdCcsICdsb29rdXAnXSwgJ2Jlc3QgZml0Jyk7XG4gICAgb3B0LmxvY2FsZU1hdGNoZXIgPSBtYXRjaGVyO1xuICAgIGludGxfdXRpbHNfMS5zZXRJbnRlcm5hbFNsb3QoUGx1cmFsUnVsZXMuX19JTlRFUk5BTF9TTE9UX01BUF9fLCB0aGlzLCAndHlwZScsIGludGxfdXRpbHNfMS5nZXRPcHRpb24ob3B0cywgJ3R5cGUnLCAnc3RyaW5nJywgWydjYXJkaW5hbCcsICdvcmRpbmFsJ10sICdjYXJkaW5hbCcpKTtcbiAgICBpbnRsX3V0aWxzXzEuc2V0TnVtYmVyRm9ybWF0RGlnaXRPcHRpb25zKFBsdXJhbFJ1bGVzLl9fSU5URVJOQUxfU0xPVF9NQVBfXywgdGhpcywgb3B0cywgMCwgMyk7XG4gICAgdmFyIHIgPSBpbnRsX3V0aWxzXzEuY3JlYXRlUmVzb2x2ZUxvY2FsZShQbHVyYWxSdWxlcy5nZXREZWZhdWx0TG9jYWxlKShQbHVyYWxSdWxlcy5hdmFpbGFibGVMb2NhbGVzLCByZXF1ZXN0ZWRMb2NhbGVzLCBvcHQsIFBsdXJhbFJ1bGVzLnJlbGV2YW50RXh0ZW5zaW9uS2V5cywgUGx1cmFsUnVsZXMubG9jYWxlRGF0YSk7XG4gICAgaW50bF91dGlsc18xLnNldEludGVybmFsU2xvdChQbHVyYWxSdWxlcy5fX0lOVEVSTkFMX1NMT1RfTUFQX18sIHRoaXMsICdsb2NhbGUnLCByLmxvY2FsZSk7XG4gIH1cblxuICBQbHVyYWxSdWxlcy5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB2YWxpZGF0ZUluc3RhbmNlKHRoaXMsICdyZXNvbHZlZE9wdGlvbnMnKTtcbiAgICB2YXIgb3B0cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgb3B0cy5sb2NhbGUgPSBpbnRsX3V0aWxzXzEuZ2V0SW50ZXJuYWxTbG90KFBsdXJhbFJ1bGVzLl9fSU5URVJOQUxfU0xPVF9NQVBfXywgdGhpcywgJ2xvY2FsZScpO1xuICAgIG9wdHMudHlwZSA9IGludGxfdXRpbHNfMS5nZXRJbnRlcm5hbFNsb3QoUGx1cmFsUnVsZXMuX19JTlRFUk5BTF9TTE9UX01BUF9fLCB0aGlzLCAndHlwZScpO1xuICAgIFsnbWluaW11bUludGVnZXJEaWdpdHMnLCAnbWluaW11bUZyYWN0aW9uRGlnaXRzJywgJ21heGltdW1GcmFjdGlvbkRpZ2l0cycsICdtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMnLCAnbWF4aW11bVNpZ25pZmljYW50RGlnaXRzJ10uZm9yRWFjaChmdW5jdGlvbiAoZmllbGQpIHtcbiAgICAgIHZhciB2YWwgPSBpbnRsX3V0aWxzXzEuZ2V0SW50ZXJuYWxTbG90KFBsdXJhbFJ1bGVzLl9fSU5URVJOQUxfU0xPVF9NQVBfXywgX3RoaXMsIGZpZWxkKTtcblxuICAgICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG9wdHNbZmllbGRdID0gdmFsO1xuICAgICAgfVxuICAgIH0pO1xuICAgIG9wdHMucGx1cmFsQ2F0ZWdvcmllcyA9IF9fc3ByZWFkQXJyYXlzKFBsdXJhbFJ1bGVzLmxvY2FsZURhdGFbb3B0cy5sb2NhbGVdLmNhdGVnb3JpZXNbb3B0cy50eXBlXSk7XG4gICAgcmV0dXJuIG9wdHM7XG4gIH07XG5cbiAgUGx1cmFsUnVsZXMucHJvdG90eXBlLnNlbGVjdCA9IGZ1bmN0aW9uICh2YWwpIHtcbiAgICB2YWxpZGF0ZUluc3RhbmNlKHRoaXMsICdzZWxlY3QnKTtcbiAgICB2YXIgbG9jYWxlID0gaW50bF91dGlsc18xLmdldEludGVybmFsU2xvdChQbHVyYWxSdWxlcy5fX0lOVEVSTkFMX1NMT1RfTUFQX18sIHRoaXMsICdsb2NhbGUnKTtcbiAgICB2YXIgdHlwZSA9IGludGxfdXRpbHNfMS5nZXRJbnRlcm5hbFNsb3QoUGx1cmFsUnVsZXMuX19JTlRFUk5BTF9TTE9UX01BUF9fLCB0aGlzLCAndHlwZScpO1xuICAgIHJldHVybiBQbHVyYWxSdWxlcy5sb2NhbGVEYXRhW2xvY2FsZV0uZm4oZm9ybWF0TnVtZXJpY1RvU3RyaW5nKFBsdXJhbFJ1bGVzLl9fSU5URVJOQUxfU0xPVF9NQVBfXywgdGhpcywgTWF0aC5hYnMoTnVtYmVyKHZhbCkpKSwgdHlwZSA9PSAnb3JkaW5hbCcpO1xuICB9O1xuXG4gIFBsdXJhbFJ1bGVzLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gJ1tvYmplY3QgSW50bC5QbHVyYWxSdWxlc10nO1xuICB9O1xuXG4gIFBsdXJhbFJ1bGVzLnN1cHBvcnRlZExvY2FsZXNPZiA9IGZ1bmN0aW9uIChsb2NhbGVzLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGludGxfdXRpbHNfMS5zdXBwb3J0ZWRMb2NhbGVzKFBsdXJhbFJ1bGVzLmF2YWlsYWJsZUxvY2FsZXMsIGludGxfdXRpbHNfMS5nZXRDYW5vbmljYWxMb2NhbGVzKGxvY2FsZXMpLCBvcHRpb25zKTtcbiAgfTtcblxuICBQbHVyYWxSdWxlcy5fX2FkZExvY2FsZURhdGEgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGRhdGEgPSBbXTtcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICBkYXRhW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuXG4gICAgdmFyIF9sb29wXzEgPSBmdW5jdGlvbiBfbG9vcF8xKGRhdHVtKSB7XG4gICAgICB2YXIgYXZhaWxhYmxlTG9jYWxlcyA9IE9iamVjdC5rZXlzKF9fc3ByZWFkQXJyYXlzKGRhdHVtLmF2YWlsYWJsZUxvY2FsZXMsIE9iamVjdC5rZXlzKGRhdHVtLmFsaWFzZXMpLCBPYmplY3Qua2V5cyhkYXR1bS5wYXJlbnRMb2NhbGVzKSkucmVkdWNlKGZ1bmN0aW9uIChhbGwsIGspIHtcbiAgICAgICAgYWxsW2tdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGFsbDtcbiAgICAgIH0sIHt9KSk7XG4gICAgICBhdmFpbGFibGVMb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIFBsdXJhbFJ1bGVzLmxvY2FsZURhdGFbbG9jYWxlXSA9IGludGxfdXRpbHNfMS51bnBhY2tEYXRhKGxvY2FsZSwgZGF0dW0pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaWYgKGludGxfdXRpbHNfMS5pc01pc3NpbmdMb2NhbGVEYXRhRXJyb3IoZSkpIHtcbiAgICAgICAgICAgIC8vIElmIHdlIGp1c3QgZG9uJ3QgaGF2ZSBkYXRhIGZvciBjZXJ0YWluIGxvY2FsZSwgdGhhdCdzIG9rXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGZvciAodmFyIF9hID0gMCwgZGF0YV8xID0gZGF0YTsgX2EgPCBkYXRhXzEubGVuZ3RoOyBfYSsrKSB7XG4gICAgICB2YXIgZGF0dW0gPSBkYXRhXzFbX2FdO1xuXG4gICAgICBfbG9vcF8xKGRhdHVtKTtcbiAgICB9XG5cbiAgICBQbHVyYWxSdWxlcy5hdmFpbGFibGVMb2NhbGVzID0gT2JqZWN0LmtleXMoUGx1cmFsUnVsZXMubG9jYWxlRGF0YSk7XG5cbiAgICBpZiAoIVBsdXJhbFJ1bGVzLl9fZGVmYXVsdExvY2FsZSkge1xuICAgICAgUGx1cmFsUnVsZXMuX19kZWZhdWx0TG9jYWxlID0gUGx1cmFsUnVsZXMuYXZhaWxhYmxlTG9jYWxlc1swXTtcbiAgICB9XG4gIH07XG5cbiAgUGx1cmFsUnVsZXMuZ2V0RGVmYXVsdExvY2FsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gUGx1cmFsUnVsZXMuX19kZWZhdWx0TG9jYWxlO1xuICB9O1xuXG4gIFBsdXJhbFJ1bGVzLmxvY2FsZURhdGEgPSB7fTtcbiAgUGx1cmFsUnVsZXMuYXZhaWxhYmxlTG9jYWxlcyA9IFtdO1xuICBQbHVyYWxSdWxlcy5fX2RlZmF1bHRMb2NhbGUgPSAnZW4nO1xuICBQbHVyYWxSdWxlcy5yZWxldmFudEV4dGVuc2lvbktleXMgPSBbXTtcbiAgUGx1cmFsUnVsZXMucG9seWZpbGxlZCA9IHRydWU7XG4gIFBsdXJhbFJ1bGVzLl9fSU5URVJOQUxfU0xPVF9NQVBfXyA9IG5ldyBXZWFrTWFwKCk7XG4gIHJldHVybiBQbHVyYWxSdWxlcztcbn0oKTtcblxuZXhwb3J0cy5QbHVyYWxSdWxlcyA9IFBsdXJhbFJ1bGVzO1xuXG50cnkge1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS90ZXN0MjYyL2Jsb2IvbWFzdGVyL3Rlc3QvaW50bDQwMi9QbHVyYWxSdWxlcy9sZW5ndGguanNcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFBsdXJhbFJ1bGVzLCAnbGVuZ3RoJywge1xuICAgIHZhbHVlOiAwLFxuICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Rlc3QyNjIvYmxvYi9tYXN0ZXIvdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9jb25zdHJ1Y3Rvci9sZW5ndGguanNcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUGx1cmFsUnVsZXMucHJvdG90eXBlLmNvbnN0cnVjdG9yLCAnbGVuZ3RoJywge1xuICAgIHZhbHVlOiAwLFxuICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Rlc3QyNjIvYmxvYi9tYXN0ZXIvdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9jb25zdHJ1Y3Rvci9zdXBwb3J0ZWRMb2NhbGVzT2YvbGVuZ3RoLmpzXG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFBsdXJhbFJ1bGVzLnN1cHBvcnRlZExvY2FsZXNPZiwgJ2xlbmd0aCcsIHtcbiAgICB2YWx1ZTogMSxcbiAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufSBjYXRjaCAoZXgpIHsvLyBNZXRhIGZpeGVzIGZvciB0ZXN0MjYyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///3012\n")},4574:function(){eval('/* @generated */\n// prettier-ignore\nif (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === \'function\') {\n Intl.PluralRules.__addLocaleData({\n "data": {\n "en": {\n "categories": {\n "cardinal": ["one", "other"],\n "ordinal": ["one", "two", "few", "other"]\n },\n "fn": function fn(n, ord) {\n var s = String(n).split(\'.\'),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);\n if (ord) return n10 == 1 && n100 != 11 ? \'one\' : n10 == 2 && n100 != 12 ? \'two\' : n10 == 3 && n100 != 13 ? \'few\' : \'other\';\n return n == 1 && v0 ? \'one\' : \'other\';\n }\n }\n },\n "aliases": {},\n "parentLocales": {\n "en-150": "en-001",\n "en-AG": "en-001",\n "en-AI": "en-001",\n "en-AU": "en-001",\n "en-BB": "en-001",\n "en-BM": "en-001",\n "en-BS": "en-001",\n "en-BW": "en-001",\n "en-BZ": "en-001",\n "en-CA": "en-001",\n "en-CC": "en-001",\n "en-CK": "en-001",\n "en-CM": "en-001",\n "en-CX": "en-001",\n "en-CY": "en-001",\n "en-DG": "en-001",\n "en-DM": "en-001",\n "en-ER": "en-001",\n "en-FJ": "en-001",\n "en-FK": "en-001",\n "en-FM": "en-001",\n "en-GB": "en-001",\n "en-GD": "en-001",\n "en-GG": "en-001",\n "en-GH": "en-001",\n "en-GI": "en-001",\n "en-GM": "en-001",\n "en-GY": "en-001",\n "en-HK": "en-001",\n "en-IE": "en-001",\n "en-IL": "en-001",\n "en-IM": "en-001",\n "en-IN": "en-001",\n "en-IO": "en-001",\n "en-JE": "en-001",\n "en-JM": "en-001",\n "en-KE": "en-001",\n "en-KI": "en-001",\n "en-KN": "en-001",\n "en-KY": "en-001",\n "en-LC": "en-001",\n "en-LR": "en-001",\n "en-LS": "en-001",\n "en-MG": "en-001",\n "en-MO": "en-001",\n "en-MS": "en-001",\n "en-MT": "en-001",\n "en-MU": "en-001",\n "en-MW": "en-001",\n "en-MY": "en-001",\n "en-NA": "en-001",\n "en-NF": "en-001",\n "en-NG": "en-001",\n "en-NR": "en-001",\n "en-NU": "en-001",\n "en-NZ": "en-001",\n "en-PG": "en-001",\n "en-PH": "en-001",\n "en-PK": "en-001",\n "en-PN": "en-001",\n "en-PW": "en-001",\n "en-RW": "en-001",\n "en-SB": "en-001",\n "en-SC": "en-001",\n "en-SD": "en-001",\n "en-SG": "en-001",\n "en-SH": "en-001",\n "en-SL": "en-001",\n "en-SS": "en-001",\n "en-SX": "en-001",\n "en-SZ": "en-001",\n "en-TC": "en-001",\n "en-TK": "en-001",\n "en-TO": "en-001",\n "en-TT": "en-001",\n "en-TV": "en-001",\n "en-TZ": "en-001",\n "en-UG": "en-001",\n "en-VC": "en-001",\n "en-VG": "en-001",\n "en-VU": "en-001",\n "en-WS": "en-001",\n "en-ZA": "en-001",\n "en-ZM": "en-001",\n "en-ZW": "en-001",\n "en-AT": "en-150",\n "en-BE": "en-150",\n "en-CH": "en-150",\n "en-DE": "en-150",\n "en-DK": "en-150",\n "en-FI": "en-150",\n "en-NL": "en-150",\n "en-SE": "en-150",\n "en-SI": "en-150"\n },\n "availableLocales": ["en"]\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1wbHVyYWxydWxlcy9kaXN0L2xvY2FsZS1kYXRhL2VuLmpzPzQ3N2MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6IjQ1NzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZ2VuZXJhdGVkICovXG4vLyBwcmV0dGllci1pZ25vcmVcbmlmIChJbnRsLlBsdXJhbFJ1bGVzICYmIHR5cGVvZiBJbnRsLlBsdXJhbFJ1bGVzLl9fYWRkTG9jYWxlRGF0YSA9PT0gJ2Z1bmN0aW9uJykge1xuICBJbnRsLlBsdXJhbFJ1bGVzLl9fYWRkTG9jYWxlRGF0YSh7XG4gICAgXCJkYXRhXCI6IHtcbiAgICAgIFwiZW5cIjoge1xuICAgICAgICBcImNhdGVnb3JpZXNcIjoge1xuICAgICAgICAgIFwiY2FyZGluYWxcIjogW1wib25lXCIsIFwib3RoZXJcIl0sXG4gICAgICAgICAgXCJvcmRpbmFsXCI6IFtcIm9uZVwiLCBcInR3b1wiLCBcImZld1wiLCBcIm90aGVyXCJdXG4gICAgICAgIH0sXG4gICAgICAgIFwiZm5cIjogZnVuY3Rpb24gZm4obiwgb3JkKSB7XG4gICAgICAgICAgdmFyIHMgPSBTdHJpbmcobikuc3BsaXQoJy4nKSxcbiAgICAgICAgICAgICAgdjAgPSAhc1sxXSxcbiAgICAgICAgICAgICAgdDAgPSBOdW1iZXIoc1swXSkgPT0gbixcbiAgICAgICAgICAgICAgbjEwID0gdDAgJiYgc1swXS5zbGljZSgtMSksXG4gICAgICAgICAgICAgIG4xMDAgPSB0MCAmJiBzWzBdLnNsaWNlKC0yKTtcbiAgICAgICAgICBpZiAob3JkKSByZXR1cm4gbjEwID09IDEgJiYgbjEwMCAhPSAxMSA/ICdvbmUnIDogbjEwID09IDIgJiYgbjEwMCAhPSAxMiA/ICd0d28nIDogbjEwID09IDMgJiYgbjEwMCAhPSAxMyA/ICdmZXcnIDogJ290aGVyJztcbiAgICAgICAgICByZXR1cm4gbiA9PSAxICYmIHYwID8gJ29uZScgOiAnb3RoZXInO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBcImFsaWFzZXNcIjoge30sXG4gICAgXCJwYXJlbnRMb2NhbGVzXCI6IHtcbiAgICAgIFwiZW4tMTUwXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUFHXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUFJXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUFVXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUJCXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUJNXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUJTXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUJXXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUJaXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUNBXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUNDXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUNLXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUNNXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUNYXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUNZXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLURHXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLURNXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUVSXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUZKXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUZLXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUZNXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUdCXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUdEXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUdHXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUdIXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUdJXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUdNXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUdZXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUhLXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUlFXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUlMXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUlNXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUlOXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUlPXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUpFXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUpNXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUtFXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUtJXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUtOXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUtZXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUxDXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUxSXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUxTXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU1HXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU1PXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU1TXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU1UXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU1VXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU1XXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU1ZXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU5BXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU5GXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU5HXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU5SXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU5VXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLU5aXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVBHXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVBIXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVBLXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVBOXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVBXXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVJXXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVNCXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVNDXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVNEXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVNHXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVNIXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVNMXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVNTXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVNYXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVNaXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVRDXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVRLXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVRPXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVRUXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVRWXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVRaXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVVHXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVZDXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVZHXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVZVXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVdTXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVpBXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVpNXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLVpXXCI6IFwiZW4tMDAxXCIsXG4gICAgICBcImVuLUFUXCI6IFwiZW4tMTUwXCIsXG4gICAgICBcImVuLUJFXCI6IFwiZW4tMTUwXCIsXG4gICAgICBcImVuLUNIXCI6IFwiZW4tMTUwXCIsXG4gICAgICBcImVuLURFXCI6IFwiZW4tMTUwXCIsXG4gICAgICBcImVuLURLXCI6IFwiZW4tMTUwXCIsXG4gICAgICBcImVuLUZJXCI6IFwiZW4tMTUwXCIsXG4gICAgICBcImVuLU5MXCI6IFwiZW4tMTUwXCIsXG4gICAgICBcImVuLVNFXCI6IFwiZW4tMTUwXCIsXG4gICAgICBcImVuLVNJXCI6IFwiZW4tMTUwXCJcbiAgICB9LFxuICAgIFwiYXZhaWxhYmxlTG9jYWxlc1wiOiBbXCJlblwiXVxuICB9KTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///4574\n')},3745:function(){eval('/* @generated */\n// prettier-ignore\nif (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === \'function\') {\n Intl.PluralRules.__addLocaleData({\n "data": {\n "es": {\n "categories": {\n "cardinal": ["one", "other"],\n "ordinal": ["other"]\n },\n "fn": function fn(n, ord) {\n if (ord) return \'other\';\n return n == 1 ? \'one\' : \'other\';\n }\n }\n },\n "aliases": {},\n "parentLocales": {\n "es-AR": "es-419",\n "es-BO": "es-419",\n "es-BR": "es-419",\n "es-BZ": "es-419",\n "es-CL": "es-419",\n "es-CO": "es-419",\n "es-CR": "es-419",\n "es-CU": "es-419",\n "es-DO": "es-419",\n "es-EC": "es-419",\n "es-GT": "es-419",\n "es-HN": "es-419",\n "es-MX": "es-419",\n "es-NI": "es-419",\n "es-PA": "es-419",\n "es-PE": "es-419",\n "es-PR": "es-419",\n "es-PY": "es-419",\n "es-SV": "es-419",\n "es-US": "es-419",\n "es-UY": "es-419",\n "es-VE": "es-419"\n },\n "availableLocales": ["es"]\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1wbHVyYWxydWxlcy9kaXN0L2xvY2FsZS1kYXRhL2VzLmpzPzNmZTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0giLCJmaWxlIjoiMzc0NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBnZW5lcmF0ZWQgKi9cbi8vIHByZXR0aWVyLWlnbm9yZVxuaWYgKEludGwuUGx1cmFsUnVsZXMgJiYgdHlwZW9mIEludGwuUGx1cmFsUnVsZXMuX19hZGRMb2NhbGVEYXRhID09PSAnZnVuY3Rpb24nKSB7XG4gIEludGwuUGx1cmFsUnVsZXMuX19hZGRMb2NhbGVEYXRhKHtcbiAgICBcImRhdGFcIjoge1xuICAgICAgXCJlc1wiOiB7XG4gICAgICAgIFwiY2F0ZWdvcmllc1wiOiB7XG4gICAgICAgICAgXCJjYXJkaW5hbFwiOiBbXCJvbmVcIiwgXCJvdGhlclwiXSxcbiAgICAgICAgICBcIm9yZGluYWxcIjogW1wib3RoZXJcIl1cbiAgICAgICAgfSxcbiAgICAgICAgXCJmblwiOiBmdW5jdGlvbiBmbihuLCBvcmQpIHtcbiAgICAgICAgICBpZiAob3JkKSByZXR1cm4gJ290aGVyJztcbiAgICAgICAgICByZXR1cm4gbiA9PSAxID8gJ29uZScgOiAnb3RoZXInO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBcImFsaWFzZXNcIjoge30sXG4gICAgXCJwYXJlbnRMb2NhbGVzXCI6IHtcbiAgICAgIFwiZXMtQVJcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQk9cIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQlJcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQlpcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQ0xcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQ09cIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQ1JcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQ1VcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtRE9cIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtRUNcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtR1RcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtSE5cIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtTVhcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtTklcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtUEFcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtUEVcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtUFJcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtUFlcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtU1ZcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtVVNcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtVVlcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtVkVcIjogXCJlcy00MTlcIlxuICAgIH0sXG4gICAgXCJhdmFpbGFibGVMb2NhbGVzXCI6IFtcImVzXCJdXG4gIH0pO1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///3745\n')},6867:function(){eval('/* @generated */\n// prettier-ignore\nif (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === \'function\') {\n Intl.PluralRules.__addLocaleData({\n "data": {\n "ses": {\n "categories": {\n "cardinal": ["other"],\n "ordinal": ["other"]\n },\n "fn": function fn(n, ord) {\n return \'other\';\n }\n }\n },\n "aliases": {},\n "parentLocales": {},\n "availableLocales": ["ses"]\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1wbHVyYWxydWxlcy9kaXN0L2xvY2FsZS1kYXRhL3Nlcy5qcz8yOTM5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxpQkFBaUI7QUFDakIsdUJBQXVCO0FBQ3ZCO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6IjY4NjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZ2VuZXJhdGVkICovXG4vLyBwcmV0dGllci1pZ25vcmVcbmlmIChJbnRsLlBsdXJhbFJ1bGVzICYmIHR5cGVvZiBJbnRsLlBsdXJhbFJ1bGVzLl9fYWRkTG9jYWxlRGF0YSA9PT0gJ2Z1bmN0aW9uJykge1xuICBJbnRsLlBsdXJhbFJ1bGVzLl9fYWRkTG9jYWxlRGF0YSh7XG4gICAgXCJkYXRhXCI6IHtcbiAgICAgIFwic2VzXCI6IHtcbiAgICAgICAgXCJjYXRlZ29yaWVzXCI6IHtcbiAgICAgICAgICBcImNhcmRpbmFsXCI6IFtcIm90aGVyXCJdLFxuICAgICAgICAgIFwib3JkaW5hbFwiOiBbXCJvdGhlclwiXVxuICAgICAgICB9LFxuICAgICAgICBcImZuXCI6IGZ1bmN0aW9uIGZuKG4sIG9yZCkge1xuICAgICAgICAgIHJldHVybiAnb3RoZXInO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBcImFsaWFzZXNcIjoge30sXG4gICAgXCJwYXJlbnRMb2NhbGVzXCI6IHt9LFxuICAgIFwiYXZhaWxhYmxlTG9jYWxlc1wiOiBbXCJzZXNcIl1cbiAgfSk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///6867\n')},2157:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar core_1 = __webpack_require__(3012);\n\nif (typeof Intl.PluralRules === 'undefined' || !Intl.PluralRules.polyfilled && new Intl.PluralRules('en', {\n minimumFractionDigits: 2\n}).select(1) === 'one') {\n Object.defineProperty(Intl, 'PluralRules', {\n value: core_1.PluralRules,\n writable: true,\n enumerable: false,\n configurable: true\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1wbHVyYWxydWxlcy9kaXN0L3BvbHlmaWxsLmpzP2FkY2QiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDOztBQUVGLGFBQWEsbUJBQU8sQ0FBQyxJQUFROztBQUU3QjtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJmaWxlIjoiMjE1Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgY29yZV8xID0gcmVxdWlyZShcIi4vY29yZVwiKTtcblxuaWYgKHR5cGVvZiBJbnRsLlBsdXJhbFJ1bGVzID09PSAndW5kZWZpbmVkJyB8fCAhSW50bC5QbHVyYWxSdWxlcy5wb2x5ZmlsbGVkICYmIG5ldyBJbnRsLlBsdXJhbFJ1bGVzKCdlbicsIHtcbiAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAyXG59KS5zZWxlY3QoMSkgPT09ICdvbmUnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbnRsLCAnUGx1cmFsUnVsZXMnLCB7XG4gICAgdmFsdWU6IGNvcmVfMS5QbHVyYWxSdWxlcyxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///2157\n")},3228:function(__unused_webpack_module,__unused_webpack_exports,__webpack_require__){eval("__webpack_require__(2157);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1wbHVyYWxydWxlcy9wb2x5ZmlsbC5qcz8xYTM5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFPLENBQUMsSUFBaUIiLCJmaWxlIjoiMzIyOC5qcyIsInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4vZGlzdC9wb2x5ZmlsbCcpOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///3228\n")},9905:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval("\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __values = this && this.__values || function (o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n\nvar __read = this && this.__read || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n};\n\nvar __spread = this && this.__spread || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n};\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar intl_utils_1 = __webpack_require__(2650);\n\nfunction unpackData(locale, localeData) {\n var localeHierarchy = intl_utils_1.getLocaleHierarchy(locale, localeData.aliases, localeData.parentLocales);\n var dataToMerge = localeHierarchy.map(function (l) {\n return localeData.data[l];\n }).filter(Boolean);\n\n if (!dataToMerge.length) {\n throw new Error(\"Missing locale data for \\\"\" + locale + \"\\\", lookup hierarchy: \" + localeHierarchy.join(', '));\n }\n\n dataToMerge.reverse();\n return dataToMerge.reduce(function (all, d) {\n return __assign(__assign({}, all), d);\n }, {\n nu: []\n });\n}\n/**\n * https://tc39.es/proposal-intl-relative-time/#sec-singularrelativetimeunit\n * @param unit\n */\n\n\nfunction singularRelativeTimeUnit(unit) {\n intl_utils_1.invariant(typeof unit === 'string', \"unit must be a string, instead got \" + typeof unit, TypeError);\n if (unit === 'seconds') return 'second';\n if (unit === 'minutes') return 'minute';\n if (unit === 'hours') return 'hour';\n if (unit === 'days') return 'day';\n if (unit === 'weeks') return 'week';\n if (unit === 'months') return 'month';\n if (unit === 'quarters') return 'quarter';\n if (unit === 'years') return 'year';\n\n if (unit !== 'second' && unit !== 'minute' && unit !== 'hour' && unit !== 'day' && unit !== 'week' && unit !== 'month' && unit !== 'quarter' && unit !== 'year') {\n throw new RangeError(\"Invalid unit \" + unit);\n }\n\n return unit;\n}\n\nvar NUMBERING_SYSTEM_REGEX = /^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i;\n/**\n * https://tc39.es/proposal-intl-relative-time/#sec-makepartslist\n * @param pattern\n * @param unit\n * @param parts\n */\n\nfunction makePartsList(pattern, unit, parts) {\n var e_1, _a, e_2, _b;\n\n var patternParts = intl_utils_1.partitionPattern(pattern);\n var result = [];\n\n try {\n for (var patternParts_1 = __values(patternParts), patternParts_1_1 = patternParts_1.next(); !patternParts_1_1.done; patternParts_1_1 = patternParts_1.next()) {\n var patternPart = patternParts_1_1.value;\n\n if (intl_utils_1.isLiteralPart(patternPart)) {\n result.push({\n type: 'literal',\n value: patternPart.value\n });\n } else {\n intl_utils_1.invariant(patternPart.type === '0', \"Malformed pattern \" + pattern);\n\n try {\n for (var parts_1 = (e_2 = void 0, __values(parts)), parts_1_1 = parts_1.next(); !parts_1_1.done; parts_1_1 = parts_1.next()) {\n var part = parts_1_1.value;\n result.push({\n type: part.type,\n value: part.value,\n unit: unit\n });\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (parts_1_1 && !parts_1_1.done && (_b = parts_1.return)) _b.call(parts_1);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (patternParts_1_1 && !patternParts_1_1.done && (_a = patternParts_1.return)) _a.call(patternParts_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return result;\n}\n\nfunction objectIs(x, y) {\n if (Object.is) {\n return Object.is(x, y);\n } // SameValue algorithm\n\n\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } // Step 6.a: NaN == NaN\n\n\n return x !== x && y !== y;\n}\n\nfunction toString(arg) {\n return arg + '';\n}\n/**\n * PartitionRelativeTimePattern\n * @param rtf\n * @param value\n * @param unit\n */\n\n\nfunction partitionRelativeTimePattern(internalSlotMap, rtf, value, unit) {\n intl_utils_1.invariant(typeof value === 'number', \"value must be number, instead got \" + typeof value, TypeError);\n intl_utils_1.invariant(typeof unit === 'string', \"unit must be number, instead got \" + typeof value, TypeError);\n\n if (isNaN(value) || value === Infinity || value === -Infinity) {\n throw new RangeError(\"Invalid value \" + value);\n }\n\n var resolvedUnit = singularRelativeTimeUnit(unit);\n var fields = intl_utils_1.getInternalSlot(internalSlotMap, rtf, 'fields');\n var style = intl_utils_1.getInternalSlot(internalSlotMap, rtf, 'style');\n var entry = resolvedUnit;\n\n if (style === 'short') {\n entry = unit + \"-short\";\n } else if (style === 'narrow') {\n entry = unit + \"-narrow\";\n }\n\n if (!(entry in fields)) {\n entry = unit;\n }\n\n var patterns = fields[entry];\n var numeric = intl_utils_1.getInternalSlot(internalSlotMap, rtf, 'numeric');\n\n if (numeric === 'auto') {\n if (toString(value) in patterns) {\n return [{\n type: 'literal',\n value: patterns[toString(value)]\n }];\n }\n }\n\n var tl = 'future';\n\n if (objectIs(value, -0) || value < 0) {\n tl = 'past';\n }\n\n var po = patterns[tl];\n var pluralRules = intl_utils_1.getInternalSlot(internalSlotMap, rtf, 'pluralRules');\n var numberFormat = intl_utils_1.getInternalSlot(internalSlotMap, rtf, 'numberFormat');\n var fv = typeof numberFormat.formatToParts === 'function' ? numberFormat.formatToParts(Math.abs(value)) : // TODO: If formatToParts is not supported, we assume the whole formatted\n // number is a part\n [{\n type: 'literal',\n value: numberFormat.format(Math.abs(value)),\n unit: unit\n }];\n var pr = pluralRules.select(value);\n var pattern = po[pr];\n return makePartsList(pattern, resolvedUnit, fv);\n}\n\nvar RelativeTimeFormat =\n/** @class */\nfunction () {\n function RelativeTimeFormat(locales, options) {\n // test262/test/intl402/RelativeTimeFormat/constructor/constructor/newtarget-undefined.js\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n var newTarget = this && this instanceof RelativeTimeFormat ? this.constructor : void 0;\n\n if (!newTarget) {\n throw new TypeError(\"Intl.RelativeTimeFormat must be called with 'new'\");\n }\n\n intl_utils_1.setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'initializedRelativeTimeFormat', true);\n var requestedLocales = intl_utils_1.getCanonicalLocales(locales);\n var opt = Object.create(null);\n var opts = options === undefined ? Object.create(null) : intl_utils_1.toObject(options);\n var matcher = intl_utils_1.getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');\n opt.localeMatcher = matcher;\n var numberingSystem = intl_utils_1.getOption(opts, 'numberingSystem', 'string', undefined, undefined);\n\n if (numberingSystem !== undefined) {\n if (!NUMBERING_SYSTEM_REGEX.test(numberingSystem)) {\n throw new RangeError(\"Invalid numbering system \" + numberingSystem);\n }\n }\n\n opt.nu = numberingSystem;\n var r = intl_utils_1.createResolveLocale(RelativeTimeFormat.getDefaultLocale)(RelativeTimeFormat.availableLocales, requestedLocales, opt, RelativeTimeFormat.relevantExtensionKeys, RelativeTimeFormat.localeData);\n var locale = r.locale,\n nu = r.nu;\n intl_utils_1.setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'locale', locale);\n intl_utils_1.setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'style', intl_utils_1.getOption(opts, 'style', 'string', ['long', 'narrow', 'short'], 'long'));\n intl_utils_1.setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'numeric', intl_utils_1.getOption(opts, 'numeric', 'string', ['always', 'auto'], 'always'));\n intl_utils_1.setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'fields', RelativeTimeFormat.localeData[locale]);\n intl_utils_1.setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'numberFormat', new Intl.NumberFormat(locales));\n intl_utils_1.setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'pluralRules', new Intl.PluralRules(locales));\n intl_utils_1.setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'numberingSystem', nu);\n }\n\n RelativeTimeFormat.prototype.format = function (value, unit) {\n if (typeof this !== 'object') {\n throw new TypeError('format was called on a non-object');\n }\n\n if (!intl_utils_1.getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'initializedRelativeTimeFormat')) {\n throw new TypeError('format was called on a invalid context');\n }\n\n return partitionRelativeTimePattern(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, Number(value), toString(unit)).map(function (el) {\n return el.value;\n }).join('');\n };\n\n RelativeTimeFormat.prototype.formatToParts = function (value, unit) {\n if (typeof this !== 'object') {\n throw new TypeError('formatToParts was called on a non-object');\n }\n\n if (!intl_utils_1.getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'initializedRelativeTimeFormat')) {\n throw new TypeError('formatToParts was called on a invalid context');\n }\n\n return partitionRelativeTimePattern(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, Number(value), toString(unit));\n };\n\n RelativeTimeFormat.prototype.resolvedOptions = function () {\n if (typeof this !== 'object') {\n throw new TypeError('resolvedOptions was called on a non-object');\n }\n\n if (!intl_utils_1.getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'initializedRelativeTimeFormat')) {\n throw new TypeError('resolvedOptions was called on a invalid context');\n } // test262/test/intl402/RelativeTimeFormat/prototype/resolvedOptions/type.js\n\n\n return {\n locale: intl_utils_1.getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'locale'),\n style: intl_utils_1.getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'style'),\n numeric: intl_utils_1.getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'numeric'),\n numberingSystem: intl_utils_1.getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'numberingSystem')\n };\n };\n\n RelativeTimeFormat.supportedLocalesOf = function (locales, options) {\n return intl_utils_1.supportedLocales(RelativeTimeFormat.availableLocales, intl_utils_1.getCanonicalLocales(locales), options);\n };\n\n RelativeTimeFormat.__addLocaleData = function () {\n var e_3, _a;\n\n var data = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n\n var _loop_1 = function _loop_1(datum) {\n var availableLocales = Object.keys(__spread(datum.availableLocales, Object.keys(datum.aliases), Object.keys(datum.parentLocales)).reduce(function (all, k) {\n all[k] = true;\n return all;\n }, {}));\n availableLocales.forEach(function (locale) {\n try {\n RelativeTimeFormat.localeData[locale] = unpackData(locale, datum);\n } catch (e) {// If we can't unpack this data, ignore the locale\n }\n });\n };\n\n try {\n for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var datum = data_1_1.value;\n\n _loop_1(datum);\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n RelativeTimeFormat.availableLocales = Object.keys(RelativeTimeFormat.localeData);\n\n if (!RelativeTimeFormat.__defaultLocale) {\n RelativeTimeFormat.__defaultLocale = RelativeTimeFormat.availableLocales[0];\n }\n };\n\n RelativeTimeFormat.getDefaultLocale = function () {\n return RelativeTimeFormat.__defaultLocale;\n };\n\n RelativeTimeFormat.localeData = {};\n RelativeTimeFormat.availableLocales = [];\n RelativeTimeFormat.__defaultLocale = 'en';\n RelativeTimeFormat.relevantExtensionKeys = ['nu'];\n RelativeTimeFormat.polyfilled = true;\n RelativeTimeFormat.__INTERNAL_SLOT_MAP__ = new WeakMap();\n return RelativeTimeFormat;\n}();\n\nexports.default = RelativeTimeFormat;\n\ntry {\n // IE11 does not have Symbol\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(RelativeTimeFormat.prototype, Symbol.toStringTag, {\n value: 'Intl.RelativeTimeFormat',\n writable: false,\n enumerable: false,\n configurable: true\n });\n } // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/length.js\n\n\n Object.defineProperty(RelativeTimeFormat.prototype.constructor, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true\n }); // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/length.js\n\n Object.defineProperty(RelativeTimeFormat.supportedLocalesOf, 'length', {\n value: 1,\n writable: false,\n enumerable: false,\n configurable: true\n });\n} catch (e) {// Meta fix so we're test262-compliant, not important\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1yZWxhdGl2ZXRpbWVmb3JtYXQvZGlzdC9jb3JlLmpzPzcyNDIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLDRDQUE0QyxPQUFPO0FBQ25EOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQixzQkFBc0I7QUFDaEQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQzs7QUFFRixtQkFBbUIsbUJBQU8sQ0FBQyxJQUFzQjs7QUFFakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx3Q0FBd0MsSUFBSSxXQUFXLElBQUk7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLCtGQUErRix3QkFBd0I7QUFDdkg7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQOztBQUVBO0FBQ0EseUZBQXlGLGlCQUFpQjtBQUMxRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQSxvQkFBb0IsdUJBQXVCO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQUk7QUFDWDtBQUNBO0FBQ0E7QUFDQSxTQUFTLFlBQVk7QUFDckI7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQSxpRUFBaUUsZ0JBQWdCO0FBQ2pGOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQsZUFBZTs7QUFFZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLEVBQUU7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDLFlBQVk7QUFDYiIsImZpbGUiOiI5OTA1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfX2Fzc2lnbiA9IHRoaXMgJiYgdGhpcy5fX2Fzc2lnbiB8fCBmdW5jdGlvbiAoKSB7XG4gIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodCkge1xuICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIgcCBpbiBzKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0O1xuICB9O1xuXG4gIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcblxudmFyIF9fdmFsdWVzID0gdGhpcyAmJiB0aGlzLl9fdmFsdWVzIHx8IGZ1bmN0aW9uIChvKSB7XG4gIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvcixcbiAgICAgIG0gPSBzICYmIG9bc10sXG4gICAgICBpID0gMDtcbiAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XG4gIGlmIChvICYmIHR5cGVvZiBvLmxlbmd0aCA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHtcbiAgICBuZXh0OiBmdW5jdGlvbiBuZXh0KCkge1xuICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlOiBvICYmIG9baSsrXSxcbiAgICAgICAgZG9uZTogIW9cbiAgICAgIH07XG4gICAgfVxuICB9O1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XG59O1xuXG52YXIgX19yZWFkID0gdGhpcyAmJiB0aGlzLl9fcmVhZCB8fCBmdW5jdGlvbiAobywgbikge1xuICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghbSkgcmV0dXJuIG87XG4gIHZhciBpID0gbS5jYWxsKG8pLFxuICAgICAgcixcbiAgICAgIGFyID0gW10sXG4gICAgICBlO1xuXG4gIHRyeSB7XG4gICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIHtcbiAgICAgIGFyLnB1c2goci52YWx1ZSk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGUgPSB7XG4gICAgICBlcnJvcjogZXJyb3JcbiAgICB9O1xuICB9IGZpbmFsbHkge1xuICAgIHRyeSB7XG4gICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKGUpIHRocm93IGUuZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFyO1xufTtcblxudmFyIF9fc3ByZWFkID0gdGhpcyAmJiB0aGlzLl9fc3ByZWFkIHx8IGZ1bmN0aW9uICgpIHtcbiAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XG4gIH1cblxuICByZXR1cm4gYXI7XG59O1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgaW50bF91dGlsc18xID0gcmVxdWlyZShcIkBmb3JtYXRqcy9pbnRsLXV0aWxzXCIpO1xuXG5mdW5jdGlvbiB1bnBhY2tEYXRhKGxvY2FsZSwgbG9jYWxlRGF0YSkge1xuICB2YXIgbG9jYWxlSGllcmFyY2h5ID0gaW50bF91dGlsc18xLmdldExvY2FsZUhpZXJhcmNoeShsb2NhbGUsIGxvY2FsZURhdGEuYWxpYXNlcywgbG9jYWxlRGF0YS5wYXJlbnRMb2NhbGVzKTtcbiAgdmFyIGRhdGFUb01lcmdlID0gbG9jYWxlSGllcmFyY2h5Lm1hcChmdW5jdGlvbiAobCkge1xuICAgIHJldHVybiBsb2NhbGVEYXRhLmRhdGFbbF07XG4gIH0pLmZpbHRlcihCb29sZWFuKTtcblxuICBpZiAoIWRhdGFUb01lcmdlLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgbG9jYWxlIGRhdGEgZm9yIFxcXCJcIiArIGxvY2FsZSArIFwiXFxcIiwgbG9va3VwIGhpZXJhcmNoeTogXCIgKyBsb2NhbGVIaWVyYXJjaHkuam9pbignLCAnKSk7XG4gIH1cblxuICBkYXRhVG9NZXJnZS5yZXZlcnNlKCk7XG4gIHJldHVybiBkYXRhVG9NZXJnZS5yZWR1Y2UoZnVuY3Rpb24gKGFsbCwgZCkge1xuICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgYWxsKSwgZCk7XG4gIH0sIHtcbiAgICBudTogW11cbiAgfSk7XG59XG4vKipcbiAqIGh0dHBzOi8vdGMzOS5lcy9wcm9wb3NhbC1pbnRsLXJlbGF0aXZlLXRpbWUvI3NlYy1zaW5ndWxhcnJlbGF0aXZldGltZXVuaXRcbiAqIEBwYXJhbSB1bml0XG4gKi9cblxuXG5mdW5jdGlvbiBzaW5ndWxhclJlbGF0aXZlVGltZVVuaXQodW5pdCkge1xuICBpbnRsX3V0aWxzXzEuaW52YXJpYW50KHR5cGVvZiB1bml0ID09PSAnc3RyaW5nJywgXCJ1bml0IG11c3QgYmUgYSBzdHJpbmcsIGluc3RlYWQgZ290IFwiICsgdHlwZW9mIHVuaXQsIFR5cGVFcnJvcik7XG4gIGlmICh1bml0ID09PSAnc2Vjb25kcycpIHJldHVybiAnc2Vjb25kJztcbiAgaWYgKHVuaXQgPT09ICdtaW51dGVzJykgcmV0dXJuICdtaW51dGUnO1xuICBpZiAodW5pdCA9PT0gJ2hvdXJzJykgcmV0dXJuICdob3VyJztcbiAgaWYgKHVuaXQgPT09ICdkYXlzJykgcmV0dXJuICdkYXknO1xuICBpZiAodW5pdCA9PT0gJ3dlZWtzJykgcmV0dXJuICd3ZWVrJztcbiAgaWYgKHVuaXQgPT09ICdtb250aHMnKSByZXR1cm4gJ21vbnRoJztcbiAgaWYgKHVuaXQgPT09ICdxdWFydGVycycpIHJldHVybiAncXVhcnRlcic7XG4gIGlmICh1bml0ID09PSAneWVhcnMnKSByZXR1cm4gJ3llYXInO1xuXG4gIGlmICh1bml0ICE9PSAnc2Vjb25kJyAmJiB1bml0ICE9PSAnbWludXRlJyAmJiB1bml0ICE9PSAnaG91cicgJiYgdW5pdCAhPT0gJ2RheScgJiYgdW5pdCAhPT0gJ3dlZWsnICYmIHVuaXQgIT09ICdtb250aCcgJiYgdW5pdCAhPT0gJ3F1YXJ0ZXInICYmIHVuaXQgIT09ICd5ZWFyJykge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCB1bml0IFwiICsgdW5pdCk7XG4gIH1cblxuICByZXR1cm4gdW5pdDtcbn1cblxudmFyIE5VTUJFUklOR19TWVNURU1fUkVHRVggPSAvXlthLXowLTldezMsOH0oLVthLXowLTldezMsOH0pKiQvaTtcbi8qKlxuICogaHR0cHM6Ly90YzM5LmVzL3Byb3Bvc2FsLWludGwtcmVsYXRpdmUtdGltZS8jc2VjLW1ha2VwYXJ0c2xpc3RcbiAqIEBwYXJhbSBwYXR0ZXJuXG4gKiBAcGFyYW0gdW5pdFxuICogQHBhcmFtIHBhcnRzXG4gKi9cblxuZnVuY3Rpb24gbWFrZVBhcnRzTGlzdChwYXR0ZXJuLCB1bml0LCBwYXJ0cykge1xuICB2YXIgZV8xLCBfYSwgZV8yLCBfYjtcblxuICB2YXIgcGF0dGVyblBhcnRzID0gaW50bF91dGlsc18xLnBhcnRpdGlvblBhdHRlcm4ocGF0dGVybik7XG4gIHZhciByZXN1bHQgPSBbXTtcblxuICB0cnkge1xuICAgIGZvciAodmFyIHBhdHRlcm5QYXJ0c18xID0gX192YWx1ZXMocGF0dGVyblBhcnRzKSwgcGF0dGVyblBhcnRzXzFfMSA9IHBhdHRlcm5QYXJ0c18xLm5leHQoKTsgIXBhdHRlcm5QYXJ0c18xXzEuZG9uZTsgcGF0dGVyblBhcnRzXzFfMSA9IHBhdHRlcm5QYXJ0c18xLm5leHQoKSkge1xuICAgICAgdmFyIHBhdHRlcm5QYXJ0ID0gcGF0dGVyblBhcnRzXzFfMS52YWx1ZTtcblxuICAgICAgaWYgKGludGxfdXRpbHNfMS5pc0xpdGVyYWxQYXJ0KHBhdHRlcm5QYXJ0KSkge1xuICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgdHlwZTogJ2xpdGVyYWwnLFxuICAgICAgICAgIHZhbHVlOiBwYXR0ZXJuUGFydC52YWx1ZVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGludGxfdXRpbHNfMS5pbnZhcmlhbnQocGF0dGVyblBhcnQudHlwZSA9PT0gJzAnLCBcIk1hbGZvcm1lZCBwYXR0ZXJuIFwiICsgcGF0dGVybik7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBmb3IgKHZhciBwYXJ0c18xID0gKGVfMiA9IHZvaWQgMCwgX192YWx1ZXMocGFydHMpKSwgcGFydHNfMV8xID0gcGFydHNfMS5uZXh0KCk7ICFwYXJ0c18xXzEuZG9uZTsgcGFydHNfMV8xID0gcGFydHNfMS5uZXh0KCkpIHtcbiAgICAgICAgICAgIHZhciBwYXJ0ID0gcGFydHNfMV8xLnZhbHVlO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICB0eXBlOiBwYXJ0LnR5cGUsXG4gICAgICAgICAgICAgIHZhbHVlOiBwYXJ0LnZhbHVlLFxuICAgICAgICAgICAgICB1bml0OiB1bml0XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVfMl8xKSB7XG4gICAgICAgICAgZV8yID0ge1xuICAgICAgICAgICAgZXJyb3I6IGVfMl8xXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHBhcnRzXzFfMSAmJiAhcGFydHNfMV8xLmRvbmUgJiYgKF9iID0gcGFydHNfMS5yZXR1cm4pKSBfYi5jYWxsKHBhcnRzXzEpO1xuICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBpZiAoZV8yKSB0aHJvdyBlXzIuZXJyb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlXzFfMSkge1xuICAgIGVfMSA9IHtcbiAgICAgIGVycm9yOiBlXzFfMVxuICAgIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChwYXR0ZXJuUGFydHNfMV8xICYmICFwYXR0ZXJuUGFydHNfMV8xLmRvbmUgJiYgKF9hID0gcGF0dGVyblBhcnRzXzEucmV0dXJuKSkgX2EuY2FsbChwYXR0ZXJuUGFydHNfMSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChlXzEpIHRocm93IGVfMS5lcnJvcjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBvYmplY3RJcyh4LCB5KSB7XG4gIGlmIChPYmplY3QuaXMpIHtcbiAgICByZXR1cm4gT2JqZWN0LmlzKHgsIHkpO1xuICB9IC8vIFNhbWVWYWx1ZSBhbGdvcml0aG1cblxuXG4gIGlmICh4ID09PSB5KSB7XG4gICAgLy8gU3RlcHMgMS01LCA3LTEwXG4gICAgLy8gU3RlcHMgNi5iLTYuZTogKzAgIT0gLTBcbiAgICByZXR1cm4geCAhPT0gMCB8fCAxIC8geCA9PT0gMSAvIHk7XG4gIH0gLy8gU3RlcCA2LmE6IE5hTiA9PSBOYU5cblxuXG4gIHJldHVybiB4ICE9PSB4ICYmIHkgIT09IHk7XG59XG5cbmZ1bmN0aW9uIHRvU3RyaW5nKGFyZykge1xuICByZXR1cm4gYXJnICsgJyc7XG59XG4vKipcbiAqIFBhcnRpdGlvblJlbGF0aXZlVGltZVBhdHRlcm5cbiAqIEBwYXJhbSBydGZcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHBhcmFtIHVuaXRcbiAqL1xuXG5cbmZ1bmN0aW9uIHBhcnRpdGlvblJlbGF0aXZlVGltZVBhdHRlcm4oaW50ZXJuYWxTbG90TWFwLCBydGYsIHZhbHVlLCB1bml0KSB7XG4gIGludGxfdXRpbHNfMS5pbnZhcmlhbnQodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJywgXCJ2YWx1ZSBtdXN0IGJlIG51bWJlciwgaW5zdGVhZCBnb3QgXCIgKyB0eXBlb2YgdmFsdWUsIFR5cGVFcnJvcik7XG4gIGludGxfdXRpbHNfMS5pbnZhcmlhbnQodHlwZW9mIHVuaXQgPT09ICdzdHJpbmcnLCBcInVuaXQgbXVzdCBiZSBudW1iZXIsIGluc3RlYWQgZ290IFwiICsgdHlwZW9mIHZhbHVlLCBUeXBlRXJyb3IpO1xuXG4gIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IEluZmluaXR5IHx8IHZhbHVlID09PSAtSW5maW5pdHkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkludmFsaWQgdmFsdWUgXCIgKyB2YWx1ZSk7XG4gIH1cblxuICB2YXIgcmVzb2x2ZWRVbml0ID0gc2luZ3VsYXJSZWxhdGl2ZVRpbWVVbml0KHVuaXQpO1xuICB2YXIgZmllbGRzID0gaW50bF91dGlsc18xLmdldEludGVybmFsU2xvdChpbnRlcm5hbFNsb3RNYXAsIHJ0ZiwgJ2ZpZWxkcycpO1xuICB2YXIgc3R5bGUgPSBpbnRsX3V0aWxzXzEuZ2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgcnRmLCAnc3R5bGUnKTtcbiAgdmFyIGVudHJ5ID0gcmVzb2x2ZWRVbml0O1xuXG4gIGlmIChzdHlsZSA9PT0gJ3Nob3J0Jykge1xuICAgIGVudHJ5ID0gdW5pdCArIFwiLXNob3J0XCI7XG4gIH0gZWxzZSBpZiAoc3R5bGUgPT09ICduYXJyb3cnKSB7XG4gICAgZW50cnkgPSB1bml0ICsgXCItbmFycm93XCI7XG4gIH1cblxuICBpZiAoIShlbnRyeSBpbiBmaWVsZHMpKSB7XG4gICAgZW50cnkgPSB1bml0O1xuICB9XG5cbiAgdmFyIHBhdHRlcm5zID0gZmllbGRzW2VudHJ5XTtcbiAgdmFyIG51bWVyaWMgPSBpbnRsX3V0aWxzXzEuZ2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgcnRmLCAnbnVtZXJpYycpO1xuXG4gIGlmIChudW1lcmljID09PSAnYXV0bycpIHtcbiAgICBpZiAodG9TdHJpbmcodmFsdWUpIGluIHBhdHRlcm5zKSB7XG4gICAgICByZXR1cm4gW3tcbiAgICAgICAgdHlwZTogJ2xpdGVyYWwnLFxuICAgICAgICB2YWx1ZTogcGF0dGVybnNbdG9TdHJpbmcodmFsdWUpXVxuICAgICAgfV07XG4gICAgfVxuICB9XG5cbiAgdmFyIHRsID0gJ2Z1dHVyZSc7XG5cbiAgaWYgKG9iamVjdElzKHZhbHVlLCAtMCkgfHwgdmFsdWUgPCAwKSB7XG4gICAgdGwgPSAncGFzdCc7XG4gIH1cblxuICB2YXIgcG8gPSBwYXR0ZXJuc1t0bF07XG4gIHZhciBwbHVyYWxSdWxlcyA9IGludGxfdXRpbHNfMS5nZXRJbnRlcm5hbFNsb3QoaW50ZXJuYWxTbG90TWFwLCBydGYsICdwbHVyYWxSdWxlcycpO1xuICB2YXIgbnVtYmVyRm9ybWF0ID0gaW50bF91dGlsc18xLmdldEludGVybmFsU2xvdChpbnRlcm5hbFNsb3RNYXAsIHJ0ZiwgJ251bWJlckZvcm1hdCcpO1xuICB2YXIgZnYgPSB0eXBlb2YgbnVtYmVyRm9ybWF0LmZvcm1hdFRvUGFydHMgPT09ICdmdW5jdGlvbicgPyBudW1iZXJGb3JtYXQuZm9ybWF0VG9QYXJ0cyhNYXRoLmFicyh2YWx1ZSkpIDogLy8gVE9ETzogSWYgZm9ybWF0VG9QYXJ0cyBpcyBub3Qgc3VwcG9ydGVkLCB3ZSBhc3N1bWUgdGhlIHdob2xlIGZvcm1hdHRlZFxuICAvLyBudW1iZXIgaXMgYSBwYXJ0XG4gIFt7XG4gICAgdHlwZTogJ2xpdGVyYWwnLFxuICAgIHZhbHVlOiBudW1iZXJGb3JtYXQuZm9ybWF0KE1hdGguYWJzKHZhbHVlKSksXG4gICAgdW5pdDogdW5pdFxuICB9XTtcbiAgdmFyIHByID0gcGx1cmFsUnVsZXMuc2VsZWN0KHZhbHVlKTtcbiAgdmFyIHBhdHRlcm4gPSBwb1twcl07XG4gIHJldHVybiBtYWtlUGFydHNMaXN0KHBhdHRlcm4sIHJlc29sdmVkVW5pdCwgZnYpO1xufVxuXG52YXIgUmVsYXRpdmVUaW1lRm9ybWF0ID1cbi8qKiBAY2xhc3MgKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gUmVsYXRpdmVUaW1lRm9ybWF0KGxvY2FsZXMsIG9wdGlvbnMpIHtcbiAgICAvLyB0ZXN0MjYyL3Rlc3QvaW50bDQwMi9SZWxhdGl2ZVRpbWVGb3JtYXQvY29uc3RydWN0b3IvY29uc3RydWN0b3IvbmV3dGFyZ2V0LXVuZGVmaW5lZC5qc1xuICAgIC8vIENhbm5vdCB1c2UgYG5ldy50YXJnZXRgIGJjIG9mIElFMTEgJiBUUyB0cmFuc3BpbGVzIGl0IHRvIHNvbWV0aGluZyBlbHNlXG4gICAgdmFyIG5ld1RhcmdldCA9IHRoaXMgJiYgdGhpcyBpbnN0YW5jZW9mIFJlbGF0aXZlVGltZUZvcm1hdCA/IHRoaXMuY29uc3RydWN0b3IgOiB2b2lkIDA7XG5cbiAgICBpZiAoIW5ld1RhcmdldCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludGwuUmVsYXRpdmVUaW1lRm9ybWF0IG11c3QgYmUgY2FsbGVkIHdpdGggJ25ldydcIik7XG4gICAgfVxuXG4gICAgaW50bF91dGlsc18xLnNldEludGVybmFsU2xvdChSZWxhdGl2ZVRpbWVGb3JtYXQuX19JTlRFUk5BTF9TTE9UX01BUF9fLCB0aGlzLCAnaW5pdGlhbGl6ZWRSZWxhdGl2ZVRpbWVGb3JtYXQnLCB0cnVlKTtcbiAgICB2YXIgcmVxdWVzdGVkTG9jYWxlcyA9IGludGxfdXRpbHNfMS5nZXRDYW5vbmljYWxMb2NhbGVzKGxvY2FsZXMpO1xuICAgIHZhciBvcHQgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHZhciBvcHRzID0gb3B0aW9ucyA9PT0gdW5kZWZpbmVkID8gT2JqZWN0LmNyZWF0ZShudWxsKSA6IGludGxfdXRpbHNfMS50b09iamVjdChvcHRpb25zKTtcbiAgICB2YXIgbWF0Y2hlciA9IGludGxfdXRpbHNfMS5nZXRPcHRpb24ob3B0cywgJ2xvY2FsZU1hdGNoZXInLCAnc3RyaW5nJywgWydiZXN0IGZpdCcsICdsb29rdXAnXSwgJ2Jlc3QgZml0Jyk7XG4gICAgb3B0LmxvY2FsZU1hdGNoZXIgPSBtYXRjaGVyO1xuICAgIHZhciBudW1iZXJpbmdTeXN0ZW0gPSBpbnRsX3V0aWxzXzEuZ2V0T3B0aW9uKG9wdHMsICdudW1iZXJpbmdTeXN0ZW0nLCAnc3RyaW5nJywgdW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuXG4gICAgaWYgKG51bWJlcmluZ1N5c3RlbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoIU5VTUJFUklOR19TWVNURU1fUkVHRVgudGVzdChudW1iZXJpbmdTeXN0ZW0pKSB7XG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCBudW1iZXJpbmcgc3lzdGVtIFwiICsgbnVtYmVyaW5nU3lzdGVtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvcHQubnUgPSBudW1iZXJpbmdTeXN0ZW07XG4gICAgdmFyIHIgPSBpbnRsX3V0aWxzXzEuY3JlYXRlUmVzb2x2ZUxvY2FsZShSZWxhdGl2ZVRpbWVGb3JtYXQuZ2V0RGVmYXVsdExvY2FsZSkoUmVsYXRpdmVUaW1lRm9ybWF0LmF2YWlsYWJsZUxvY2FsZXMsIHJlcXVlc3RlZExvY2FsZXMsIG9wdCwgUmVsYXRpdmVUaW1lRm9ybWF0LnJlbGV2YW50RXh0ZW5zaW9uS2V5cywgUmVsYXRpdmVUaW1lRm9ybWF0LmxvY2FsZURhdGEpO1xuICAgIHZhciBsb2NhbGUgPSByLmxvY2FsZSxcbiAgICAgICAgbnUgPSByLm51O1xuICAgIGludGxfdXRpbHNfMS5zZXRJbnRlcm5hbFNsb3QoUmVsYXRpdmVUaW1lRm9ybWF0Ll9fSU5URVJOQUxfU0xPVF9NQVBfXywgdGhpcywgJ2xvY2FsZScsIGxvY2FsZSk7XG4gICAgaW50bF91dGlsc18xLnNldEludGVybmFsU2xvdChSZWxhdGl2ZVRpbWVGb3JtYXQuX19JTlRFUk5BTF9TTE9UX01BUF9fLCB0aGlzLCAnc3R5bGUnLCBpbnRsX3V0aWxzXzEuZ2V0T3B0aW9uKG9wdHMsICdzdHlsZScsICdzdHJpbmcnLCBbJ2xvbmcnLCAnbmFycm93JywgJ3Nob3J0J10sICdsb25nJykpO1xuICAgIGludGxfdXRpbHNfMS5zZXRJbnRlcm5hbFNsb3QoUmVsYXRpdmVUaW1lRm9ybWF0Ll9fSU5URVJOQUxfU0xPVF9NQVBfXywgdGhpcywgJ251bWVyaWMnLCBpbnRsX3V0aWxzXzEuZ2V0T3B0aW9uKG9wdHMsICdudW1lcmljJywgJ3N0cmluZycsIFsnYWx3YXlzJywgJ2F1dG8nXSwgJ2Fsd2F5cycpKTtcbiAgICBpbnRsX3V0aWxzXzEuc2V0SW50ZXJuYWxTbG90KFJlbGF0aXZlVGltZUZvcm1hdC5fX0lOVEVSTkFMX1NMT1RfTUFQX18sIHRoaXMsICdmaWVsZHMnLCBSZWxhdGl2ZVRpbWVGb3JtYXQubG9jYWxlRGF0YVtsb2NhbGVdKTtcbiAgICBpbnRsX3V0aWxzXzEuc2V0SW50ZXJuYWxTbG90KFJlbGF0aXZlVGltZUZvcm1hdC5fX0lOVEVSTkFMX1NMT1RfTUFQX18sIHRoaXMsICdudW1iZXJGb3JtYXQnLCBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlcykpO1xuICAgIGludGxfdXRpbHNfMS5zZXRJbnRlcm5hbFNsb3QoUmVsYXRpdmVUaW1lRm9ybWF0Ll9fSU5URVJOQUxfU0xPVF9NQVBfXywgdGhpcywgJ3BsdXJhbFJ1bGVzJywgbmV3IEludGwuUGx1cmFsUnVsZXMobG9jYWxlcykpO1xuICAgIGludGxfdXRpbHNfMS5zZXRJbnRlcm5hbFNsb3QoUmVsYXRpdmVUaW1lRm9ybWF0Ll9fSU5URVJOQUxfU0xPVF9NQVBfXywgdGhpcywgJ251bWJlcmluZ1N5c3RlbScsIG51KTtcbiAgfVxuXG4gIFJlbGF0aXZlVGltZUZvcm1hdC5wcm90b3R5cGUuZm9ybWF0ID0gZnVuY3Rpb24gKHZhbHVlLCB1bml0KSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzICE9PSAnb2JqZWN0Jykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignZm9ybWF0IHdhcyBjYWxsZWQgb24gYSBub24tb2JqZWN0Jyk7XG4gICAgfVxuXG4gICAgaWYgKCFpbnRsX3V0aWxzXzEuZ2V0SW50ZXJuYWxTbG90KFJlbGF0aXZlVGltZUZvcm1hdC5fX0lOVEVSTkFMX1NMT1RfTUFQX18sIHRoaXMsICdpbml0aWFsaXplZFJlbGF0aXZlVGltZUZvcm1hdCcpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdmb3JtYXQgd2FzIGNhbGxlZCBvbiBhIGludmFsaWQgY29udGV4dCcpO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJ0aXRpb25SZWxhdGl2ZVRpbWVQYXR0ZXJuKFJlbGF0aXZlVGltZUZvcm1hdC5fX0lOVEVSTkFMX1NMT1RfTUFQX18sIHRoaXMsIE51bWJlcih2YWx1ZSksIHRvU3RyaW5nKHVuaXQpKS5tYXAoZnVuY3Rpb24gKGVsKSB7XG4gICAgICByZXR1cm4gZWwudmFsdWU7XG4gICAgfSkuam9pbignJyk7XG4gIH07XG5cbiAgUmVsYXRpdmVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXRUb1BhcnRzID0gZnVuY3Rpb24gKHZhbHVlLCB1bml0KSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzICE9PSAnb2JqZWN0Jykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignZm9ybWF0VG9QYXJ0cyB3YXMgY2FsbGVkIG9uIGEgbm9uLW9iamVjdCcpO1xuICAgIH1cblxuICAgIGlmICghaW50bF91dGlsc18xLmdldEludGVybmFsU2xvdChSZWxhdGl2ZVRpbWVGb3JtYXQuX19JTlRFUk5BTF9TTE9UX01BUF9fLCB0aGlzLCAnaW5pdGlhbGl6ZWRSZWxhdGl2ZVRpbWVGb3JtYXQnKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignZm9ybWF0VG9QYXJ0cyB3YXMgY2FsbGVkIG9uIGEgaW52YWxpZCBjb250ZXh0Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnRpdGlvblJlbGF0aXZlVGltZVBhdHRlcm4oUmVsYXRpdmVUaW1lRm9ybWF0Ll9fSU5URVJOQUxfU0xPVF9NQVBfXywgdGhpcywgTnVtYmVyKHZhbHVlKSwgdG9TdHJpbmcodW5pdCkpO1xuICB9O1xuXG4gIFJlbGF0aXZlVGltZUZvcm1hdC5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zID0gZnVuY3Rpb24gKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3Jlc29sdmVkT3B0aW9ucyB3YXMgY2FsbGVkIG9uIGEgbm9uLW9iamVjdCcpO1xuICAgIH1cblxuICAgIGlmICghaW50bF91dGlsc18xLmdldEludGVybmFsU2xvdChSZWxhdGl2ZVRpbWVGb3JtYXQuX19JTlRFUk5BTF9TTE9UX01BUF9fLCB0aGlzLCAnaW5pdGlhbGl6ZWRSZWxhdGl2ZVRpbWVGb3JtYXQnKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigncmVzb2x2ZWRPcHRpb25zIHdhcyBjYWxsZWQgb24gYSBpbnZhbGlkIGNvbnRleHQnKTtcbiAgICB9IC8vIHRlc3QyNjIvdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL3R5cGUuanNcblxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2FsZTogaW50bF91dGlsc18xLmdldEludGVybmFsU2xvdChSZWxhdGl2ZVRpbWVGb3JtYXQuX19JTlRFUk5BTF9TTE9UX01BUF9fLCB0aGlzLCAnbG9jYWxlJyksXG4gICAgICBzdHlsZTogaW50bF91dGlsc18xLmdldEludGVybmFsU2xvdChSZWxhdGl2ZVRpbWVGb3JtYXQuX19JTlRFUk5BTF9TTE9UX01BUF9fLCB0aGlzLCAnc3R5bGUnKSxcbiAgICAgIG51bWVyaWM6IGludGxfdXRpbHNfMS5nZXRJbnRlcm5hbFNsb3QoUmVsYXRpdmVUaW1lRm9ybWF0Ll9fSU5URVJOQUxfU0xPVF9NQVBfXywgdGhpcywgJ251bWVyaWMnKSxcbiAgICAgIG51bWJlcmluZ1N5c3RlbTogaW50bF91dGlsc18xLmdldEludGVybmFsU2xvdChSZWxhdGl2ZVRpbWVGb3JtYXQuX19JTlRFUk5BTF9TTE9UX01BUF9fLCB0aGlzLCAnbnVtYmVyaW5nU3lzdGVtJylcbiAgICB9O1xuICB9O1xuXG4gIFJlbGF0aXZlVGltZUZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YgPSBmdW5jdGlvbiAobG9jYWxlcywgb3B0aW9ucykge1xuICAgIHJldHVybiBpbnRsX3V0aWxzXzEuc3VwcG9ydGVkTG9jYWxlcyhSZWxhdGl2ZVRpbWVGb3JtYXQuYXZhaWxhYmxlTG9jYWxlcywgaW50bF91dGlsc18xLmdldENhbm9uaWNhbExvY2FsZXMobG9jYWxlcyksIG9wdGlvbnMpO1xuICB9O1xuXG4gIFJlbGF0aXZlVGltZUZvcm1hdC5fX2FkZExvY2FsZURhdGEgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGVfMywgX2E7XG5cbiAgICB2YXIgZGF0YSA9IFtdO1xuXG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgIGRhdGFbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG5cbiAgICB2YXIgX2xvb3BfMSA9IGZ1bmN0aW9uIF9sb29wXzEoZGF0dW0pIHtcbiAgICAgIHZhciBhdmFpbGFibGVMb2NhbGVzID0gT2JqZWN0LmtleXMoX19zcHJlYWQoZGF0dW0uYXZhaWxhYmxlTG9jYWxlcywgT2JqZWN0LmtleXMoZGF0dW0uYWxpYXNlcyksIE9iamVjdC5rZXlzKGRhdHVtLnBhcmVudExvY2FsZXMpKS5yZWR1Y2UoZnVuY3Rpb24gKGFsbCwgaykge1xuICAgICAgICBhbGxba10gPSB0cnVlO1xuICAgICAgICByZXR1cm4gYWxsO1xuICAgICAgfSwge30pKTtcbiAgICAgIGF2YWlsYWJsZUxvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUmVsYXRpdmVUaW1lRm9ybWF0LmxvY2FsZURhdGFbbG9jYWxlXSA9IHVucGFja0RhdGEobG9jYWxlLCBkYXR1bSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHsvLyBJZiB3ZSBjYW4ndCB1bnBhY2sgdGhpcyBkYXRhLCBpZ25vcmUgdGhlIGxvY2FsZVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgdHJ5IHtcbiAgICAgIGZvciAodmFyIGRhdGFfMSA9IF9fdmFsdWVzKGRhdGEpLCBkYXRhXzFfMSA9IGRhdGFfMS5uZXh0KCk7ICFkYXRhXzFfMS5kb25lOyBkYXRhXzFfMSA9IGRhdGFfMS5uZXh0KCkpIHtcbiAgICAgICAgdmFyIGRhdHVtID0gZGF0YV8xXzEudmFsdWU7XG5cbiAgICAgICAgX2xvb3BfMShkYXR1bSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZV8zXzEpIHtcbiAgICAgIGVfMyA9IHtcbiAgICAgICAgZXJyb3I6IGVfM18xXG4gICAgICB9O1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoZGF0YV8xXzEgJiYgIWRhdGFfMV8xLmRvbmUgJiYgKF9hID0gZGF0YV8xLnJldHVybikpIF9hLmNhbGwoZGF0YV8xKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlmIChlXzMpIHRocm93IGVfMy5lcnJvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBSZWxhdGl2ZVRpbWVGb3JtYXQuYXZhaWxhYmxlTG9jYWxlcyA9IE9iamVjdC5rZXlzKFJlbGF0aXZlVGltZUZvcm1hdC5sb2NhbGVEYXRhKTtcblxuICAgIGlmICghUmVsYXRpdmVUaW1lRm9ybWF0Ll9fZGVmYXVsdExvY2FsZSkge1xuICAgICAgUmVsYXRpdmVUaW1lRm9ybWF0Ll9fZGVmYXVsdExvY2FsZSA9IFJlbGF0aXZlVGltZUZvcm1hdC5hdmFpbGFibGVMb2NhbGVzWzBdO1xuICAgIH1cbiAgfTtcblxuICBSZWxhdGl2ZVRpbWVGb3JtYXQuZ2V0RGVmYXVsdExvY2FsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gUmVsYXRpdmVUaW1lRm9ybWF0Ll9fZGVmYXVsdExvY2FsZTtcbiAgfTtcblxuICBSZWxhdGl2ZVRpbWVGb3JtYXQubG9jYWxlRGF0YSA9IHt9O1xuICBSZWxhdGl2ZVRpbWVGb3JtYXQuYXZhaWxhYmxlTG9jYWxlcyA9IFtdO1xuICBSZWxhdGl2ZVRpbWVGb3JtYXQuX19kZWZhdWx0TG9jYWxlID0gJ2VuJztcbiAgUmVsYXRpdmVUaW1lRm9ybWF0LnJlbGV2YW50RXh0ZW5zaW9uS2V5cyA9IFsnbnUnXTtcbiAgUmVsYXRpdmVUaW1lRm9ybWF0LnBvbHlmaWxsZWQgPSB0cnVlO1xuICBSZWxhdGl2ZVRpbWVGb3JtYXQuX19JTlRFUk5BTF9TTE9UX01BUF9fID0gbmV3IFdlYWtNYXAoKTtcbiAgcmV0dXJuIFJlbGF0aXZlVGltZUZvcm1hdDtcbn0oKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gUmVsYXRpdmVUaW1lRm9ybWF0O1xuXG50cnkge1xuICAvLyBJRTExIGRvZXMgbm90IGhhdmUgU3ltYm9sXG4gIGlmICh0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWxhdGl2ZVRpbWVGb3JtYXQucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcsIHtcbiAgICAgIHZhbHVlOiAnSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQnLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgfSAvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS90ZXN0MjYyL2Jsb2IvbWFzdGVyL3Rlc3QvaW50bDQwMi9SZWxhdGl2ZVRpbWVGb3JtYXQvY29uc3RydWN0b3IvbGVuZ3RoLmpzXG5cblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVsYXRpdmVUaW1lRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgJ2xlbmd0aCcsIHtcbiAgICB2YWx1ZTogMCxcbiAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pOyAvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS90ZXN0MjYyL2Jsb2IvbWFzdGVyL3Rlc3QvaW50bDQwMi9SZWxhdGl2ZVRpbWVGb3JtYXQvY29uc3RydWN0b3Ivc3VwcG9ydGVkTG9jYWxlc09mL2xlbmd0aC5qc1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWxhdGl2ZVRpbWVGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mLCAnbGVuZ3RoJywge1xuICAgIHZhbHVlOiAxLFxuICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7XG59IGNhdGNoIChlKSB7Ly8gTWV0YSBmaXggc28gd2UncmUgdGVzdDI2Mi1jb21wbGlhbnQsIG5vdCBpbXBvcnRhbnRcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///9905\n")},8079:function(){eval('/* @generated */\n// prettier-ignore\nif (Intl.RelativeTimeFormat && typeof Intl.RelativeTimeFormat.__addLocaleData === \'function\') {\n Intl.RelativeTimeFormat.__addLocaleData({\n "data": {\n "en-001": {\n "year-short": {\n "0": "this yr",\n "1": "next yr",\n "future": {\n "one": "in {0} yr",\n "other": "in {0} yr"\n },\n "past": {\n "one": "{0} yr ago",\n "other": "{0} yr ago"\n },\n "-1": "last yr"\n },\n "year-narrow": {\n "0": "this yr",\n "1": "next yr",\n "future": {\n "one": "in {0} yr",\n "other": "in {0} yr"\n },\n "past": {\n "one": "{0} yr ago",\n "other": "{0} yr ago"\n },\n "-1": "last yr"\n },\n "quarter-short": {\n "0": "this qtr.",\n "1": "next qtr.",\n "future": {\n "one": "in {0} qtr",\n "other": "in {0} qtr"\n },\n "past": {\n "one": "{0} qtr ago",\n "other": "{0} qtr ago"\n },\n "-1": "last qtr."\n },\n "quarter-narrow": {\n "0": "this qtr.",\n "1": "next qtr.",\n "future": {\n "one": "in {0} qtr",\n "other": "in {0} qtr"\n },\n "past": {\n "one": "{0} qtr ago",\n "other": "{0} qtr ago"\n },\n "-1": "last qtr."\n },\n "month-short": {\n "0": "this mo",\n "1": "next mo",\n "future": {\n "one": "in {0} mo",\n "other": "in {0} mo"\n },\n "past": {\n "one": "{0} mo ago",\n "other": "{0} mo ago"\n },\n "-1": "last mo"\n },\n "month-narrow": {\n "0": "this mo",\n "1": "next mo",\n "future": {\n "one": "in {0} mo",\n "other": "in {0} mo"\n },\n "past": {\n "one": "{0} mo ago",\n "other": "{0} mo ago"\n },\n "-1": "last mo"\n },\n "week-short": {\n "0": "this wk",\n "1": "next wk",\n "future": {\n "one": "in {0} wk",\n "other": "in {0} wk"\n },\n "past": {\n "one": "{0} wk ago",\n "other": "{0} wk ago"\n },\n "-1": "last wk"\n },\n "week-narrow": {\n "0": "this wk",\n "1": "next wk",\n "future": {\n "one": "in {0} wk",\n "other": "in {0} wk"\n },\n "past": {\n "one": "{0} wk ago",\n "other": "{0} wk ago"\n },\n "-1": "last wk"\n },\n "hour-short": {\n "0": "this hour",\n "future": {\n "one": "in {0} hr",\n "other": "in {0} hr"\n },\n "past": {\n "one": "{0} hr ago",\n "other": "{0} hr ago"\n }\n },\n "hour-narrow": {\n "0": "this hour",\n "future": {\n "one": "in {0} hr",\n "other": "in {0} hr"\n },\n "past": {\n "one": "{0} hr ago",\n "other": "{0} hr ago"\n }\n },\n "minute-short": {\n "0": "this minute",\n "future": {\n "one": "in {0} min",\n "other": "in {0} min"\n },\n "past": {\n "one": "{0} min ago",\n "other": "{0} min ago"\n }\n },\n "minute-narrow": {\n "0": "this minute",\n "future": {\n "one": "in {0} min",\n "other": "in {0} min"\n },\n "past": {\n "one": "{0} min ago",\n "other": "{0} min ago"\n }\n },\n "second-short": {\n "0": "now",\n "future": {\n "one": "in {0} sec",\n "other": "in {0} sec"\n },\n "past": {\n "one": "{0} sec ago",\n "other": "{0} sec ago"\n }\n },\n "second-narrow": {\n "0": "now",\n "future": {\n "one": "in {0} sec",\n "other": "in {0} sec"\n },\n "past": {\n "one": "{0} sec ago",\n "other": "{0} sec ago"\n }\n }\n },\n "en-150": {\n "year-short": {\n "0": "this yr",\n "1": "next yr",\n "future": {\n "one": "in {0} yr",\n "other": "in {0} yr"\n },\n "past": {\n "one": "{0} yr ago",\n "other": "{0} yr ago"\n },\n "-1": "last yr"\n },\n "year-narrow": {\n "0": "this yr",\n "1": "next yr",\n "future": {\n "one": "in {0} yr",\n "other": "in {0} yr"\n },\n "past": {\n "one": "{0} yr ago",\n "other": "{0} yr ago"\n },\n "-1": "last yr"\n },\n "quarter-short": {\n "0": "this qtr.",\n "1": "next qtr.",\n "future": {\n "one": "in {0} qtr",\n "other": "in {0} qtr"\n },\n "past": {\n "one": "{0} qtr ago",\n "other": "{0} qtr ago"\n },\n "-1": "last qtr."\n },\n "quarter-narrow": {\n "0": "this qtr.",\n "1": "next qtr.",\n "future": {\n "one": "in {0} qtr",\n "other": "in {0} qtr"\n },\n "past": {\n "one": "{0} qtr ago",\n "other": "{0} qtr ago"\n },\n "-1": "last qtr."\n },\n "month-short": {\n "0": "this mo",\n "1": "next mo",\n "future": {\n "one": "in {0} mo",\n "other": "in {0} mo"\n },\n "past": {\n "one": "{0} mo ago",\n "other": "{0} mo ago"\n },\n "-1": "last mo"\n },\n "month-narrow": {\n "0": "this mo",\n "1": "next mo",\n "future": {\n "one": "in {0} mo",\n "other": "in {0} mo"\n },\n "past": {\n "one": "{0} mo ago",\n "other": "{0} mo ago"\n },\n "-1": "last mo"\n },\n "week-short": {\n "0": "this wk",\n "1": "next wk",\n "future": {\n "one": "in {0} wk",\n "other": "in {0} wk"\n },\n "past": {\n "one": "{0} wk ago",\n "other": "{0} wk ago"\n },\n "-1": "last wk"\n },\n "week-narrow": {\n "0": "this wk",\n "1": "next wk",\n "future": {\n "one": "in {0} wk",\n "other": "in {0} wk"\n },\n "past": {\n "one": "{0} wk ago",\n "other": "{0} wk ago"\n },\n "-1": "last wk"\n },\n "hour-short": {\n "0": "this hour",\n "future": {\n "one": "in {0} hr",\n "other": "in {0} hr"\n },\n "past": {\n "one": "{0} hr ago",\n "other": "{0} hr ago"\n }\n },\n "hour-narrow": {\n "0": "this hour",\n "future": {\n "one": "in {0} hr",\n "other": "in {0} hr"\n },\n "past": {\n "one": "{0} hr ago",\n "other": "{0} hr ago"\n }\n },\n "minute-short": {\n "0": "this minute",\n "future": {\n "one": "in {0} min",\n "other": "in {0} min"\n },\n "past": {\n "one": "{0} min ago",\n "other": "{0} min ago"\n }\n },\n "minute-narrow": {\n "0": "this minute",\n "future": {\n "one": "in {0} min",\n "other": "in {0} min"\n },\n "past": {\n "one": "{0} min ago",\n "other": "{0} min ago"\n }\n },\n "second-short": {\n "0": "now",\n "future": {\n "one": "in {0} sec",\n "other": "in {0} sec"\n },\n "past": {\n "one": "{0} sec ago",\n "other": "{0} sec ago"\n }\n },\n "second-narrow": {\n "0": "now",\n "future": {\n "one": "in {0} sec",\n "other": "in {0} sec"\n },\n "past": {\n "one": "{0} sec ago",\n "other": "{0} sec ago"\n }\n }\n },\n "en-AU": {\n "year-short": {\n "0": "this yr",\n "1": "next yr",\n "future": {\n "one": "in {0} yr",\n "other": "in {0} yrs"\n },\n "past": {\n "one": "{0} yr ago",\n "other": "{0} yrs ago"\n },\n "-1": "last yr"\n },\n "year-narrow": {\n "0": "this yr",\n "1": "next yr",\n "future": {\n "one": "in {0} yr",\n "other": "in {0} yrs"\n },\n "past": {\n "one": "{0} yr ago",\n "other": "{0} yrs ago"\n },\n "-1": "last yr"\n },\n "quarter-short": {\n "0": "this qtr.",\n "1": "next qtr.",\n "future": {\n "one": "in {0} qtr",\n "other": "in {0} qtrs"\n },\n "past": {\n "one": "{0} qtr ago",\n "other": "{0} qtrs ago"\n },\n "-1": "last qtr."\n },\n "quarter-narrow": {\n "0": "this qtr.",\n "1": "next qtr.",\n "future": {\n "one": "in {0} qtr",\n "other": "in {0} qtrs"\n },\n "past": {\n "one": "in {0} qtr ago",\n "other": "{0} qtrs ago"\n },\n "-1": "last qtr."\n },\n "month-short": {\n "0": "this mo",\n "1": "next mo",\n "future": {\n "one": "in {0} mo.",\n "other": "in {0} mo."\n },\n "past": {\n "one": "{0} mo. ago",\n "other": "{0} mo. ago"\n },\n "-1": "last mo"\n },\n "month-narrow": {\n "0": "this mo",\n "1": "next mo",\n "future": {\n "one": "in {0} mo.",\n "other": "in {0} mo."\n },\n "past": {\n "one": "{0} mo. ago",\n "other": "{0} mo. ago"\n },\n "-1": "last mo"\n },\n "week-short": {\n "0": "this wk",\n "1": "next wk",\n "future": {\n "one": "in {0} wk",\n "other": "in {0} wks"\n },\n "past": {\n "one": "{0} wk ago",\n "other": "{0} wks ago"\n },\n "-1": "last wk"\n },\n "week-narrow": {\n "0": "this wk",\n "1": "next wk",\n "future": {\n "one": "in {0} wk",\n "other": "in {0} wks"\n },\n "past": {\n "one": "{0} wk ago",\n "other": "{0} wks ago"\n },\n "-1": "last wk"\n },\n "hour-short": {\n "0": "this hour",\n "future": {\n "one": "in {0} hr",\n "other": "in {0} hrs"\n },\n "past": {\n "one": "{0} hr ago",\n "other": "{0} hrs ago"\n }\n },\n "hour-narrow": {\n "0": "this hour",\n "future": {\n "one": "in {0} hr",\n "other": "in {0} hrs"\n },\n "past": {\n "one": "{0} hr ago",\n "other": "{0} hrs ago"\n }\n },\n "minute-short": {\n "0": "this minute",\n "future": {\n "one": "in {0} min.",\n "other": "in {0} mins"\n },\n "past": {\n "one": "{0} min. ago",\n "other": "{0} mins ago"\n }\n },\n "minute-narrow": {\n "0": "this minute",\n "future": {\n "one": "in {0} min.",\n "other": "in {0} mins"\n },\n "past": {\n "one": "{0} min. ago",\n "other": "{0} mins ago"\n }\n },\n "second-short": {\n "0": "now",\n "future": {\n "one": "in {0} sec.",\n "other": "in {0} secs"\n },\n "past": {\n "one": "{0} sec. ago",\n "other": "{0} secs ago"\n }\n },\n "second-narrow": {\n "0": "now",\n "future": {\n "one": "in {0} sec.",\n "other": "in {0} secs"\n },\n "past": {\n "one": "{0} sec. ago",\n "other": "{0} secs ago"\n }\n }\n },\n "en-CA": {\n "year-short": {\n "0": "this yr",\n "1": "next yr",\n "future": {\n "one": "in {0} yr.",\n "other": "in {0} yrs."\n },\n "past": {\n "one": "{0} yr. ago",\n "other": "{0} yrs. ago"\n },\n "-1": "last yr"\n },\n "year-narrow": {\n "0": "this yr",\n "1": "next yr",\n "future": {\n "one": "in {0} yr.",\n "other": "in {0} yrs."\n },\n "past": {\n "one": "{0} yr. ago",\n "other": "{0} yrs. ago"\n },\n "-1": "last yr"\n },\n "quarter-short": {\n "0": "this qtr.",\n "1": "next qtr.",\n "future": {\n "one": "in {0} qtr.",\n "other": "in {0} qtrs."\n },\n "past": {\n "one": "{0} qtr. ago",\n "other": "{0} qtrs. ago"\n },\n "-1": "last qtr."\n },\n "quarter-narrow": {\n "0": "this qtr.",\n "1": "next qtr.",\n "future": {\n "one": "in {0} qtr.",\n "other": "in {0} qtrs."\n },\n "past": {\n "one": "{0} qtr. ago",\n "other": "{0} qtrs. ago"\n },\n "-1": "last qtr."\n },\n "month-short": {\n "0": "this mo",\n "1": "next mo",\n "future": {\n "one": "in {0} mo.",\n "other": "in {0} mos."\n },\n "past": {\n "one": "{0} mo. ago",\n "other": "{0} mos. ago"\n },\n "-1": "last mo"\n },\n "month-narrow": {\n "0": "this mo",\n "1": "next mo",\n "future": {\n "one": "in {0} mo.",\n "other": "in {0} mos."\n },\n "past": {\n "one": "{0} mo. ago",\n "other": "{0} mos. ago"\n },\n "-1": "last mo"\n },\n "week-short": {\n "0": "this wk",\n "1": "next wk",\n "future": {\n "one": "in {0} wk.",\n "other": "in {0} wks."\n },\n "past": {\n "one": "{0} wk. ago",\n "other": "{0} wks. ago"\n },\n "-1": "last wk"\n },\n "week-narrow": {\n "0": "this wk",\n "1": "next wk",\n "future": {\n "one": "in {0} wk.",\n "other": "in {0} wks."\n },\n "past": {\n "one": "{0} wk. ago",\n "other": "{0} wks. ago"\n },\n "-1": "last wk"\n },\n "hour-short": {\n "0": "this hour",\n "future": {\n "one": "in {0} hr.",\n "other": "in {0} hrs."\n },\n "past": {\n "one": "{0} hr. ago",\n "other": "{0} hrs. ago"\n }\n },\n "hour-narrow": {\n "0": "this hour",\n "future": {\n "one": "in {0} hr.",\n "other": "in {0} hrs."\n },\n "past": {\n "one": "{0} hr. ago",\n "other": "{0} hrs. ago"\n }\n },\n "minute-short": {\n "0": "this minute",\n "future": {\n "one": "in {0} min.",\n "other": "in {0} mins."\n },\n "past": {\n "one": "{0} min. ago",\n "other": "{0} mins. ago"\n }\n },\n "minute-narrow": {\n "0": "this minute",\n "future": {\n "one": "in {0} min.",\n "other": "in {0} mins."\n },\n "past": {\n "one": "{0} min. ago",\n "other": "{0} mins. ago"\n }\n },\n "second-short": {\n "0": "now",\n "future": {\n "one": "in {0} sec.",\n "other": "in {0} secs."\n },\n "past": {\n "one": "{0} sec. ago",\n "other": "{0} secs. ago"\n }\n },\n "second-narrow": {\n "0": "now",\n "future": {\n "one": "in {0} sec.",\n "other": "in {0} secs."\n },\n "past": {\n "one": "{0} sec. ago",\n "other": "{0} secs. ago"\n }\n }\n },\n "en-SG": {\n "quarter-short": {\n "0": "this qtr",\n "1": "next qtr",\n "future": {\n "one": "in {0} qtr",\n "other": "in {0} qtrs"\n },\n "past": {\n "one": "{0} qtr ago",\n "other": "{0} qtrs ago"\n },\n "-1": "last qtr"\n },\n "quarter-narrow": {\n "0": "this qtr",\n "1": "next qtr",\n "future": {\n "one": "in {0} qtr",\n "other": "in {0} qtr"\n },\n "past": {\n "one": "{0} qtr ago",\n "other": "{0} qtr ago"\n },\n "-1": "last qtr"\n },\n "month-short": {\n "0": "this mth",\n "1": "next mth",\n "future": {\n "one": "in {0} mth",\n "other": "in {0} mth"\n },\n "past": {\n "one": "{0} mth ago",\n "other": "{0} mth ago"\n },\n "-1": "last mth"\n }\n },\n "en": {\n "nu": ["latn"],\n "year": {\n "0": "this year",\n "1": "next year",\n "future": {\n "one": "in {0} year",\n "other": "in {0} years"\n },\n "past": {\n "one": "{0} year ago",\n "other": "{0} years ago"\n },\n "-1": "last year"\n },\n "year-short": {\n "0": "this yr.",\n "1": "next yr.",\n "future": {\n "one": "in {0} yr.",\n "other": "in {0} yr."\n },\n "past": {\n "one": "{0} yr. ago",\n "other": "{0} yr. ago"\n },\n "-1": "last yr."\n },\n "year-narrow": {\n "0": "this yr.",\n "1": "next yr.",\n "future": {\n "one": "in {0} yr.",\n "other": "in {0} yr."\n },\n "past": {\n "one": "{0} yr. ago",\n "other": "{0} yr. ago"\n },\n "-1": "last yr."\n },\n "quarter": {\n "0": "this quarter",\n "1": "next quarter",\n "future": {\n "one": "in {0} quarter",\n "other": "in {0} quarters"\n },\n "past": {\n "one": "{0} quarter ago",\n "other": "{0} quarters ago"\n },\n "-1": "last quarter"\n },\n "quarter-short": {\n "0": "this qtr.",\n "1": "next qtr.",\n "future": {\n "one": "in {0} qtr.",\n "other": "in {0} qtrs."\n },\n "past": {\n "one": "{0} qtr. ago",\n "other": "{0} qtrs. ago"\n },\n "-1": "last qtr."\n },\n "quarter-narrow": {\n "0": "this qtr.",\n "1": "next qtr.",\n "future": {\n "one": "in {0} qtr.",\n "other": "in {0} qtrs."\n },\n "past": {\n "one": "{0} qtr. ago",\n "other": "{0} qtrs. ago"\n },\n "-1": "last qtr."\n },\n "month": {\n "0": "this month",\n "1": "next month",\n "future": {\n "one": "in {0} month",\n "other": "in {0} months"\n },\n "past": {\n "one": "{0} month ago",\n "other": "{0} months ago"\n },\n "-1": "last month"\n },\n "month-short": {\n "0": "this mo.",\n "1": "next mo.",\n "future": {\n "one": "in {0} mo.",\n "other": "in {0} mo."\n },\n "past": {\n "one": "{0} mo. ago",\n "other": "{0} mo. ago"\n },\n "-1": "last mo."\n },\n "month-narrow": {\n "0": "this mo.",\n "1": "next mo.",\n "future": {\n "one": "in {0} mo.",\n "other": "in {0} mo."\n },\n "past": {\n "one": "{0} mo. ago",\n "other": "{0} mo. ago"\n },\n "-1": "last mo."\n },\n "week": {\n "0": "this week",\n "1": "next week",\n "future": {\n "one": "in {0} week",\n "other": "in {0} weeks"\n },\n "past": {\n "one": "{0} week ago",\n "other": "{0} weeks ago"\n },\n "-1": "last week"\n },\n "week-short": {\n "0": "this wk.",\n "1": "next wk.",\n "future": {\n "one": "in {0} wk.",\n "other": "in {0} wk."\n },\n "past": {\n "one": "{0} wk. ago",\n "other": "{0} wk. ago"\n },\n "-1": "last wk."\n },\n "week-narrow": {\n "0": "this wk.",\n "1": "next wk.",\n "future": {\n "one": "in {0} wk.",\n "other": "in {0} wk."\n },\n "past": {\n "one": "{0} wk. ago",\n "other": "{0} wk. ago"\n },\n "-1": "last wk."\n },\n "day": {\n "0": "today",\n "1": "tomorrow",\n "future": {\n "one": "in {0} day",\n "other": "in {0} days"\n },\n "past": {\n "one": "{0} day ago",\n "other": "{0} days ago"\n },\n "-1": "yesterday"\n },\n "day-short": {\n "0": "today",\n "1": "tomorrow",\n "future": {\n "one": "in {0} day",\n "other": "in {0} days"\n },\n "past": {\n "one": "{0} day ago",\n "other": "{0} days ago"\n },\n "-1": "yesterday"\n },\n "day-narrow": {\n "0": "today",\n "1": "tomorrow",\n "future": {\n "one": "in {0} day",\n "other": "in {0} days"\n },\n "past": {\n "one": "{0} day ago",\n "other": "{0} days ago"\n },\n "-1": "yesterday"\n },\n "hour": {\n "0": "this hour",\n "future": {\n "one": "in {0} hour",\n "other": "in {0} hours"\n },\n "past": {\n "one": "{0} hour ago",\n "other": "{0} hours ago"\n }\n },\n "hour-short": {\n "0": "this hour",\n "future": {\n "one": "in {0} hr.",\n "other": "in {0} hr."\n },\n "past": {\n "one": "{0} hr. ago",\n "other": "{0} hr. ago"\n }\n },\n "hour-narrow": {\n "0": "this hour",\n "future": {\n "one": "in {0} hr.",\n "other": "in {0} hr."\n },\n "past": {\n "one": "{0} hr. ago",\n "other": "{0} hr. ago"\n }\n },\n "minute": {\n "0": "this minute",\n "future": {\n "one": "in {0} minute",\n "other": "in {0} minutes"\n },\n "past": {\n "one": "{0} minute ago",\n "other": "{0} minutes ago"\n }\n },\n "minute-short": {\n "0": "this minute",\n "future": {\n "one": "in {0} min.",\n "other": "in {0} min."\n },\n "past": {\n "one": "{0} min. ago",\n "other": "{0} min. ago"\n }\n },\n "minute-narrow": {\n "0": "this minute",\n "future": {\n "one": "in {0} min.",\n "other": "in {0} min."\n },\n "past": {\n "one": "{0} min. ago",\n "other": "{0} min. ago"\n }\n },\n "second": {\n "0": "now",\n "future": {\n "one": "in {0} second",\n "other": "in {0} seconds"\n },\n "past": {\n "one": "{0} second ago",\n "other": "{0} seconds ago"\n }\n },\n "second-short": {\n "0": "now",\n "future": {\n "one": "in {0} sec.",\n "other": "in {0} sec."\n },\n "past": {\n "one": "{0} sec. ago",\n "other": "{0} sec. ago"\n }\n },\n "second-narrow": {\n "0": "now",\n "future": {\n "one": "in {0} sec.",\n "other": "in {0} sec."\n },\n "past": {\n "one": "{0} sec. ago",\n "other": "{0} sec. ago"\n }\n }\n }\n },\n "availableLocales": ["en-001", "en-150", "en-AE", "en-AG", "en-AI", "en-AS", "en-AT", "en-AU", "en-BB", "en-BE", "en-BI", "en-BM", "en-BS", "en-BW", "en-BZ", "en-CA", "en-CC", "en-CH", "en-CK", "en-CM", "en-CX", "en-CY", "en-DE", "en-DG", "en-DK", "en-DM", "en-ER", "en-FI", "en-FJ", "en-FK", "en-FM", "en-GB", "en-GD", "en-GG", "en-GH", "en-GI", "en-GM", "en-GU", "en-GY", "en-HK", "en-IE", "en-IL", "en-IM", "en-IN", "en-IO", "en-JE", "en-JM", "en-KE", "en-KI", "en-KN", "en-KY", "en-LC", "en-LR", "en-LS", "en-MG", "en-MH", "en-MO", "en-MP", "en-MS", "en-MT", "en-MU", "en-MW", "en-MY", "en-NA", "en-NF", "en-NG", "en-NL", "en-NR", "en-NU", "en-NZ", "en-PG", "en-PH", "en-PK", "en-PN", "en-PR", "en-PW", "en-RW", "en-SB", "en-SC", "en-SD", "en-SE", "en-SG", "en-SH", "en-SI", "en-SL", "en-SS", "en-SX", "en-SZ", "en-TC", "en-TK", "en-TO", "en-TT", "en-TV", "en-TZ", "en-UG", "en-UM", "en-US-POSIX", "en-US", "en-VC", "en-VG", "en-VI", "en-VU", "en-WS", "en-ZA", "en-ZM", "en-ZW", "en"],\n "aliases": {},\n "parentLocales": {\n "en-150": "en-001",\n "en-AG": "en-001",\n "en-AI": "en-001",\n "en-AU": "en-001",\n "en-BB": "en-001",\n "en-BM": "en-001",\n "en-BS": "en-001",\n "en-BW": "en-001",\n "en-BZ": "en-001",\n "en-CA": "en-001",\n "en-CC": "en-001",\n "en-CK": "en-001",\n "en-CM": "en-001",\n "en-CX": "en-001",\n "en-CY": "en-001",\n "en-DG": "en-001",\n "en-DM": "en-001",\n "en-ER": "en-001",\n "en-FJ": "en-001",\n "en-FK": "en-001",\n "en-FM": "en-001",\n "en-GB": "en-001",\n "en-GD": "en-001",\n "en-GG": "en-001",\n "en-GH": "en-001",\n "en-GI": "en-001",\n "en-GM": "en-001",\n "en-GY": "en-001",\n "en-HK": "en-001",\n "en-IE": "en-001",\n "en-IL": "en-001",\n "en-IM": "en-001",\n "en-IN": "en-001",\n "en-IO": "en-001",\n "en-JE": "en-001",\n "en-JM": "en-001",\n "en-KE": "en-001",\n "en-KI": "en-001",\n "en-KN": "en-001",\n "en-KY": "en-001",\n "en-LC": "en-001",\n "en-LR": "en-001",\n "en-LS": "en-001",\n "en-MG": "en-001",\n "en-MO": "en-001",\n "en-MS": "en-001",\n "en-MT": "en-001",\n "en-MU": "en-001",\n "en-MW": "en-001",\n "en-MY": "en-001",\n "en-NA": "en-001",\n "en-NF": "en-001",\n "en-NG": "en-001",\n "en-NR": "en-001",\n "en-NU": "en-001",\n "en-NZ": "en-001",\n "en-PG": "en-001",\n "en-PH": "en-001",\n "en-PK": "en-001",\n "en-PN": "en-001",\n "en-PW": "en-001",\n "en-RW": "en-001",\n "en-SB": "en-001",\n "en-SC": "en-001",\n "en-SD": "en-001",\n "en-SG": "en-001",\n "en-SH": "en-001",\n "en-SL": "en-001",\n "en-SS": "en-001",\n "en-SX": "en-001",\n "en-SZ": "en-001",\n "en-TC": "en-001",\n "en-TK": "en-001",\n "en-TO": "en-001",\n "en-TT": "en-001",\n "en-TV": "en-001",\n "en-TZ": "en-001",\n "en-UG": "en-001",\n "en-VC": "en-001",\n "en-VG": "en-001",\n "en-VU": "en-001",\n "en-WS": "en-001",\n "en-ZA": "en-001",\n "en-ZM": "en-001",\n "en-ZW": "en-001",\n "en-AT": "en-150",\n "en-BE": "en-150",\n "en-CH": "en-150",\n "en-DE": "en-150",\n "en-DK": "en-150",\n "en-FI": "en-150",\n "en-NL": "en-150",\n "en-SE": "en-150",\n "en-SI": "en-150"\n }\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1yZWxhdGl2ZXRpbWVmb3JtYXQvZGlzdC9sb2NhbGUtZGF0YS9lbi5qcz8zZTMyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QixXQUFXO0FBQ1g7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QixXQUFXO0FBQ1g7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QixXQUFXO0FBQ1g7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQix1QkFBdUIsRUFBRTtBQUN6QixXQUFXO0FBQ1g7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QixXQUFXO0FBQ1g7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QixXQUFXO0FBQ1g7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QixXQUFXO0FBQ1g7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QixXQUFXO0FBQ1g7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekI7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekI7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EscUJBQXFCLEVBQUU7QUFDdkIsdUJBQXVCLEVBQUU7QUFDekIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHFCQUFxQixFQUFFO0FBQ3ZCLHVCQUF1QixFQUFFO0FBQ3pCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsRUFBRTtBQUMxQiwwQkFBMEIsRUFBRTtBQUM1QixXQUFXO0FBQ1g7QUFDQSxxQkFBcUIsRUFBRTtBQUN2Qix1QkFBdUIsRUFBRTtBQUN6QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6IjgwNzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZ2VuZXJhdGVkICovXG4vLyBwcmV0dGllci1pZ25vcmVcbmlmIChJbnRsLlJlbGF0aXZlVGltZUZvcm1hdCAmJiB0eXBlb2YgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQuX19hZGRMb2NhbGVEYXRhID09PSAnZnVuY3Rpb24nKSB7XG4gIEludGwuUmVsYXRpdmVUaW1lRm9ybWF0Ll9fYWRkTG9jYWxlRGF0YSh7XG4gICAgXCJkYXRhXCI6IHtcbiAgICAgIFwiZW4tMDAxXCI6IHtcbiAgICAgICAgXCJ5ZWFyLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHlyXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCB5clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHlyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IHlyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSB5ciBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0geXIgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHlyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ5ZWFyLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyB5clwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgeXJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSB5clwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB5clwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0geXIgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHlyIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCB5clwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlci1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBxdHIuXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBxdHIuXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gcXRyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IHF0clwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gcXRyIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBxdHIgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHF0ci5cIlxuICAgICAgICB9LFxuICAgICAgICBcInF1YXJ0ZXItbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHF0ci5cIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHF0ci5cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBxdHJcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gcXRyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBxdHIgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHF0ciBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgcXRyLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibW9udGgtc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgbW9cIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IG1vXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gbW9cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gbW9cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IG1vIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBtbyBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgbW9cIlxuICAgICAgICB9LFxuICAgICAgICBcIm1vbnRoLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBtb1wiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgbW9cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBtb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbW8gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IG1vIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCBtb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwid2Vlay1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyB3a1wiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgd2tcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSB3a1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB3a1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gd2sgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHdrIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCB3a1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwid2Vlay1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgd2tcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHdrXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gd2tcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gd2tcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHdrIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSB3ayBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3Qgd2tcIlxuICAgICAgICB9LFxuICAgICAgICBcImhvdXItc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgaG91clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IGhyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IGhyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBociBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gaHIgYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiaG91ci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgaG91clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IGhyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IGhyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBociBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gaHIgYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwibWludXRlLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1pbnV0ZVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IG1pblwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtaW5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IG1pbiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gbWluIGFnb1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIm1pbnV0ZS1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgbWludXRlXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gbWluXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IG1pblwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbWluIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBtaW4gYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2Vjb25kLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJub3dcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBzZWNcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gc2VjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBzZWMgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHNlYyBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNvbmQtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJub3dcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBzZWNcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gc2VjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBzZWMgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHNlYyBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiZW4tMTUwXCI6IHtcbiAgICAgICAgXCJ5ZWFyLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHlyXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCB5clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHlyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IHlyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSB5ciBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0geXIgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHlyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ5ZWFyLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyB5clwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgeXJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSB5clwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB5clwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0geXIgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHlyIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCB5clwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlci1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBxdHIuXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBxdHIuXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gcXRyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IHF0clwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gcXRyIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBxdHIgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHF0ci5cIlxuICAgICAgICB9LFxuICAgICAgICBcInF1YXJ0ZXItbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHF0ci5cIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHF0ci5cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBxdHJcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gcXRyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBxdHIgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHF0ciBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgcXRyLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibW9udGgtc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgbW9cIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IG1vXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gbW9cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gbW9cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IG1vIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBtbyBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgbW9cIlxuICAgICAgICB9LFxuICAgICAgICBcIm1vbnRoLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBtb1wiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgbW9cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBtb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbW8gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IG1vIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCBtb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwid2Vlay1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyB3a1wiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgd2tcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSB3a1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB3a1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gd2sgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHdrIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCB3a1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwid2Vlay1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgd2tcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHdrXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gd2tcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gd2tcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHdrIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSB3ayBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3Qgd2tcIlxuICAgICAgICB9LFxuICAgICAgICBcImhvdXItc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgaG91clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IGhyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IGhyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBociBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gaHIgYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiaG91ci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgaG91clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IGhyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IGhyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBociBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gaHIgYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwibWludXRlLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1pbnV0ZVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IG1pblwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtaW5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IG1pbiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gbWluIGFnb1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIm1pbnV0ZS1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgbWludXRlXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gbWluXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IG1pblwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbWluIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBtaW4gYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2Vjb25kLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJub3dcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBzZWNcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gc2VjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBzZWMgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHNlYyBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNvbmQtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJub3dcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBzZWNcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gc2VjXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBzZWMgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHNlYyBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiZW4tQVVcIjoge1xuICAgICAgICBcInllYXItc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgeXJcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHlyXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0geXJcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0geXJzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSB5ciBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0geXJzIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCB5clwiXG4gICAgICAgIH0sXG4gICAgICAgIFwieWVhci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgeXJcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHlyXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0geXJcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0geXJzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSB5ciBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0geXJzIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCB5clwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlci1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBxdHIuXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBxdHIuXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gcXRyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IHF0cnNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHF0ciBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gcXRycyBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgcXRyLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgcXRyLlwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgcXRyLlwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHF0clwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBxdHJzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBxdHIgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHF0cnMgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHF0ci5cIlxuICAgICAgICB9LFxuICAgICAgICBcIm1vbnRoLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1vXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBtb1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IG1vLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtby5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IG1vLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gbW8uIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCBtb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwibW9udGgtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1vXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBtb1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IG1vLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtby5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IG1vLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gbW8uIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCBtb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwid2Vlay1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyB3a1wiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgd2tcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSB3a1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB3a3NcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHdrIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSB3a3MgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHdrXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ3ZWVrLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyB3a1wiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgd2tcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSB3a1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB3a3NcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHdrIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSB3a3MgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHdrXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJob3VyLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIGhvdXJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBoclwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBocnNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IGhyIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBocnMgYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiaG91ci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgaG91clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IGhyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IGhyc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gaHIgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IGhycyBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJtaW51dGUtc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgbWludXRlXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gbWluLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtaW5zXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBtaW4uIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBtaW5zIGFnb1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIm1pbnV0ZS1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgbWludXRlXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gbWluLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtaW5zXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBtaW4uIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBtaW5zIGFnb1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInNlY29uZC1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwibm93XCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gc2VjLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBzZWNzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBzZWMuIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBzZWNzIGFnb1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInNlY29uZC1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcIm5vd1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHNlYy5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gc2Vjc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gc2VjLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gc2VjcyBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiZW4tQ0FcIjoge1xuICAgICAgICBcInllYXItc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgeXJcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHlyXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0geXIuXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IHlycy5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHlyLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0geXJzLiBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgeXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInllYXItbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHlyXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCB5clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHlyLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB5cnMuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSB5ci4gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHlycy4gYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHlyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJxdWFydGVyLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHF0ci5cIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHF0ci5cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBxdHIuXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IHF0cnMuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBxdHIuIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBxdHJzLiBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgcXRyLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgcXRyLlwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgcXRyLlwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHF0ci5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gcXRycy5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHF0ci4gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHF0cnMuIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCBxdHIuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtb250aC1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBtb1wiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgbW9cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBtby5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gbW9zLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbW8uIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBtb3MuIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCBtb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwibW9udGgtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1vXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBtb1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IG1vLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtb3MuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBtby4gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IG1vcy4gYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IG1vXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ3ZWVrLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHdrXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCB3a1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHdrLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB3a3MuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSB3ay4gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHdrcy4gYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHdrXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ3ZWVrLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyB3a1wiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgd2tcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSB3ay5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gd2tzLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gd2suIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSB3a3MuIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCB3a1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaG91ci1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBob3VyXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gaHIuXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IGhycy5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IGhyLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gaHJzLiBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJob3VyLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBob3VyXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gaHIuXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IGhycy5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IGhyLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gaHJzLiBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJtaW51dGUtc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgbWludXRlXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gbWluLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtaW5zLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbWluLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gbWlucy4gYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwibWludXRlLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBtaW51dGVcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBtaW4uXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IG1pbnMuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBtaW4uIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBtaW5zLiBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNvbmQtc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcIm5vd1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHNlYy5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gc2Vjcy5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHNlYy4gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHNlY3MuIGFnb1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInNlY29uZC1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcIm5vd1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHNlYy5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gc2Vjcy5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHNlYy4gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHNlY3MuIGFnb1wiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJlbi1TR1wiOiB7XG4gICAgICAgIFwicXVhcnRlci1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBxdHJcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHF0clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHF0clwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBxdHJzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBxdHIgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHF0cnMgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHF0clwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgcXRyXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBxdHJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBxdHJcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gcXRyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBxdHIgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHF0ciBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgcXRyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtb250aC1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBtdGhcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IG10aFwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IG10aFwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtdGhcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IG10aCBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gbXRoIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCBtdGhcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJlblwiOiB7XG4gICAgICAgIFwibnVcIjogW1wibGF0blwiXSxcbiAgICAgICAgXCJ5ZWFyXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHllYXJcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHllYXJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSB5ZWFyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IHllYXJzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSB5ZWFyIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSB5ZWFycyBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgeWVhclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwieWVhci1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyB5ci5cIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHlyLlwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHlyLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB5ci5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHlyLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0geXIuIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCB5ci5cIlxuICAgICAgICB9LFxuICAgICAgICBcInllYXItbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHlyLlwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgeXIuXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0geXIuXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IHlyLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0geXIuIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSB5ci4gYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHlyLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlclwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBxdWFydGVyXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBxdWFydGVyXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gcXVhcnRlclwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBxdWFydGVyc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gcXVhcnRlciBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gcXVhcnRlcnMgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHF1YXJ0ZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInF1YXJ0ZXItc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgcXRyLlwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgcXRyLlwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHF0ci5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gcXRycy5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHF0ci4gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHF0cnMuIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCBxdHIuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJxdWFydGVyLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBxdHIuXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBxdHIuXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gcXRyLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBxdHJzLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gcXRyLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gcXRycy4gYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHF0ci5cIlxuICAgICAgICB9LFxuICAgICAgICBcIm1vbnRoXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1vbnRoXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBtb250aFwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IG1vbnRoXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IG1vbnRoc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbW9udGggYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IG1vbnRocyBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgbW9udGhcIlxuICAgICAgICB9LFxuICAgICAgICBcIm1vbnRoLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1vLlwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgbW8uXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gbW8uXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IG1vLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbW8uIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBtby4gYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IG1vLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibW9udGgtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1vLlwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgbW8uXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gbW8uXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IG1vLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbW8uIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBtby4gYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IG1vLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwid2Vla1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyB3ZWVrXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCB3ZWVrXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gd2Vla1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB3ZWVrc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gd2VlayBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gd2Vla3MgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHdlZWtcIlxuICAgICAgICB9LFxuICAgICAgICBcIndlZWstc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgd2suXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCB3ay5cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSB3ay5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gd2suXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSB3ay4gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHdrLiBhZ29cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3Qgd2suXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ3ZWVrLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyB3ay5cIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHdrLlwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHdrLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSB3ay5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHdrLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gd2suIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCB3ay5cIlxuICAgICAgICB9LFxuICAgICAgICBcImRheVwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidG9kYXlcIixcbiAgICAgICAgICBcIjFcIjogXCJ0b21vcnJvd1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IGRheVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBkYXlzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBkYXkgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IGRheXMgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJ5ZXN0ZXJkYXlcIlxuICAgICAgICB9LFxuICAgICAgICBcImRheS1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidG9kYXlcIixcbiAgICAgICAgICBcIjFcIjogXCJ0b21vcnJvd1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IGRheVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBkYXlzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBkYXkgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IGRheXMgYWdvXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJ5ZXN0ZXJkYXlcIlxuICAgICAgICB9LFxuICAgICAgICBcImRheS1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRvZGF5XCIsXG4gICAgICAgICAgXCIxXCI6IFwidG9tb3Jyb3dcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBkYXlcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gZGF5c1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gZGF5IGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBkYXlzIGFnb1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwieWVzdGVyZGF5XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJob3VyXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIGhvdXJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBob3VyXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IGhvdXJzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBob3VyIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBob3VycyBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJob3VyLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIGhvdXJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBoci5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gaHIuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBoci4gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IGhyLiBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJob3VyLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBob3VyXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gaHIuXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IGhyLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gaHIuIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBoci4gYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwibWludXRlXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1pbnV0ZVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IG1pbnV0ZVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBtaW51dGVzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBtaW51dGUgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IG1pbnV0ZXMgYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwibWludXRlLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1pbnV0ZVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IG1pbi5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gbWluLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbWluLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gbWluLiBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJtaW51dGUtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1pbnV0ZVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IG1pbi5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJpbiB7MH0gbWluLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJ7MH0gbWluLiBhZ29cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJ7MH0gbWluLiBhZ29cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNvbmRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcIm5vd1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaW4gezB9IHNlY29uZFwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBzZWNvbmRzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBzZWNvbmQgYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHNlY29uZHMgYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2Vjb25kLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJub3dcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImluIHswfSBzZWMuXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaW4gezB9IHNlYy5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiezB9IHNlYy4gYWdvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiezB9IHNlYy4gYWdvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2Vjb25kLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwibm93XCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJpbiB7MH0gc2VjLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImluIHswfSBzZWMuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcInswfSBzZWMuIGFnb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcInswfSBzZWMuIGFnb1wiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBcImF2YWlsYWJsZUxvY2FsZXNcIjogW1wiZW4tMDAxXCIsIFwiZW4tMTUwXCIsIFwiZW4tQUVcIiwgXCJlbi1BR1wiLCBcImVuLUFJXCIsIFwiZW4tQVNcIiwgXCJlbi1BVFwiLCBcImVuLUFVXCIsIFwiZW4tQkJcIiwgXCJlbi1CRVwiLCBcImVuLUJJXCIsIFwiZW4tQk1cIiwgXCJlbi1CU1wiLCBcImVuLUJXXCIsIFwiZW4tQlpcIiwgXCJlbi1DQVwiLCBcImVuLUNDXCIsIFwiZW4tQ0hcIiwgXCJlbi1DS1wiLCBcImVuLUNNXCIsIFwiZW4tQ1hcIiwgXCJlbi1DWVwiLCBcImVuLURFXCIsIFwiZW4tREdcIiwgXCJlbi1ES1wiLCBcImVuLURNXCIsIFwiZW4tRVJcIiwgXCJlbi1GSVwiLCBcImVuLUZKXCIsIFwiZW4tRktcIiwgXCJlbi1GTVwiLCBcImVuLUdCXCIsIFwiZW4tR0RcIiwgXCJlbi1HR1wiLCBcImVuLUdIXCIsIFwiZW4tR0lcIiwgXCJlbi1HTVwiLCBcImVuLUdVXCIsIFwiZW4tR1lcIiwgXCJlbi1IS1wiLCBcImVuLUlFXCIsIFwiZW4tSUxcIiwgXCJlbi1JTVwiLCBcImVuLUlOXCIsIFwiZW4tSU9cIiwgXCJlbi1KRVwiLCBcImVuLUpNXCIsIFwiZW4tS0VcIiwgXCJlbi1LSVwiLCBcImVuLUtOXCIsIFwiZW4tS1lcIiwgXCJlbi1MQ1wiLCBcImVuLUxSXCIsIFwiZW4tTFNcIiwgXCJlbi1NR1wiLCBcImVuLU1IXCIsIFwiZW4tTU9cIiwgXCJlbi1NUFwiLCBcImVuLU1TXCIsIFwiZW4tTVRcIiwgXCJlbi1NVVwiLCBcImVuLU1XXCIsIFwiZW4tTVlcIiwgXCJlbi1OQVwiLCBcImVuLU5GXCIsIFwiZW4tTkdcIiwgXCJlbi1OTFwiLCBcImVuLU5SXCIsIFwiZW4tTlVcIiwgXCJlbi1OWlwiLCBcImVuLVBHXCIsIFwiZW4tUEhcIiwgXCJlbi1QS1wiLCBcImVuLVBOXCIsIFwiZW4tUFJcIiwgXCJlbi1QV1wiLCBcImVuLVJXXCIsIFwiZW4tU0JcIiwgXCJlbi1TQ1wiLCBcImVuLVNEXCIsIFwiZW4tU0VcIiwgXCJlbi1TR1wiLCBcImVuLVNIXCIsIFwiZW4tU0lcIiwgXCJlbi1TTFwiLCBcImVuLVNTXCIsIFwiZW4tU1hcIiwgXCJlbi1TWlwiLCBcImVuLVRDXCIsIFwiZW4tVEtcIiwgXCJlbi1UT1wiLCBcImVuLVRUXCIsIFwiZW4tVFZcIiwgXCJlbi1UWlwiLCBcImVuLVVHXCIsIFwiZW4tVU1cIiwgXCJlbi1VUy1QT1NJWFwiLCBcImVuLVVTXCIsIFwiZW4tVkNcIiwgXCJlbi1WR1wiLCBcImVuLVZJXCIsIFwiZW4tVlVcIiwgXCJlbi1XU1wiLCBcImVuLVpBXCIsIFwiZW4tWk1cIiwgXCJlbi1aV1wiLCBcImVuXCJdLFxuICAgIFwiYWxpYXNlc1wiOiB7fSxcbiAgICBcInBhcmVudExvY2FsZXNcIjoge1xuICAgICAgXCJlbi0xNTBcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQUdcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQUlcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQVVcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQkJcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQk1cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQlNcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQldcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQlpcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQ0FcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQ0NcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQ0tcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQ01cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQ1hcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQ1lcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tREdcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tRE1cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tRVJcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tRkpcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tRktcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tRk1cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tR0JcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tR0RcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tR0dcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tR0hcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tR0lcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tR01cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tR1lcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tSEtcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tSUVcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tSUxcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tSU1cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tSU5cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tSU9cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tSkVcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tSk1cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tS0VcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tS0lcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tS05cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tS1lcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTENcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTFJcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTFNcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTUdcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTU9cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTVNcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTVRcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTVVcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTVdcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTVlcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTkFcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTkZcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTkdcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTlJcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTlVcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tTlpcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tUEdcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tUEhcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tUEtcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tUE5cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tUFdcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tUldcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tU0JcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tU0NcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tU0RcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tU0dcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tU0hcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tU0xcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tU1NcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tU1hcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tU1pcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tVENcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tVEtcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tVE9cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tVFRcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tVFZcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tVFpcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tVUdcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tVkNcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tVkdcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tVlVcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tV1NcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tWkFcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tWk1cIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tWldcIjogXCJlbi0wMDFcIixcbiAgICAgIFwiZW4tQVRcIjogXCJlbi0xNTBcIixcbiAgICAgIFwiZW4tQkVcIjogXCJlbi0xNTBcIixcbiAgICAgIFwiZW4tQ0hcIjogXCJlbi0xNTBcIixcbiAgICAgIFwiZW4tREVcIjogXCJlbi0xNTBcIixcbiAgICAgIFwiZW4tREtcIjogXCJlbi0xNTBcIixcbiAgICAgIFwiZW4tRklcIjogXCJlbi0xNTBcIixcbiAgICAgIFwiZW4tTkxcIjogXCJlbi0xNTBcIixcbiAgICAgIFwiZW4tU0VcIjogXCJlbi0xNTBcIixcbiAgICAgIFwiZW4tU0lcIjogXCJlbi0xNTBcIlxuICAgIH1cbiAgfSk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///8079\n')},4033:function(){eval('/* @generated */\n// prettier-ignore\nif (Intl.RelativeTimeFormat && typeof Intl.RelativeTimeFormat.__addLocaleData === \'function\') {\n Intl.RelativeTimeFormat.__addLocaleData({\n "data": {\n "es-419": {\n "week-short": {\n "0": "esta sem.",\n "1": "próx. sem.",\n "future": {\n "one": "dentro de {0} sem.",\n "other": "dentro de {0} sem."\n },\n "past": {\n "one": "hace {0} sem.",\n "other": "hace {0} sem."\n },\n "-1": "sem. pas."\n },\n "week-narrow": {\n "0": "esta sem.",\n "1": "próx. sem.",\n "future": {\n "one": "dentro de {0} sem.",\n "other": "dentro de {0} sem."\n },\n "past": {\n "one": "hace {0} sem.",\n "other": "hace {0} sem."\n },\n "-1": "sem. pas."\n }\n },\n "es-AR": {\n "day-short": {\n "0": "hoy",\n "1": "mañana",\n "2": "pasado mañana",\n "future": {\n "one": "dentro de {0} días",\n "other": "dentro de {0} días"\n },\n "past": {\n "one": "hace {0} días",\n "other": "hace {0} días"\n },\n "-2": "anteayer",\n "-1": "ayer"\n },\n "day-narrow": {\n "0": "hoy",\n "1": "mañana",\n "2": "pasado mañana",\n "future": {\n "one": "dentro de {0} días",\n "other": "dentro de {0} días"\n },\n "past": {\n "one": "hace {0} días",\n "other": "hace {0} días"\n },\n "-2": "anteayer",\n "-1": "ayer"\n },\n "second-short": {\n "0": "ahora",\n "future": {\n "one": "dentro de {0} seg.",\n "other": "dentro de {0} seg."\n },\n "past": {\n "one": "hace {0} seg.",\n "other": "hace {0} seg."\n }\n },\n "second-narrow": {\n "0": "ahora",\n "future": {\n "one": "dentro de {0} seg.",\n "other": "dentro de {0} seg."\n },\n "past": {\n "one": "hace {0} seg.",\n "other": "hace {0} seg."\n }\n }\n },\n "es-MX": {\n "year": {\n "0": "este año",\n "1": "el año próximo",\n "future": {\n "one": "dentro de {0} año",\n "other": "dentro de {0} años"\n },\n "past": {\n "one": "hace {0} año",\n "other": "hace {0} años"\n },\n "-1": "el año pasado"\n },\n "year-short": {\n "0": "este año",\n "1": "el próximo año",\n "future": {\n "one": "en {0} a",\n "other": "en {0} a"\n },\n "past": {\n "one": "hace {0} a",\n "other": "hace {0} a"\n },\n "-1": "el año pasado"\n },\n "year-narrow": {\n "0": "este año",\n "1": "el próximo año",\n "future": {\n "one": "en {0} a",\n "other": "en {0} a"\n },\n "past": {\n "one": "-{0} a",\n "other": "-{0} a"\n },\n "-1": "el año pasado"\n },\n "quarter": {\n "0": "este trimestre",\n "1": "el próximo trimestre",\n "future": {\n "one": "en {0} trimestre",\n "other": "dentro de {0} trimetres"\n },\n "past": {\n "one": "hace {0} trimestre",\n "other": "hace {0} trimestres"\n },\n "-1": "el trimestre pasado"\n },\n "quarter-short": {\n "0": "este trimestre",\n "1": "el próximo trimestre",\n "future": {\n "one": "en {0} trim.",\n "other": "en {0} trim"\n },\n "past": {\n "one": "hace {0} trim.",\n "other": "hace {0} trim."\n },\n "-1": "el trimestre pasado"\n },\n "quarter-narrow": {\n "0": "este trimestre",\n "1": "el próximo trimestre",\n "future": {\n "one": "en {0} trim.",\n "other": "en {0} trim."\n },\n "past": {\n "one": "-{0} T",\n "other": "-{0} T"\n },\n "-1": "el trimestre pasado"\n },\n "month": {\n "0": "este mes",\n "1": "el mes próximo",\n "future": {\n "one": "en {0} mes",\n "other": "en {0} meses"\n },\n "past": {\n "one": "hace {0} mes",\n "other": "hace {0} meses"\n },\n "-1": "el mes pasado"\n },\n "month-short": {\n "0": "este mes",\n "1": "el próximo mes",\n "future": {\n "one": "en {0} m",\n "other": "en {0} m"\n },\n "past": {\n "one": "hace {0} m",\n "other": "hace {0} m"\n },\n "-1": "el mes pasado"\n },\n "month-narrow": {\n "0": "este mes",\n "1": "el próximo mes",\n "future": {\n "one": "+{0} m",\n "other": "+{0} m"\n },\n "past": {\n "one": "-{0} m",\n "other": "-{0} m"\n },\n "-1": "el mes pasado"\n },\n "week": {\n "0": "esta semana",\n "1": "la semana próxima",\n "future": {\n "one": "dentro de {0} semana",\n "other": "dentro de {0} semanas"\n },\n "past": {\n "one": "hace {0} semana",\n "other": "hace {0} semanas"\n },\n "-1": "la semana pasada"\n },\n "week-short": {\n "0": "esta sem.",\n "1": "próx. sem.",\n "future": {\n "one": "en {0} sem.",\n "other": "en {0} sem."\n },\n "past": {\n "one": "hace {0} sem.",\n "other": "hace {0} sem."\n },\n "-1": "sem. pas."\n },\n "day-short": {\n "0": "hoy",\n "1": "mañana",\n "2": "pasado mañana",\n "future": {\n "one": "en {0} día",\n "other": "en {0} días"\n },\n "past": {\n "one": "hace {0} día",\n "other": "hace {0} días"\n },\n "-2": "anteayer",\n "-1": "ayer"\n },\n "day-narrow": {\n "0": "hoy",\n "1": "mañana",\n "2": "pasado mañana",\n "future": {\n "one": "+{0} día",\n "other": "en {0} días"\n },\n "past": {\n "one": "hace {0} día",\n "other": "hace {0} días"\n },\n "-2": "anteayer",\n "-1": "ayer"\n },\n "hour-short": {\n "0": "esta hora",\n "future": {\n "one": "en {0} h",\n "other": "en {0} n"\n },\n "past": {\n "one": "hace {0} h",\n "other": "hace {0} h"\n }\n },\n "minute-short": {\n "0": "este minuto",\n "future": {\n "one": "en {0} min",\n "other": "en {0} min"\n },\n "past": {\n "one": "hace {0} min",\n "other": "hace {0} min"\n }\n },\n "minute-narrow": {\n "0": "este minuto",\n "future": {\n "one": "en {0} min",\n "other": "en {0} min"\n },\n "past": {\n "one": "hace {0} min",\n "other": "hace {0} min"\n }\n },\n "second-short": {\n "0": "ahora",\n "future": {\n "one": "en {0} s",\n "other": "en {0} s"\n },\n "past": {\n "one": "hace {0} s",\n "other": "hace {0} s"\n }\n },\n "second-narrow": {\n "0": "ahora",\n "future": {\n "one": "+{0} s",\n "other": "+{0} s"\n },\n "past": {\n "one": "hace {0} s",\n "other": "hace {0} s"\n }\n }\n },\n "es-PY": {\n "second-short": {\n "0": "ahora",\n "future": {\n "one": "dentro de {0} seg.",\n "other": "dentro de {0} seg."\n },\n "past": {\n "one": "hace {0} seg.",\n "other": "hace {0} seg."\n }\n },\n "second-narrow": {\n "0": "ahora",\n "future": {\n "one": "dentro de {0} seg.",\n "other": "dentro de {0} seg."\n },\n "past": {\n "one": "hace {0} seg.",\n "other": "hace {0} seg."\n }\n }\n },\n "es-SV": {\n "day": {\n "0": "hoy",\n "1": "mañana",\n "2": "pasado mañana",\n "future": {\n "one": "dentro de {0} día",\n "other": "dentro de {0} días"\n },\n "past": {\n "one": "hace {0} día",\n "other": "hace {0} días"\n },\n "-2": "antier",\n "-1": "ayer"\n }\n },\n "es-US": {\n "year": {\n "0": "este año",\n "1": "el año próximo",\n "future": {\n "one": "dentro de {0} año",\n "other": "dentro de {0} años"\n },\n "past": {\n "one": "hace {0} año",\n "other": "hace {0} años"\n },\n "-1": "el año pasado"\n },\n "quarter": {\n "0": "este trimestre",\n "1": "el próximo trimestre",\n "future": {\n "one": "dentro de {0} trimetre",\n "other": "dentro de {0} trimetres"\n },\n "past": {\n "one": "hace {0} trimestre",\n "other": "hace {0} trimestres"\n },\n "-1": "el trimestre pasado"\n },\n "month": {\n "0": "este mes",\n "1": "el mes próximo",\n "future": {\n "one": "dentro de {0} mes",\n "other": "dentro de {0} meses"\n },\n "past": {\n "one": "hace {0} mes",\n "other": "hace {0} meses"\n },\n "-1": "el mes pasado"\n },\n "week": {\n "0": "esta semana",\n "1": "la semana próxima",\n "future": {\n "one": "dentro de {0} semana",\n "other": "dentro de {0} semanas"\n },\n "past": {\n "one": "hace {0} semana",\n "other": "hace {0} semanas"\n },\n "-1": "la semana pasada"\n }\n },\n "es": {\n "nu": ["latn"],\n "year": {\n "0": "este año",\n "1": "el próximo año",\n "future": {\n "one": "dentro de {0} año",\n "other": "dentro de {0} años"\n },\n "past": {\n "one": "hace {0} año",\n "other": "hace {0} años"\n },\n "-1": "el año pasado"\n },\n "year-short": {\n "0": "este año",\n "1": "el próximo año",\n "future": {\n "one": "dentro de {0} a",\n "other": "dentro de {0} a"\n },\n "past": {\n "one": "hace {0} a",\n "other": "hace {0} a"\n },\n "-1": "el año pasado"\n },\n "year-narrow": {\n "0": "este año",\n "1": "el próximo año",\n "future": {\n "one": "dentro de {0} a",\n "other": "dentro de {0} a"\n },\n "past": {\n "one": "hace {0} a",\n "other": "hace {0} a"\n },\n "-1": "el año pasado"\n },\n "quarter": {\n "0": "este trimestre",\n "1": "el próximo trimestre",\n "future": {\n "one": "dentro de {0} trimestre",\n "other": "dentro de {0} trimestres"\n },\n "past": {\n "one": "hace {0} trimestre",\n "other": "hace {0} trimestres"\n },\n "-1": "el trimestre pasado"\n },\n "quarter-short": {\n "0": "este trimestre",\n "1": "el próximo trimestre",\n "future": {\n "one": "dentro de {0} trim.",\n "other": "dentro de {0} trim."\n },\n "past": {\n "one": "hace {0} trim.",\n "other": "hace {0} trim."\n },\n "-1": "el trimestre pasado"\n },\n "quarter-narrow": {\n "0": "este trimestre",\n "1": "el próximo trimestre",\n "future": {\n "one": "dentro de {0} trim.",\n "other": "dentro de {0} trim."\n },\n "past": {\n "one": "hace {0} trim.",\n "other": "hace {0} trim."\n },\n "-1": "el trimestre pasado"\n },\n "month": {\n "0": "este mes",\n "1": "el próximo mes",\n "future": {\n "one": "dentro de {0} mes",\n "other": "dentro de {0} meses"\n },\n "past": {\n "one": "hace {0} mes",\n "other": "hace {0} meses"\n },\n "-1": "el mes pasado"\n },\n "month-short": {\n "0": "este mes",\n "1": "el próximo mes",\n "future": {\n "one": "dentro de {0} m",\n "other": "dentro de {0} m"\n },\n "past": {\n "one": "hace {0} m",\n "other": "hace {0} m"\n },\n "-1": "el mes pasado"\n },\n "month-narrow": {\n "0": "este mes",\n "1": "el próximo mes",\n "future": {\n "one": "dentro de {0} m",\n "other": "dentro de {0} m"\n },\n "past": {\n "one": "hace {0} m",\n "other": "hace {0} m"\n },\n "-1": "el mes pasado"\n },\n "week": {\n "0": "esta semana",\n "1": "la próxima semana",\n "future": {\n "one": "dentro de {0} semana",\n "other": "dentro de {0} semanas"\n },\n "past": {\n "one": "hace {0} semana",\n "other": "hace {0} semanas"\n },\n "-1": "la semana pasada"\n },\n "week-short": {\n "0": "esta sem.",\n "1": "próx. sem.",\n "future": {\n "one": "dentro de {0} sem.",\n "other": "dentro de {0} sem."\n },\n "past": {\n "one": "hace {0} sem.",\n "other": "hace {0} sem."\n },\n "-1": "sem. ant."\n },\n "week-narrow": {\n "0": "esta sem.",\n "1": "próx. sem.",\n "future": {\n "one": "dentro de {0} sem.",\n "other": "dentro de {0} sem."\n },\n "past": {\n "one": "hace {0} sem.",\n "other": "hace {0} sem."\n },\n "-1": "sem. ant."\n },\n "day": {\n "0": "hoy",\n "1": "mañana",\n "2": "pasado mañana",\n "future": {\n "one": "dentro de {0} día",\n "other": "dentro de {0} días"\n },\n "past": {\n "one": "hace {0} día",\n "other": "hace {0} días"\n },\n "-2": "anteayer",\n "-1": "ayer"\n },\n "day-short": {\n "0": "hoy",\n "1": "mañana",\n "2": "pasado mañana",\n "future": {\n "one": "dentro de {0} día",\n "other": "dentro de {0} días"\n },\n "past": {\n "one": "hace {0} día",\n "other": "hace {0} días"\n },\n "-2": "anteayer",\n "-1": "ayer"\n },\n "day-narrow": {\n "0": "hoy",\n "1": "mañana",\n "2": "pasado mañana",\n "future": {\n "one": "dentro de {0} día",\n "other": "dentro de {0} días"\n },\n "past": {\n "one": "hace {0} día",\n "other": "hace {0} días"\n },\n "-2": "anteayer",\n "-1": "ayer"\n },\n "hour": {\n "0": "esta hora",\n "future": {\n "one": "dentro de {0} hora",\n "other": "dentro de {0} horas"\n },\n "past": {\n "one": "hace {0} hora",\n "other": "hace {0} horas"\n }\n },\n "hour-short": {\n "0": "esta hora",\n "future": {\n "one": "dentro de {0} h",\n "other": "dentro de {0} h"\n },\n "past": {\n "one": "hace {0} h",\n "other": "hace {0} h"\n }\n },\n "hour-narrow": {\n "0": "esta hora",\n "future": {\n "one": "dentro de {0} h",\n "other": "dentro de {0} h"\n },\n "past": {\n "one": "hace {0} h",\n "other": "hace {0} h"\n }\n },\n "minute": {\n "0": "este minuto",\n "future": {\n "one": "dentro de {0} minuto",\n "other": "dentro de {0} minutos"\n },\n "past": {\n "one": "hace {0} minuto",\n "other": "hace {0} minutos"\n }\n },\n "minute-short": {\n "0": "este minuto",\n "future": {\n "one": "dentro de {0} min",\n "other": "dentro de {0} min"\n },\n "past": {\n "one": "hace {0} min",\n "other": "hace {0} min"\n }\n },\n "minute-narrow": {\n "0": "este minuto",\n "future": {\n "one": "dentro de {0} min",\n "other": "dentro de {0} min"\n },\n "past": {\n "one": "hace {0} min",\n "other": "hace {0} min"\n }\n },\n "second": {\n "0": "ahora",\n "future": {\n "one": "dentro de {0} segundo",\n "other": "dentro de {0} segundos"\n },\n "past": {\n "one": "hace {0} segundo",\n "other": "hace {0} segundos"\n }\n },\n "second-short": {\n "0": "ahora",\n "future": {\n "one": "dentro de {0} s",\n "other": "dentro de {0} s"\n },\n "past": {\n "one": "hace {0} s",\n "other": "hace {0} s"\n }\n },\n "second-narrow": {\n "0": "ahora",\n "future": {\n "one": "dentro de {0} s",\n "other": "dentro de {0} s"\n },\n "past": {\n "one": "hace {0} s",\n "other": "hace {0} s"\n }\n }\n }\n },\n "availableLocales": ["es-419", "es-AR", "es-BO", "es-BR", "es-BZ", "es-CL", "es-CO", "es-CR", "es-CU", "es-DO", "es-EA", "es-EC", "es-GQ", "es-GT", "es-HN", "es-IC", "es-MX", "es-NI", "es-PA", "es-PE", "es-PH", "es-PR", "es-PY", "es-SV", "es-US", "es-UY", "es-VE", "es"],\n "aliases": {},\n "parentLocales": {\n "es-AR": "es-419",\n "es-BO": "es-419",\n "es-BR": "es-419",\n "es-BZ": "es-419",\n "es-CL": "es-419",\n "es-CO": "es-419",\n "es-CR": "es-419",\n "es-CU": "es-419",\n "es-DO": "es-419",\n "es-EC": "es-419",\n "es-GT": "es-419",\n "es-HN": "es-419",\n "es-MX": "es-419",\n "es-NI": "es-419",\n "es-PA": "es-419",\n "es-PE": "es-419",\n "es-PR": "es-419",\n "es-PY": "es-419",\n "es-SV": "es-419",\n "es-US": "es-419",\n "es-UY": "es-419",\n "es-VE": "es-419"\n }\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1yZWxhdGl2ZXRpbWVmb3JtYXQvZGlzdC9sb2NhbGUtZGF0YS9lcy5qcz9mY2VlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLEVBQUU7QUFDakMsaUNBQWlDLEVBQUU7QUFDbkMsV0FBVztBQUNYO0FBQ0EsMEJBQTBCLEVBQUU7QUFDNUIsNEJBQTRCLEVBQUU7QUFDOUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLEVBQUU7QUFDakMsaUNBQWlDLEVBQUU7QUFDbkMsV0FBVztBQUNYO0FBQ0EsMEJBQTBCLEVBQUU7QUFDNUIsNEJBQTRCLEVBQUU7QUFDOUIsV0FBVztBQUNYO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLEVBQUU7QUFDakMsaUNBQWlDLEVBQUU7QUFDbkMsV0FBVztBQUNYO0FBQ0EsMEJBQTBCLEVBQUU7QUFDNUIsNEJBQTRCLEVBQUU7QUFDOUIsV0FBVztBQUNYO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHNCQUFzQixFQUFFO0FBQ3hCLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLHNCQUFzQixFQUFFO0FBQ3hCLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixFQUFFO0FBQ3hCLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLHNCQUFzQixFQUFFO0FBQ3hCLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsMEJBQTBCLEVBQUU7QUFDNUIsV0FBVztBQUNYO0FBQ0EsMEJBQTBCLEVBQUU7QUFDNUIsNEJBQTRCLEVBQUU7QUFDOUIsV0FBVztBQUNYO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixFQUFFO0FBQ3hCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLDBCQUEwQixFQUFFO0FBQzVCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixFQUFFO0FBQ3hCLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLEVBQUU7QUFDakMsaUNBQWlDLEVBQUU7QUFDbkMsV0FBVztBQUNYO0FBQ0EsMEJBQTBCLEVBQUU7QUFDNUIsNEJBQTRCLEVBQUU7QUFDOUIsV0FBVztBQUNYO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixFQUFFO0FBQ2pDLGlDQUFpQyxFQUFFO0FBQ25DLFdBQVc7QUFDWDtBQUNBLDBCQUEwQixFQUFFO0FBQzVCLDRCQUE0QixFQUFFO0FBQzlCLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QixXQUFXO0FBQ1g7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsRUFBRTtBQUNqQyxpQ0FBaUMsRUFBRTtBQUNuQyxXQUFXO0FBQ1g7QUFDQSwwQkFBMEIsRUFBRTtBQUM1Qiw0QkFBNEIsRUFBRTtBQUM5QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6IjQwMzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZ2VuZXJhdGVkICovXG4vLyBwcmV0dGllci1pZ25vcmVcbmlmIChJbnRsLlJlbGF0aXZlVGltZUZvcm1hdCAmJiB0eXBlb2YgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQuX19hZGRMb2NhbGVEYXRhID09PSAnZnVuY3Rpb24nKSB7XG4gIEludGwuUmVsYXRpdmVUaW1lRm9ybWF0Ll9fYWRkTG9jYWxlRGF0YSh7XG4gICAgXCJkYXRhXCI6IHtcbiAgICAgIFwiZXMtNDE5XCI6IHtcbiAgICAgICAgXCJ3ZWVrLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RhIHNlbS5cIixcbiAgICAgICAgICBcIjFcIjogXCJwcsOzeC4gc2VtLlwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBzZW0uXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBzZW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNlbS5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBzZW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJzZW0uIHBhcy5cIlxuICAgICAgICB9LFxuICAgICAgICBcIndlZWstbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RhIHNlbS5cIixcbiAgICAgICAgICBcIjFcIjogXCJwcsOzeC4gc2VtLlwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBzZW0uXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBzZW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNlbS5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBzZW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJzZW0uIHBhcy5cIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJlcy1BUlwiOiB7XG4gICAgICAgIFwiZGF5LXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJob3lcIixcbiAgICAgICAgICBcIjFcIjogXCJtYcOxYW5hXCIsXG4gICAgICAgICAgXCIyXCI6IFwicGFzYWRvIG1hw7FhbmFcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gZMOtYXNcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IGTDrWFzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IGTDrWFzXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gZMOtYXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMlwiOiBcImFudGVheWVyXCIsXG4gICAgICAgICAgXCItMVwiOiBcImF5ZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcImRheS1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImhveVwiLFxuICAgICAgICAgIFwiMVwiOiBcIm1hw7FhbmFcIixcbiAgICAgICAgICBcIjJcIjogXCJwYXNhZG8gbWHDsWFuYVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBkw61hc1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gZMOtYXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gZMOtYXNcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBkw61hc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0yXCI6IFwiYW50ZWF5ZXJcIixcbiAgICAgICAgICBcIi0xXCI6IFwiYXllclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2Vjb25kLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJhaG9yYVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBzZWcuXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBzZWcuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNlZy5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBzZWcuXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2Vjb25kLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiYWhvcmFcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gc2VnLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gc2VnLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBzZWcuXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gc2VnLlwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJlcy1NWFwiOiB7XG4gICAgICAgIFwieWVhclwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0ZSBhw7FvXCIsXG4gICAgICAgICAgXCIxXCI6IFwiZWwgYcOxbyBwcsOzeGltb1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBhw7FvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBhw7Fvc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBhw7FvXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gYcOxb3NcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImVsIGHDsW8gcGFzYWRvXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ5ZWFyLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIGHDsW9cIixcbiAgICAgICAgICBcIjFcIjogXCJlbCBwcsOzeGltbyBhw7FvXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJlbiB7MH0gYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImVuIHswfSBhXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IGFcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBhXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJlbCBhw7FvIHBhc2Fkb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwieWVhci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImVzdGUgYcOxb1wiLFxuICAgICAgICAgIFwiMVwiOiBcImVsIHByw7N4aW1vIGHDsW9cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImVuIHswfSBhXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZW4gezB9IGFcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiLXswfSBhXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSBhXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJlbCBhw7FvIHBhc2Fkb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlclwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0ZSB0cmltZXN0cmVcIixcbiAgICAgICAgICBcIjFcIjogXCJlbCBwcsOzeGltbyB0cmltZXN0cmVcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImVuIHswfSB0cmltZXN0cmVcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IHRyaW1ldHJlc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSB0cmltZXN0cmVcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSB0cmltZXN0cmVzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJlbCB0cmltZXN0cmUgcGFzYWRvXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJxdWFydGVyLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIHRyaW1lc3RyZVwiLFxuICAgICAgICAgIFwiMVwiOiBcImVsIHByw7N4aW1vIHRyaW1lc3RyZVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZW4gezB9IHRyaW0uXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZW4gezB9IHRyaW1cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gdHJpbS5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSB0cmltLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwiZWwgdHJpbWVzdHJlIHBhc2Fkb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImVzdGUgdHJpbWVzdHJlXCIsXG4gICAgICAgICAgXCIxXCI6IFwiZWwgcHLDs3hpbW8gdHJpbWVzdHJlXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJlbiB7MH0gdHJpbS5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJlbiB7MH0gdHJpbS5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiLXswfSBUXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSBUXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJlbCB0cmltZXN0cmUgcGFzYWRvXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtb250aFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0ZSBtZXNcIixcbiAgICAgICAgICBcIjFcIjogXCJlbCBtZXMgcHLDs3hpbW9cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImVuIHswfSBtZXNcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJlbiB7MH0gbWVzZXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gbWVzXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gbWVzZXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImVsIG1lcyBwYXNhZG9cIlxuICAgICAgICB9LFxuICAgICAgICBcIm1vbnRoLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIG1lc1wiLFxuICAgICAgICAgIFwiMVwiOiBcImVsIHByw7N4aW1vIG1lc1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZW4gezB9IG1cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJlbiB7MH0gbVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBtXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gbVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwiZWwgbWVzIHBhc2Fkb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwibW9udGgtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIG1lc1wiLFxuICAgICAgICAgIFwiMVwiOiBcImVsIHByw7N4aW1vIG1lc1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiK3swfSBtXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiK3swfSBtXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcIi17MH0gbVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcIi17MH0gbVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwiZWwgbWVzIHBhc2Fkb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwid2Vla1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0YSBzZW1hbmFcIixcbiAgICAgICAgICBcIjFcIjogXCJsYSBzZW1hbmEgcHLDs3hpbWFcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gc2VtYW5hXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBzZW1hbmFzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNlbWFuYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IHNlbWFuYXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhIHNlbWFuYSBwYXNhZGFcIlxuICAgICAgICB9LFxuICAgICAgICBcIndlZWstc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImVzdGEgc2VtLlwiLFxuICAgICAgICAgIFwiMVwiOiBcInByw7N4LiBzZW0uXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJlbiB7MH0gc2VtLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImVuIHswfSBzZW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNlbS5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBzZW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJzZW0uIHBhcy5cIlxuICAgICAgICB9LFxuICAgICAgICBcImRheS1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiaG95XCIsXG4gICAgICAgICAgXCIxXCI6IFwibWHDsWFuYVwiLFxuICAgICAgICAgIFwiMlwiOiBcInBhc2FkbyBtYcOxYW5hXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJlbiB7MH0gZMOtYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImVuIHswfSBkw61hc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBkw61hXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gZMOtYXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMlwiOiBcImFudGVheWVyXCIsXG4gICAgICAgICAgXCItMVwiOiBcImF5ZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcImRheS1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImhveVwiLFxuICAgICAgICAgIFwiMVwiOiBcIm1hw7FhbmFcIixcbiAgICAgICAgICBcIjJcIjogXCJwYXNhZG8gbWHDsWFuYVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiK3swfSBkw61hXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZW4gezB9IGTDrWFzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IGTDrWFcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBkw61hc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0yXCI6IFwiYW50ZWF5ZXJcIixcbiAgICAgICAgICBcIi0xXCI6IFwiYXllclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaG91ci1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0YSBob3JhXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJlbiB7MH0gaFwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImVuIHswfSBuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IGhcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBoXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwibWludXRlLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIG1pbnV0b1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZW4gezB9IG1pblwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImVuIHswfSBtaW5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gbWluXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gbWluXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwibWludXRlLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0ZSBtaW51dG9cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImVuIHswfSBtaW5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJlbiB7MH0gbWluXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IG1pblwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IG1pblwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInNlY29uZC1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiYWhvcmFcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImVuIHswfSBzXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZW4gezB9IHNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gc1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IHNcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNvbmQtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJhaG9yYVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiK3swfSBzXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiK3swfSBzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImVzLVBZXCI6IHtcbiAgICAgICAgXCJzZWNvbmQtc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImFob3JhXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IHNlZy5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IHNlZy5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gc2VnLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IHNlZy5cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNvbmQtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJhaG9yYVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBzZWcuXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBzZWcuXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNlZy5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBzZWcuXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImVzLVNWXCI6IHtcbiAgICAgICAgXCJkYXlcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImhveVwiLFxuICAgICAgICAgIFwiMVwiOiBcIm1hw7FhbmFcIixcbiAgICAgICAgICBcIjJcIjogXCJwYXNhZG8gbWHDsWFuYVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBkw61hXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBkw61hc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBkw61hXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gZMOtYXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMlwiOiBcImFudGllclwiLFxuICAgICAgICAgIFwiLTFcIjogXCJheWVyXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiZXMtVVNcIjoge1xuICAgICAgICBcInllYXJcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImVzdGUgYcOxb1wiLFxuICAgICAgICAgIFwiMVwiOiBcImVsIGHDsW8gcHLDs3hpbW9cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gYcOxb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gYcOxb3NcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gYcOxb1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IGHDsW9zXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJlbCBhw7FvIHBhc2Fkb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlclwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0ZSB0cmltZXN0cmVcIixcbiAgICAgICAgICBcIjFcIjogXCJlbCBwcsOzeGltbyB0cmltZXN0cmVcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gdHJpbWV0cmVcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IHRyaW1ldHJlc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSB0cmltZXN0cmVcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSB0cmltZXN0cmVzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJlbCB0cmltZXN0cmUgcGFzYWRvXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtb250aFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0ZSBtZXNcIixcbiAgICAgICAgICBcIjFcIjogXCJlbCBtZXMgcHLDs3hpbW9cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gbWVzXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBtZXNlc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBtZXNcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBtZXNlc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwiZWwgbWVzIHBhc2Fkb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwid2Vla1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0YSBzZW1hbmFcIixcbiAgICAgICAgICBcIjFcIjogXCJsYSBzZW1hbmEgcHLDs3hpbWFcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gc2VtYW5hXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBzZW1hbmFzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNlbWFuYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IHNlbWFuYXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhIHNlbWFuYSBwYXNhZGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJlc1wiOiB7XG4gICAgICAgIFwibnVcIjogW1wibGF0blwiXSxcbiAgICAgICAgXCJ5ZWFyXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIGHDsW9cIixcbiAgICAgICAgICBcIjFcIjogXCJlbCBwcsOzeGltbyBhw7FvXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IGHDsW9cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IGHDsW9zXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IGHDsW9cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBhw7Fvc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwiZWwgYcOxbyBwYXNhZG9cIlxuICAgICAgICB9LFxuICAgICAgICBcInllYXItc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImVzdGUgYcOxb1wiLFxuICAgICAgICAgIFwiMVwiOiBcImVsIHByw7N4aW1vIGHDsW9cIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gYVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBhXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gYVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwiZWwgYcOxbyBwYXNhZG9cIlxuICAgICAgICB9LFxuICAgICAgICBcInllYXItbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIGHDsW9cIixcbiAgICAgICAgICBcIjFcIjogXCJlbCBwcsOzeGltbyBhw7FvXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IGFcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IGFcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IGFcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImVsIGHDsW8gcGFzYWRvXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJxdWFydGVyXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIHRyaW1lc3RyZVwiLFxuICAgICAgICAgIFwiMVwiOiBcImVsIHByw7N4aW1vIHRyaW1lc3RyZVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSB0cmltZXN0cmVcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IHRyaW1lc3RyZXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gdHJpbWVzdHJlXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gdHJpbWVzdHJlc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwiZWwgdHJpbWVzdHJlIHBhc2Fkb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlci1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0ZSB0cmltZXN0cmVcIixcbiAgICAgICAgICBcIjFcIjogXCJlbCBwcsOzeGltbyB0cmltZXN0cmVcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gdHJpbS5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IHRyaW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHRyaW0uXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gdHJpbS5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImVsIHRyaW1lc3RyZSBwYXNhZG9cIlxuICAgICAgICB9LFxuICAgICAgICBcInF1YXJ0ZXItbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIHRyaW1lc3RyZVwiLFxuICAgICAgICAgIFwiMVwiOiBcImVsIHByw7N4aW1vIHRyaW1lc3RyZVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSB0cmltLlwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gdHJpbS5cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gdHJpbS5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSB0cmltLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwiZWwgdHJpbWVzdHJlIHBhc2Fkb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwibW9udGhcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImVzdGUgbWVzXCIsXG4gICAgICAgICAgXCIxXCI6IFwiZWwgcHLDs3hpbW8gbWVzXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IG1lc1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gbWVzZXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gbWVzXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gbWVzZXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImVsIG1lcyBwYXNhZG9cIlxuICAgICAgICB9LFxuICAgICAgICBcIm1vbnRoLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIG1lc1wiLFxuICAgICAgICAgIFwiMVwiOiBcImVsIHByw7N4aW1vIG1lc1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBtXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBtXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IG1cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBtXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJlbCBtZXMgcGFzYWRvXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtb250aC1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImVzdGUgbWVzXCIsXG4gICAgICAgICAgXCIxXCI6IFwiZWwgcHLDs3hpbW8gbWVzXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IG1cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IG1cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gbVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IG1cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImVsIG1lcyBwYXNhZG9cIlxuICAgICAgICB9LFxuICAgICAgICBcIndlZWtcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImVzdGEgc2VtYW5hXCIsXG4gICAgICAgICAgXCIxXCI6IFwibGEgcHLDs3hpbWEgc2VtYW5hXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IHNlbWFuYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gc2VtYW5hc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBzZW1hbmFcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBzZW1hbmFzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYSBzZW1hbmEgcGFzYWRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ3ZWVrLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RhIHNlbS5cIixcbiAgICAgICAgICBcIjFcIjogXCJwcsOzeC4gc2VtLlwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBzZW0uXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBzZW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNlbS5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBzZW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJzZW0uIGFudC5cIlxuICAgICAgICB9LFxuICAgICAgICBcIndlZWstbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RhIHNlbS5cIixcbiAgICAgICAgICBcIjFcIjogXCJwcsOzeC4gc2VtLlwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBzZW0uXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiZGVudHJvIGRlIHswfSBzZW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNlbS5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBzZW0uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJzZW0uIGFudC5cIlxuICAgICAgICB9LFxuICAgICAgICBcImRheVwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiaG95XCIsXG4gICAgICAgICAgXCIxXCI6IFwibWHDsWFuYVwiLFxuICAgICAgICAgIFwiMlwiOiBcInBhc2FkbyBtYcOxYW5hXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IGTDrWFcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IGTDrWFzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IGTDrWFcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBkw61hc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0yXCI6IFwiYW50ZWF5ZXJcIixcbiAgICAgICAgICBcIi0xXCI6IFwiYXllclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZGF5LXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJob3lcIixcbiAgICAgICAgICBcIjFcIjogXCJtYcOxYW5hXCIsXG4gICAgICAgICAgXCIyXCI6IFwicGFzYWRvIG1hw7FhbmFcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gZMOtYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gZMOtYXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gZMOtYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IGTDrWFzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTJcIjogXCJhbnRlYXllclwiLFxuICAgICAgICAgIFwiLTFcIjogXCJheWVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJkYXktbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJob3lcIixcbiAgICAgICAgICBcIjFcIjogXCJtYcOxYW5hXCIsXG4gICAgICAgICAgXCIyXCI6IFwicGFzYWRvIG1hw7FhbmFcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gZMOtYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gZMOtYXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gZMOtYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IGTDrWFzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTJcIjogXCJhbnRlYXllclwiLFxuICAgICAgICAgIFwiLTFcIjogXCJheWVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJob3VyXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RhIGhvcmFcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gaG9yYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gaG9yYXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gaG9yYVwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IGhvcmFzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiaG91ci1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0YSBob3JhXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IGhcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IGhcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gaFwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IGhcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJob3VyLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiZXN0YSBob3JhXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IGhcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IGhcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gaFwiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IGhcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJtaW51dGVcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImVzdGUgbWludXRvXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IG1pbnV0b1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gbWludXRvc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBtaW51dG9cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBtaW51dG9zXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwibWludXRlLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIG1pbnV0b1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBtaW5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IG1pblwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBtaW5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBtaW5cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJtaW51dGUtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJlc3RlIG1pbnV0b1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiZGVudHJvIGRlIHswfSBtaW5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IG1pblwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBtaW5cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBtaW5cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNvbmRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImFob3JhXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IHNlZ3VuZG9cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IHNlZ3VuZG9zXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImhhY2UgezB9IHNlZ3VuZG9cIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJoYWNlIHswfSBzZWd1bmRvc1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInNlY29uZC1zaG9ydFwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwiYWhvcmFcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm9uZVwiOiBcImRlbnRybyBkZSB7MH0gc1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImRlbnRybyBkZSB7MH0gc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJoYWNlIHswfSBzXCIsXG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiaGFjZSB7MH0gc1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInNlY29uZC1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcImFob3JhXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvbmVcIjogXCJkZW50cm8gZGUgezB9IHNcIixcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCJkZW50cm8gZGUgezB9IHNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib25lXCI6IFwiaGFjZSB7MH0gc1wiLFxuICAgICAgICAgICAgXCJvdGhlclwiOiBcImhhY2UgezB9IHNcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgXCJhdmFpbGFibGVMb2NhbGVzXCI6IFtcImVzLTQxOVwiLCBcImVzLUFSXCIsIFwiZXMtQk9cIiwgXCJlcy1CUlwiLCBcImVzLUJaXCIsIFwiZXMtQ0xcIiwgXCJlcy1DT1wiLCBcImVzLUNSXCIsIFwiZXMtQ1VcIiwgXCJlcy1ET1wiLCBcImVzLUVBXCIsIFwiZXMtRUNcIiwgXCJlcy1HUVwiLCBcImVzLUdUXCIsIFwiZXMtSE5cIiwgXCJlcy1JQ1wiLCBcImVzLU1YXCIsIFwiZXMtTklcIiwgXCJlcy1QQVwiLCBcImVzLVBFXCIsIFwiZXMtUEhcIiwgXCJlcy1QUlwiLCBcImVzLVBZXCIsIFwiZXMtU1ZcIiwgXCJlcy1VU1wiLCBcImVzLVVZXCIsIFwiZXMtVkVcIiwgXCJlc1wiXSxcbiAgICBcImFsaWFzZXNcIjoge30sXG4gICAgXCJwYXJlbnRMb2NhbGVzXCI6IHtcbiAgICAgIFwiZXMtQVJcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQk9cIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQlJcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQlpcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQ0xcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQ09cIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQ1JcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtQ1VcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtRE9cIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtRUNcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtR1RcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtSE5cIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtTVhcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtTklcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtUEFcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtUEVcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtUFJcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtUFlcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtU1ZcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtVVNcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtVVlcIjogXCJlcy00MTlcIixcbiAgICAgIFwiZXMtVkVcIjogXCJlcy00MTlcIlxuICAgIH1cbiAgfSk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///4033\n')},9584:function(){eval('/* @generated */\n// prettier-ignore\nif (Intl.RelativeTimeFormat && typeof Intl.RelativeTimeFormat.__addLocaleData === \'function\') {\n Intl.RelativeTimeFormat.__addLocaleData({\n "data": {\n "ses": {\n "nu": ["latn"],\n "year": {\n "0": "this year",\n "1": "next year",\n "future": {\n "other": "+{0} y"\n },\n "past": {\n "other": "-{0} y"\n },\n "-1": "last year"\n },\n "year-short": {\n "0": "this year",\n "1": "next year",\n "future": {\n "other": "+{0} y"\n },\n "past": {\n "other": "-{0} y"\n },\n "-1": "last year"\n },\n "year-narrow": {\n "0": "this year",\n "1": "next year",\n "future": {\n "other": "+{0} y"\n },\n "past": {\n "other": "-{0} y"\n },\n "-1": "last year"\n },\n "quarter": {\n "0": "this quarter",\n "1": "next quarter",\n "future": {\n "other": "+{0} Q"\n },\n "past": {\n "other": "-{0} Q"\n },\n "-1": "last quarter"\n },\n "quarter-short": {\n "0": "this quarter",\n "1": "next quarter",\n "future": {\n "other": "+{0} Q"\n },\n "past": {\n "other": "-{0} Q"\n },\n "-1": "last quarter"\n },\n "quarter-narrow": {\n "0": "this quarter",\n "1": "next quarter",\n "future": {\n "other": "+{0} Q"\n },\n "past": {\n "other": "-{0} Q"\n },\n "-1": "last quarter"\n },\n "month": {\n "0": "this month",\n "1": "next month",\n "future": {\n "other": "+{0} m"\n },\n "past": {\n "other": "-{0} m"\n },\n "-1": "last month"\n },\n "month-short": {\n "0": "this month",\n "1": "next month",\n "future": {\n "other": "+{0} m"\n },\n "past": {\n "other": "-{0} m"\n },\n "-1": "last month"\n },\n "month-narrow": {\n "0": "this month",\n "1": "next month",\n "future": {\n "other": "+{0} m"\n },\n "past": {\n "other": "-{0} m"\n },\n "-1": "last month"\n },\n "week": {\n "0": "this week",\n "1": "next week",\n "future": {\n "other": "+{0} w"\n },\n "past": {\n "other": "-{0} w"\n },\n "-1": "last week"\n },\n "week-short": {\n "0": "this week",\n "1": "next week",\n "future": {\n "other": "+{0} w"\n },\n "past": {\n "other": "-{0} w"\n },\n "-1": "last week"\n },\n "week-narrow": {\n "0": "this week",\n "1": "next week",\n "future": {\n "other": "+{0} w"\n },\n "past": {\n "other": "-{0} w"\n },\n "-1": "last week"\n },\n "day": {\n "0": "Hõo",\n "1": "Suba",\n "future": {\n "other": "+{0} d"\n },\n "past": {\n "other": "-{0} d"\n },\n "-1": "Bi"\n },\n "day-short": {\n "0": "Hõo",\n "1": "Suba",\n "future": {\n "other": "+{0} d"\n },\n "past": {\n "other": "-{0} d"\n },\n "-1": "Bi"\n },\n "day-narrow": {\n "0": "Hõo",\n "1": "Suba",\n "future": {\n "other": "+{0} d"\n },\n "past": {\n "other": "-{0} d"\n },\n "-1": "Bi"\n },\n "hour": {\n "0": "this hour",\n "future": {\n "other": "+{0} h"\n },\n "past": {\n "other": "-{0} h"\n }\n },\n "hour-short": {\n "0": "this hour",\n "future": {\n "other": "+{0} h"\n },\n "past": {\n "other": "-{0} h"\n }\n },\n "hour-narrow": {\n "0": "this hour",\n "future": {\n "other": "+{0} h"\n },\n "past": {\n "other": "-{0} h"\n }\n },\n "minute": {\n "0": "this minute",\n "future": {\n "other": "+{0} min"\n },\n "past": {\n "other": "-{0} min"\n }\n },\n "minute-short": {\n "0": "this minute",\n "future": {\n "other": "+{0} min"\n },\n "past": {\n "other": "-{0} min"\n }\n },\n "minute-narrow": {\n "0": "this minute",\n "future": {\n "other": "+{0} min"\n },\n "past": {\n "other": "-{0} min"\n }\n },\n "second": {\n "0": "now",\n "future": {\n "other": "+{0} s"\n },\n "past": {\n "other": "-{0} s"\n }\n },\n "second-short": {\n "0": "now",\n "future": {\n "other": "+{0} s"\n },\n "past": {\n "other": "-{0} s"\n }\n },\n "second-narrow": {\n "0": "now",\n "future": {\n "other": "+{0} s"\n },\n "past": {\n "other": "-{0} s"\n }\n }\n }\n },\n "availableLocales": ["ses"],\n "aliases": {},\n "parentLocales": {}\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1yZWxhdGl2ZXRpbWVmb3JtYXQvZGlzdC9sb2NhbGUtZGF0YS9zZXMuanM/Mjg4ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0Esd0JBQXdCLEVBQUU7QUFDMUIsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLHdCQUF3QixFQUFFO0FBQzFCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLHdCQUF3QixFQUFFO0FBQzFCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLHdCQUF3QixFQUFFO0FBQzFCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLHdCQUF3QixFQUFFO0FBQzFCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLHdCQUF3QixFQUFFO0FBQzFCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLHdCQUF3QixFQUFFO0FBQzFCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLHdCQUF3QixFQUFFO0FBQzFCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLHdCQUF3QixFQUFFO0FBQzFCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixFQUFFO0FBQzFCLFdBQVc7QUFDWDtBQUNBLHdCQUF3QixFQUFFO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLEdBQUc7QUFDSCIsImZpbGUiOiI5NTg0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGdlbmVyYXRlZCAqL1xuLy8gcHJldHRpZXItaWdub3JlXG5pZiAoSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQgJiYgdHlwZW9mIEludGwuUmVsYXRpdmVUaW1lRm9ybWF0Ll9fYWRkTG9jYWxlRGF0YSA9PT0gJ2Z1bmN0aW9uJykge1xuICBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdC5fX2FkZExvY2FsZURhdGEoe1xuICAgIFwiZGF0YVwiOiB7XG4gICAgICBcInNlc1wiOiB7XG4gICAgICAgIFwibnVcIjogW1wibGF0blwiXSxcbiAgICAgICAgXCJ5ZWFyXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHllYXJcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHllYXJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiK3swfSB5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSB5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHllYXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInllYXItc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgeWVhclwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgeWVhclwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCIrezB9IHlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCItezB9IHlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgeWVhclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwieWVhci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgeWVhclwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgeWVhclwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCIrezB9IHlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCItezB9IHlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgeWVhclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicXVhcnRlclwiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBxdWFydGVyXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBxdWFydGVyXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIit7MH0gUVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIi17MH0gUVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwibGFzdCBxdWFydGVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJxdWFydGVyLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHF1YXJ0ZXJcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHF1YXJ0ZXJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiK3swfSBRXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSBRXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHF1YXJ0ZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInF1YXJ0ZXItbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHF1YXJ0ZXJcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHF1YXJ0ZXJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiK3swfSBRXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSBRXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHF1YXJ0ZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcIm1vbnRoXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1vbnRoXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBtb250aFwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCIrezB9IG1cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCItezB9IG1cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgbW9udGhcIlxuICAgICAgICB9LFxuICAgICAgICBcIm1vbnRoLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1vbnRoXCIsXG4gICAgICAgICAgXCIxXCI6IFwibmV4dCBtb250aFwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCIrezB9IG1cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCItezB9IG1cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3QgbW9udGhcIlxuICAgICAgICB9LFxuICAgICAgICBcIm1vbnRoLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwidGhpcyBtb250aFwiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgbW9udGhcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiK3swfSBtXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSBtXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IG1vbnRoXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ3ZWVrXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIHdlZWtcIixcbiAgICAgICAgICBcIjFcIjogXCJuZXh0IHdlZWtcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiK3swfSB3XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSB3XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLTFcIjogXCJsYXN0IHdlZWtcIlxuICAgICAgICB9LFxuICAgICAgICBcIndlZWstc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgd2Vla1wiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgd2Vla1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCIrezB9IHdcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCItezB9IHdcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3Qgd2Vla1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwid2Vlay1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgd2Vla1wiLFxuICAgICAgICAgIFwiMVwiOiBcIm5leHQgd2Vla1wiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCIrezB9IHdcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCItezB9IHdcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcImxhc3Qgd2Vla1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZGF5XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJIw7VvXCIsXG4gICAgICAgICAgXCIxXCI6IFwiU3ViYVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCIrezB9IGRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCItezB9IGRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCItMVwiOiBcIkJpXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJkYXktc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcIkjDtW9cIixcbiAgICAgICAgICBcIjFcIjogXCJTdWJhXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIit7MH0gZFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIi17MH0gZFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwiQmlcIlxuICAgICAgICB9LFxuICAgICAgICBcImRheS1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcIkjDtW9cIixcbiAgICAgICAgICBcIjFcIjogXCJTdWJhXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIit7MH0gZFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIi17MH0gZFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi0xXCI6IFwiQmlcIlxuICAgICAgICB9LFxuICAgICAgICBcImhvdXJcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgaG91clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCIrezB9IGhcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCItezB9IGhcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJob3VyLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIGhvdXJcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiK3swfSBoXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSBoXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiaG91ci1uYXJyb3dcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgaG91clwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCIrezB9IGhcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJwYXN0XCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCItezB9IGhcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJtaW51dGVcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgbWludXRlXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIit7MH0gbWluXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSBtaW5cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJtaW51dGUtc2hvcnRcIjoge1xuICAgICAgICAgIFwiMFwiOiBcInRoaXMgbWludXRlXCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIit7MH0gbWluXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSBtaW5cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJtaW51dGUtbmFycm93XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJ0aGlzIG1pbnV0ZVwiLFxuICAgICAgICAgIFwiZnV0dXJlXCI6IHtcbiAgICAgICAgICAgIFwib3RoZXJcIjogXCIrezB9IG1pblwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIi17MH0gbWluXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2Vjb25kXCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJub3dcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiK3swfSBzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSBzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2Vjb25kLXNob3J0XCI6IHtcbiAgICAgICAgICBcIjBcIjogXCJub3dcIixcbiAgICAgICAgICBcImZ1dHVyZVwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiK3swfSBzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwicGFzdFwiOiB7XG4gICAgICAgICAgICBcIm90aGVyXCI6IFwiLXswfSBzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2Vjb25kLW5hcnJvd1wiOiB7XG4gICAgICAgICAgXCIwXCI6IFwibm93XCIsXG4gICAgICAgICAgXCJmdXR1cmVcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIit7MH0gc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcInBhc3RcIjoge1xuICAgICAgICAgICAgXCJvdGhlclwiOiBcIi17MH0gc1wiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBcImF2YWlsYWJsZUxvY2FsZXNcIjogW1wic2VzXCJdLFxuICAgIFwiYWxpYXNlc1wiOiB7fSxcbiAgICBcInBhcmVudExvY2FsZXNcIjoge31cbiAgfSk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///9584\n')},8709:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n\nvar core_1 = __webpack_require__(9905);\n\nif (!('RelativeTimeFormat' in Intl)) {\n Object.defineProperty(Intl, 'RelativeTimeFormat', {\n value: core_1.default,\n writable: true,\n enumerable: false,\n configurable: true\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1yZWxhdGl2ZXRpbWVmb3JtYXQvZGlzdC9wb2x5ZmlsbC5qcz83ODNjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQzs7QUFFRixhQUFhLG1CQUFPLENBQUMsSUFBUTs7QUFFN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6Ijg3MDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIGNvcmVfMSA9IHJlcXVpcmUoXCIuL2NvcmVcIik7XG5cbmlmICghKCdSZWxhdGl2ZVRpbWVGb3JtYXQnIGluIEludGwpKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbnRsLCAnUmVsYXRpdmVUaW1lRm9ybWF0Jywge1xuICAgIHZhbHVlOiBjb3JlXzEuZGVmYXVsdCxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///8709\n")},5316:function(__unused_webpack_module,__unused_webpack_exports,__webpack_require__){eval("__webpack_require__(8709);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1yZWxhdGl2ZXRpbWVmb3JtYXQvcG9seWZpbGwuanM/OWM0ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQkFBTyxDQUFDLElBQWlCIiwiZmlsZSI6IjUzMTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuL2Rpc3QvcG9seWZpbGwnKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5316\n")},2650:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n "InternalSlotToken": function() { return /* reexport */ InternalSlotToken; },\n "SANCTIONED_UNITS": function() { return /* reexport */ SANCTIONED_UNITS; },\n "createResolveLocale": function() { return /* reexport */ createResolveLocale; },\n "defaultNumberOption": function() { return /* reexport */ defaultNumberOption; },\n "getAliasesByLang": function() { return /* reexport */ getAliasesByLang; },\n "getCanonicalLocales": function() { return /* reexport */ getCanonicalLocales; },\n "getInternalSlot": function() { return /* reexport */ getInternalSlot; },\n "getLocaleHierarchy": function() { return /* reexport */ getLocaleHierarchy; },\n "getMultiInternalSlots": function() { return /* reexport */ getMultiInternalSlots; },\n "getNumberOption": function() { return /* reexport */ getNumberOption; },\n "getOption": function() { return /* reexport */ getOption; },\n "getParentLocalesByLang": function() { return /* reexport */ getParentLocalesByLang; },\n "invariant": function() { return /* reexport */ invariant/* invariant */.k; },\n "isLiteralPart": function() { return /* reexport */ isLiteralPart; },\n "isMissingLocaleDataError": function() { return /* reexport */ isMissingLocaleDataError; },\n "isWellFormedCurrencyCode": function() { return /* reexport */ isWellFormedCurrencyCode; },\n "objectIs": function() { return /* reexport */ objectIs; },\n "partitionPattern": function() { return /* reexport */ partitionPattern; },\n "removeUnitNamespace": function() { return /* reexport */ removeUnitNamespace; },\n "selectUnit": function() { return /* reexport */ selectUnit; },\n "setInternalSlot": function() { return /* reexport */ setInternalSlot; },\n "setMultiInternalSlots": function() { return /* reexport */ setMultiInternalSlots; },\n "setNumberFormatDigitOptions": function() { return /* reexport */ setNumberFormatDigitOptions; },\n "supportedLocales": function() { return /* reexport */ supportedLocales; },\n "toObject": function() { return /* reexport */ toObject; },\n "toString": function() { return /* reexport */ polyfill_utils_toString; },\n "unpackData": function() { return /* reexport */ unpackData; }\n});\n\n;// CONCATENATED MODULE: ./node_modules/@formatjs/intl-utils/lib/diff.js\nvar __assign = undefined && undefined.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar MS_PER_SECOND = 1e3;\nvar SECS_PER_MIN = 60;\nvar SECS_PER_HOUR = SECS_PER_MIN * 60;\nvar SECS_PER_DAY = SECS_PER_HOUR * 24;\nvar SECS_PER_WEEK = SECS_PER_DAY * 7;\nfunction selectUnit(from, to, thresholds) {\n if (to === void 0) {\n to = Date.now();\n }\n\n if (thresholds === void 0) {\n thresholds = {};\n }\n\n var resolvedThresholds = __assign(__assign({}, DEFAULT_THRESHOLDS), thresholds || {});\n\n var secs = (+from - +to) / MS_PER_SECOND;\n\n if (Math.abs(secs) < resolvedThresholds.second) {\n return {\n value: Math.round(secs),\n unit: \'second\'\n };\n }\n\n var mins = secs / SECS_PER_MIN;\n\n if (Math.abs(mins) < resolvedThresholds.minute) {\n return {\n value: Math.round(mins),\n unit: \'minute\'\n };\n }\n\n var hours = secs / SECS_PER_HOUR;\n\n if (Math.abs(hours) < resolvedThresholds.hour) {\n return {\n value: Math.round(hours),\n unit: \'hour\'\n };\n }\n\n var days = secs / SECS_PER_DAY;\n\n if (Math.abs(days) < resolvedThresholds.day) {\n return {\n value: Math.round(days),\n unit: \'day\'\n };\n }\n\n var fromDate = new Date(from);\n var toDate = new Date(to);\n var years = fromDate.getFullYear() - toDate.getFullYear();\n\n if (Math.round(Math.abs(years)) > 0) {\n return {\n value: Math.round(years),\n unit: \'year\'\n };\n }\n\n var months = years * 12 + fromDate.getMonth() - toDate.getMonth();\n\n if (Math.round(Math.abs(months)) > 0) {\n return {\n value: Math.round(months),\n unit: \'month\'\n };\n }\n\n var weeks = secs / SECS_PER_WEEK;\n return {\n value: Math.round(weeks),\n unit: \'week\'\n };\n}\nvar DEFAULT_THRESHOLDS = {\n second: 45,\n minute: 45,\n hour: 22,\n day: 5\n};\n;// CONCATENATED MODULE: ./node_modules/@formatjs/intl-utils/lib/aliases.js\n/* @generated */\n// prettier-ignore \n/* harmony default export */ var aliases = ({\n "aa-SAAHO": "ssy",\n "aam": "aas",\n "aar": "aa",\n "abk": "ab",\n "adp": "dz",\n "afr": "af",\n "aju": "jrb",\n "aka": "ak",\n "alb": "sq",\n "als": "sq",\n "amh": "am",\n "ara": "ar",\n "arb": "ar",\n "arg": "an",\n "arm": "hy",\n "art-lojban": "jbo",\n "asd": "snz",\n "asm": "as",\n "aue": "ktz",\n "ava": "av",\n "ave": "ae",\n "aym": "ay",\n "ayr": "ay",\n "ayx": "nun",\n "az-AZ": "az-Latn-AZ",\n "aze": "az",\n "azj": "az",\n "bak": "ba",\n "bam": "bm",\n "baq": "eu",\n "bcc": "bal",\n "bcl": "bik",\n "bel": "be",\n "ben": "bn",\n "bgm": "bcg",\n "bh": "bho",\n "bih": "bho",\n "bis": "bi",\n "bjd": "drl",\n "bod": "bo",\n "bos": "bs",\n "bre": "br",\n "bs-BA": "bs-Latn-BA",\n "bul": "bg",\n "bur": "my",\n "bxk": "luy",\n "bxr": "bua",\n "cat": "ca",\n "ccq": "rki",\n "cel-gaulish": "xtg-x-cel-gaulish",\n "ces": "cs",\n "cha": "ch",\n "che": "ce",\n "chi": "zh",\n "chu": "cu",\n "chv": "cv",\n "cjr": "mom",\n "cka": "cmr",\n "cld": "syr",\n "cmk": "xch",\n "cmn": "zh",\n "cnr": "sr-ME",\n "cor": "kw",\n "cos": "co",\n "coy": "pij",\n "cqu": "quh",\n "cre": "cr",\n "cwd": "cr",\n "cym": "cy",\n "cze": "cs",\n "dan": "da",\n "deu": "de",\n "dgo": "doi",\n "dhd": "mwr",\n "dik": "din",\n "diq": "zza",\n "dit": "dif",\n "div": "dv",\n "drh": "mn",\n "drw": "fa-af",\n "dut": "nl",\n "dzo": "dz",\n "ekk": "et",\n "ell": "el",\n "emk": "man",\n "eng": "en",\n "epo": "eo",\n "esk": "ik",\n "est": "et",\n "eus": "eu",\n "ewe": "ee",\n "fao": "fo",\n "fas": "fa",\n "fat": "ak",\n "fij": "fj",\n "fin": "fi",\n "fra": "fr",\n "fre": "fr",\n "fry": "fy",\n "fuc": "ff",\n "ful": "ff",\n "gav": "dev",\n "gaz": "om",\n "gbo": "grb",\n "geo": "ka",\n "ger": "de",\n "gfx": "vaj",\n "ggn": "gvr",\n "gla": "gd",\n "gle": "ga",\n "glg": "gl",\n "glv": "gv",\n "gno": "gon",\n "gre": "el",\n "grn": "gn",\n "gti": "nyc",\n "gug": "gn",\n "guj": "gu",\n "guv": "duz",\n "gya": "gba",\n "ha-Latn-GH": "ha-GH",\n "ha-Latn-NE": "ha-NE",\n "ha-Latn-NG": "ha-NG",\n "hat": "ht",\n "hau": "ha",\n "hbs": "sr-Latn",\n "hdn": "hai",\n "hea": "hmn",\n "heb": "he",\n "her": "hz",\n "him": "srx",\n "hin": "hi",\n "hmo": "ho",\n "hrr": "jal",\n "hrv": "hr",\n "hun": "hu",\n "hye": "hy",\n "i-ami": "ami",\n "i-bnn": "bnn",\n "i-hak": "hak",\n "i-klingon": "tlh",\n "i-lux": "lb",\n "i-navajo": "nv",\n "i-pwn": "pwn",\n "i-tao": "tao",\n "i-tay": "tay",\n "i-tsu": "tsu",\n "i-default": "en-x-i-default",\n "i-enochian": "und-x-i-enochian",\n "i-mingo": "see-x-i-mingo",\n "ibi": "opa",\n "ibo": "ig",\n "ice": "is",\n "ido": "io",\n "iii": "ii",\n "ike": "iu",\n "iku": "iu",\n "ile": "ie",\n "ilw": "gal",\n "in": "id",\n "ina": "ia",\n "ind": "id",\n "ipk": "ik",\n "isl": "is",\n "ita": "it",\n "iw": "he",\n "jav": "jv",\n "jeg": "oyb",\n "ji": "yi",\n "jpn": "ja",\n "jw": "jv",\n "kal": "kl",\n "kan": "kn",\n "kas": "ks",\n "kat": "ka",\n "kau": "kr",\n "kaz": "kk",\n "kgc": "tdf",\n "kgh": "kml",\n "khk": "mn",\n "khm": "km",\n "kik": "ki",\n "kin": "rw",\n "kir": "ky",\n "kk-Cyrl-KZ": "kk-KZ",\n "kmr": "ku",\n "knc": "kr",\n "kng": "kg",\n "knn": "kok",\n "koj": "kwv",\n "kom": "kv",\n "kon": "kg",\n "kor": "ko",\n "kpv": "kv",\n "krm": "bmf",\n "ks-Arab-IN": "ks-IN",\n "ktr": "dtp",\n "kua": "kj",\n "kur": "ku",\n "kvs": "gdj",\n "kwq": "yam",\n "kxe": "tvd",\n "ky-Cyrl-KG": "ky-KG",\n "kzj": "dtp",\n "kzt": "dtp",\n "lao": "lo",\n "lat": "la",\n "lav": "lv",\n "lbk": "bnc",\n "lii": "raq",\n "lim": "li",\n "lin": "ln",\n "lit": "lt",\n "llo": "ngt",\n "lmm": "rmx",\n "ltz": "lb",\n "lub": "lu",\n "lug": "lg",\n "lvs": "lv",\n "mac": "mk",\n "mah": "mh",\n "mal": "ml",\n "mao": "mi",\n "mar": "mr",\n "may": "ms",\n "meg": "cir",\n "mhr": "chm",\n "mkd": "mk",\n "mlg": "mg",\n "mlt": "mt",\n "mn-Cyrl-MN": "mn-MN",\n "mnk": "man",\n "mo": "ro",\n "mol": "ro",\n "mon": "mn",\n "mri": "mi",\n "ms-Latn-BN": "ms-BN",\n "ms-Latn-MY": "ms-MY",\n "ms-Latn-SG": "ms-SG",\n "msa": "ms",\n "mst": "mry",\n "mup": "raj",\n "mwj": "vaj",\n "mya": "my",\n "myd": "aog",\n "myt": "mry",\n "nad": "xny",\n "nau": "na",\n "nav": "nv",\n "nbl": "nr",\n "ncp": "kdz",\n "nde": "nd",\n "ndo": "ng",\n "nep": "ne",\n "nld": "nl",\n "nno": "nn",\n "nns": "nbr",\n "nnx": "ngv",\n "no": "nb",\n "no-bok": "nb",\n "no-BOKMAL": "nb",\n "no-nyn": "nn",\n "no-NYNORSK": "nn",\n "nob": "nb",\n "nor": "nb",\n "npi": "ne",\n "nts": "pij",\n "nya": "ny",\n "oci": "oc",\n "ojg": "oj",\n "oji": "oj",\n "ori": "or",\n "orm": "om",\n "ory": "or",\n "oss": "os",\n "oun": "vaj",\n "pa-IN": "pa-Guru-IN",\n "pa-PK": "pa-Arab-PK",\n "pan": "pa",\n "pbu": "ps",\n "pcr": "adx",\n "per": "fa",\n "pes": "fa",\n "pli": "pi",\n "plt": "mg",\n "pmc": "huw",\n "pmu": "phr",\n "pnb": "lah",\n "pol": "pl",\n "por": "pt",\n "ppa": "bfy",\n "ppr": "lcq",\n "prs": "fa-AF",\n "pry": "prt",\n "pus": "ps",\n "puz": "pub",\n "que": "qu",\n "quz": "qu",\n "rmy": "rom",\n "roh": "rm",\n "ron": "ro",\n "rum": "ro",\n "run": "rn",\n "rus": "ru",\n "sag": "sg",\n "san": "sa",\n "sca": "hle",\n "scc": "sr",\n "scr": "hr",\n "sgn-BE-FR": "sfb",\n "sgn-BE-NL": "vgt",\n "sgn-CH-DE": "sgg",\n "sh": "sr-Latn",\n "shi-MA": "shi-Tfng-MA",\n "sin": "si",\n "skk": "oyb",\n "slk": "sk",\n "slo": "sk",\n "slv": "sl",\n "sme": "se",\n "smo": "sm",\n "sna": "sn",\n "snd": "sd",\n "som": "so",\n "sot": "st",\n "spa": "es",\n "spy": "kln",\n "sqi": "sq",\n "sr-BA": "sr-Cyrl-BA",\n "sr-ME": "sr-Latn-ME",\n "sr-RS": "sr-Cyrl-RS",\n "sr-XK": "sr-Cyrl-XK",\n "src": "sc",\n "srd": "sc",\n "srp": "sr",\n "ssw": "ss",\n "sun": "su",\n "swa": "sw",\n "swc": "sw-CD",\n "swe": "sv",\n "swh": "sw",\n "tah": "ty",\n "tam": "ta",\n "tat": "tt",\n "tdu": "dtp",\n "tel": "te",\n "tgk": "tg",\n "tgl": "fil",\n "tha": "th",\n "thc": "tpo",\n "thx": "oyb",\n "tib": "bo",\n "tie": "ras",\n "tir": "ti",\n "tkk": "twm",\n "tl": "fil",\n "tlw": "weo",\n "tmp": "tyj",\n "tne": "kak",\n "tnf": "fa-af",\n "ton": "to",\n "tsf": "taj",\n "tsn": "tn",\n "tso": "ts",\n "ttq": "tmh",\n "tuk": "tk",\n "tur": "tr",\n "tw": "ak",\n "twi": "ak",\n "tzm-Latn-MA": "tzm-MA",\n "ug-Arab-CN": "ug-CN",\n "uig": "ug",\n "ukr": "uk",\n "umu": "del",\n "uok": "ema",\n "urd": "ur",\n "uz-AF": "uz-Arab-AF",\n "uz-UZ": "uz-Latn-UZ",\n "uzb": "uz",\n "uzn": "uz",\n "vai-LR": "vai-Vaii-LR",\n "ven": "ve",\n "vie": "vi",\n "vol": "vo",\n "wel": "cy",\n "wln": "wa",\n "wol": "wo",\n "xba": "cax",\n "xho": "xh",\n "xia": "acn",\n "xkh": "waw",\n "xpe": "kpe",\n "xsj": "suj",\n "xsl": "den",\n "ybd": "rki",\n "ydd": "yi",\n "yid": "yi",\n "yma": "lrr",\n "ymt": "mtm",\n "yor": "yo",\n "yos": "zom",\n "yue-CN": "yue-Hans-CN",\n "yue-HK": "yue-Hant-HK",\n "yuu": "yug",\n "zai": "zap",\n "zh-CN": "zh-Hans-CN",\n "zh-guoyu": "zh",\n "zh-hakka": "hak",\n "zh-HK": "zh-Hant-HK",\n "zh-min-nan": "nan",\n "zh-MO": "zh-Hant-MO",\n "zh-SG": "zh-Hans-SG",\n "zh-TW": "zh-Hant-TW",\n "zh-xiang": "hsn",\n "zh-min": "nan-x-zh-min",\n "zha": "za",\n "zho": "zh",\n "zsm": "ms",\n "zul": "zu",\n "zyb": "za"\n});\n;// CONCATENATED MODULE: ./node_modules/@formatjs/intl-utils/lib/parentLocales.js\n/* @generated */\n// prettier-ignore \n/* harmony default export */ var parentLocales = ({\n "en-150": "en-001",\n "en-AG": "en-001",\n "en-AI": "en-001",\n "en-AU": "en-001",\n "en-BB": "en-001",\n "en-BM": "en-001",\n "en-BS": "en-001",\n "en-BW": "en-001",\n "en-BZ": "en-001",\n "en-CA": "en-001",\n "en-CC": "en-001",\n "en-CK": "en-001",\n "en-CM": "en-001",\n "en-CX": "en-001",\n "en-CY": "en-001",\n "en-DG": "en-001",\n "en-DM": "en-001",\n "en-ER": "en-001",\n "en-FJ": "en-001",\n "en-FK": "en-001",\n "en-FM": "en-001",\n "en-GB": "en-001",\n "en-GD": "en-001",\n "en-GG": "en-001",\n "en-GH": "en-001",\n "en-GI": "en-001",\n "en-GM": "en-001",\n "en-GY": "en-001",\n "en-HK": "en-001",\n "en-IE": "en-001",\n "en-IL": "en-001",\n "en-IM": "en-001",\n "en-IN": "en-001",\n "en-IO": "en-001",\n "en-JE": "en-001",\n "en-JM": "en-001",\n "en-KE": "en-001",\n "en-KI": "en-001",\n "en-KN": "en-001",\n "en-KY": "en-001",\n "en-LC": "en-001",\n "en-LR": "en-001",\n "en-LS": "en-001",\n "en-MG": "en-001",\n "en-MO": "en-001",\n "en-MS": "en-001",\n "en-MT": "en-001",\n "en-MU": "en-001",\n "en-MW": "en-001",\n "en-MY": "en-001",\n "en-NA": "en-001",\n "en-NF": "en-001",\n "en-NG": "en-001",\n "en-NR": "en-001",\n "en-NU": "en-001",\n "en-NZ": "en-001",\n "en-PG": "en-001",\n "en-PH": "en-001",\n "en-PK": "en-001",\n "en-PN": "en-001",\n "en-PW": "en-001",\n "en-RW": "en-001",\n "en-SB": "en-001",\n "en-SC": "en-001",\n "en-SD": "en-001",\n "en-SG": "en-001",\n "en-SH": "en-001",\n "en-SL": "en-001",\n "en-SS": "en-001",\n "en-SX": "en-001",\n "en-SZ": "en-001",\n "en-TC": "en-001",\n "en-TK": "en-001",\n "en-TO": "en-001",\n "en-TT": "en-001",\n "en-TV": "en-001",\n "en-TZ": "en-001",\n "en-UG": "en-001",\n "en-VC": "en-001",\n "en-VG": "en-001",\n "en-VU": "en-001",\n "en-WS": "en-001",\n "en-ZA": "en-001",\n "en-ZM": "en-001",\n "en-ZW": "en-001",\n "en-AT": "en-150",\n "en-BE": "en-150",\n "en-CH": "en-150",\n "en-DE": "en-150",\n "en-DK": "en-150",\n "en-FI": "en-150",\n "en-NL": "en-150",\n "en-SE": "en-150",\n "en-SI": "en-150",\n "es-AR": "es-419",\n "es-BO": "es-419",\n "es-BR": "es-419",\n "es-BZ": "es-419",\n "es-CL": "es-419",\n "es-CO": "es-419",\n "es-CR": "es-419",\n "es-CU": "es-419",\n "es-DO": "es-419",\n "es-EC": "es-419",\n "es-GT": "es-419",\n "es-HN": "es-419",\n "es-MX": "es-419",\n "es-NI": "es-419",\n "es-PA": "es-419",\n "es-PE": "es-419",\n "es-PR": "es-419",\n "es-PY": "es-419",\n "es-SV": "es-419",\n "es-US": "es-419",\n "es-UY": "es-419",\n "es-VE": "es-419",\n "pt-AO": "pt-PT",\n "pt-CH": "pt-PT",\n "pt-CV": "pt-PT",\n "pt-FR": "pt-PT",\n "pt-GQ": "pt-PT",\n "pt-GW": "pt-PT",\n "pt-LU": "pt-PT",\n "pt-MO": "pt-PT",\n "pt-MZ": "pt-PT",\n "pt-ST": "pt-PT",\n "pt-TL": "pt-PT",\n "zh-Hant-MO": "zh-Hant-HK"\n});\n// EXTERNAL MODULE: ./node_modules/@formatjs/intl-utils/lib/invariant.js\nvar invariant = __webpack_require__(5981);\n;// CONCATENATED MODULE: ./node_modules/@formatjs/intl-utils/lib/polyfill-utils.js\n\n\n\n/**\n * https://tc39.es/ecma262/#sec-toobject\n * @param arg\n */\n\nfunction toObject(arg) {\n if (arg == null) {\n throw new TypeError(\'undefined/null cannot be converted to object\');\n }\n\n return Object(arg);\n}\n/**\n * https://tc39.es/ecma262/#sec-tostring\n */\n\nfunction polyfill_utils_toString(o) {\n // Only symbol is irregular...\n if (typeof o === \'symbol\') {\n throw TypeError(\'Cannot convert a Symbol value to a string\');\n }\n\n return String(o);\n}\n/**\n * https://tc39.es/ecma402/#sec-getoption\n * @param opts\n * @param prop\n * @param type\n * @param values\n * @param fallback\n */\n\nfunction getOption(opts, prop, type, values, fallback) {\n // const descriptor = Object.getOwnPropertyDescriptor(opts, prop);\n var value = opts[prop];\n\n if (value !== undefined) {\n if (type !== \'boolean\' && type !== \'string\') {\n throw new TypeError(\'invalid type\');\n }\n\n if (type === \'boolean\') {\n value = Boolean(value);\n }\n\n if (type === \'string\') {\n value = polyfill_utils_toString(value);\n }\n\n if (values !== undefined && !values.filter(function (val) {\n return val == value;\n }).length) {\n throw new RangeError(value + " is not within " + values.join(\', \'));\n }\n\n return value;\n }\n\n return fallback;\n}\n/**\n * https://tc39.es/ecma402/#sec-defaultnumberoption\n * @param val\n * @param min\n * @param max\n * @param fallback\n */\n\nfunction defaultNumberOption(val, min, max, fallback) {\n if (val !== undefined) {\n val = Number(val);\n\n if (isNaN(val) || val < min || val > max) {\n throw new RangeError(val + " is outside of range [" + min + ", " + max + "]");\n }\n\n return Math.floor(val);\n }\n\n return fallback;\n}\n/**\n * https://tc39.es/ecma402/#sec-getnumberoption\n * @param options\n * @param property\n * @param min\n * @param max\n * @param fallback\n */\n\nfunction getNumberOption(options, property, minimum, maximum, fallback) {\n var val = options[property];\n return defaultNumberOption(val, minimum, maximum, fallback);\n}\nfunction getAliasesByLang(lang) {\n return Object.keys(aliases).reduce(function (all, locale) {\n if (locale.split(\'-\')[0] === lang) {\n all[locale] = aliases[locale];\n }\n\n return all;\n }, {});\n}\nfunction getParentLocalesByLang(lang) {\n return Object.keys(parentLocales).reduce(function (all, locale) {\n if (locale.split(\'-\')[0] === lang) {\n all[locale] = parentLocales[locale];\n }\n\n return all;\n }, {});\n}\nfunction setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n\n var slots = map.get(pl);\n slots[field] = value;\n}\nfunction setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nfunction getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nfunction getMultiInternalSlots(map, pl) {\n var fields = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n\n var slots = map.get(pl);\n\n if (!slots) {\n throw new TypeError(pl + " InternalSlot has not been initialized");\n }\n\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nfunction isLiteralPart(patternPart) {\n return patternPart.type === \'literal\';\n}\nfunction partitionPattern(pattern) {\n var result = [];\n var beginIndex = pattern.indexOf(\'{\');\n var endIndex = 0;\n var nextIndex = 0;\n var length = pattern.length;\n\n while (beginIndex < pattern.length && beginIndex > -1) {\n endIndex = pattern.indexOf(\'}\', beginIndex);\n (0,invariant/* invariant */.k)(endIndex > beginIndex, "Invalid pattern " + pattern);\n\n if (beginIndex > nextIndex) {\n result.push({\n type: \'literal\',\n value: pattern.substring(nextIndex, beginIndex)\n });\n }\n\n result.push({\n type: pattern.substring(beginIndex + 1, endIndex),\n value: undefined\n });\n nextIndex = endIndex + 1;\n beginIndex = pattern.indexOf(\'{\', nextIndex);\n }\n\n if (nextIndex < length) {\n result.push({\n type: \'literal\',\n value: pattern.substring(nextIndex, length)\n });\n }\n\n return result;\n}\n/**\n * https://tc39.es/ecma402/#sec-setnfdigitoptions\n * https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-setnfdigitoptions\n * @param intlObj\n * @param opts\n * @param mnfdDefault\n * @param mxfdDefault\n */\n\nfunction setNumberFormatDigitOptions(internalSlotMap, intlObj, opts, mnfdDefault, mxfdDefault) {\n var mnid = getNumberOption(opts, \'minimumIntegerDigits\', 1, 21, 1);\n var mnfd = opts.minimumFractionDigits;\n var mxfd = opts.maximumFractionDigits;\n var mnsd = opts.minimumSignificantDigits;\n var mxsd = opts.maximumSignificantDigits;\n setInternalSlot(internalSlotMap, intlObj, \'minimumIntegerDigits\', mnid);\n\n if (mnsd !== undefined || mxsd !== undefined) {\n setInternalSlot(internalSlotMap, intlObj, \'roundingType\', \'significantDigits\');\n mnsd = defaultNumberOption(mnsd, 1, 21, 1);\n mxsd = defaultNumberOption(mxsd, mnsd, 21, 21);\n setInternalSlot(internalSlotMap, intlObj, \'minimumSignificantDigits\', mnsd);\n setInternalSlot(internalSlotMap, intlObj, \'maximumSignificantDigits\', mxsd);\n } else if (mnfd !== undefined || mxfd !== undefined) {\n setInternalSlot(internalSlotMap, intlObj, \'roundingType\', \'fractionDigits\');\n mnfd = defaultNumberOption(mnfd, 0, 20, mnfdDefault);\n var mxfdActualDefault = Math.max(mnfd, mxfdDefault);\n mxfd = defaultNumberOption(mxfd, mnfd, 20, mxfdActualDefault);\n setInternalSlot(internalSlotMap, intlObj, \'minimumFractionDigits\', mnfd);\n setInternalSlot(internalSlotMap, intlObj, \'maximumFractionDigits\', mxfd);\n } else if (getInternalSlot(internalSlotMap, intlObj, \'notation\') === \'compact\') {\n setInternalSlot(internalSlotMap, intlObj, \'roundingType\', \'compactRounding\');\n } else {\n setInternalSlot(internalSlotMap, intlObj, \'roundingType\', \'fractionDigits\');\n setInternalSlot(internalSlotMap, intlObj, \'minimumFractionDigits\', mnfdDefault);\n setInternalSlot(internalSlotMap, intlObj, \'maximumFractionDigits\', mxfdDefault);\n }\n}\nfunction objectIs(x, y) {\n if (Object.is) {\n return Object.is(x, y);\n } // SameValue algorithm\n\n\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } // Step 6.a: NaN == NaN\n\n\n return x !== x && y !== y;\n}\nvar NOT_A_Z_REGEX = /[^A-Z]/;\n/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\n\nfunction toUpperCase(str) {\n return str.replace(/([a-z])/g, function (_, c) {\n return c.toUpperCase();\n });\n}\n/**\n * https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_proposed_out.html#sec-iswellformedcurrencycode\n * @param currency\n */\n\n\nfunction isWellFormedCurrencyCode(currency) {\n currency = toUpperCase(currency);\n\n if (currency.length !== 3) {\n return false;\n }\n\n if (NOT_A_Z_REGEX.test(currency)) {\n return false;\n }\n\n return true;\n}\n;// CONCATENATED MODULE: ./node_modules/@formatjs/intl-utils/lib/get-canonical-locales.js\n/**\n * IE11-safe version of getCanonicalLocales since it\'s ES2016\n * @param locales locales\n */\nfunction getCanonicalLocales(locales) {\n // IE11\n var getCanonicalLocales = Intl.getCanonicalLocales;\n\n if (typeof getCanonicalLocales === \'function\') {\n return getCanonicalLocales(locales);\n } // NOTE: we must NOT call `supportedLocalesOf` of a formatjs polyfill, or their implementation\n // will even eventually call this method recursively. Here we use `Intl.DateTimeFormat` since it\n // is not polyfilled by `@formatjs`.\n // TODO: Fix TypeScript type def for this bc undefined is just fine\n\n\n return Intl.DateTimeFormat.supportedLocalesOf(locales);\n}\n;// CONCATENATED MODULE: ./node_modules/@formatjs/intl-utils/lib/resolve-locale.js\nvar __extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar resolve_locale_assign = undefined && undefined.__assign || function () {\n resolve_locale_assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return resolve_locale_assign.apply(this, arguments);\n};\n\n\n\n\nfunction createResolveLocale(getDefaultLocale) {\n var lookupMatcher = createLookupMatcher(getDefaultLocale);\n var bestFitMatcher = createBestFitMatcher(getDefaultLocale);\n /**\n * https://tc39.es/ecma402/#sec-resolvelocale\n */\n\n return function resolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData) {\n var matcher = options.localeMatcher;\n var r;\n\n if (matcher === \'lookup\') {\n r = lookupMatcher(availableLocales, requestedLocales);\n } else {\n r = bestFitMatcher(availableLocales, requestedLocales);\n }\n\n var foundLocale = r.locale;\n var result = {\n locale: \'\',\n dataLocale: foundLocale\n };\n var supportedExtension = \'-u\';\n\n for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {\n var key = relevantExtensionKeys_1[_i];\n var foundLocaleData = localeData[foundLocale];\n (0,invariant/* invariant */.k)(typeof foundLocaleData === \'object\' && foundLocaleData !== null, "locale data " + key + " must be an object");\n var keyLocaleData = foundLocaleData[key];\n (0,invariant/* invariant */.k)(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array");\n var value = keyLocaleData[0];\n (0,invariant/* invariant */.k)(typeof value === \'string\' || value === null, \'value must be string or null\');\n var supportedExtensionAddition = \'\';\n\n if (r.extension) {\n var requestedValue = unicodeExtensionValue(r.extension, key);\n\n if (requestedValue !== undefined) {\n if (requestedValue !== \'\') {\n if (~keyLocaleData.indexOf(requestedValue)) {\n value = requestedValue;\n supportedExtensionAddition = "-" + key + "-" + value;\n }\n } else if (~requestedValue.indexOf(\'true\')) {\n value = \'true\';\n supportedExtensionAddition = "-" + key;\n }\n }\n }\n\n if (key in options) {\n var optionsValue = options[key];\n (0,invariant/* invariant */.k)(typeof optionsValue === \'string\' || typeof optionsValue === \'undefined\' || optionsValue === null, \'optionsValue must be String, Undefined or Null\');\n\n if (~keyLocaleData.indexOf(optionsValue)) {\n if (optionsValue !== value) {\n value = optionsValue;\n supportedExtensionAddition = \'\';\n }\n }\n }\n\n result[key] = value;\n supportedExtension += supportedExtensionAddition;\n }\n\n if (supportedExtension.length > 2) {\n var privateIndex = foundLocale.indexOf(\'-x-\');\n\n if (privateIndex === -1) {\n foundLocale = foundLocale + supportedExtension;\n } else {\n var preExtension = foundLocale.slice(0, privateIndex);\n var postExtension = foundLocale.slice(privateIndex, foundLocale.length);\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n\n foundLocale = getCanonicalLocales(foundLocale)[0];\n }\n\n result.locale = foundLocale;\n return result;\n };\n}\n/**\n * https://tc39.es/ecma402/#sec-unicodeextensionvalue\n * @param extension\n * @param key\n */\n\nfunction unicodeExtensionValue(extension, key) {\n (0,invariant/* invariant */.k)(key.length === 2, \'key must have 2 elements\');\n var size = extension.length;\n var searchValue = "-" + key + "-";\n var pos = extension.indexOf(searchValue);\n\n if (pos !== -1) {\n var start = pos + 4;\n var end = start;\n var k = start;\n var done = false;\n\n while (!done) {\n var e = extension.indexOf(\'-\', k);\n var len = void 0;\n\n if (e === -1) {\n len = size - k;\n } else {\n len = e - k;\n }\n\n if (len === 2) {\n done = true;\n } else if (e === -1) {\n end = size;\n done = true;\n } else {\n end = e;\n k = e + 1;\n }\n }\n\n return extension.slice(start, end);\n }\n\n searchValue = "-" + key;\n pos = extension.indexOf(searchValue);\n\n if (pos !== -1 && pos + 3 === size) {\n return \'\';\n }\n\n return undefined;\n}\n\nvar UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\n/**\n * https://tc39.es/ecma402/#sec-bestavailablelocale\n * @param availableLocales\n * @param locale\n */\n\nfunction bestAvailableLocale(availableLocales, locale) {\n var candidate = locale;\n\n while (true) {\n if (~availableLocales.indexOf(candidate)) {\n return candidate;\n }\n\n var pos = candidate.lastIndexOf(\'-\');\n\n if (!~pos) {\n return undefined;\n }\n\n if (pos >= 2 && candidate[pos - 2] === \'-\') {\n pos -= 2;\n }\n\n candidate = candidate.slice(0, pos);\n }\n}\n\nfunction createLookupMatcher(getDefaultLocale) {\n /**\n * https://tc39.es/ecma402/#sec-lookupmatcher\n */\n return function lookupMatcher(availableLocales, requestedLocales) {\n var result = {\n locale: \'\'\n };\n\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, \'\');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n\n if (availableLocale) {\n result.locale = availableLocale;\n\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);\n }\n\n return result;\n }\n }\n\n result.locale = getDefaultLocale();\n return result;\n };\n}\n\nfunction createBestFitMatcher(getDefaultLocale) {\n return function bestFitMatcher(availableLocales, requestedLocales) {\n var result = {\n locale: \'\'\n };\n\n for (var _i = 0, requestedLocales_2 = requestedLocales; _i < requestedLocales_2.length; _i++) {\n var locale = requestedLocales_2[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, \'\');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n\n if (availableLocale) {\n result.locale = availableLocale;\n\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);\n }\n\n return result;\n }\n }\n\n result.locale = getDefaultLocale();\n return result;\n };\n}\n\nfunction getLocaleHierarchy(locale, aliases, parentLocales) {\n var results = [locale];\n\n if (aliases[locale]) {\n locale = aliases[locale];\n results.push(locale);\n }\n\n var parentLocale = parentLocales[locale];\n\n if (parentLocale) {\n results.push(parentLocale);\n }\n\n var localeParts = locale.split(\'-\');\n\n for (var i = localeParts.length; i > 1; i--) {\n results.push(localeParts.slice(0, i - 1).join(\'-\'));\n }\n\n return results;\n}\n\nfunction lookupSupportedLocales(availableLocales, requestedLocales) {\n var subset = [];\n\n for (var _i = 0, requestedLocales_3 = requestedLocales; _i < requestedLocales_3.length; _i++) {\n var locale = requestedLocales_3[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, \'\');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n\n if (availableLocale) {\n subset.push(availableLocale);\n }\n }\n\n return subset;\n}\n\nfunction supportedLocales(availableLocales, requestedLocales, options) {\n var matcher = \'best fit\';\n\n if (options !== undefined) {\n options = toObject(options);\n matcher = getOption(options, \'localeMatcher\', \'string\', [\'lookup\', \'best fit\'], \'best fit\');\n }\n\n if (matcher === \'best fit\') {\n return lookupSupportedLocales(availableLocales, requestedLocales);\n }\n\n return lookupSupportedLocales(availableLocales, requestedLocales);\n}\n\nvar MissingLocaleDataError =\n/** @class */\nfunction (_super) {\n __extends(MissingLocaleDataError, _super);\n\n function MissingLocaleDataError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = \'MISSING_LOCALE_DATA\';\n return _this;\n }\n\n return MissingLocaleDataError;\n}(Error);\n\nfunction isMissingLocaleDataError(e) {\n return e.type === \'MISSING_LOCALE_DATA\';\n}\nfunction unpackData(locale, localeData,\n/** By default shallow merge the dictionaries. */\nreducer) {\n if (reducer === void 0) {\n reducer = function reducer(all, d) {\n return resolve_locale_assign(resolve_locale_assign({}, all), d);\n };\n }\n\n var localeHierarchy = getLocaleHierarchy(locale, localeData.aliases, localeData.parentLocales);\n var dataToMerge = localeHierarchy.map(function (l) {\n return localeData.data[l];\n }).filter(Boolean);\n\n if (!dataToMerge.length) {\n throw new MissingLocaleDataError("Missing locale data for \\"" + locale + "\\", lookup hierarchy: " + localeHierarchy.join(\', \'));\n }\n\n dataToMerge.reverse();\n return dataToMerge.reduce(reducer, {});\n}\n;// CONCATENATED MODULE: ./node_modules/@formatjs/intl-utils/lib/units.js\n// https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_diff_out.html#sec-issanctionedsimpleunitidentifier\nvar SANCTIONED_UNITS = [\'angle-degree\', \'area-acre\', \'area-hectare\', \'concentr-percent\', \'digital-bit\', \'digital-byte\', \'digital-gigabit\', \'digital-gigabyte\', \'digital-kilobit\', \'digital-kilobyte\', \'digital-megabit\', \'digital-megabyte\', \'digital-petabyte\', \'digital-terabit\', \'digital-terabyte\', \'duration-day\', \'duration-hour\', \'duration-millisecond\', \'duration-minute\', \'duration-month\', \'duration-second\', \'duration-week\', \'duration-year\', \'length-centimeter\', \'length-foot\', \'length-inch\', \'length-kilometer\', \'length-meter\', \'length-mile-scandinavian\', \'length-mile\', \'length-millimeter\', \'length-yard\', \'mass-gram\', \'mass-kilogram\', \'mass-ounce\', \'mass-pound\', \'mass-stone\', \'temperature-celsius\', \'temperature-fahrenheit\', \'volume-fluid-ounce\', \'volume-gallon\', \'volume-liter\', \'volume-milliliter\']; // In CLDR, the unit name always follows the form `namespace-unit` pattern.\n// For example: `digital-bit` instead of `bit`. This function removes the namespace prefix.\n\nfunction removeUnitNamespace(unit) {\n return unit.replace(/^(.*?)-/, \'\');\n}\n;// CONCATENATED MODULE: ./node_modules/@formatjs/intl-utils/lib/number-types.js\nvar InternalSlotToken;\n\n(function (InternalSlotToken) {\n // To prevent collision with {0} in CLDR\n InternalSlotToken["compactName"] = "compactName";\n InternalSlotToken["compactSymbol"] = "compactSymbol";\n InternalSlotToken["currencyCode"] = "currencyCode";\n InternalSlotToken["currencyName"] = "currencyName";\n InternalSlotToken["currencyNarrowSymbol"] = "currencyNarrowSymbol";\n InternalSlotToken["currencySymbol"] = "currencySymbol";\n InternalSlotToken["minusSign"] = "minusSign";\n InternalSlotToken["number"] = "number";\n InternalSlotToken["percentSign"] = "percentSign";\n InternalSlotToken["plusSign"] = "plusSign";\n InternalSlotToken["scientificExponent"] = "scientificExponent";\n InternalSlotToken["scientificSeparator"] = "scientificSeparator";\n InternalSlotToken["unitName"] = "unitName";\n InternalSlotToken["unitNarrowSymbol"] = "unitNarrowSymbol";\n InternalSlotToken["unitSymbol"] = "unitSymbol";\n})(InternalSlotToken || (InternalSlotToken = {}));\n;// CONCATENATED MODULE: ./node_modules/@formatjs/intl-utils/lib/index.js\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC11dGlscy9saWIvZGlmZi5qcz83Y2M4Iiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pbnRsLXV0aWxzL2xpYi9hbGlhc2VzLmpzPzU5OTYiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ludGwtdXRpbHMvbGliL3BhcmVudExvY2FsZXMuanM/ZTYzMCIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC11dGlscy9saWIvcG9seWZpbGwtdXRpbHMuanM/YzlkMiIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC11dGlscy9saWIvZ2V0LWNhbm9uaWNhbC1sb2NhbGVzLmpzP2VmMWMiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ludGwtdXRpbHMvbGliL3Jlc29sdmUtbG9jYWxlLmpzPzQyNmQiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ludGwtdXRpbHMvbGliL3VuaXRzLmpzPzEyYTYiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ludGwtdXRpbHMvbGliL251bWJlci10eXBlcy5qcz85M2U0Iiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pbnRsLXV0aWxzL2xpYi9pbmRleC5qcz80MGYyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZUFBZSxTQUFJLElBQUksU0FBSTtBQUMzQjtBQUNBLDRDQUE0QyxPQUFPO0FBQ25EOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLCtDQUErQyx1Q0FBdUM7O0FBRXRGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRTs7QUNuR0E7QUFDQTtBQUNBLDRDQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFOztBQ3ZhRDtBQUNBO0FBQ0Esa0RBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFOzs7O0FDbkkrQjtBQUNZO0FBQ0o7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTyxTQUFTLHVCQUFRO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxjQUFjLHVCQUFRO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDTztBQUNQLHFCQUFxQixPQUFPO0FBQzVCO0FBQ0Esb0JBQW9CLE9BQU87QUFDM0I7O0FBRUE7QUFDQSxHQUFHLElBQUk7QUFDUDtBQUNPO0FBQ1AscUJBQXFCLGFBQWE7QUFDbEM7QUFDQSxvQkFBb0IsYUFBYTtBQUNqQzs7QUFFQTtBQUNBLEdBQUcsSUFBSTtBQUNQO0FBQ087QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ087QUFDUCwyQ0FBMkMsZ0JBQWdCO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDs7QUFFQSxrQkFBa0IsdUJBQXVCO0FBQ3pDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUNBQWlDO0FBQ2pDLElBQUksOEJBQVM7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsbUNBQW1DO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEM7O0FDL1FBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLEM7O0FDakJBLGdCQUFnQixTQUFJLElBQUksU0FBSTtBQUM1QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCxJQUFJLHFCQUFRLEdBQUcsU0FBSSxJQUFJLFNBQUk7QUFDM0IsRUFBRSxxQkFBUTtBQUNWLDRDQUE0QyxPQUFPO0FBQ25EOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsU0FBUyxxQkFBUTtBQUNqQjs7QUFFOEQ7QUFDdEI7QUFDZTtBQUNoRDtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUVBQXFFLHFDQUFxQztBQUMxRztBQUNBO0FBQ0EsTUFBTSw4QkFBUztBQUNmO0FBQ0EsTUFBTSw4QkFBUztBQUNmO0FBQ0EsTUFBTSw4QkFBUztBQUNmOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVEsOEJBQVM7O0FBRWpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLG1CQUFtQjtBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFLDhCQUFTO0FBQ1g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHVEQUF1RCxJQUFJO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDJEQUEyRCxnQ0FBZ0M7QUFDM0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDJEQUEyRCxnQ0FBZ0M7QUFDM0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxrQ0FBa0MsT0FBTztBQUN6QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx5REFBeUQsZ0NBQWdDO0FBQ3pGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVPO0FBQ1A7O0FBRUE7QUFDQSxjQUFjLFFBQVE7QUFDdEIsY0FBYyxTQUFTO0FBQ3ZCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFTTtBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxxQkFBUSxDQUFDLHFCQUFRLEdBQUc7QUFDakM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVDQUF1QztBQUN2QyxDOztBQ3ZXQTtBQUNPLHN5QkFBc3lCO0FBQzd5Qjs7QUFFTztBQUNQO0FBQ0EsQzs7QUNOTzs7QUFFUDtBQUNBLGdDQUFnQyxFQUFFO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsOENBQThDLEc7O0FDbkJYO0FBQytSO0FBQ2hNO0FBQzNHO0FBQ087QUFDK0IiLCJmaWxlIjoiMjY1MC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2Fzc2lnbiA9IHRoaXMgJiYgdGhpcy5fX2Fzc2lnbiB8fCBmdW5jdGlvbiAoKSB7XG4gIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodCkge1xuICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIgcCBpbiBzKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0O1xuICB9O1xuXG4gIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcblxudmFyIE1TX1BFUl9TRUNPTkQgPSAxZTM7XG52YXIgU0VDU19QRVJfTUlOID0gNjA7XG52YXIgU0VDU19QRVJfSE9VUiA9IFNFQ1NfUEVSX01JTiAqIDYwO1xudmFyIFNFQ1NfUEVSX0RBWSA9IFNFQ1NfUEVSX0hPVVIgKiAyNDtcbnZhciBTRUNTX1BFUl9XRUVLID0gU0VDU19QRVJfREFZICogNztcbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RVbml0KGZyb20sIHRvLCB0aHJlc2hvbGRzKSB7XG4gIGlmICh0byA9PT0gdm9pZCAwKSB7XG4gICAgdG8gPSBEYXRlLm5vdygpO1xuICB9XG5cbiAgaWYgKHRocmVzaG9sZHMgPT09IHZvaWQgMCkge1xuICAgIHRocmVzaG9sZHMgPSB7fTtcbiAgfVxuXG4gIHZhciByZXNvbHZlZFRocmVzaG9sZHMgPSBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgREVGQVVMVF9USFJFU0hPTERTKSwgdGhyZXNob2xkcyB8fCB7fSk7XG5cbiAgdmFyIHNlY3MgPSAoK2Zyb20gLSArdG8pIC8gTVNfUEVSX1NFQ09ORDtcblxuICBpZiAoTWF0aC5hYnMoc2VjcykgPCByZXNvbHZlZFRocmVzaG9sZHMuc2Vjb25kKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBNYXRoLnJvdW5kKHNlY3MpLFxuICAgICAgdW5pdDogJ3NlY29uZCdcbiAgICB9O1xuICB9XG5cbiAgdmFyIG1pbnMgPSBzZWNzIC8gU0VDU19QRVJfTUlOO1xuXG4gIGlmIChNYXRoLmFicyhtaW5zKSA8IHJlc29sdmVkVGhyZXNob2xkcy5taW51dGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IE1hdGgucm91bmQobWlucyksXG4gICAgICB1bml0OiAnbWludXRlJ1xuICAgIH07XG4gIH1cblxuICB2YXIgaG91cnMgPSBzZWNzIC8gU0VDU19QRVJfSE9VUjtcblxuICBpZiAoTWF0aC5hYnMoaG91cnMpIDwgcmVzb2x2ZWRUaHJlc2hvbGRzLmhvdXIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IE1hdGgucm91bmQoaG91cnMpLFxuICAgICAgdW5pdDogJ2hvdXInXG4gICAgfTtcbiAgfVxuXG4gIHZhciBkYXlzID0gc2VjcyAvIFNFQ1NfUEVSX0RBWTtcblxuICBpZiAoTWF0aC5hYnMoZGF5cykgPCByZXNvbHZlZFRocmVzaG9sZHMuZGF5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBNYXRoLnJvdW5kKGRheXMpLFxuICAgICAgdW5pdDogJ2RheSdcbiAgICB9O1xuICB9XG5cbiAgdmFyIGZyb21EYXRlID0gbmV3IERhdGUoZnJvbSk7XG4gIHZhciB0b0RhdGUgPSBuZXcgRGF0ZSh0byk7XG4gIHZhciB5ZWFycyA9IGZyb21EYXRlLmdldEZ1bGxZZWFyKCkgLSB0b0RhdGUuZ2V0RnVsbFllYXIoKTtcblxuICBpZiAoTWF0aC5yb3VuZChNYXRoLmFicyh5ZWFycykpID4gMCkge1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogTWF0aC5yb3VuZCh5ZWFycyksXG4gICAgICB1bml0OiAneWVhcidcbiAgICB9O1xuICB9XG5cbiAgdmFyIG1vbnRocyA9IHllYXJzICogMTIgKyBmcm9tRGF0ZS5nZXRNb250aCgpIC0gdG9EYXRlLmdldE1vbnRoKCk7XG5cbiAgaWYgKE1hdGgucm91bmQoTWF0aC5hYnMobW9udGhzKSkgPiAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBNYXRoLnJvdW5kKG1vbnRocyksXG4gICAgICB1bml0OiAnbW9udGgnXG4gICAgfTtcbiAgfVxuXG4gIHZhciB3ZWVrcyA9IHNlY3MgLyBTRUNTX1BFUl9XRUVLO1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiBNYXRoLnJvdW5kKHdlZWtzKSxcbiAgICB1bml0OiAnd2VlaydcbiAgfTtcbn1cbmV4cG9ydCB2YXIgREVGQVVMVF9USFJFU0hPTERTID0ge1xuICBzZWNvbmQ6IDQ1LFxuICBtaW51dGU6IDQ1LFxuICBob3VyOiAyMixcbiAgZGF5OiA1XG59OyIsIi8qIEBnZW5lcmF0ZWQgKi9cbi8vIHByZXR0aWVyLWlnbm9yZSAgXG5leHBvcnQgZGVmYXVsdCB7XG4gIFwiYWEtU0FBSE9cIjogXCJzc3lcIixcbiAgXCJhYW1cIjogXCJhYXNcIixcbiAgXCJhYXJcIjogXCJhYVwiLFxuICBcImFia1wiOiBcImFiXCIsXG4gIFwiYWRwXCI6IFwiZHpcIixcbiAgXCJhZnJcIjogXCJhZlwiLFxuICBcImFqdVwiOiBcImpyYlwiLFxuICBcImFrYVwiOiBcImFrXCIsXG4gIFwiYWxiXCI6IFwic3FcIixcbiAgXCJhbHNcIjogXCJzcVwiLFxuICBcImFtaFwiOiBcImFtXCIsXG4gIFwiYXJhXCI6IFwiYXJcIixcbiAgXCJhcmJcIjogXCJhclwiLFxuICBcImFyZ1wiOiBcImFuXCIsXG4gIFwiYXJtXCI6IFwiaHlcIixcbiAgXCJhcnQtbG9qYmFuXCI6IFwiamJvXCIsXG4gIFwiYXNkXCI6IFwic256XCIsXG4gIFwiYXNtXCI6IFwiYXNcIixcbiAgXCJhdWVcIjogXCJrdHpcIixcbiAgXCJhdmFcIjogXCJhdlwiLFxuICBcImF2ZVwiOiBcImFlXCIsXG4gIFwiYXltXCI6IFwiYXlcIixcbiAgXCJheXJcIjogXCJheVwiLFxuICBcImF5eFwiOiBcIm51blwiLFxuICBcImF6LUFaXCI6IFwiYXotTGF0bi1BWlwiLFxuICBcImF6ZVwiOiBcImF6XCIsXG4gIFwiYXpqXCI6IFwiYXpcIixcbiAgXCJiYWtcIjogXCJiYVwiLFxuICBcImJhbVwiOiBcImJtXCIsXG4gIFwiYmFxXCI6IFwiZXVcIixcbiAgXCJiY2NcIjogXCJiYWxcIixcbiAgXCJiY2xcIjogXCJiaWtcIixcbiAgXCJiZWxcIjogXCJiZVwiLFxuICBcImJlblwiOiBcImJuXCIsXG4gIFwiYmdtXCI6IFwiYmNnXCIsXG4gIFwiYmhcIjogXCJiaG9cIixcbiAgXCJiaWhcIjogXCJiaG9cIixcbiAgXCJiaXNcIjogXCJiaVwiLFxuICBcImJqZFwiOiBcImRybFwiLFxuICBcImJvZFwiOiBcImJvXCIsXG4gIFwiYm9zXCI6IFwiYnNcIixcbiAgXCJicmVcIjogXCJiclwiLFxuICBcImJzLUJBXCI6IFwiYnMtTGF0bi1CQVwiLFxuICBcImJ1bFwiOiBcImJnXCIsXG4gIFwiYnVyXCI6IFwibXlcIixcbiAgXCJieGtcIjogXCJsdXlcIixcbiAgXCJieHJcIjogXCJidWFcIixcbiAgXCJjYXRcIjogXCJjYVwiLFxuICBcImNjcVwiOiBcInJraVwiLFxuICBcImNlbC1nYXVsaXNoXCI6IFwieHRnLXgtY2VsLWdhdWxpc2hcIixcbiAgXCJjZXNcIjogXCJjc1wiLFxuICBcImNoYVwiOiBcImNoXCIsXG4gIFwiY2hlXCI6IFwiY2VcIixcbiAgXCJjaGlcIjogXCJ6aFwiLFxuICBcImNodVwiOiBcImN1XCIsXG4gIFwiY2h2XCI6IFwiY3ZcIixcbiAgXCJjanJcIjogXCJtb21cIixcbiAgXCJja2FcIjogXCJjbXJcIixcbiAgXCJjbGRcIjogXCJzeXJcIixcbiAgXCJjbWtcIjogXCJ4Y2hcIixcbiAgXCJjbW5cIjogXCJ6aFwiLFxuICBcImNuclwiOiBcInNyLU1FXCIsXG4gIFwiY29yXCI6IFwia3dcIixcbiAgXCJjb3NcIjogXCJjb1wiLFxuICBcImNveVwiOiBcInBpalwiLFxuICBcImNxdVwiOiBcInF1aFwiLFxuICBcImNyZVwiOiBcImNyXCIsXG4gIFwiY3dkXCI6IFwiY3JcIixcbiAgXCJjeW1cIjogXCJjeVwiLFxuICBcImN6ZVwiOiBcImNzXCIsXG4gIFwiZGFuXCI6IFwiZGFcIixcbiAgXCJkZXVcIjogXCJkZVwiLFxuICBcImRnb1wiOiBcImRvaVwiLFxuICBcImRoZFwiOiBcIm13clwiLFxuICBcImRpa1wiOiBcImRpblwiLFxuICBcImRpcVwiOiBcInp6YVwiLFxuICBcImRpdFwiOiBcImRpZlwiLFxuICBcImRpdlwiOiBcImR2XCIsXG4gIFwiZHJoXCI6IFwibW5cIixcbiAgXCJkcndcIjogXCJmYS1hZlwiLFxuICBcImR1dFwiOiBcIm5sXCIsXG4gIFwiZHpvXCI6IFwiZHpcIixcbiAgXCJla2tcIjogXCJldFwiLFxuICBcImVsbFwiOiBcImVsXCIsXG4gIFwiZW1rXCI6IFwibWFuXCIsXG4gIFwiZW5nXCI6IFwiZW5cIixcbiAgXCJlcG9cIjogXCJlb1wiLFxuICBcImVza1wiOiBcImlrXCIsXG4gIFwiZXN0XCI6IFwiZXRcIixcbiAgXCJldXNcIjogXCJldVwiLFxuICBcImV3ZVwiOiBcImVlXCIsXG4gIFwiZmFvXCI6IFwiZm9cIixcbiAgXCJmYXNcIjogXCJmYVwiLFxuICBcImZhdFwiOiBcImFrXCIsXG4gIFwiZmlqXCI6IFwiZmpcIixcbiAgXCJmaW5cIjogXCJmaVwiLFxuICBcImZyYVwiOiBcImZyXCIsXG4gIFwiZnJlXCI6IFwiZnJcIixcbiAgXCJmcnlcIjogXCJmeVwiLFxuICBcImZ1Y1wiOiBcImZmXCIsXG4gIFwiZnVsXCI6IFwiZmZcIixcbiAgXCJnYXZcIjogXCJkZXZcIixcbiAgXCJnYXpcIjogXCJvbVwiLFxuICBcImdib1wiOiBcImdyYlwiLFxuICBcImdlb1wiOiBcImthXCIsXG4gIFwiZ2VyXCI6IFwiZGVcIixcbiAgXCJnZnhcIjogXCJ2YWpcIixcbiAgXCJnZ25cIjogXCJndnJcIixcbiAgXCJnbGFcIjogXCJnZFwiLFxuICBcImdsZVwiOiBcImdhXCIsXG4gIFwiZ2xnXCI6IFwiZ2xcIixcbiAgXCJnbHZcIjogXCJndlwiLFxuICBcImdub1wiOiBcImdvblwiLFxuICBcImdyZVwiOiBcImVsXCIsXG4gIFwiZ3JuXCI6IFwiZ25cIixcbiAgXCJndGlcIjogXCJueWNcIixcbiAgXCJndWdcIjogXCJnblwiLFxuICBcImd1alwiOiBcImd1XCIsXG4gIFwiZ3V2XCI6IFwiZHV6XCIsXG4gIFwiZ3lhXCI6IFwiZ2JhXCIsXG4gIFwiaGEtTGF0bi1HSFwiOiBcImhhLUdIXCIsXG4gIFwiaGEtTGF0bi1ORVwiOiBcImhhLU5FXCIsXG4gIFwiaGEtTGF0bi1OR1wiOiBcImhhLU5HXCIsXG4gIFwiaGF0XCI6IFwiaHRcIixcbiAgXCJoYXVcIjogXCJoYVwiLFxuICBcImhic1wiOiBcInNyLUxhdG5cIixcbiAgXCJoZG5cIjogXCJoYWlcIixcbiAgXCJoZWFcIjogXCJobW5cIixcbiAgXCJoZWJcIjogXCJoZVwiLFxuICBcImhlclwiOiBcImh6XCIsXG4gIFwiaGltXCI6IFwic3J4XCIsXG4gIFwiaGluXCI6IFwiaGlcIixcbiAgXCJobW9cIjogXCJob1wiLFxuICBcImhyclwiOiBcImphbFwiLFxuICBcImhydlwiOiBcImhyXCIsXG4gIFwiaHVuXCI6IFwiaHVcIixcbiAgXCJoeWVcIjogXCJoeVwiLFxuICBcImktYW1pXCI6IFwiYW1pXCIsXG4gIFwiaS1ibm5cIjogXCJibm5cIixcbiAgXCJpLWhha1wiOiBcImhha1wiLFxuICBcImkta2xpbmdvblwiOiBcInRsaFwiLFxuICBcImktbHV4XCI6IFwibGJcIixcbiAgXCJpLW5hdmFqb1wiOiBcIm52XCIsXG4gIFwiaS1wd25cIjogXCJwd25cIixcbiAgXCJpLXRhb1wiOiBcInRhb1wiLFxuICBcImktdGF5XCI6IFwidGF5XCIsXG4gIFwiaS10c3VcIjogXCJ0c3VcIixcbiAgXCJpLWRlZmF1bHRcIjogXCJlbi14LWktZGVmYXVsdFwiLFxuICBcImktZW5vY2hpYW5cIjogXCJ1bmQteC1pLWVub2NoaWFuXCIsXG4gIFwiaS1taW5nb1wiOiBcInNlZS14LWktbWluZ29cIixcbiAgXCJpYmlcIjogXCJvcGFcIixcbiAgXCJpYm9cIjogXCJpZ1wiLFxuICBcImljZVwiOiBcImlzXCIsXG4gIFwiaWRvXCI6IFwiaW9cIixcbiAgXCJpaWlcIjogXCJpaVwiLFxuICBcImlrZVwiOiBcIml1XCIsXG4gIFwiaWt1XCI6IFwiaXVcIixcbiAgXCJpbGVcIjogXCJpZVwiLFxuICBcImlsd1wiOiBcImdhbFwiLFxuICBcImluXCI6IFwiaWRcIixcbiAgXCJpbmFcIjogXCJpYVwiLFxuICBcImluZFwiOiBcImlkXCIsXG4gIFwiaXBrXCI6IFwiaWtcIixcbiAgXCJpc2xcIjogXCJpc1wiLFxuICBcIml0YVwiOiBcIml0XCIsXG4gIFwiaXdcIjogXCJoZVwiLFxuICBcImphdlwiOiBcImp2XCIsXG4gIFwiamVnXCI6IFwib3liXCIsXG4gIFwiamlcIjogXCJ5aVwiLFxuICBcImpwblwiOiBcImphXCIsXG4gIFwiandcIjogXCJqdlwiLFxuICBcImthbFwiOiBcImtsXCIsXG4gIFwia2FuXCI6IFwia25cIixcbiAgXCJrYXNcIjogXCJrc1wiLFxuICBcImthdFwiOiBcImthXCIsXG4gIFwia2F1XCI6IFwia3JcIixcbiAgXCJrYXpcIjogXCJra1wiLFxuICBcImtnY1wiOiBcInRkZlwiLFxuICBcImtnaFwiOiBcImttbFwiLFxuICBcImtoa1wiOiBcIm1uXCIsXG4gIFwia2htXCI6IFwia21cIixcbiAgXCJraWtcIjogXCJraVwiLFxuICBcImtpblwiOiBcInJ3XCIsXG4gIFwia2lyXCI6IFwia3lcIixcbiAgXCJray1DeXJsLUtaXCI6IFwia2stS1pcIixcbiAgXCJrbXJcIjogXCJrdVwiLFxuICBcImtuY1wiOiBcImtyXCIsXG4gIFwia25nXCI6IFwia2dcIixcbiAgXCJrbm5cIjogXCJrb2tcIixcbiAgXCJrb2pcIjogXCJrd3ZcIixcbiAgXCJrb21cIjogXCJrdlwiLFxuICBcImtvblwiOiBcImtnXCIsXG4gIFwia29yXCI6IFwia29cIixcbiAgXCJrcHZcIjogXCJrdlwiLFxuICBcImtybVwiOiBcImJtZlwiLFxuICBcImtzLUFyYWItSU5cIjogXCJrcy1JTlwiLFxuICBcImt0clwiOiBcImR0cFwiLFxuICBcImt1YVwiOiBcImtqXCIsXG4gIFwia3VyXCI6IFwia3VcIixcbiAgXCJrdnNcIjogXCJnZGpcIixcbiAgXCJrd3FcIjogXCJ5YW1cIixcbiAgXCJreGVcIjogXCJ0dmRcIixcbiAgXCJreS1DeXJsLUtHXCI6IFwia3ktS0dcIixcbiAgXCJrempcIjogXCJkdHBcIixcbiAgXCJrenRcIjogXCJkdHBcIixcbiAgXCJsYW9cIjogXCJsb1wiLFxuICBcImxhdFwiOiBcImxhXCIsXG4gIFwibGF2XCI6IFwibHZcIixcbiAgXCJsYmtcIjogXCJibmNcIixcbiAgXCJsaWlcIjogXCJyYXFcIixcbiAgXCJsaW1cIjogXCJsaVwiLFxuICBcImxpblwiOiBcImxuXCIsXG4gIFwibGl0XCI6IFwibHRcIixcbiAgXCJsbG9cIjogXCJuZ3RcIixcbiAgXCJsbW1cIjogXCJybXhcIixcbiAgXCJsdHpcIjogXCJsYlwiLFxuICBcImx1YlwiOiBcImx1XCIsXG4gIFwibHVnXCI6IFwibGdcIixcbiAgXCJsdnNcIjogXCJsdlwiLFxuICBcIm1hY1wiOiBcIm1rXCIsXG4gIFwibWFoXCI6IFwibWhcIixcbiAgXCJtYWxcIjogXCJtbFwiLFxuICBcIm1hb1wiOiBcIm1pXCIsXG4gIFwibWFyXCI6IFwibXJcIixcbiAgXCJtYXlcIjogXCJtc1wiLFxuICBcIm1lZ1wiOiBcImNpclwiLFxuICBcIm1oclwiOiBcImNobVwiLFxuICBcIm1rZFwiOiBcIm1rXCIsXG4gIFwibWxnXCI6IFwibWdcIixcbiAgXCJtbHRcIjogXCJtdFwiLFxuICBcIm1uLUN5cmwtTU5cIjogXCJtbi1NTlwiLFxuICBcIm1ua1wiOiBcIm1hblwiLFxuICBcIm1vXCI6IFwicm9cIixcbiAgXCJtb2xcIjogXCJyb1wiLFxuICBcIm1vblwiOiBcIm1uXCIsXG4gIFwibXJpXCI6IFwibWlcIixcbiAgXCJtcy1MYXRuLUJOXCI6IFwibXMtQk5cIixcbiAgXCJtcy1MYXRuLU1ZXCI6IFwibXMtTVlcIixcbiAgXCJtcy1MYXRuLVNHXCI6IFwibXMtU0dcIixcbiAgXCJtc2FcIjogXCJtc1wiLFxuICBcIm1zdFwiOiBcIm1yeVwiLFxuICBcIm11cFwiOiBcInJhalwiLFxuICBcIm13alwiOiBcInZhalwiLFxuICBcIm15YVwiOiBcIm15XCIsXG4gIFwibXlkXCI6IFwiYW9nXCIsXG4gIFwibXl0XCI6IFwibXJ5XCIsXG4gIFwibmFkXCI6IFwieG55XCIsXG4gIFwibmF1XCI6IFwibmFcIixcbiAgXCJuYXZcIjogXCJudlwiLFxuICBcIm5ibFwiOiBcIm5yXCIsXG4gIFwibmNwXCI6IFwia2R6XCIsXG4gIFwibmRlXCI6IFwibmRcIixcbiAgXCJuZG9cIjogXCJuZ1wiLFxuICBcIm5lcFwiOiBcIm5lXCIsXG4gIFwibmxkXCI6IFwibmxcIixcbiAgXCJubm9cIjogXCJublwiLFxuICBcIm5uc1wiOiBcIm5iclwiLFxuICBcIm5ueFwiOiBcIm5ndlwiLFxuICBcIm5vXCI6IFwibmJcIixcbiAgXCJuby1ib2tcIjogXCJuYlwiLFxuICBcIm5vLUJPS01BTFwiOiBcIm5iXCIsXG4gIFwibm8tbnluXCI6IFwibm5cIixcbiAgXCJuby1OWU5PUlNLXCI6IFwibm5cIixcbiAgXCJub2JcIjogXCJuYlwiLFxuICBcIm5vclwiOiBcIm5iXCIsXG4gIFwibnBpXCI6IFwibmVcIixcbiAgXCJudHNcIjogXCJwaWpcIixcbiAgXCJueWFcIjogXCJueVwiLFxuICBcIm9jaVwiOiBcIm9jXCIsXG4gIFwib2pnXCI6IFwib2pcIixcbiAgXCJvamlcIjogXCJvalwiLFxuICBcIm9yaVwiOiBcIm9yXCIsXG4gIFwib3JtXCI6IFwib21cIixcbiAgXCJvcnlcIjogXCJvclwiLFxuICBcIm9zc1wiOiBcIm9zXCIsXG4gIFwib3VuXCI6IFwidmFqXCIsXG4gIFwicGEtSU5cIjogXCJwYS1HdXJ1LUlOXCIsXG4gIFwicGEtUEtcIjogXCJwYS1BcmFiLVBLXCIsXG4gIFwicGFuXCI6IFwicGFcIixcbiAgXCJwYnVcIjogXCJwc1wiLFxuICBcInBjclwiOiBcImFkeFwiLFxuICBcInBlclwiOiBcImZhXCIsXG4gIFwicGVzXCI6IFwiZmFcIixcbiAgXCJwbGlcIjogXCJwaVwiLFxuICBcInBsdFwiOiBcIm1nXCIsXG4gIFwicG1jXCI6IFwiaHV3XCIsXG4gIFwicG11XCI6IFwicGhyXCIsXG4gIFwicG5iXCI6IFwibGFoXCIsXG4gIFwicG9sXCI6IFwicGxcIixcbiAgXCJwb3JcIjogXCJwdFwiLFxuICBcInBwYVwiOiBcImJmeVwiLFxuICBcInBwclwiOiBcImxjcVwiLFxuICBcInByc1wiOiBcImZhLUFGXCIsXG4gIFwicHJ5XCI6IFwicHJ0XCIsXG4gIFwicHVzXCI6IFwicHNcIixcbiAgXCJwdXpcIjogXCJwdWJcIixcbiAgXCJxdWVcIjogXCJxdVwiLFxuICBcInF1elwiOiBcInF1XCIsXG4gIFwicm15XCI6IFwicm9tXCIsXG4gIFwicm9oXCI6IFwicm1cIixcbiAgXCJyb25cIjogXCJyb1wiLFxuICBcInJ1bVwiOiBcInJvXCIsXG4gIFwicnVuXCI6IFwicm5cIixcbiAgXCJydXNcIjogXCJydVwiLFxuICBcInNhZ1wiOiBcInNnXCIsXG4gIFwic2FuXCI6IFwic2FcIixcbiAgXCJzY2FcIjogXCJobGVcIixcbiAgXCJzY2NcIjogXCJzclwiLFxuICBcInNjclwiOiBcImhyXCIsXG4gIFwic2duLUJFLUZSXCI6IFwic2ZiXCIsXG4gIFwic2duLUJFLU5MXCI6IFwidmd0XCIsXG4gIFwic2duLUNILURFXCI6IFwic2dnXCIsXG4gIFwic2hcIjogXCJzci1MYXRuXCIsXG4gIFwic2hpLU1BXCI6IFwic2hpLVRmbmctTUFcIixcbiAgXCJzaW5cIjogXCJzaVwiLFxuICBcInNra1wiOiBcIm95YlwiLFxuICBcInNsa1wiOiBcInNrXCIsXG4gIFwic2xvXCI6IFwic2tcIixcbiAgXCJzbHZcIjogXCJzbFwiLFxuICBcInNtZVwiOiBcInNlXCIsXG4gIFwic21vXCI6IFwic21cIixcbiAgXCJzbmFcIjogXCJzblwiLFxuICBcInNuZFwiOiBcInNkXCIsXG4gIFwic29tXCI6IFwic29cIixcbiAgXCJzb3RcIjogXCJzdFwiLFxuICBcInNwYVwiOiBcImVzXCIsXG4gIFwic3B5XCI6IFwia2xuXCIsXG4gIFwic3FpXCI6IFwic3FcIixcbiAgXCJzci1CQVwiOiBcInNyLUN5cmwtQkFcIixcbiAgXCJzci1NRVwiOiBcInNyLUxhdG4tTUVcIixcbiAgXCJzci1SU1wiOiBcInNyLUN5cmwtUlNcIixcbiAgXCJzci1YS1wiOiBcInNyLUN5cmwtWEtcIixcbiAgXCJzcmNcIjogXCJzY1wiLFxuICBcInNyZFwiOiBcInNjXCIsXG4gIFwic3JwXCI6IFwic3JcIixcbiAgXCJzc3dcIjogXCJzc1wiLFxuICBcInN1blwiOiBcInN1XCIsXG4gIFwic3dhXCI6IFwic3dcIixcbiAgXCJzd2NcIjogXCJzdy1DRFwiLFxuICBcInN3ZVwiOiBcInN2XCIsXG4gIFwic3doXCI6IFwic3dcIixcbiAgXCJ0YWhcIjogXCJ0eVwiLFxuICBcInRhbVwiOiBcInRhXCIsXG4gIFwidGF0XCI6IFwidHRcIixcbiAgXCJ0ZHVcIjogXCJkdHBcIixcbiAgXCJ0ZWxcIjogXCJ0ZVwiLFxuICBcInRna1wiOiBcInRnXCIsXG4gIFwidGdsXCI6IFwiZmlsXCIsXG4gIFwidGhhXCI6IFwidGhcIixcbiAgXCJ0aGNcIjogXCJ0cG9cIixcbiAgXCJ0aHhcIjogXCJveWJcIixcbiAgXCJ0aWJcIjogXCJib1wiLFxuICBcInRpZVwiOiBcInJhc1wiLFxuICBcInRpclwiOiBcInRpXCIsXG4gIFwidGtrXCI6IFwidHdtXCIsXG4gIFwidGxcIjogXCJmaWxcIixcbiAgXCJ0bHdcIjogXCJ3ZW9cIixcbiAgXCJ0bXBcIjogXCJ0eWpcIixcbiAgXCJ0bmVcIjogXCJrYWtcIixcbiAgXCJ0bmZcIjogXCJmYS1hZlwiLFxuICBcInRvblwiOiBcInRvXCIsXG4gIFwidHNmXCI6IFwidGFqXCIsXG4gIFwidHNuXCI6IFwidG5cIixcbiAgXCJ0c29cIjogXCJ0c1wiLFxuICBcInR0cVwiOiBcInRtaFwiLFxuICBcInR1a1wiOiBcInRrXCIsXG4gIFwidHVyXCI6IFwidHJcIixcbiAgXCJ0d1wiOiBcImFrXCIsXG4gIFwidHdpXCI6IFwiYWtcIixcbiAgXCJ0em0tTGF0bi1NQVwiOiBcInR6bS1NQVwiLFxuICBcInVnLUFyYWItQ05cIjogXCJ1Zy1DTlwiLFxuICBcInVpZ1wiOiBcInVnXCIsXG4gIFwidWtyXCI6IFwidWtcIixcbiAgXCJ1bXVcIjogXCJkZWxcIixcbiAgXCJ1b2tcIjogXCJlbWFcIixcbiAgXCJ1cmRcIjogXCJ1clwiLFxuICBcInV6LUFGXCI6IFwidXotQXJhYi1BRlwiLFxuICBcInV6LVVaXCI6IFwidXotTGF0bi1VWlwiLFxuICBcInV6YlwiOiBcInV6XCIsXG4gIFwidXpuXCI6IFwidXpcIixcbiAgXCJ2YWktTFJcIjogXCJ2YWktVmFpaS1MUlwiLFxuICBcInZlblwiOiBcInZlXCIsXG4gIFwidmllXCI6IFwidmlcIixcbiAgXCJ2b2xcIjogXCJ2b1wiLFxuICBcIndlbFwiOiBcImN5XCIsXG4gIFwid2xuXCI6IFwid2FcIixcbiAgXCJ3b2xcIjogXCJ3b1wiLFxuICBcInhiYVwiOiBcImNheFwiLFxuICBcInhob1wiOiBcInhoXCIsXG4gIFwieGlhXCI6IFwiYWNuXCIsXG4gIFwieGtoXCI6IFwid2F3XCIsXG4gIFwieHBlXCI6IFwia3BlXCIsXG4gIFwieHNqXCI6IFwic3VqXCIsXG4gIFwieHNsXCI6IFwiZGVuXCIsXG4gIFwieWJkXCI6IFwicmtpXCIsXG4gIFwieWRkXCI6IFwieWlcIixcbiAgXCJ5aWRcIjogXCJ5aVwiLFxuICBcInltYVwiOiBcImxyclwiLFxuICBcInltdFwiOiBcIm10bVwiLFxuICBcInlvclwiOiBcInlvXCIsXG4gIFwieW9zXCI6IFwiem9tXCIsXG4gIFwieXVlLUNOXCI6IFwieXVlLUhhbnMtQ05cIixcbiAgXCJ5dWUtSEtcIjogXCJ5dWUtSGFudC1IS1wiLFxuICBcInl1dVwiOiBcInl1Z1wiLFxuICBcInphaVwiOiBcInphcFwiLFxuICBcInpoLUNOXCI6IFwiemgtSGFucy1DTlwiLFxuICBcInpoLWd1b3l1XCI6IFwiemhcIixcbiAgXCJ6aC1oYWtrYVwiOiBcImhha1wiLFxuICBcInpoLUhLXCI6IFwiemgtSGFudC1IS1wiLFxuICBcInpoLW1pbi1uYW5cIjogXCJuYW5cIixcbiAgXCJ6aC1NT1wiOiBcInpoLUhhbnQtTU9cIixcbiAgXCJ6aC1TR1wiOiBcInpoLUhhbnMtU0dcIixcbiAgXCJ6aC1UV1wiOiBcInpoLUhhbnQtVFdcIixcbiAgXCJ6aC14aWFuZ1wiOiBcImhzblwiLFxuICBcInpoLW1pblwiOiBcIm5hbi14LXpoLW1pblwiLFxuICBcInpoYVwiOiBcInphXCIsXG4gIFwiemhvXCI6IFwiemhcIixcbiAgXCJ6c21cIjogXCJtc1wiLFxuICBcInp1bFwiOiBcInp1XCIsXG4gIFwienliXCI6IFwiemFcIlxufTsiLCIvKiBAZ2VuZXJhdGVkICovXG4vLyBwcmV0dGllci1pZ25vcmUgIFxuZXhwb3J0IGRlZmF1bHQge1xuICBcImVuLTE1MFwiOiBcImVuLTAwMVwiLFxuICBcImVuLUFHXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tQUlcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1BVVwiOiBcImVuLTAwMVwiLFxuICBcImVuLUJCXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tQk1cIjogXCJlbi0wMDFcIixcbiAgXCJlbi1CU1wiOiBcImVuLTAwMVwiLFxuICBcImVuLUJXXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tQlpcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1DQVwiOiBcImVuLTAwMVwiLFxuICBcImVuLUNDXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tQ0tcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1DTVwiOiBcImVuLTAwMVwiLFxuICBcImVuLUNYXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tQ1lcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1ER1wiOiBcImVuLTAwMVwiLFxuICBcImVuLURNXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tRVJcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1GSlwiOiBcImVuLTAwMVwiLFxuICBcImVuLUZLXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tRk1cIjogXCJlbi0wMDFcIixcbiAgXCJlbi1HQlwiOiBcImVuLTAwMVwiLFxuICBcImVuLUdEXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tR0dcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1HSFwiOiBcImVuLTAwMVwiLFxuICBcImVuLUdJXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tR01cIjogXCJlbi0wMDFcIixcbiAgXCJlbi1HWVwiOiBcImVuLTAwMVwiLFxuICBcImVuLUhLXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tSUVcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1JTFwiOiBcImVuLTAwMVwiLFxuICBcImVuLUlNXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tSU5cIjogXCJlbi0wMDFcIixcbiAgXCJlbi1JT1wiOiBcImVuLTAwMVwiLFxuICBcImVuLUpFXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tSk1cIjogXCJlbi0wMDFcIixcbiAgXCJlbi1LRVwiOiBcImVuLTAwMVwiLFxuICBcImVuLUtJXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tS05cIjogXCJlbi0wMDFcIixcbiAgXCJlbi1LWVwiOiBcImVuLTAwMVwiLFxuICBcImVuLUxDXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tTFJcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1MU1wiOiBcImVuLTAwMVwiLFxuICBcImVuLU1HXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tTU9cIjogXCJlbi0wMDFcIixcbiAgXCJlbi1NU1wiOiBcImVuLTAwMVwiLFxuICBcImVuLU1UXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tTVVcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1NV1wiOiBcImVuLTAwMVwiLFxuICBcImVuLU1ZXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tTkFcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1ORlwiOiBcImVuLTAwMVwiLFxuICBcImVuLU5HXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tTlJcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1OVVwiOiBcImVuLTAwMVwiLFxuICBcImVuLU5aXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tUEdcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1QSFwiOiBcImVuLTAwMVwiLFxuICBcImVuLVBLXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tUE5cIjogXCJlbi0wMDFcIixcbiAgXCJlbi1QV1wiOiBcImVuLTAwMVwiLFxuICBcImVuLVJXXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tU0JcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1TQ1wiOiBcImVuLTAwMVwiLFxuICBcImVuLVNEXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tU0dcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1TSFwiOiBcImVuLTAwMVwiLFxuICBcImVuLVNMXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tU1NcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1TWFwiOiBcImVuLTAwMVwiLFxuICBcImVuLVNaXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tVENcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1US1wiOiBcImVuLTAwMVwiLFxuICBcImVuLVRPXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tVFRcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1UVlwiOiBcImVuLTAwMVwiLFxuICBcImVuLVRaXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tVUdcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1WQ1wiOiBcImVuLTAwMVwiLFxuICBcImVuLVZHXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tVlVcIjogXCJlbi0wMDFcIixcbiAgXCJlbi1XU1wiOiBcImVuLTAwMVwiLFxuICBcImVuLVpBXCI6IFwiZW4tMDAxXCIsXG4gIFwiZW4tWk1cIjogXCJlbi0wMDFcIixcbiAgXCJlbi1aV1wiOiBcImVuLTAwMVwiLFxuICBcImVuLUFUXCI6IFwiZW4tMTUwXCIsXG4gIFwiZW4tQkVcIjogXCJlbi0xNTBcIixcbiAgXCJlbi1DSFwiOiBcImVuLTE1MFwiLFxuICBcImVuLURFXCI6IFwiZW4tMTUwXCIsXG4gIFwiZW4tREtcIjogXCJlbi0xNTBcIixcbiAgXCJlbi1GSVwiOiBcImVuLTE1MFwiLFxuICBcImVuLU5MXCI6IFwiZW4tMTUwXCIsXG4gIFwiZW4tU0VcIjogXCJlbi0xNTBcIixcbiAgXCJlbi1TSVwiOiBcImVuLTE1MFwiLFxuICBcImVzLUFSXCI6IFwiZXMtNDE5XCIsXG4gIFwiZXMtQk9cIjogXCJlcy00MTlcIixcbiAgXCJlcy1CUlwiOiBcImVzLTQxOVwiLFxuICBcImVzLUJaXCI6IFwiZXMtNDE5XCIsXG4gIFwiZXMtQ0xcIjogXCJlcy00MTlcIixcbiAgXCJlcy1DT1wiOiBcImVzLTQxOVwiLFxuICBcImVzLUNSXCI6IFwiZXMtNDE5XCIsXG4gIFwiZXMtQ1VcIjogXCJlcy00MTlcIixcbiAgXCJlcy1ET1wiOiBcImVzLTQxOVwiLFxuICBcImVzLUVDXCI6IFwiZXMtNDE5XCIsXG4gIFwiZXMtR1RcIjogXCJlcy00MTlcIixcbiAgXCJlcy1ITlwiOiBcImVzLTQxOVwiLFxuICBcImVzLU1YXCI6IFwiZXMtNDE5XCIsXG4gIFwiZXMtTklcIjogXCJlcy00MTlcIixcbiAgXCJlcy1QQVwiOiBcImVzLTQxOVwiLFxuICBcImVzLVBFXCI6IFwiZXMtNDE5XCIsXG4gIFwiZXMtUFJcIjogXCJlcy00MTlcIixcbiAgXCJlcy1QWVwiOiBcImVzLTQxOVwiLFxuICBcImVzLVNWXCI6IFwiZXMtNDE5XCIsXG4gIFwiZXMtVVNcIjogXCJlcy00MTlcIixcbiAgXCJlcy1VWVwiOiBcImVzLTQxOVwiLFxuICBcImVzLVZFXCI6IFwiZXMtNDE5XCIsXG4gIFwicHQtQU9cIjogXCJwdC1QVFwiLFxuICBcInB0LUNIXCI6IFwicHQtUFRcIixcbiAgXCJwdC1DVlwiOiBcInB0LVBUXCIsXG4gIFwicHQtRlJcIjogXCJwdC1QVFwiLFxuICBcInB0LUdRXCI6IFwicHQtUFRcIixcbiAgXCJwdC1HV1wiOiBcInB0LVBUXCIsXG4gIFwicHQtTFVcIjogXCJwdC1QVFwiLFxuICBcInB0LU1PXCI6IFwicHQtUFRcIixcbiAgXCJwdC1NWlwiOiBcInB0LVBUXCIsXG4gIFwicHQtU1RcIjogXCJwdC1QVFwiLFxuICBcInB0LVRMXCI6IFwicHQtUFRcIixcbiAgXCJ6aC1IYW50LU1PXCI6IFwiemgtSGFudC1IS1wiXG59OyIsImltcG9ydCBhbGlhc2VzIGZyb20gJy4vYWxpYXNlcyc7XG5pbXBvcnQgcGFyZW50TG9jYWxlcyBmcm9tICcuL3BhcmVudExvY2FsZXMnO1xuaW1wb3J0IHsgaW52YXJpYW50IH0gZnJvbSAnLi9pbnZhcmlhbnQnO1xuLyoqXG4gKiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLXRvb2JqZWN0XG4gKiBAcGFyYW0gYXJnXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHRvT2JqZWN0KGFyZykge1xuICBpZiAoYXJnID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCd1bmRlZmluZWQvbnVsbCBjYW5ub3QgYmUgY29udmVydGVkIHRvIG9iamVjdCcpO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdChhcmcpO1xufVxuLyoqXG4gKiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLXRvc3RyaW5nXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU3RyaW5nKG8pIHtcbiAgLy8gT25seSBzeW1ib2wgaXMgaXJyZWd1bGFyLi4uXG4gIGlmICh0eXBlb2YgbyA9PT0gJ3N5bWJvbCcpIHtcbiAgICB0aHJvdyBUeXBlRXJyb3IoJ0Nhbm5vdCBjb252ZXJ0IGEgU3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nJyk7XG4gIH1cblxuICByZXR1cm4gU3RyaW5nKG8pO1xufVxuLyoqXG4gKiBodHRwczovL3RjMzkuZXMvZWNtYTQwMi8jc2VjLWdldG9wdGlvblxuICogQHBhcmFtIG9wdHNcbiAqIEBwYXJhbSBwcm9wXG4gKiBAcGFyYW0gdHlwZVxuICogQHBhcmFtIHZhbHVlc1xuICogQHBhcmFtIGZhbGxiYWNrXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbihvcHRzLCBwcm9wLCB0eXBlLCB2YWx1ZXMsIGZhbGxiYWNrKSB7XG4gIC8vIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9wdHMsIHByb3ApO1xuICB2YXIgdmFsdWUgPSBvcHRzW3Byb3BdO1xuXG4gIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGUgIT09ICdib29sZWFuJyAmJiB0eXBlICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCB0eXBlJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdib29sZWFuJykge1xuICAgICAgdmFsdWUgPSBCb29sZWFuKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gdG9TdHJpbmcodmFsdWUpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZXMgIT09IHVuZGVmaW5lZCAmJiAhdmFsdWVzLmZpbHRlcihmdW5jdGlvbiAodmFsKSB7XG4gICAgICByZXR1cm4gdmFsID09IHZhbHVlO1xuICAgIH0pLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IodmFsdWUgKyBcIiBpcyBub3Qgd2l0aGluIFwiICsgdmFsdWVzLmpvaW4oJywgJykpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxsYmFjaztcbn1cbi8qKlxuICogaHR0cHM6Ly90YzM5LmVzL2VjbWE0MDIvI3NlYy1kZWZhdWx0bnVtYmVyb3B0aW9uXG4gKiBAcGFyYW0gdmFsXG4gKiBAcGFyYW0gbWluXG4gKiBAcGFyYW0gbWF4XG4gKiBAcGFyYW0gZmFsbGJhY2tcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdE51bWJlck9wdGlvbih2YWwsIG1pbiwgbWF4LCBmYWxsYmFjaykge1xuICBpZiAodmFsICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YWwgPSBOdW1iZXIodmFsKTtcblxuICAgIGlmIChpc05hTih2YWwpIHx8IHZhbCA8IG1pbiB8fCB2YWwgPiBtYXgpIHtcbiAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKHZhbCArIFwiIGlzIG91dHNpZGUgb2YgcmFuZ2UgW1wiICsgbWluICsgXCIsIFwiICsgbWF4ICsgXCJdXCIpO1xuICAgIH1cblxuICAgIHJldHVybiBNYXRoLmZsb29yKHZhbCk7XG4gIH1cblxuICByZXR1cm4gZmFsbGJhY2s7XG59XG4vKipcbiAqIGh0dHBzOi8vdGMzOS5lcy9lY21hNDAyLyNzZWMtZ2V0bnVtYmVyb3B0aW9uXG4gKiBAcGFyYW0gb3B0aW9uc1xuICogQHBhcmFtIHByb3BlcnR5XG4gKiBAcGFyYW0gbWluXG4gKiBAcGFyYW0gbWF4XG4gKiBAcGFyYW0gZmFsbGJhY2tcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TnVtYmVyT3B0aW9uKG9wdGlvbnMsIHByb3BlcnR5LCBtaW5pbXVtLCBtYXhpbXVtLCBmYWxsYmFjaykge1xuICB2YXIgdmFsID0gb3B0aW9uc1twcm9wZXJ0eV07XG4gIHJldHVybiBkZWZhdWx0TnVtYmVyT3B0aW9uKHZhbCwgbWluaW11bSwgbWF4aW11bSwgZmFsbGJhY2spO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsaWFzZXNCeUxhbmcobGFuZykge1xuICByZXR1cm4gT2JqZWN0LmtleXMoYWxpYXNlcykucmVkdWNlKGZ1bmN0aW9uIChhbGwsIGxvY2FsZSkge1xuICAgIGlmIChsb2NhbGUuc3BsaXQoJy0nKVswXSA9PT0gbGFuZykge1xuICAgICAgYWxsW2xvY2FsZV0gPSBhbGlhc2VzW2xvY2FsZV07XG4gICAgfVxuXG4gICAgcmV0dXJuIGFsbDtcbiAgfSwge30pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcmVudExvY2FsZXNCeUxhbmcobGFuZykge1xuICByZXR1cm4gT2JqZWN0LmtleXMocGFyZW50TG9jYWxlcykucmVkdWNlKGZ1bmN0aW9uIChhbGwsIGxvY2FsZSkge1xuICAgIGlmIChsb2NhbGUuc3BsaXQoJy0nKVswXSA9PT0gbGFuZykge1xuICAgICAgYWxsW2xvY2FsZV0gPSBwYXJlbnRMb2NhbGVzW2xvY2FsZV07XG4gICAgfVxuXG4gICAgcmV0dXJuIGFsbDtcbiAgfSwge30pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNldEludGVybmFsU2xvdChtYXAsIHBsLCBmaWVsZCwgdmFsdWUpIHtcbiAgaWYgKCFtYXAuZ2V0KHBsKSkge1xuICAgIG1hcC5zZXQocGwsIE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICB9XG5cbiAgdmFyIHNsb3RzID0gbWFwLmdldChwbCk7XG4gIHNsb3RzW2ZpZWxkXSA9IHZhbHVlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNldE11bHRpSW50ZXJuYWxTbG90cyhtYXAsIHBsLCBwcm9wcykge1xuICBmb3IgKHZhciBfaSA9IDAsIF9hID0gT2JqZWN0LmtleXMocHJvcHMpOyBfaSA8IF9hLmxlbmd0aDsgX2krKykge1xuICAgIHZhciBrID0gX2FbX2ldO1xuICAgIHNldEludGVybmFsU2xvdChtYXAsIHBsLCBrLCBwcm9wc1trXSk7XG4gIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnRlcm5hbFNsb3QobWFwLCBwbCwgZmllbGQpIHtcbiAgcmV0dXJuIGdldE11bHRpSW50ZXJuYWxTbG90cyhtYXAsIHBsLCBmaWVsZClbZmllbGRdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE11bHRpSW50ZXJuYWxTbG90cyhtYXAsIHBsKSB7XG4gIHZhciBmaWVsZHMgPSBbXTtcblxuICBmb3IgKHZhciBfaSA9IDI7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgIGZpZWxkc1tfaSAtIDJdID0gYXJndW1lbnRzW19pXTtcbiAgfVxuXG4gIHZhciBzbG90cyA9IG1hcC5nZXQocGwpO1xuXG4gIGlmICghc2xvdHMpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHBsICsgXCIgSW50ZXJuYWxTbG90IGhhcyBub3QgYmVlbiBpbml0aWFsaXplZFwiKTtcbiAgfVxuXG4gIHJldHVybiBmaWVsZHMucmVkdWNlKGZ1bmN0aW9uIChhbGwsIGYpIHtcbiAgICBhbGxbZl0gPSBzbG90c1tmXTtcbiAgICByZXR1cm4gYWxsO1xuICB9LCBPYmplY3QuY3JlYXRlKG51bGwpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0xpdGVyYWxQYXJ0KHBhdHRlcm5QYXJ0KSB7XG4gIHJldHVybiBwYXR0ZXJuUGFydC50eXBlID09PSAnbGl0ZXJhbCc7XG59XG5leHBvcnQgZnVuY3Rpb24gcGFydGl0aW9uUGF0dGVybihwYXR0ZXJuKSB7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgdmFyIGJlZ2luSW5kZXggPSBwYXR0ZXJuLmluZGV4T2YoJ3snKTtcbiAgdmFyIGVuZEluZGV4ID0gMDtcbiAgdmFyIG5leHRJbmRleCA9IDA7XG4gIHZhciBsZW5ndGggPSBwYXR0ZXJuLmxlbmd0aDtcblxuICB3aGlsZSAoYmVnaW5JbmRleCA8IHBhdHRlcm4ubGVuZ3RoICYmIGJlZ2luSW5kZXggPiAtMSkge1xuICAgIGVuZEluZGV4ID0gcGF0dGVybi5pbmRleE9mKCd9JywgYmVnaW5JbmRleCk7XG4gICAgaW52YXJpYW50KGVuZEluZGV4ID4gYmVnaW5JbmRleCwgXCJJbnZhbGlkIHBhdHRlcm4gXCIgKyBwYXR0ZXJuKTtcblxuICAgIGlmIChiZWdpbkluZGV4ID4gbmV4dEluZGV4KSB7XG4gICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgIHR5cGU6ICdsaXRlcmFsJyxcbiAgICAgICAgdmFsdWU6IHBhdHRlcm4uc3Vic3RyaW5nKG5leHRJbmRleCwgYmVnaW5JbmRleClcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgIHR5cGU6IHBhdHRlcm4uc3Vic3RyaW5nKGJlZ2luSW5kZXggKyAxLCBlbmRJbmRleCksXG4gICAgICB2YWx1ZTogdW5kZWZpbmVkXG4gICAgfSk7XG4gICAgbmV4dEluZGV4ID0gZW5kSW5kZXggKyAxO1xuICAgIGJlZ2luSW5kZXggPSBwYXR0ZXJuLmluZGV4T2YoJ3snLCBuZXh0SW5kZXgpO1xuICB9XG5cbiAgaWYgKG5leHRJbmRleCA8IGxlbmd0aCkge1xuICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgIHR5cGU6ICdsaXRlcmFsJyxcbiAgICAgIHZhbHVlOiBwYXR0ZXJuLnN1YnN0cmluZyhuZXh0SW5kZXgsIGxlbmd0aClcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIGh0dHBzOi8vdGMzOS5lcy9lY21hNDAyLyNzZWMtc2V0bmZkaWdpdG9wdGlvbnNcbiAqIGh0dHBzOi8vdGMzOS5lcy9wcm9wb3NhbC11bmlmaWVkLWludGwtbnVtYmVyZm9ybWF0L3NlY3Rpb24xMS9udW1iZXJmb3JtYXRfZGlmZl9vdXQuaHRtbCNzZWMtc2V0bmZkaWdpdG9wdGlvbnNcbiAqIEBwYXJhbSBpbnRsT2JqXG4gKiBAcGFyYW0gb3B0c1xuICogQHBhcmFtIG1uZmREZWZhdWx0XG4gKiBAcGFyYW0gbXhmZERlZmF1bHRcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0TnVtYmVyRm9ybWF0RGlnaXRPcHRpb25zKGludGVybmFsU2xvdE1hcCwgaW50bE9iaiwgb3B0cywgbW5mZERlZmF1bHQsIG14ZmREZWZhdWx0KSB7XG4gIHZhciBtbmlkID0gZ2V0TnVtYmVyT3B0aW9uKG9wdHMsICdtaW5pbXVtSW50ZWdlckRpZ2l0cycsIDEsIDIxLCAxKTtcbiAgdmFyIG1uZmQgPSBvcHRzLm1pbmltdW1GcmFjdGlvbkRpZ2l0cztcbiAgdmFyIG14ZmQgPSBvcHRzLm1heGltdW1GcmFjdGlvbkRpZ2l0cztcbiAgdmFyIG1uc2QgPSBvcHRzLm1pbmltdW1TaWduaWZpY2FudERpZ2l0cztcbiAgdmFyIG14c2QgPSBvcHRzLm1heGltdW1TaWduaWZpY2FudERpZ2l0cztcbiAgc2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgaW50bE9iaiwgJ21pbmltdW1JbnRlZ2VyRGlnaXRzJywgbW5pZCk7XG5cbiAgaWYgKG1uc2QgIT09IHVuZGVmaW5lZCB8fCBteHNkICE9PSB1bmRlZmluZWQpIHtcbiAgICBzZXRJbnRlcm5hbFNsb3QoaW50ZXJuYWxTbG90TWFwLCBpbnRsT2JqLCAncm91bmRpbmdUeXBlJywgJ3NpZ25pZmljYW50RGlnaXRzJyk7XG4gICAgbW5zZCA9IGRlZmF1bHROdW1iZXJPcHRpb24obW5zZCwgMSwgMjEsIDEpO1xuICAgIG14c2QgPSBkZWZhdWx0TnVtYmVyT3B0aW9uKG14c2QsIG1uc2QsIDIxLCAyMSk7XG4gICAgc2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgaW50bE9iaiwgJ21pbmltdW1TaWduaWZpY2FudERpZ2l0cycsIG1uc2QpO1xuICAgIHNldEludGVybmFsU2xvdChpbnRlcm5hbFNsb3RNYXAsIGludGxPYmosICdtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMnLCBteHNkKTtcbiAgfSBlbHNlIGlmIChtbmZkICE9PSB1bmRlZmluZWQgfHwgbXhmZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgc2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgaW50bE9iaiwgJ3JvdW5kaW5nVHlwZScsICdmcmFjdGlvbkRpZ2l0cycpO1xuICAgIG1uZmQgPSBkZWZhdWx0TnVtYmVyT3B0aW9uKG1uZmQsIDAsIDIwLCBtbmZkRGVmYXVsdCk7XG4gICAgdmFyIG14ZmRBY3R1YWxEZWZhdWx0ID0gTWF0aC5tYXgobW5mZCwgbXhmZERlZmF1bHQpO1xuICAgIG14ZmQgPSBkZWZhdWx0TnVtYmVyT3B0aW9uKG14ZmQsIG1uZmQsIDIwLCBteGZkQWN0dWFsRGVmYXVsdCk7XG4gICAgc2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgaW50bE9iaiwgJ21pbmltdW1GcmFjdGlvbkRpZ2l0cycsIG1uZmQpO1xuICAgIHNldEludGVybmFsU2xvdChpbnRlcm5hbFNsb3RNYXAsIGludGxPYmosICdtYXhpbXVtRnJhY3Rpb25EaWdpdHMnLCBteGZkKTtcbiAgfSBlbHNlIGlmIChnZXRJbnRlcm5hbFNsb3QoaW50ZXJuYWxTbG90TWFwLCBpbnRsT2JqLCAnbm90YXRpb24nKSA9PT0gJ2NvbXBhY3QnKSB7XG4gICAgc2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgaW50bE9iaiwgJ3JvdW5kaW5nVHlwZScsICdjb21wYWN0Um91bmRpbmcnKTtcbiAgfSBlbHNlIHtcbiAgICBzZXRJbnRlcm5hbFNsb3QoaW50ZXJuYWxTbG90TWFwLCBpbnRsT2JqLCAncm91bmRpbmdUeXBlJywgJ2ZyYWN0aW9uRGlnaXRzJyk7XG4gICAgc2V0SW50ZXJuYWxTbG90KGludGVybmFsU2xvdE1hcCwgaW50bE9iaiwgJ21pbmltdW1GcmFjdGlvbkRpZ2l0cycsIG1uZmREZWZhdWx0KTtcbiAgICBzZXRJbnRlcm5hbFNsb3QoaW50ZXJuYWxTbG90TWFwLCBpbnRsT2JqLCAnbWF4aW11bUZyYWN0aW9uRGlnaXRzJywgbXhmZERlZmF1bHQpO1xuICB9XG59XG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0SXMoeCwgeSkge1xuICBpZiAoT2JqZWN0LmlzKSB7XG4gICAgcmV0dXJuIE9iamVjdC5pcyh4LCB5KTtcbiAgfSAvLyBTYW1lVmFsdWUgYWxnb3JpdGhtXG5cblxuICBpZiAoeCA9PT0geSkge1xuICAgIC8vIFN0ZXBzIDEtNSwgNy0xMFxuICAgIC8vIFN0ZXBzIDYuYi02LmU6ICswICE9IC0wXG4gICAgcmV0dXJuIHggIT09IDAgfHwgMSAvIHggPT09IDEgLyB5O1xuICB9IC8vIFN0ZXAgNi5hOiBOYU4gPT0gTmFOXG5cblxuICByZXR1cm4geCAhPT0geCAmJiB5ICE9PSB5O1xufVxudmFyIE5PVF9BX1pfUkVHRVggPSAvW15BLVpdLztcbi8qKlxuICogVGhpcyBmb2xsb3dzIGh0dHBzOi8vdGMzOS5lcy9lY21hNDAyLyNzZWMtY2FzZS1zZW5zaXRpdml0eS1hbmQtY2FzZS1tYXBwaW5nXG4gKiBAcGFyYW0gc3RyIHN0cmluZyB0byBjb252ZXJ0XG4gKi9cblxuZnVuY3Rpb24gdG9VcHBlckNhc2Uoc3RyKSB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvKFthLXpdKS9nLCBmdW5jdGlvbiAoXywgYykge1xuICAgIHJldHVybiBjLnRvVXBwZXJDYXNlKCk7XG4gIH0pO1xufVxuLyoqXG4gKiBodHRwczovL3RjMzkuZXMvcHJvcG9zYWwtdW5pZmllZC1pbnRsLW51bWJlcmZvcm1hdC9zZWN0aW9uNi9sb2NhbGVzLWN1cnJlbmNpZXMtdHpfcHJvcG9zZWRfb3V0Lmh0bWwjc2VjLWlzd2VsbGZvcm1lZGN1cnJlbmN5Y29kZVxuICogQHBhcmFtIGN1cnJlbmN5XG4gKi9cblxuXG5leHBvcnQgZnVuY3Rpb24gaXNXZWxsRm9ybWVkQ3VycmVuY3lDb2RlKGN1cnJlbmN5KSB7XG4gIGN1cnJlbmN5ID0gdG9VcHBlckNhc2UoY3VycmVuY3kpO1xuXG4gIGlmIChjdXJyZW5jeS5sZW5ndGggIT09IDMpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoTk9UX0FfWl9SRUdFWC50ZXN0KGN1cnJlbmN5KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufSIsIi8qKlxuICogSUUxMS1zYWZlIHZlcnNpb24gb2YgZ2V0Q2Fub25pY2FsTG9jYWxlcyBzaW5jZSBpdCdzIEVTMjAxNlxuICogQHBhcmFtIGxvY2FsZXMgbG9jYWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2Fub25pY2FsTG9jYWxlcyhsb2NhbGVzKSB7XG4gIC8vIElFMTFcbiAgdmFyIGdldENhbm9uaWNhbExvY2FsZXMgPSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXM7XG5cbiAgaWYgKHR5cGVvZiBnZXRDYW5vbmljYWxMb2NhbGVzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGdldENhbm9uaWNhbExvY2FsZXMobG9jYWxlcyk7XG4gIH0gLy8gTk9URTogd2UgbXVzdCBOT1QgY2FsbCBgc3VwcG9ydGVkTG9jYWxlc09mYCBvZiBhIGZvcm1hdGpzIHBvbHlmaWxsLCBvciB0aGVpciBpbXBsZW1lbnRhdGlvblxuICAvLyB3aWxsIGV2ZW4gZXZlbnR1YWxseSBjYWxsIHRoaXMgbWV0aG9kIHJlY3Vyc2l2ZWx5LiBIZXJlIHdlIHVzZSBgSW50bC5EYXRlVGltZUZvcm1hdGAgc2luY2UgaXRcbiAgLy8gaXMgbm90IHBvbHlmaWxsZWQgYnkgYEBmb3JtYXRqc2AuXG4gIC8vIFRPRE86IEZpeCBUeXBlU2NyaXB0IHR5cGUgZGVmIGZvciB0aGlzIGJjIHVuZGVmaW5lZCBpcyBqdXN0IGZpbmVcblxuXG4gIHJldHVybiBJbnRsLkRhdGVUaW1lRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihsb2NhbGVzKTtcbn0iLCJ2YXIgX19leHRlbmRzID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbiAoKSB7XG4gIHZhciBfZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIGV4dGVuZFN0YXRpY3MoZCwgYikge1xuICAgIF9leHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHtcbiAgICAgIF9fcHJvdG9fXzogW11cbiAgICB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHtcbiAgICAgIGQuX19wcm90b19fID0gYjtcbiAgICB9IHx8IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICBmb3IgKHZhciBwIGluIGIpIHtcbiAgICAgICAgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gX2V4dGVuZFN0YXRpY3MoZCwgYik7XG4gIH07XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgX2V4dGVuZFN0YXRpY3MoZCwgYik7XG5cbiAgICBmdW5jdGlvbiBfXygpIHtcbiAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBkO1xuICAgIH1cblxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcbiAgfTtcbn0oKTtcblxudmFyIF9fYXNzaWduID0gdGhpcyAmJiB0aGlzLl9fYXNzaWduIHx8IGZ1bmN0aW9uICgpIHtcbiAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0KSB7XG4gICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICBzID0gYXJndW1lbnRzW2ldO1xuXG4gICAgICBmb3IgKHZhciBwIGluIHMpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHQ7XG4gIH07XG5cbiAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG59O1xuXG5pbXBvcnQgeyBnZXRDYW5vbmljYWxMb2NhbGVzIH0gZnJvbSAnLi9nZXQtY2Fub25pY2FsLWxvY2FsZXMnO1xuaW1wb3J0IHsgaW52YXJpYW50IH0gZnJvbSAnLi9pbnZhcmlhbnQnO1xuaW1wb3J0IHsgdG9PYmplY3QsIGdldE9wdGlvbiB9IGZyb20gJy4vcG9seWZpbGwtdXRpbHMnO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlc29sdmVMb2NhbGUoZ2V0RGVmYXVsdExvY2FsZSkge1xuICB2YXIgbG9va3VwTWF0Y2hlciA9IGNyZWF0ZUxvb2t1cE1hdGNoZXIoZ2V0RGVmYXVsdExvY2FsZSk7XG4gIHZhciBiZXN0Rml0TWF0Y2hlciA9IGNyZWF0ZUJlc3RGaXRNYXRjaGVyKGdldERlZmF1bHRMb2NhbGUpO1xuICAvKipcbiAgICogaHR0cHM6Ly90YzM5LmVzL2VjbWE0MDIvI3NlYy1yZXNvbHZlbG9jYWxlXG4gICAqL1xuXG4gIHJldHVybiBmdW5jdGlvbiByZXNvbHZlTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMsIHJlcXVlc3RlZExvY2FsZXMsIG9wdGlvbnMsIHJlbGV2YW50RXh0ZW5zaW9uS2V5cywgbG9jYWxlRGF0YSkge1xuICAgIHZhciBtYXRjaGVyID0gb3B0aW9ucy5sb2NhbGVNYXRjaGVyO1xuICAgIHZhciByO1xuXG4gICAgaWYgKG1hdGNoZXIgPT09ICdsb29rdXAnKSB7XG4gICAgICByID0gbG9va3VwTWF0Y2hlcihhdmFpbGFibGVMb2NhbGVzLCByZXF1ZXN0ZWRMb2NhbGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgciA9IGJlc3RGaXRNYXRjaGVyKGF2YWlsYWJsZUxvY2FsZXMsIHJlcXVlc3RlZExvY2FsZXMpO1xuICAgIH1cblxuICAgIHZhciBmb3VuZExvY2FsZSA9IHIubG9jYWxlO1xuICAgIHZhciByZXN1bHQgPSB7XG4gICAgICBsb2NhbGU6ICcnLFxuICAgICAgZGF0YUxvY2FsZTogZm91bmRMb2NhbGVcbiAgICB9O1xuICAgIHZhciBzdXBwb3J0ZWRFeHRlbnNpb24gPSAnLXUnO1xuXG4gICAgZm9yICh2YXIgX2kgPSAwLCByZWxldmFudEV4dGVuc2lvbktleXNfMSA9IHJlbGV2YW50RXh0ZW5zaW9uS2V5czsgX2kgPCByZWxldmFudEV4dGVuc2lvbktleXNfMS5sZW5ndGg7IF9pKyspIHtcbiAgICAgIHZhciBrZXkgPSByZWxldmFudEV4dGVuc2lvbktleXNfMVtfaV07XG4gICAgICB2YXIgZm91bmRMb2NhbGVEYXRhID0gbG9jYWxlRGF0YVtmb3VuZExvY2FsZV07XG4gICAgICBpbnZhcmlhbnQodHlwZW9mIGZvdW5kTG9jYWxlRGF0YSA9PT0gJ29iamVjdCcgJiYgZm91bmRMb2NhbGVEYXRhICE9PSBudWxsLCBcImxvY2FsZSBkYXRhIFwiICsga2V5ICsgXCIgbXVzdCBiZSBhbiBvYmplY3RcIik7XG4gICAgICB2YXIga2V5TG9jYWxlRGF0YSA9IGZvdW5kTG9jYWxlRGF0YVtrZXldO1xuICAgICAgaW52YXJpYW50KEFycmF5LmlzQXJyYXkoa2V5TG9jYWxlRGF0YSksIFwia2V5TG9jYWxlRGF0YSBmb3IgXCIgKyBrZXkgKyBcIiBtdXN0IGJlIGFuIGFycmF5XCIpO1xuICAgICAgdmFyIHZhbHVlID0ga2V5TG9jYWxlRGF0YVswXTtcbiAgICAgIGludmFyaWFudCh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlID09PSBudWxsLCAndmFsdWUgbXVzdCBiZSBzdHJpbmcgb3IgbnVsbCcpO1xuICAgICAgdmFyIHN1cHBvcnRlZEV4dGVuc2lvbkFkZGl0aW9uID0gJyc7XG5cbiAgICAgIGlmIChyLmV4dGVuc2lvbikge1xuICAgICAgICB2YXIgcmVxdWVzdGVkVmFsdWUgPSB1bmljb2RlRXh0ZW5zaW9uVmFsdWUoci5leHRlbnNpb24sIGtleSk7XG5cbiAgICAgICAgaWYgKHJlcXVlc3RlZFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpZiAocmVxdWVzdGVkVmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICBpZiAofmtleUxvY2FsZURhdGEuaW5kZXhPZihyZXF1ZXN0ZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgdmFsdWUgPSByZXF1ZXN0ZWRWYWx1ZTtcbiAgICAgICAgICAgICAgc3VwcG9ydGVkRXh0ZW5zaW9uQWRkaXRpb24gPSBcIi1cIiArIGtleSArIFwiLVwiICsgdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICh+cmVxdWVzdGVkVmFsdWUuaW5kZXhPZigndHJ1ZScpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9ICd0cnVlJztcbiAgICAgICAgICAgIHN1cHBvcnRlZEV4dGVuc2lvbkFkZGl0aW9uID0gXCItXCIgKyBrZXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChrZXkgaW4gb3B0aW9ucykge1xuICAgICAgICB2YXIgb3B0aW9uc1ZhbHVlID0gb3B0aW9uc1trZXldO1xuICAgICAgICBpbnZhcmlhbnQodHlwZW9mIG9wdGlvbnNWYWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG9wdGlvbnNWYWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgb3B0aW9uc1ZhbHVlID09PSBudWxsLCAnb3B0aW9uc1ZhbHVlIG11c3QgYmUgU3RyaW5nLCBVbmRlZmluZWQgb3IgTnVsbCcpO1xuXG4gICAgICAgIGlmICh+a2V5TG9jYWxlRGF0YS5pbmRleE9mKG9wdGlvbnNWYWx1ZSkpIHtcbiAgICAgICAgICBpZiAob3B0aW9uc1ZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSBvcHRpb25zVmFsdWU7XG4gICAgICAgICAgICBzdXBwb3J0ZWRFeHRlbnNpb25BZGRpdGlvbiA9ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXN1bHRba2V5XSA9IHZhbHVlO1xuICAgICAgc3VwcG9ydGVkRXh0ZW5zaW9uICs9IHN1cHBvcnRlZEV4dGVuc2lvbkFkZGl0aW9uO1xuICAgIH1cblxuICAgIGlmIChzdXBwb3J0ZWRFeHRlbnNpb24ubGVuZ3RoID4gMikge1xuICAgICAgdmFyIHByaXZhdGVJbmRleCA9IGZvdW5kTG9jYWxlLmluZGV4T2YoJy14LScpO1xuXG4gICAgICBpZiAocHJpdmF0ZUluZGV4ID09PSAtMSkge1xuICAgICAgICBmb3VuZExvY2FsZSA9IGZvdW5kTG9jYWxlICsgc3VwcG9ydGVkRXh0ZW5zaW9uO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHByZUV4dGVuc2lvbiA9IGZvdW5kTG9jYWxlLnNsaWNlKDAsIHByaXZhdGVJbmRleCk7XG4gICAgICAgIHZhciBwb3N0RXh0ZW5zaW9uID0gZm91bmRMb2NhbGUuc2xpY2UocHJpdmF0ZUluZGV4LCBmb3VuZExvY2FsZS5sZW5ndGgpO1xuICAgICAgICBmb3VuZExvY2FsZSA9IHByZUV4dGVuc2lvbiArIHN1cHBvcnRlZEV4dGVuc2lvbiArIHBvc3RFeHRlbnNpb247XG4gICAgICB9XG5cbiAgICAgIGZvdW5kTG9jYWxlID0gZ2V0Q2Fub25pY2FsTG9jYWxlcyhmb3VuZExvY2FsZSlbMF07XG4gICAgfVxuXG4gICAgcmVzdWx0LmxvY2FsZSA9IGZvdW5kTG9jYWxlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG59XG4vKipcbiAqIGh0dHBzOi8vdGMzOS5lcy9lY21hNDAyLyNzZWMtdW5pY29kZWV4dGVuc2lvbnZhbHVlXG4gKiBAcGFyYW0gZXh0ZW5zaW9uXG4gKiBAcGFyYW0ga2V5XG4gKi9cblxuZnVuY3Rpb24gdW5pY29kZUV4dGVuc2lvblZhbHVlKGV4dGVuc2lvbiwga2V5KSB7XG4gIGludmFyaWFudChrZXkubGVuZ3RoID09PSAyLCAna2V5IG11c3QgaGF2ZSAyIGVsZW1lbnRzJyk7XG4gIHZhciBzaXplID0gZXh0ZW5zaW9uLmxlbmd0aDtcbiAgdmFyIHNlYXJjaFZhbHVlID0gXCItXCIgKyBrZXkgKyBcIi1cIjtcbiAgdmFyIHBvcyA9IGV4dGVuc2lvbi5pbmRleE9mKHNlYXJjaFZhbHVlKTtcblxuICBpZiAocG9zICE9PSAtMSkge1xuICAgIHZhciBzdGFydCA9IHBvcyArIDQ7XG4gICAgdmFyIGVuZCA9IHN0YXJ0O1xuICAgIHZhciBrID0gc3RhcnQ7XG4gICAgdmFyIGRvbmUgPSBmYWxzZTtcblxuICAgIHdoaWxlICghZG9uZSkge1xuICAgICAgdmFyIGUgPSBleHRlbnNpb24uaW5kZXhPZignLScsIGspO1xuICAgICAgdmFyIGxlbiA9IHZvaWQgMDtcblxuICAgICAgaWYgKGUgPT09IC0xKSB7XG4gICAgICAgIGxlbiA9IHNpemUgLSBrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGVuID0gZSAtIGs7XG4gICAgICB9XG5cbiAgICAgIGlmIChsZW4gPT09IDIpIHtcbiAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGUgPT09IC0xKSB7XG4gICAgICAgIGVuZCA9IHNpemU7XG4gICAgICAgIGRvbmUgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZW5kID0gZTtcbiAgICAgICAgayA9IGUgKyAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBleHRlbnNpb24uc2xpY2Uoc3RhcnQsIGVuZCk7XG4gIH1cblxuICBzZWFyY2hWYWx1ZSA9IFwiLVwiICsga2V5O1xuICBwb3MgPSBleHRlbnNpb24uaW5kZXhPZihzZWFyY2hWYWx1ZSk7XG5cbiAgaWYgKHBvcyAhPT0gLTEgJiYgcG9zICsgMyA9PT0gc2l6ZSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbnZhciBVTklDT0RFX0VYVEVOU0lPTl9TRVFVRU5DRV9SRUdFWCA9IC8tdSg/Oi1bMC05YS16XXsyLDh9KSsvZ2k7XG4vKipcbiAqIGh0dHBzOi8vdGMzOS5lcy9lY21hNDAyLyNzZWMtYmVzdGF2YWlsYWJsZWxvY2FsZVxuICogQHBhcmFtIGF2YWlsYWJsZUxvY2FsZXNcbiAqIEBwYXJhbSBsb2NhbGVcbiAqL1xuXG5mdW5jdGlvbiBiZXN0QXZhaWxhYmxlTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMsIGxvY2FsZSkge1xuICB2YXIgY2FuZGlkYXRlID0gbG9jYWxlO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKH5hdmFpbGFibGVMb2NhbGVzLmluZGV4T2YoY2FuZGlkYXRlKSkge1xuICAgICAgcmV0dXJuIGNhbmRpZGF0ZTtcbiAgICB9XG5cbiAgICB2YXIgcG9zID0gY2FuZGlkYXRlLmxhc3RJbmRleE9mKCctJyk7XG5cbiAgICBpZiAoIX5wb3MpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHBvcyA+PSAyICYmIGNhbmRpZGF0ZVtwb3MgLSAyXSA9PT0gJy0nKSB7XG4gICAgICBwb3MgLT0gMjtcbiAgICB9XG5cbiAgICBjYW5kaWRhdGUgPSBjYW5kaWRhdGUuc2xpY2UoMCwgcG9zKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVMb29rdXBNYXRjaGVyKGdldERlZmF1bHRMb2NhbGUpIHtcbiAgLyoqXG4gICAqIGh0dHBzOi8vdGMzOS5lcy9lY21hNDAyLyNzZWMtbG9va3VwbWF0Y2hlclxuICAgKi9cbiAgcmV0dXJuIGZ1bmN0aW9uIGxvb2t1cE1hdGNoZXIoYXZhaWxhYmxlTG9jYWxlcywgcmVxdWVzdGVkTG9jYWxlcykge1xuICAgIHZhciByZXN1bHQgPSB7XG4gICAgICBsb2NhbGU6ICcnXG4gICAgfTtcblxuICAgIGZvciAodmFyIF9pID0gMCwgcmVxdWVzdGVkTG9jYWxlc18xID0gcmVxdWVzdGVkTG9jYWxlczsgX2kgPCByZXF1ZXN0ZWRMb2NhbGVzXzEubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgbG9jYWxlID0gcmVxdWVzdGVkTG9jYWxlc18xW19pXTtcbiAgICAgIHZhciBub0V4dGVuc2lvbkxvY2FsZSA9IGxvY2FsZS5yZXBsYWNlKFVOSUNPREVfRVhURU5TSU9OX1NFUVVFTkNFX1JFR0VYLCAnJyk7XG4gICAgICB2YXIgYXZhaWxhYmxlTG9jYWxlID0gYmVzdEF2YWlsYWJsZUxvY2FsZShhdmFpbGFibGVMb2NhbGVzLCBub0V4dGVuc2lvbkxvY2FsZSk7XG5cbiAgICAgIGlmIChhdmFpbGFibGVMb2NhbGUpIHtcbiAgICAgICAgcmVzdWx0LmxvY2FsZSA9IGF2YWlsYWJsZUxvY2FsZTtcblxuICAgICAgICBpZiAobG9jYWxlICE9PSBub0V4dGVuc2lvbkxvY2FsZSkge1xuICAgICAgICAgIHJlc3VsdC5leHRlbnNpb24gPSBsb2NhbGUuc2xpY2Uobm9FeHRlbnNpb25Mb2NhbGUubGVuZ3RoICsgMSwgbG9jYWxlLmxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlc3VsdC5sb2NhbGUgPSBnZXREZWZhdWx0TG9jYWxlKCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQmVzdEZpdE1hdGNoZXIoZ2V0RGVmYXVsdExvY2FsZSkge1xuICByZXR1cm4gZnVuY3Rpb24gYmVzdEZpdE1hdGNoZXIoYXZhaWxhYmxlTG9jYWxlcywgcmVxdWVzdGVkTG9jYWxlcykge1xuICAgIHZhciByZXN1bHQgPSB7XG4gICAgICBsb2NhbGU6ICcnXG4gICAgfTtcblxuICAgIGZvciAodmFyIF9pID0gMCwgcmVxdWVzdGVkTG9jYWxlc18yID0gcmVxdWVzdGVkTG9jYWxlczsgX2kgPCByZXF1ZXN0ZWRMb2NhbGVzXzIubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgbG9jYWxlID0gcmVxdWVzdGVkTG9jYWxlc18yW19pXTtcbiAgICAgIHZhciBub0V4dGVuc2lvbkxvY2FsZSA9IGxvY2FsZS5yZXBsYWNlKFVOSUNPREVfRVhURU5TSU9OX1NFUVVFTkNFX1JFR0VYLCAnJyk7XG4gICAgICB2YXIgYXZhaWxhYmxlTG9jYWxlID0gYmVzdEF2YWlsYWJsZUxvY2FsZShhdmFpbGFibGVMb2NhbGVzLCBub0V4dGVuc2lvbkxvY2FsZSk7XG5cbiAgICAgIGlmIChhdmFpbGFibGVMb2NhbGUpIHtcbiAgICAgICAgcmVzdWx0LmxvY2FsZSA9IGF2YWlsYWJsZUxvY2FsZTtcblxuICAgICAgICBpZiAobG9jYWxlICE9PSBub0V4dGVuc2lvbkxvY2FsZSkge1xuICAgICAgICAgIHJlc3VsdC5leHRlbnNpb24gPSBsb2NhbGUuc2xpY2Uobm9FeHRlbnNpb25Mb2NhbGUubGVuZ3RoICsgMSwgbG9jYWxlLmxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlc3VsdC5sb2NhbGUgPSBnZXREZWZhdWx0TG9jYWxlKCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExvY2FsZUhpZXJhcmNoeShsb2NhbGUsIGFsaWFzZXMsIHBhcmVudExvY2FsZXMpIHtcbiAgdmFyIHJlc3VsdHMgPSBbbG9jYWxlXTtcblxuICBpZiAoYWxpYXNlc1tsb2NhbGVdKSB7XG4gICAgbG9jYWxlID0gYWxpYXNlc1tsb2NhbGVdO1xuICAgIHJlc3VsdHMucHVzaChsb2NhbGUpO1xuICB9XG5cbiAgdmFyIHBhcmVudExvY2FsZSA9IHBhcmVudExvY2FsZXNbbG9jYWxlXTtcblxuICBpZiAocGFyZW50TG9jYWxlKSB7XG4gICAgcmVzdWx0cy5wdXNoKHBhcmVudExvY2FsZSk7XG4gIH1cblxuICB2YXIgbG9jYWxlUGFydHMgPSBsb2NhbGUuc3BsaXQoJy0nKTtcblxuICBmb3IgKHZhciBpID0gbG9jYWxlUGFydHMubGVuZ3RoOyBpID4gMTsgaS0tKSB7XG4gICAgcmVzdWx0cy5wdXNoKGxvY2FsZVBhcnRzLnNsaWNlKDAsIGkgLSAxKS5qb2luKCctJykpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdHM7XG59XG5cbmZ1bmN0aW9uIGxvb2t1cFN1cHBvcnRlZExvY2FsZXMoYXZhaWxhYmxlTG9jYWxlcywgcmVxdWVzdGVkTG9jYWxlcykge1xuICB2YXIgc3Vic2V0ID0gW107XG5cbiAgZm9yICh2YXIgX2kgPSAwLCByZXF1ZXN0ZWRMb2NhbGVzXzMgPSByZXF1ZXN0ZWRMb2NhbGVzOyBfaSA8IHJlcXVlc3RlZExvY2FsZXNfMy5sZW5ndGg7IF9pKyspIHtcbiAgICB2YXIgbG9jYWxlID0gcmVxdWVzdGVkTG9jYWxlc18zW19pXTtcbiAgICB2YXIgbm9FeHRlbnNpb25Mb2NhbGUgPSBsb2NhbGUucmVwbGFjZShVTklDT0RFX0VYVEVOU0lPTl9TRVFVRU5DRV9SRUdFWCwgJycpO1xuICAgIHZhciBhdmFpbGFibGVMb2NhbGUgPSBiZXN0QXZhaWxhYmxlTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMsIG5vRXh0ZW5zaW9uTG9jYWxlKTtcblxuICAgIGlmIChhdmFpbGFibGVMb2NhbGUpIHtcbiAgICAgIHN1YnNldC5wdXNoKGF2YWlsYWJsZUxvY2FsZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN1YnNldDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRlZExvY2FsZXMoYXZhaWxhYmxlTG9jYWxlcywgcmVxdWVzdGVkTG9jYWxlcywgb3B0aW9ucykge1xuICB2YXIgbWF0Y2hlciA9ICdiZXN0IGZpdCc7XG5cbiAgaWYgKG9wdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgIG9wdGlvbnMgPSB0b09iamVjdChvcHRpb25zKTtcbiAgICBtYXRjaGVyID0gZ2V0T3B0aW9uKG9wdGlvbnMsICdsb2NhbGVNYXRjaGVyJywgJ3N0cmluZycsIFsnbG9va3VwJywgJ2Jlc3QgZml0J10sICdiZXN0IGZpdCcpO1xuICB9XG5cbiAgaWYgKG1hdGNoZXIgPT09ICdiZXN0IGZpdCcpIHtcbiAgICByZXR1cm4gbG9va3VwU3VwcG9ydGVkTG9jYWxlcyhhdmFpbGFibGVMb2NhbGVzLCByZXF1ZXN0ZWRMb2NhbGVzKTtcbiAgfVxuXG4gIHJldHVybiBsb29rdXBTdXBwb3J0ZWRMb2NhbGVzKGF2YWlsYWJsZUxvY2FsZXMsIHJlcXVlc3RlZExvY2FsZXMpO1xufVxuXG52YXIgTWlzc2luZ0xvY2FsZURhdGFFcnJvciA9XG4vKiogQGNsYXNzICovXG5mdW5jdGlvbiAoX3N1cGVyKSB7XG4gIF9fZXh0ZW5kcyhNaXNzaW5nTG9jYWxlRGF0YUVycm9yLCBfc3VwZXIpO1xuXG4gIGZ1bmN0aW9uIE1pc3NpbmdMb2NhbGVEYXRhRXJyb3IoKSB7XG4gICAgdmFyIF90aGlzID0gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG5cbiAgICBfdGhpcy50eXBlID0gJ01JU1NJTkdfTE9DQUxFX0RBVEEnO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIHJldHVybiBNaXNzaW5nTG9jYWxlRGF0YUVycm9yO1xufShFcnJvcik7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01pc3NpbmdMb2NhbGVEYXRhRXJyb3IoZSkge1xuICByZXR1cm4gZS50eXBlID09PSAnTUlTU0lOR19MT0NBTEVfREFUQSc7XG59XG5leHBvcnQgZnVuY3Rpb24gdW5wYWNrRGF0YShsb2NhbGUsIGxvY2FsZURhdGEsXG4vKiogQnkgZGVmYXVsdCBzaGFsbG93IG1lcmdlIHRoZSBkaWN0aW9uYXJpZXMuICovXG5yZWR1Y2VyKSB7XG4gIGlmIChyZWR1Y2VyID09PSB2b2lkIDApIHtcbiAgICByZWR1Y2VyID0gZnVuY3Rpb24gcmVkdWNlcihhbGwsIGQpIHtcbiAgICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgYWxsKSwgZCk7XG4gICAgfTtcbiAgfVxuXG4gIHZhciBsb2NhbGVIaWVyYXJjaHkgPSBnZXRMb2NhbGVIaWVyYXJjaHkobG9jYWxlLCBsb2NhbGVEYXRhLmFsaWFzZXMsIGxvY2FsZURhdGEucGFyZW50TG9jYWxlcyk7XG4gIHZhciBkYXRhVG9NZXJnZSA9IGxvY2FsZUhpZXJhcmNoeS5tYXAoZnVuY3Rpb24gKGwpIHtcbiAgICByZXR1cm4gbG9jYWxlRGF0YS5kYXRhW2xdO1xuICB9KS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgaWYgKCFkYXRhVG9NZXJnZS5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgTWlzc2luZ0xvY2FsZURhdGFFcnJvcihcIk1pc3NpbmcgbG9jYWxlIGRhdGEgZm9yIFxcXCJcIiArIGxvY2FsZSArIFwiXFxcIiwgbG9va3VwIGhpZXJhcmNoeTogXCIgKyBsb2NhbGVIaWVyYXJjaHkuam9pbignLCAnKSk7XG4gIH1cblxuICBkYXRhVG9NZXJnZS5yZXZlcnNlKCk7XG4gIHJldHVybiBkYXRhVG9NZXJnZS5yZWR1Y2UocmVkdWNlciwge30pO1xufSIsIi8vIGh0dHBzOi8vdGMzOS5lcy9wcm9wb3NhbC11bmlmaWVkLWludGwtbnVtYmVyZm9ybWF0L3NlY3Rpb242L2xvY2FsZXMtY3VycmVuY2llcy10el9kaWZmX291dC5odG1sI3NlYy1pc3NhbmN0aW9uZWRzaW1wbGV1bml0aWRlbnRpZmllclxuZXhwb3J0IHZhciBTQU5DVElPTkVEX1VOSVRTID0gWydhbmdsZS1kZWdyZWUnLCAnYXJlYS1hY3JlJywgJ2FyZWEtaGVjdGFyZScsICdjb25jZW50ci1wZXJjZW50JywgJ2RpZ2l0YWwtYml0JywgJ2RpZ2l0YWwtYnl0ZScsICdkaWdpdGFsLWdpZ2FiaXQnLCAnZGlnaXRhbC1naWdhYnl0ZScsICdkaWdpdGFsLWtpbG9iaXQnLCAnZGlnaXRhbC1raWxvYnl0ZScsICdkaWdpdGFsLW1lZ2FiaXQnLCAnZGlnaXRhbC1tZWdhYnl0ZScsICdkaWdpdGFsLXBldGFieXRlJywgJ2RpZ2l0YWwtdGVyYWJpdCcsICdkaWdpdGFsLXRlcmFieXRlJywgJ2R1cmF0aW9uLWRheScsICdkdXJhdGlvbi1ob3VyJywgJ2R1cmF0aW9uLW1pbGxpc2Vjb25kJywgJ2R1cmF0aW9uLW1pbnV0ZScsICdkdXJhdGlvbi1tb250aCcsICdkdXJhdGlvbi1zZWNvbmQnLCAnZHVyYXRpb24td2VlaycsICdkdXJhdGlvbi15ZWFyJywgJ2xlbmd0aC1jZW50aW1ldGVyJywgJ2xlbmd0aC1mb290JywgJ2xlbmd0aC1pbmNoJywgJ2xlbmd0aC1raWxvbWV0ZXInLCAnbGVuZ3RoLW1ldGVyJywgJ2xlbmd0aC1taWxlLXNjYW5kaW5hdmlhbicsICdsZW5ndGgtbWlsZScsICdsZW5ndGgtbWlsbGltZXRlcicsICdsZW5ndGgteWFyZCcsICdtYXNzLWdyYW0nLCAnbWFzcy1raWxvZ3JhbScsICdtYXNzLW91bmNlJywgJ21hc3MtcG91bmQnLCAnbWFzcy1zdG9uZScsICd0ZW1wZXJhdHVyZS1jZWxzaXVzJywgJ3RlbXBlcmF0dXJlLWZhaHJlbmhlaXQnLCAndm9sdW1lLWZsdWlkLW91bmNlJywgJ3ZvbHVtZS1nYWxsb24nLCAndm9sdW1lLWxpdGVyJywgJ3ZvbHVtZS1taWxsaWxpdGVyJ107IC8vIEluIENMRFIsIHRoZSB1bml0IG5hbWUgYWx3YXlzIGZvbGxvd3MgdGhlIGZvcm0gYG5hbWVzcGFjZS11bml0YCBwYXR0ZXJuLlxuLy8gRm9yIGV4YW1wbGU6IGBkaWdpdGFsLWJpdGAgaW5zdGVhZCBvZiBgYml0YC4gVGhpcyBmdW5jdGlvbiByZW1vdmVzIHRoZSBuYW1lc3BhY2UgcHJlZml4LlxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVW5pdE5hbWVzcGFjZSh1bml0KSB7XG4gIHJldHVybiB1bml0LnJlcGxhY2UoL14oLio/KS0vLCAnJyk7XG59IiwiZXhwb3J0IHZhciBJbnRlcm5hbFNsb3RUb2tlbjtcblxuKGZ1bmN0aW9uIChJbnRlcm5hbFNsb3RUb2tlbikge1xuICAvLyBUbyBwcmV2ZW50IGNvbGxpc2lvbiB3aXRoIHswfSBpbiBDTERSXG4gIEludGVybmFsU2xvdFRva2VuW1wiY29tcGFjdE5hbWVcIl0gPSBcImNvbXBhY3ROYW1lXCI7XG4gIEludGVybmFsU2xvdFRva2VuW1wiY29tcGFjdFN5bWJvbFwiXSA9IFwiY29tcGFjdFN5bWJvbFwiO1xuICBJbnRlcm5hbFNsb3RUb2tlbltcImN1cnJlbmN5Q29kZVwiXSA9IFwiY3VycmVuY3lDb2RlXCI7XG4gIEludGVybmFsU2xvdFRva2VuW1wiY3VycmVuY3lOYW1lXCJdID0gXCJjdXJyZW5jeU5hbWVcIjtcbiAgSW50ZXJuYWxTbG90VG9rZW5bXCJjdXJyZW5jeU5hcnJvd1N5bWJvbFwiXSA9IFwiY3VycmVuY3lOYXJyb3dTeW1ib2xcIjtcbiAgSW50ZXJuYWxTbG90VG9rZW5bXCJjdXJyZW5jeVN5bWJvbFwiXSA9IFwiY3VycmVuY3lTeW1ib2xcIjtcbiAgSW50ZXJuYWxTbG90VG9rZW5bXCJtaW51c1NpZ25cIl0gPSBcIm1pbnVzU2lnblwiO1xuICBJbnRlcm5hbFNsb3RUb2tlbltcIm51bWJlclwiXSA9IFwibnVtYmVyXCI7XG4gIEludGVybmFsU2xvdFRva2VuW1wicGVyY2VudFNpZ25cIl0gPSBcInBlcmNlbnRTaWduXCI7XG4gIEludGVybmFsU2xvdFRva2VuW1wicGx1c1NpZ25cIl0gPSBcInBsdXNTaWduXCI7XG4gIEludGVybmFsU2xvdFRva2VuW1wic2NpZW50aWZpY0V4cG9uZW50XCJdID0gXCJzY2llbnRpZmljRXhwb25lbnRcIjtcbiAgSW50ZXJuYWxTbG90VG9rZW5bXCJzY2llbnRpZmljU2VwYXJhdG9yXCJdID0gXCJzY2llbnRpZmljU2VwYXJhdG9yXCI7XG4gIEludGVybmFsU2xvdFRva2VuW1widW5pdE5hbWVcIl0gPSBcInVuaXROYW1lXCI7XG4gIEludGVybmFsU2xvdFRva2VuW1widW5pdE5hcnJvd1N5bWJvbFwiXSA9IFwidW5pdE5hcnJvd1N5bWJvbFwiO1xuICBJbnRlcm5hbFNsb3RUb2tlbltcInVuaXRTeW1ib2xcIl0gPSBcInVuaXRTeW1ib2xcIjtcbn0pKEludGVybmFsU2xvdFRva2VuIHx8IChJbnRlcm5hbFNsb3RUb2tlbiA9IHt9KSk7IiwiZXhwb3J0IHsgc2VsZWN0VW5pdCB9IGZyb20gJy4vZGlmZic7XG5leHBvcnQgeyBkZWZhdWx0TnVtYmVyT3B0aW9uLCBnZXRBbGlhc2VzQnlMYW5nLCBnZXRJbnRlcm5hbFNsb3QsIGdldE11bHRpSW50ZXJuYWxTbG90cywgZ2V0TnVtYmVyT3B0aW9uLCBnZXRPcHRpb24sIGdldFBhcmVudExvY2FsZXNCeUxhbmcsIGlzTGl0ZXJhbFBhcnQsIHBhcnRpdGlvblBhdHRlcm4sIHNldEludGVybmFsU2xvdCwgc2V0TXVsdGlJbnRlcm5hbFNsb3RzLCBzZXROdW1iZXJGb3JtYXREaWdpdE9wdGlvbnMsIHRvT2JqZWN0LCBvYmplY3RJcywgaXNXZWxsRm9ybWVkQ3VycmVuY3lDb2RlLCB0b1N0cmluZyB9IGZyb20gJy4vcG9seWZpbGwtdXRpbHMnO1xuZXhwb3J0IHsgY3JlYXRlUmVzb2x2ZUxvY2FsZSwgZ2V0TG9jYWxlSGllcmFyY2h5LCBzdXBwb3J0ZWRMb2NhbGVzLCB1bnBhY2tEYXRhLCBpc01pc3NpbmdMb2NhbGVEYXRhRXJyb3IgfSBmcm9tICcuL3Jlc29sdmUtbG9jYWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXItdHlwZXMnO1xuZXhwb3J0IHsgZ2V0Q2Fub25pY2FsTG9jYWxlcyB9IGZyb20gJy4vZ2V0LWNhbm9uaWNhbC1sb2NhbGVzJztcbmV4cG9ydCB7IGludmFyaWFudCB9IGZyb20gJy4vaW52YXJpYW50JzsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///2650\n')},5981:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "k": function() { return /* binding */ invariant; }\n/* harmony export */ });\nfunction invariant(condition, message, Err) {\n if (Err === void 0) {\n Err = Error;\n }\n\n if (!condition) {\n throw new Err(message);\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC11dGlscy9saWIvaW52YXJpYW50LmpzPzQ5NWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiNTk4MS5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpbnZhcmlhbnQoY29uZGl0aW9uLCBtZXNzYWdlLCBFcnIpIHtcbiAgaWYgKEVyciA9PT0gdm9pZCAwKSB7XG4gICAgRXJyID0gRXJyb3I7XG4gIH1cblxuICBpZiAoIWNvbmRpdGlvbikge1xuICAgIHRocm93IG5ldyBFcnIobWVzc2FnZSk7XG4gIH1cbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5981\n')},2393:function(__unused_webpack_module,exports){"use strict";eval('var __webpack_unused_export__;\n\n\n__webpack_unused_export__ = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || "initial"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: "POP"\n });\n };\n\n source.addEventListener("popstate", popstateListener);\n return function () {\n source.removeEventListener("popstate", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === "number") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + ""\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? "replace" : "assign"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: "PUSH"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "/";\n var searchIndex = initialPath.indexOf("?");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : ""\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split("?"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? "" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? "?" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split("?"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? "" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexports.V5 = globalHistory;\n__webpack_unused_export__ = navigate;\n__webpack_unused_export__ = createHistory;\n__webpack_unused_export__ = createMemorySource;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZ2F0c2J5anMvcmVhY2gtcm91dGVyL2xpYi9oaXN0b3J5LmpzPzZiMDgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFhOztBQUViLHlCQUFrQjs7QUFFbEI7QUFDQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7QUFDTDtBQUNBLHVGQUF1RjtBQUN2RjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUCwyQkFBMkI7QUFDM0I7QUFDQSxTQUFTLEVBQUU7O0FBRVg7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTCw0REFBNEQ7QUFDNUQsa0VBQWtFO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0NBQXNDOztBQUV0QyxVQUFxQjtBQUNyQix5QkFBZ0I7QUFDaEIseUJBQXFCO0FBQ3JCLHlCQUEwQiIsImZpbGUiOiIyMzkzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbnZhciBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkge1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59O1xuXG52YXIgZ2V0TG9jYXRpb24gPSBmdW5jdGlvbiBnZXRMb2NhdGlvbihzb3VyY2UpIHtcbiAgdmFyIF9zb3VyY2UkbG9jYXRpb24gPSBzb3VyY2UubG9jYXRpb24sXG4gICAgICBzZWFyY2ggPSBfc291cmNlJGxvY2F0aW9uLnNlYXJjaCxcbiAgICAgIGhhc2ggPSBfc291cmNlJGxvY2F0aW9uLmhhc2gsXG4gICAgICBocmVmID0gX3NvdXJjZSRsb2NhdGlvbi5ocmVmLFxuICAgICAgb3JpZ2luID0gX3NvdXJjZSRsb2NhdGlvbi5vcmlnaW4sXG4gICAgICBwcm90b2NvbCA9IF9zb3VyY2UkbG9jYXRpb24ucHJvdG9jb2wsXG4gICAgICBob3N0ID0gX3NvdXJjZSRsb2NhdGlvbi5ob3N0LFxuICAgICAgaG9zdG5hbWUgPSBfc291cmNlJGxvY2F0aW9uLmhvc3RuYW1lLFxuICAgICAgcG9ydCA9IF9zb3VyY2UkbG9jYXRpb24ucG9ydDtcbiAgdmFyIHBhdGhuYW1lID0gc291cmNlLmxvY2F0aW9uLnBhdGhuYW1lO1xuXG4gIGlmICghcGF0aG5hbWUgJiYgaHJlZiAmJiBjYW5Vc2VET00pIHtcbiAgICB2YXIgdXJsID0gbmV3IFVSTChocmVmKTtcbiAgICBwYXRobmFtZSA9IHVybC5wYXRobmFtZTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcGF0aG5hbWU6IGVuY29kZVVSSShkZWNvZGVVUkkocGF0aG5hbWUpKSxcbiAgICBzZWFyY2g6IHNlYXJjaCxcbiAgICBoYXNoOiBoYXNoLFxuICAgIGhyZWY6IGhyZWYsXG4gICAgb3JpZ2luOiBvcmlnaW4sXG4gICAgcHJvdG9jb2w6IHByb3RvY29sLFxuICAgIGhvc3Q6IGhvc3QsXG4gICAgaG9zdG5hbWU6IGhvc3RuYW1lLFxuICAgIHBvcnQ6IHBvcnQsXG4gICAgc3RhdGU6IHNvdXJjZS5oaXN0b3J5LnN0YXRlLFxuICAgIGtleTogc291cmNlLmhpc3Rvcnkuc3RhdGUgJiYgc291cmNlLmhpc3Rvcnkuc3RhdGUua2V5IHx8IFwiaW5pdGlhbFwiXG4gIH07XG59O1xuXG52YXIgY3JlYXRlSGlzdG9yeSA9IGZ1bmN0aW9uIGNyZWF0ZUhpc3Rvcnkoc291cmNlLCBvcHRpb25zKSB7XG4gIHZhciBsaXN0ZW5lcnMgPSBbXTtcbiAgdmFyIGxvY2F0aW9uID0gZ2V0TG9jYXRpb24oc291cmNlKTtcbiAgdmFyIHRyYW5zaXRpb25pbmcgPSBmYWxzZTtcblxuICB2YXIgcmVzb2x2ZVRyYW5zaXRpb24gPSBmdW5jdGlvbiByZXNvbHZlVHJhbnNpdGlvbigpIHt9O1xuXG4gIHJldHVybiB7XG4gICAgZ2V0IGxvY2F0aW9uKCkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9uO1xuICAgIH0sXG5cbiAgICBnZXQgdHJhbnNpdGlvbmluZygpIHtcbiAgICAgIHJldHVybiB0cmFuc2l0aW9uaW5nO1xuICAgIH0sXG5cbiAgICBfb25UcmFuc2l0aW9uQ29tcGxldGU6IGZ1bmN0aW9uIF9vblRyYW5zaXRpb25Db21wbGV0ZSgpIHtcbiAgICAgIHRyYW5zaXRpb25pbmcgPSBmYWxzZTtcbiAgICAgIHJlc29sdmVUcmFuc2l0aW9uKCk7XG4gICAgfSxcbiAgICBsaXN0ZW46IGZ1bmN0aW9uIGxpc3RlbihsaXN0ZW5lcikge1xuICAgICAgbGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuXG4gICAgICB2YXIgcG9wc3RhdGVMaXN0ZW5lciA9IGZ1bmN0aW9uIHBvcHN0YXRlTGlzdGVuZXIoKSB7XG4gICAgICAgIGxvY2F0aW9uID0gZ2V0TG9jYXRpb24oc291cmNlKTtcbiAgICAgICAgbGlzdGVuZXIoe1xuICAgICAgICAgIGxvY2F0aW9uOiBsb2NhdGlvbixcbiAgICAgICAgICBhY3Rpb246IFwiUE9QXCJcbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICBzb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihcInBvcHN0YXRlXCIsIHBvcHN0YXRlTGlzdGVuZXIpO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLCBwb3BzdGF0ZUxpc3RlbmVyKTtcbiAgICAgICAgbGlzdGVuZXJzID0gbGlzdGVuZXJzLmZpbHRlcihmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgICByZXR1cm4gZm4gIT09IGxpc3RlbmVyO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSxcbiAgICBuYXZpZ2F0ZTogZnVuY3Rpb24gbmF2aWdhdGUodG8pIHtcbiAgICAgIHZhciBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fSxcbiAgICAgICAgICBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICAgICAgX3JlZiRyZXBsYWNlID0gX3JlZi5yZXBsYWNlLFxuICAgICAgICAgIHJlcGxhY2UgPSBfcmVmJHJlcGxhY2UgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogX3JlZiRyZXBsYWNlO1xuXG4gICAgICBpZiAodHlwZW9mIHRvID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHNvdXJjZS5oaXN0b3J5LmdvKHRvKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXRlID0gX2V4dGVuZHMoe30sIHN0YXRlLCB7XG4gICAgICAgICAga2V5OiBEYXRlLm5vdygpICsgXCJcIlxuICAgICAgICB9KTsgLy8gdHJ5Li4uY2F0Y2ggaU9TIFNhZmFyaSBsaW1pdHMgdG8gMTAwIHB1c2hTdGF0ZSBjYWxsc1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKHRyYW5zaXRpb25pbmcgfHwgcmVwbGFjZSkge1xuICAgICAgICAgICAgc291cmNlLmhpc3RvcnkucmVwbGFjZVN0YXRlKHN0YXRlLCBudWxsLCB0byk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNvdXJjZS5oaXN0b3J5LnB1c2hTdGF0ZShzdGF0ZSwgbnVsbCwgdG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHNvdXJjZS5sb2NhdGlvbltyZXBsYWNlID8gXCJyZXBsYWNlXCIgOiBcImFzc2lnblwiXSh0byk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbG9jYXRpb24gPSBnZXRMb2NhdGlvbihzb3VyY2UpO1xuICAgICAgdHJhbnNpdGlvbmluZyA9IHRydWU7XG4gICAgICB2YXIgdHJhbnNpdGlvbiA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVUcmFuc2l0aW9uID0gcmVzO1xuICAgICAgfSk7XG4gICAgICBsaXN0ZW5lcnMuZm9yRWFjaChmdW5jdGlvbiAobGlzdGVuZXIpIHtcbiAgICAgICAgcmV0dXJuIGxpc3RlbmVyKHtcbiAgICAgICAgICBsb2NhdGlvbjogbG9jYXRpb24sXG4gICAgICAgICAgYWN0aW9uOiBcIlBVU0hcIlxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHRyYW5zaXRpb247XG4gICAgfVxuICB9O1xufTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFN0b3JlcyBoaXN0b3J5IGVudHJpZXMgaW4gbWVtb3J5IGZvciB0ZXN0aW5nIG9yIG90aGVyIHBsYXRmb3JtcyBsaWtlIE5hdGl2ZVxuXG5cbnZhciBjcmVhdGVNZW1vcnlTb3VyY2UgPSBmdW5jdGlvbiBjcmVhdGVNZW1vcnlTb3VyY2UoKSB7XG4gIHZhciBpbml0aWFsUGF0aCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogXCIvXCI7XG4gIHZhciBzZWFyY2hJbmRleCA9IGluaXRpYWxQYXRoLmluZGV4T2YoXCI/XCIpO1xuICB2YXIgaW5pdGlhbExvY2F0aW9uID0ge1xuICAgIHBhdGhuYW1lOiBzZWFyY2hJbmRleCA+IC0xID8gaW5pdGlhbFBhdGguc3Vic3RyKDAsIHNlYXJjaEluZGV4KSA6IGluaXRpYWxQYXRoLFxuICAgIHNlYXJjaDogc2VhcmNoSW5kZXggPiAtMSA/IGluaXRpYWxQYXRoLnN1YnN0cihzZWFyY2hJbmRleCkgOiBcIlwiXG4gIH07XG4gIHZhciBpbmRleCA9IDA7XG4gIHZhciBzdGFjayA9IFtpbml0aWFsTG9jYXRpb25dO1xuICB2YXIgc3RhdGVzID0gW251bGxdO1xuICByZXR1cm4ge1xuICAgIGdldCBsb2NhdGlvbigpIHtcbiAgICAgIHJldHVybiBzdGFja1tpbmRleF07XG4gICAgfSxcblxuICAgIGFkZEV2ZW50TGlzdGVuZXI6IGZ1bmN0aW9uIGFkZEV2ZW50TGlzdGVuZXIobmFtZSwgZm4pIHt9LFxuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXI6IGZ1bmN0aW9uIHJlbW92ZUV2ZW50TGlzdGVuZXIobmFtZSwgZm4pIHt9LFxuICAgIGhpc3Rvcnk6IHtcbiAgICAgIGdldCBlbnRyaWVzKCkge1xuICAgICAgICByZXR1cm4gc3RhY2s7XG4gICAgICB9LFxuXG4gICAgICBnZXQgaW5kZXgoKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH0sXG5cbiAgICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlc1tpbmRleF07XG4gICAgICB9LFxuXG4gICAgICBwdXNoU3RhdGU6IGZ1bmN0aW9uIHB1c2hTdGF0ZShzdGF0ZSwgXywgdXJpKSB7XG4gICAgICAgIHZhciBfdXJpJHNwbGl0ID0gdXJpLnNwbGl0KFwiP1wiKSxcbiAgICAgICAgICAgIHBhdGhuYW1lID0gX3VyaSRzcGxpdFswXSxcbiAgICAgICAgICAgIF91cmkkc3BsaXQkID0gX3VyaSRzcGxpdFsxXSxcbiAgICAgICAgICAgIHNlYXJjaCA9IF91cmkkc3BsaXQkID09PSB1bmRlZmluZWQgPyBcIlwiIDogX3VyaSRzcGxpdCQ7XG5cbiAgICAgICAgaW5kZXgrKztcbiAgICAgICAgc3RhY2sucHVzaCh7XG4gICAgICAgICAgcGF0aG5hbWU6IHBhdGhuYW1lLFxuICAgICAgICAgIHNlYXJjaDogc2VhcmNoLmxlbmd0aCA/IFwiP1wiICsgc2VhcmNoIDogc2VhcmNoXG4gICAgICAgIH0pO1xuICAgICAgICBzdGF0ZXMucHVzaChzdGF0ZSk7XG4gICAgICB9LFxuICAgICAgcmVwbGFjZVN0YXRlOiBmdW5jdGlvbiByZXBsYWNlU3RhdGUoc3RhdGUsIF8sIHVyaSkge1xuICAgICAgICB2YXIgX3VyaSRzcGxpdDIgPSB1cmkuc3BsaXQoXCI/XCIpLFxuICAgICAgICAgICAgcGF0aG5hbWUgPSBfdXJpJHNwbGl0MlswXSxcbiAgICAgICAgICAgIF91cmkkc3BsaXQyJCA9IF91cmkkc3BsaXQyWzFdLFxuICAgICAgICAgICAgc2VhcmNoID0gX3VyaSRzcGxpdDIkID09PSB1bmRlZmluZWQgPyBcIlwiIDogX3VyaSRzcGxpdDIkO1xuXG4gICAgICAgIHN0YWNrW2luZGV4XSA9IHtcbiAgICAgICAgICBwYXRobmFtZTogcGF0aG5hbWUsXG4gICAgICAgICAgc2VhcmNoOiBzZWFyY2hcbiAgICAgICAgfTtcbiAgICAgICAgc3RhdGVzW2luZGV4XSA9IHN0YXRlO1xuICAgICAgfSxcbiAgICAgIGdvOiBmdW5jdGlvbiBnbyh0bykge1xuICAgICAgICB2YXIgbmV3SW5kZXggPSBpbmRleCArIHRvO1xuXG4gICAgICAgIGlmIChuZXdJbmRleCA8IDAgfHwgbmV3SW5kZXggPiBzdGF0ZXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGluZGV4ID0gbmV3SW5kZXg7XG4gICAgICB9XG4gICAgfVxuICB9O1xufTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGdsb2JhbCBoaXN0b3J5IC0gdXNlcyB3aW5kb3cuaGlzdG9yeSBhcyB0aGUgc291cmNlIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGFcbi8vIG1lbW9yeSBoaXN0b3J5XG5cblxudmFyIGNhblVzZURPTSA9ICEhKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmRvY3VtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcblxudmFyIGdldFNvdXJjZSA9IGZ1bmN0aW9uIGdldFNvdXJjZSgpIHtcbiAgcmV0dXJuIGNhblVzZURPTSA/IHdpbmRvdyA6IGNyZWF0ZU1lbW9yeVNvdXJjZSgpO1xufTtcblxudmFyIGdsb2JhbEhpc3RvcnkgPSBjcmVhdGVIaXN0b3J5KGdldFNvdXJjZSgpKTtcbnZhciBuYXZpZ2F0ZSA9IGdsb2JhbEhpc3RvcnkubmF2aWdhdGU7IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydHMuZ2xvYmFsSGlzdG9yeSA9IGdsb2JhbEhpc3Rvcnk7XG5leHBvcnRzLm5hdmlnYXRlID0gbmF2aWdhdGU7XG5leHBvcnRzLmNyZWF0ZUhpc3RvcnkgPSBjcmVhdGVIaXN0b3J5O1xuZXhwb3J0cy5jcmVhdGVNZW1vcnlTb3VyY2UgPSBjcmVhdGVNZW1vcnlTb3VyY2U7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///2393\n')},2098:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\nexports.shallowCompare = exports.validateRedirect = exports.insertParams = exports.resolve = exports.match = exports.pick = exports.startsWith = undefined;\n\nvar _invariant = __webpack_require__(1143);\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don\'t have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split("?"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === "";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || "*";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join("/");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? false ? 0 : (0, _invariant2.default)(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don\'t match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: "/" + uriSegments.slice(0, index).join("/")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be "in a directory"\n// you can be "at a file", too. For example\n//\n// browserSpecResolve(\'foo\', \'/bar/\') => /bar/foo\n// browserSpecResolve(\'foo\', \'/bar\') => /foo\n//\n// But on the command line of a file system, it\'s not as complicated, you can\'t\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, "/")) {\n return to;\n }\n\n var _to$split = to.split("?"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split("?"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === "") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], ".")) {\n var pathname = baseSegments.concat(toSegments).join("/");\n return addQuery((basePathname === "/" ? "" : "/") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === "..") segments.pop();else if (segment !== ".") segments.push(segment);\n }\n\n return addQuery("/" + segments.join("/"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split("?"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? "" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = "/" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join("/");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? "" : _params$location$sear;\n var searchSplit = search.split("?")[1] || "";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join("/");\n var toString = segmentize(to).filter(filter).sort().join("/");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === "";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === "*";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, "").split("/");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? "?" + query.join("&") : "");\n};\n\nvar reservedNames = ["uri", "path"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\nexports.startsWith = startsWith;\nexports.pick = pick;\nexports.match = match;\nexports.resolve = resolve;\nexports.insertParams = insertParams;\nexports.validateRedirect = validateRedirect;\nexports.shallowCompare = shallowCompare;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZ2F0c2J5anMvcmVhY2gtcm91dGVyL2xpYi91dGlscy5qcz9hNDIyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLGtCQUFrQjtBQUNsQixzQkFBc0IsR0FBRyx3QkFBd0IsR0FBRyxvQkFBb0IsR0FBRyxlQUFlLEdBQUcsYUFBYSxHQUFHLFlBQVksR0FBRyxrQkFBa0I7O0FBRTlJLGlCQUFpQixtQkFBTyxDQUFDLElBQVc7O0FBRXBDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEOzs7QUFHQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsb0NBQW9DLE9BQU87QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsVUFBVSxhQUFhO0FBQ3ZCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsOEJBQThCLE1BQXFDLEdBQUcsQ0FBdUs7QUFDN087QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFO0FBQ0Y7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLEVBQUUsVUFBVSxRQUFRO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDhDQUE4Qzs7QUFFOUM7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQSx5Q0FBeUMsT0FBTztBQUNoRDtBQUNBLHlDQUF5QztBQUN6Qzs7QUFFQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscURBQXFELHFEQUFxRCxtRUFBbUU7QUFDN0s7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFGQUFxRixhQUFhO0FBQ2xHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7O0FBR0Ysa0JBQWtCO0FBQ2xCLFlBQVk7QUFDWixhQUFhO0FBQ2IsZUFBZTtBQUNmLG9CQUFvQjtBQUNwQix3QkFBd0I7QUFDeEIsc0JBQXNCIiwiZmlsZSI6IjIwOTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbmV4cG9ydHMuc2hhbGxvd0NvbXBhcmUgPSBleHBvcnRzLnZhbGlkYXRlUmVkaXJlY3QgPSBleHBvcnRzLmluc2VydFBhcmFtcyA9IGV4cG9ydHMucmVzb2x2ZSA9IGV4cG9ydHMubWF0Y2ggPSBleHBvcnRzLnBpY2sgPSBleHBvcnRzLnN0YXJ0c1dpdGggPSB1bmRlZmluZWQ7XG5cbnZhciBfaW52YXJpYW50ID0gcmVxdWlyZShcImludmFyaWFudFwiKTtcblxudmFyIF9pbnZhcmlhbnQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaW52YXJpYW50KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHtcbiAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICBkZWZhdWx0OiBvYmpcbiAgfTtcbn0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHN0YXJ0c1dpdGgoc3RyaW5nLCBzZWFyY2gpIC0gQ2hlY2sgaWYgYHN0cmluZ2Agc3RhcnRzIHdpdGggYHNlYXJjaGBcblxuXG52YXIgc3RhcnRzV2l0aCA9IGZ1bmN0aW9uIHN0YXJ0c1dpdGgoc3RyaW5nLCBzZWFyY2gpIHtcbiAgcmV0dXJuIHN0cmluZy5zdWJzdHIoMCwgc2VhcmNoLmxlbmd0aCkgPT09IHNlYXJjaDtcbn07IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBwaWNrKHJvdXRlcywgdXJpKVxuLy9cbi8vIFJhbmtzIGFuZCBwaWNrcyB0aGUgYmVzdCByb3V0ZSB0byBtYXRjaC4gRWFjaCBzZWdtZW50IGdldHMgdGhlIGhpZ2hlc3Rcbi8vIGFtb3VudCBvZiBwb2ludHMsIHRoZW4gdGhlIHR5cGUgb2Ygc2VnbWVudCBnZXRzIGFuIGFkZGl0aW9uYWwgYW1vdW50IG9mXG4vLyBwb2ludHMgd2hlcmVcbi8vXG4vLyAgICAgc3RhdGljID4gZHluYW1pYyA+IHNwbGF0ID4gcm9vdFxuLy9cbi8vIFRoaXMgd2F5IHdlIGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgdGhlIG9yZGVyIG9mIG91ciByb3V0ZXMsIGxldCB0aGVcbi8vIGNvbXB1dGVycyBkbyBpdC5cbi8vXG4vLyBBIHJvdXRlIGxvb2tzIGxpa2UgdGhpc1xuLy9cbi8vICAgICB7IHBhdGgsIGRlZmF1bHQsIHZhbHVlIH1cbi8vXG4vLyBBbmQgYSByZXR1cm5lZCBtYXRjaCBsb29rcyBsaWtlOlxuLy9cbi8vICAgICB7IHJvdXRlLCBwYXJhbXMsIHVyaSB9XG4vL1xuLy8gSSBrbm93LCBJIHNob3VsZCB1c2UgVHlwZVNjcmlwdCBub3QgY29tbWVudHMgZm9yIHRoZXNlIHR5cGVzLlxuXG5cbnZhciBwaWNrID0gZnVuY3Rpb24gcGljayhyb3V0ZXMsIHVyaSkge1xuICB2YXIgbWF0Y2ggPSB2b2lkIDA7XG4gIHZhciBkZWZhdWx0XyA9IHZvaWQgMDtcblxuICB2YXIgX3VyaSRzcGxpdCA9IHVyaS5zcGxpdChcIj9cIiksXG4gICAgICB1cmlQYXRobmFtZSA9IF91cmkkc3BsaXRbMF07XG5cbiAgdmFyIHVyaVNlZ21lbnRzID0gc2VnbWVudGl6ZSh1cmlQYXRobmFtZSk7XG4gIHZhciBpc1Jvb3RVcmkgPSB1cmlTZWdtZW50c1swXSA9PT0gXCJcIjtcbiAgdmFyIHJhbmtlZCA9IHJhbmtSb3V0ZXMocm91dGVzKTtcblxuICBmb3IgKHZhciBpID0gMCwgbCA9IHJhbmtlZC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICB2YXIgbWlzc2VkID0gZmFsc2U7XG4gICAgdmFyIHJvdXRlID0gcmFua2VkW2ldLnJvdXRlO1xuXG4gICAgaWYgKHJvdXRlLmRlZmF1bHQpIHtcbiAgICAgIGRlZmF1bHRfID0ge1xuICAgICAgICByb3V0ZTogcm91dGUsXG4gICAgICAgIHBhcmFtczoge30sXG4gICAgICAgIHVyaTogdXJpXG4gICAgICB9O1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgdmFyIHJvdXRlU2VnbWVudHMgPSBzZWdtZW50aXplKHJvdXRlLnBhdGgpO1xuICAgIHZhciBwYXJhbXMgPSB7fTtcbiAgICB2YXIgbWF4ID0gTWF0aC5tYXgodXJpU2VnbWVudHMubGVuZ3RoLCByb3V0ZVNlZ21lbnRzLmxlbmd0aCk7XG4gICAgdmFyIGluZGV4ID0gMDtcblxuICAgIGZvciAoOyBpbmRleCA8IG1heDsgaW5kZXgrKykge1xuICAgICAgdmFyIHJvdXRlU2VnbWVudCA9IHJvdXRlU2VnbWVudHNbaW5kZXhdO1xuICAgICAgdmFyIHVyaVNlZ21lbnQgPSB1cmlTZWdtZW50c1tpbmRleF07XG5cbiAgICAgIGlmIChpc1NwbGF0KHJvdXRlU2VnbWVudCkpIHtcbiAgICAgICAgLy8gSGl0IGEgc3BsYXQsIGp1c3QgZ3JhYiB0aGUgcmVzdCwgYW5kIHJldHVybiBhIG1hdGNoXG4gICAgICAgIC8vIHVyaTogICAvZmlsZXMvZG9jdW1lbnRzL3dvcmtcbiAgICAgICAgLy8gcm91dGU6IC9maWxlcy8qXG4gICAgICAgIHZhciBwYXJhbSA9IHJvdXRlU2VnbWVudC5zbGljZSgxKSB8fCBcIipcIjtcbiAgICAgICAgcGFyYW1zW3BhcmFtXSA9IHVyaVNlZ21lbnRzLnNsaWNlKGluZGV4KS5tYXAoZGVjb2RlVVJJQ29tcG9uZW50KS5qb2luKFwiL1wiKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICh1cmlTZWdtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gVVJJIGlzIHNob3J0ZXIgdGhhbiB0aGUgcm91dGUsIG5vIG1hdGNoXG4gICAgICAgIC8vIHVyaTogICAvdXNlcnNcbiAgICAgICAgLy8gcm91dGU6IC91c2Vycy86dXNlcklkXG4gICAgICAgIG1pc3NlZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICB2YXIgZHluYW1pY01hdGNoID0gcGFyYW1SZS5leGVjKHJvdXRlU2VnbWVudCk7XG5cbiAgICAgIGlmIChkeW5hbWljTWF0Y2ggJiYgIWlzUm9vdFVyaSkge1xuICAgICAgICB2YXIgbWF0Y2hJc05vdFJlc2VydmVkID0gcmVzZXJ2ZWROYW1lcy5pbmRleE9mKGR5bmFtaWNNYXRjaFsxXSkgPT09IC0xO1xuICAgICAgICAhbWF0Y2hJc05vdFJlc2VydmVkID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gKDAsIF9pbnZhcmlhbnQyLmRlZmF1bHQpKGZhbHNlLCBcIjxSb3V0ZXI+IGR5bmFtaWMgc2VnbWVudCBcXFwiXCIgKyBkeW5hbWljTWF0Y2hbMV0gKyBcIlxcXCIgaXMgYSByZXNlcnZlZCBuYW1lLiBQbGVhc2UgdXNlIGEgZGlmZmVyZW50IG5hbWUgaW4gcGF0aCBcXFwiXCIgKyByb3V0ZS5wYXRoICsgXCJcXFwiLlwiKSA6ICgwLCBfaW52YXJpYW50Mi5kZWZhdWx0KShmYWxzZSkgOiB2b2lkIDA7XG4gICAgICAgIHZhciB2YWx1ZSA9IGRlY29kZVVSSUNvbXBvbmVudCh1cmlTZWdtZW50KTtcbiAgICAgICAgcGFyYW1zW2R5bmFtaWNNYXRjaFsxXV0gPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAocm91dGVTZWdtZW50ICE9PSB1cmlTZWdtZW50KSB7XG4gICAgICAgIC8vIEN1cnJlbnQgc2VnbWVudHMgZG9uJ3QgbWF0Y2gsIG5vdCBkeW5hbWljLCBub3Qgc3BsYXQsIHNvIG5vIG1hdGNoXG4gICAgICAgIC8vIHVyaTogICAvdXNlcnMvMTIzL3NldHRpbmdzXG4gICAgICAgIC8vIHJvdXRlOiAvdXNlcnMvOmlkL3Byb2ZpbGVcbiAgICAgICAgbWlzc2VkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFtaXNzZWQpIHtcbiAgICAgIG1hdGNoID0ge1xuICAgICAgICByb3V0ZTogcm91dGUsXG4gICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgICB1cmk6IFwiL1wiICsgdXJpU2VnbWVudHMuc2xpY2UoMCwgaW5kZXgpLmpvaW4oXCIvXCIpXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1hdGNoIHx8IGRlZmF1bHRfIHx8IG51bGw7XG59OyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbWF0Y2gocGF0aCwgdXJpKSAtIE1hdGNoZXMganVzdCBvbmUgcGF0aCB0byBhIHVyaSwgYWxzbyBsb2xcblxuXG52YXIgbWF0Y2ggPSBmdW5jdGlvbiBtYXRjaChwYXRoLCB1cmkpIHtcbiAgcmV0dXJuIHBpY2soW3tcbiAgICBwYXRoOiBwYXRoXG4gIH1dLCB1cmkpO1xufTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHJlc29sdmUodG8sIGJhc2VwYXRoKVxuLy9cbi8vIFJlc29sdmVzIFVSSXMgYXMgdGhvdWdoIGV2ZXJ5IHBhdGggaXMgYSBkaXJlY3RvcnksIG5vIGZpbGVzLiAgUmVsYXRpdmUgVVJJc1xuLy8gaW4gdGhlIGJyb3dzZXIgY2FuIGZlZWwgYXdrd2FyZCBiZWNhdXNlIG5vdCBvbmx5IGNhbiB5b3UgYmUgXCJpbiBhIGRpcmVjdG9yeVwiXG4vLyB5b3UgY2FuIGJlIFwiYXQgYSBmaWxlXCIsIHRvby4gRm9yIGV4YW1wbGVcbi8vXG4vLyAgICAgYnJvd3NlclNwZWNSZXNvbHZlKCdmb28nLCAnL2Jhci8nKSA9PiAvYmFyL2Zvb1xuLy8gICAgIGJyb3dzZXJTcGVjUmVzb2x2ZSgnZm9vJywgJy9iYXInKSA9PiAvZm9vXG4vL1xuLy8gQnV0IG9uIHRoZSBjb21tYW5kIGxpbmUgb2YgYSBmaWxlIHN5c3RlbSwgaXQncyBub3QgYXMgY29tcGxpY2F0ZWQsIHlvdSBjYW4ndFxuLy8gYGNkYCBmcm9tIGEgZmlsZSwgb25seSBkaXJlY3Rvcmllcy4gIFRoaXMgd2F5LCBsaW5rcyBoYXZlIHRvIGtub3cgbGVzcyBhYm91dFxuLy8gdGhlaXIgY3VycmVudCBwYXRoLiBUbyBnbyBkZWVwZXIgeW91IGNhbiBkbyB0aGlzOlxuLy9cbi8vICAgICA8TGluayB0bz1cImRlZXBlclwiLz5cbi8vICAgICAvLyBpbnN0ZWFkIG9mXG4vLyAgICAgPExpbmsgdG89YHske3Byb3BzLnVyaX0vZGVlcGVyfWAvPlxuLy9cbi8vIEp1c3QgbGlrZSBgY2RgLCBpZiB5b3Ugd2FudCB0byBnbyBkZWVwZXIgZnJvbSB0aGUgY29tbWFuZCBsaW5lLCB5b3UgZG8gdGhpczpcbi8vXG4vLyAgICAgY2QgZGVlcGVyXG4vLyAgICAgIyBub3Rcbi8vICAgICBjZCAkKHB3ZCkvZGVlcGVyXG4vL1xuLy8gQnkgdHJlYXRpbmcgZXZlcnkgcGF0aCBhcyBhIGRpcmVjdG9yeSwgbGlua2luZyB0byByZWxhdGl2ZSBwYXRocyBzaG91bGRcbi8vIHJlcXVpcmUgbGVzcyBjb250ZXh0dWFsIGluZm9ybWF0aW9uIGFuZCAoZmluZ2VycyBjcm9zc2VkKSBiZSBtb3JlIGludHVpdGl2ZS5cblxuXG52YXIgcmVzb2x2ZSA9IGZ1bmN0aW9uIHJlc29sdmUodG8sIGJhc2UpIHtcbiAgLy8gL2Zvby9iYXIsIC9iYXovcXV4ID0+IC9mb28vYmFyXG4gIGlmIChzdGFydHNXaXRoKHRvLCBcIi9cIikpIHtcbiAgICByZXR1cm4gdG87XG4gIH1cblxuICB2YXIgX3RvJHNwbGl0ID0gdG8uc3BsaXQoXCI/XCIpLFxuICAgICAgdG9QYXRobmFtZSA9IF90byRzcGxpdFswXSxcbiAgICAgIHRvUXVlcnkgPSBfdG8kc3BsaXRbMV07XG5cbiAgdmFyIF9iYXNlJHNwbGl0ID0gYmFzZS5zcGxpdChcIj9cIiksXG4gICAgICBiYXNlUGF0aG5hbWUgPSBfYmFzZSRzcGxpdFswXTtcblxuICB2YXIgdG9TZWdtZW50cyA9IHNlZ21lbnRpemUodG9QYXRobmFtZSk7XG4gIHZhciBiYXNlU2VnbWVudHMgPSBzZWdtZW50aXplKGJhc2VQYXRobmFtZSk7IC8vID9hPWIsIC91c2Vycz9iPWMgPT4gL3VzZXJzP2E9YlxuXG4gIGlmICh0b1NlZ21lbnRzWzBdID09PSBcIlwiKSB7XG4gICAgcmV0dXJuIGFkZFF1ZXJ5KGJhc2VQYXRobmFtZSwgdG9RdWVyeSk7XG4gIH0gLy8gcHJvZmlsZSwgL3VzZXJzLzc4OSA9PiAvdXNlcnMvNzg5L3Byb2ZpbGVcblxuXG4gIGlmICghc3RhcnRzV2l0aCh0b1NlZ21lbnRzWzBdLCBcIi5cIikpIHtcbiAgICB2YXIgcGF0aG5hbWUgPSBiYXNlU2VnbWVudHMuY29uY2F0KHRvU2VnbWVudHMpLmpvaW4oXCIvXCIpO1xuICAgIHJldHVybiBhZGRRdWVyeSgoYmFzZVBhdGhuYW1lID09PSBcIi9cIiA/IFwiXCIgOiBcIi9cIikgKyBwYXRobmFtZSwgdG9RdWVyeSk7XG4gIH0gLy8gLi8gICAgICAgICAvdXNlcnMvMTIzICA9PiAgL3VzZXJzLzEyM1xuICAvLyAuLi8gICAgICAgIC91c2Vycy8xMjMgID0+ICAvdXNlcnNcbiAgLy8gLi4vLi4gICAgICAvdXNlcnMvMTIzICA9PiAgL1xuICAvLyAuLi8uLi9vbmUgIC9hL2IvYy9kICAgID0+ICAvYS9iL29uZVxuICAvLyAuLi8uL29uZSAgIC9hL2IvYy9kICAgID0+ICAvYS9iL2Mvb25lXG5cblxuICB2YXIgYWxsU2VnbWVudHMgPSBiYXNlU2VnbWVudHMuY29uY2F0KHRvU2VnbWVudHMpO1xuICB2YXIgc2VnbWVudHMgPSBbXTtcblxuICBmb3IgKHZhciBpID0gMCwgbCA9IGFsbFNlZ21lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIHZhciBzZWdtZW50ID0gYWxsU2VnbWVudHNbaV07XG4gICAgaWYgKHNlZ21lbnQgPT09IFwiLi5cIikgc2VnbWVudHMucG9wKCk7ZWxzZSBpZiAoc2VnbWVudCAhPT0gXCIuXCIpIHNlZ21lbnRzLnB1c2goc2VnbWVudCk7XG4gIH1cblxuICByZXR1cm4gYWRkUXVlcnkoXCIvXCIgKyBzZWdtZW50cy5qb2luKFwiL1wiKSwgdG9RdWVyeSk7XG59OyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gaW5zZXJ0UGFyYW1zKHBhdGgsIHBhcmFtcylcblxuXG52YXIgaW5zZXJ0UGFyYW1zID0gZnVuY3Rpb24gaW5zZXJ0UGFyYW1zKHBhdGgsIHBhcmFtcykge1xuICB2YXIgX3BhdGgkc3BsaXQgPSBwYXRoLnNwbGl0KFwiP1wiKSxcbiAgICAgIHBhdGhCYXNlID0gX3BhdGgkc3BsaXRbMF0sXG4gICAgICBfcGF0aCRzcGxpdCQgPSBfcGF0aCRzcGxpdFsxXSxcbiAgICAgIHF1ZXJ5ID0gX3BhdGgkc3BsaXQkID09PSB1bmRlZmluZWQgPyBcIlwiIDogX3BhdGgkc3BsaXQkO1xuXG4gIHZhciBzZWdtZW50cyA9IHNlZ21lbnRpemUocGF0aEJhc2UpO1xuICB2YXIgY29uc3RydWN0ZWRQYXRoID0gXCIvXCIgKyBzZWdtZW50cy5tYXAoZnVuY3Rpb24gKHNlZ21lbnQpIHtcbiAgICB2YXIgbWF0Y2ggPSBwYXJhbVJlLmV4ZWMoc2VnbWVudCk7XG4gICAgcmV0dXJuIG1hdGNoID8gcGFyYW1zW21hdGNoWzFdXSA6IHNlZ21lbnQ7XG4gIH0pLmpvaW4oXCIvXCIpO1xuICB2YXIgX3BhcmFtcyRsb2NhdGlvbiA9IHBhcmFtcy5sb2NhdGlvbjtcbiAgX3BhcmFtcyRsb2NhdGlvbiA9IF9wYXJhbXMkbG9jYXRpb24gPT09IHVuZGVmaW5lZCA/IHt9IDogX3BhcmFtcyRsb2NhdGlvbjtcbiAgdmFyIF9wYXJhbXMkbG9jYXRpb24kc2VhciA9IF9wYXJhbXMkbG9jYXRpb24uc2VhcmNoLFxuICAgICAgc2VhcmNoID0gX3BhcmFtcyRsb2NhdGlvbiRzZWFyID09PSB1bmRlZmluZWQgPyBcIlwiIDogX3BhcmFtcyRsb2NhdGlvbiRzZWFyO1xuICB2YXIgc2VhcmNoU3BsaXQgPSBzZWFyY2guc3BsaXQoXCI/XCIpWzFdIHx8IFwiXCI7XG4gIGNvbnN0cnVjdGVkUGF0aCA9IGFkZFF1ZXJ5KGNvbnN0cnVjdGVkUGF0aCwgcXVlcnksIHNlYXJjaFNwbGl0KTtcbiAgcmV0dXJuIGNvbnN0cnVjdGVkUGF0aDtcbn07XG5cbnZhciB2YWxpZGF0ZVJlZGlyZWN0ID0gZnVuY3Rpb24gdmFsaWRhdGVSZWRpcmVjdChmcm9tLCB0bykge1xuICB2YXIgZmlsdGVyID0gZnVuY3Rpb24gZmlsdGVyKHNlZ21lbnQpIHtcbiAgICByZXR1cm4gaXNEeW5hbWljKHNlZ21lbnQpO1xuICB9O1xuXG4gIHZhciBmcm9tU3RyaW5nID0gc2VnbWVudGl6ZShmcm9tKS5maWx0ZXIoZmlsdGVyKS5zb3J0KCkuam9pbihcIi9cIik7XG4gIHZhciB0b1N0cmluZyA9IHNlZ21lbnRpemUodG8pLmZpbHRlcihmaWx0ZXIpLnNvcnQoKS5qb2luKFwiL1wiKTtcbiAgcmV0dXJuIGZyb21TdHJpbmcgPT09IHRvU3RyaW5nO1xufTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEp1bmtcblxuXG52YXIgcGFyYW1SZSA9IC9eOiguKykvO1xudmFyIFNFR01FTlRfUE9JTlRTID0gNDtcbnZhciBTVEFUSUNfUE9JTlRTID0gMztcbnZhciBEWU5BTUlDX1BPSU5UUyA9IDI7XG52YXIgU1BMQVRfUEVOQUxUWSA9IDE7XG52YXIgUk9PVF9QT0lOVFMgPSAxO1xuXG52YXIgaXNSb290U2VnbWVudCA9IGZ1bmN0aW9uIGlzUm9vdFNlZ21lbnQoc2VnbWVudCkge1xuICByZXR1cm4gc2VnbWVudCA9PT0gXCJcIjtcbn07XG5cbnZhciBpc0R5bmFtaWMgPSBmdW5jdGlvbiBpc0R5bmFtaWMoc2VnbWVudCkge1xuICByZXR1cm4gcGFyYW1SZS50ZXN0KHNlZ21lbnQpO1xufTtcblxudmFyIGlzU3BsYXQgPSBmdW5jdGlvbiBpc1NwbGF0KHNlZ21lbnQpIHtcbiAgcmV0dXJuIHNlZ21lbnQgJiYgc2VnbWVudFswXSA9PT0gXCIqXCI7XG59O1xuXG52YXIgcmFua1JvdXRlID0gZnVuY3Rpb24gcmFua1JvdXRlKHJvdXRlLCBpbmRleCkge1xuICB2YXIgc2NvcmUgPSByb3V0ZS5kZWZhdWx0ID8gMCA6IHNlZ21lbnRpemUocm91dGUucGF0aCkucmVkdWNlKGZ1bmN0aW9uIChzY29yZSwgc2VnbWVudCkge1xuICAgIHNjb3JlICs9IFNFR01FTlRfUE9JTlRTO1xuICAgIGlmIChpc1Jvb3RTZWdtZW50KHNlZ21lbnQpKSBzY29yZSArPSBST09UX1BPSU5UUztlbHNlIGlmIChpc0R5bmFtaWMoc2VnbWVudCkpIHNjb3JlICs9IERZTkFNSUNfUE9JTlRTO2Vsc2UgaWYgKGlzU3BsYXQoc2VnbWVudCkpIHNjb3JlIC09IFNFR01FTlRfUE9JTlRTICsgU1BMQVRfUEVOQUxUWTtlbHNlIHNjb3JlICs9IFNUQVRJQ19QT0lOVFM7XG4gICAgcmV0dXJuIHNjb3JlO1xuICB9LCAwKTtcbiAgcmV0dXJuIHtcbiAgICByb3V0ZTogcm91dGUsXG4gICAgc2NvcmU6IHNjb3JlLFxuICAgIGluZGV4OiBpbmRleFxuICB9O1xufTtcblxudmFyIHJhbmtSb3V0ZXMgPSBmdW5jdGlvbiByYW5rUm91dGVzKHJvdXRlcykge1xuICByZXR1cm4gcm91dGVzLm1hcChyYW5rUm91dGUpLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICByZXR1cm4gYS5zY29yZSA8IGIuc2NvcmUgPyAxIDogYS5zY29yZSA+IGIuc2NvcmUgPyAtMSA6IGEuaW5kZXggLSBiLmluZGV4O1xuICB9KTtcbn07XG5cbnZhciBzZWdtZW50aXplID0gZnVuY3Rpb24gc2VnbWVudGl6ZSh1cmkpIHtcbiAgcmV0dXJuIHVyaSAvLyBzdHJpcCBzdGFydGluZy9lbmRpbmcgc2xhc2hlc1xuICAucmVwbGFjZSgvKF5cXC8rfFxcLyskKS9nLCBcIlwiKS5zcGxpdChcIi9cIik7XG59O1xuXG52YXIgYWRkUXVlcnkgPSBmdW5jdGlvbiBhZGRRdWVyeShwYXRobmFtZSkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgcXVlcnkgPSBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgcXVlcnlbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcXVlcnkgPSBxdWVyeS5maWx0ZXIoZnVuY3Rpb24gKHEpIHtcbiAgICByZXR1cm4gcSAmJiBxLmxlbmd0aCA+IDA7XG4gIH0pO1xuICByZXR1cm4gcGF0aG5hbWUgKyAocXVlcnkgJiYgcXVlcnkubGVuZ3RoID4gMCA/IFwiP1wiICsgcXVlcnkuam9pbihcIiZcIikgOiBcIlwiKTtcbn07XG5cbnZhciByZXNlcnZlZE5hbWVzID0gW1widXJpXCIsIFwicGF0aFwiXTtcbi8qKlxuICogU2hhbGxvdyBjb21wYXJlcyB0d28gb2JqZWN0cy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmoxIFRoZSBmaXJzdCBvYmplY3QgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmoyIFRoZSBzZWNvbmQgb2JqZWN0IHRvIGNvbXBhcmUuXG4gKi9cblxudmFyIHNoYWxsb3dDb21wYXJlID0gZnVuY3Rpb24gc2hhbGxvd0NvbXBhcmUob2JqMSwgb2JqMikge1xuICB2YXIgb2JqMUtleXMgPSBPYmplY3Qua2V5cyhvYmoxKTtcbiAgcmV0dXJuIG9iajFLZXlzLmxlbmd0aCA9PT0gT2JqZWN0LmtleXMob2JqMikubGVuZ3RoICYmIG9iajFLZXlzLmV2ZXJ5KGZ1bmN0aW9uIChrZXkpIHtcbiAgICByZXR1cm4gb2JqMi5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIG9iajFba2V5XSA9PT0gb2JqMltrZXldO1xuICB9KTtcbn07IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuZXhwb3J0cy5zdGFydHNXaXRoID0gc3RhcnRzV2l0aDtcbmV4cG9ydHMucGljayA9IHBpY2s7XG5leHBvcnRzLm1hdGNoID0gbWF0Y2g7XG5leHBvcnRzLnJlc29sdmUgPSByZXNvbHZlO1xuZXhwb3J0cy5pbnNlcnRQYXJhbXMgPSBpbnNlcnRQYXJhbXM7XG5leHBvcnRzLnZhbGlkYXRlUmVkaXJlY3QgPSB2YWxpZGF0ZVJlZGlyZWN0O1xuZXhwb3J0cy5zaGFsbG93Q29tcGFyZSA9IHNoYWxsb3dDb21wYXJlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///2098\n')},9771:function(__unused_webpack_module,exports){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", ({\n value: true\n}));\nexports.default = void 0;\n\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n\n target = "".concat(target);\n return string.slice(position, position + target.length) == target;\n}\n\nfunction getBrowserLang() {\n if (typeof window === "undefined") {\n return null;\n }\n\n var lang = window.navigator.languages && window.navigator.languages[0] || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage || window.navigator.systemLanguage || null;\n return lang;\n}\n\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, "_");\n}\n\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n\n var languages = options.languages,\n fallback = options.fallback;\n\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n\n var browserLanguage = normalizeCode(getBrowserLang());\n\n if (!browserLanguage) {\n return fallback;\n }\n\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang);\n });\n return matchCodeOnly[0] || fallback;\n}\n\nvar _default = getPreferredLanguage;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9icm93c2VyLWxhbmcvZGlzdC9pbmRleC5qcz9iNmY0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLGVBQWU7O0FBRWY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBLGVBQWUiLCJmaWxlIjoiOTc3MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG5mdW5jdGlvbiBzdGFydHNXaXRoKHN0cmluZywgdGFyZ2V0LCBwb3NpdGlvbikge1xuICB2YXIgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aDtcbiAgcG9zaXRpb24gPSBwb3NpdGlvbiA9PSBudWxsID8gMCA6IHBvc2l0aW9uO1xuXG4gIGlmIChwb3NpdGlvbiA8IDApIHtcbiAgICBwb3NpdGlvbiA9IDA7XG4gIH0gZWxzZSBpZiAocG9zaXRpb24gPiBsZW5ndGgpIHtcbiAgICBwb3NpdGlvbiA9IGxlbmd0aDtcbiAgfVxuXG4gIHRhcmdldCA9IFwiXCIuY29uY2F0KHRhcmdldCk7XG4gIHJldHVybiBzdHJpbmcuc2xpY2UocG9zaXRpb24sIHBvc2l0aW9uICsgdGFyZ2V0Lmxlbmd0aCkgPT0gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBnZXRCcm93c2VyTGFuZygpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBsYW5nID0gd2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZXMgJiYgd2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZXNbMF0gfHwgd2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZSB8fCB3aW5kb3cubmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZSB8fCB3aW5kb3cubmF2aWdhdG9yLnVzZXJMYW5ndWFnZSB8fCB3aW5kb3cubmF2aWdhdG9yLnN5c3RlbUxhbmd1YWdlIHx8IG51bGw7XG4gIHJldHVybiBsYW5nO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVDb2RlKGNvZGUpIHtcbiAgcmV0dXJuIGNvZGUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8tLywgXCJfXCIpO1xufVxuXG5mdW5jdGlvbiBnZXRQcmVmZXJyZWRMYW5ndWFnZShvcHRpb25zKSB7XG4gIGlmICghb3B0aW9ucykge1xuICAgIHJldHVybiBnZXRCcm93c2VyTGFuZygpO1xuICB9XG5cbiAgdmFyIGxhbmd1YWdlcyA9IG9wdGlvbnMubGFuZ3VhZ2VzLFxuICAgICAgZmFsbGJhY2sgPSBvcHRpb25zLmZhbGxiYWNrO1xuXG4gIGlmICghb3B0aW9ucy5sYW5ndWFnZXMpIHtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH0gLy8gc29tZSBicm93c2VycyByZXBvcnQgbGFuZ3VhZ2UgYXMgZW4tVVMgaW5zdGVhZCBvZiBlbl9VU1xuXG5cbiAgdmFyIGJyb3dzZXJMYW5ndWFnZSA9IG5vcm1hbGl6ZUNvZGUoZ2V0QnJvd3NlckxhbmcoKSk7XG5cbiAgaWYgKCFicm93c2VyTGFuZ3VhZ2UpIHtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH1cblxuICB2YXIgbWF0Y2ggPSBsYW5ndWFnZXMuZmlsdGVyKGZ1bmN0aW9uIChsYW5nKSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZUNvZGUobGFuZykgPT09IGJyb3dzZXJMYW5ndWFnZTtcbiAgfSk7XG5cbiAgaWYgKG1hdGNoLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gbWF0Y2hbMF0gfHwgZmFsbGJhY2s7XG4gIH0gLy8gZW4gPT0gZW5fVVNcblxuXG4gIHZhciBtYXRjaENvZGVPbmx5ID0gbGFuZ3VhZ2VzLmZpbHRlcihmdW5jdGlvbiAobGFuZykge1xuICAgIHJldHVybiBzdGFydHNXaXRoKGJyb3dzZXJMYW5ndWFnZSwgbGFuZyk7XG4gIH0pO1xuICByZXR1cm4gbWF0Y2hDb2RlT25seVswXSB8fCBmYWxsYmFjaztcbn1cblxudmFyIF9kZWZhdWx0ID0gZ2V0UHJlZmVycmVkTGFuZ3VhZ2U7XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///9771\n')},6494:function(module){"use strict";eval("\n\nmodule.exports = Object.assign;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9nYXRzYnkvZGlzdC9pbnRlcm5hbC1wbHVnaW5zL2J1bmRsZS1vcHRpbWlzYXRpb25zL3BvbHlmaWxscy9vYmplY3QtYXNzaWduLmpzP2ViZmIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIiLCJmaWxlIjoiNjQ5NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5hc3NpZ247Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///6494\n")},5706:function(module,__unused_webpack_exports,__webpack_require__){"use strict";eval("\n\nvar reactIs = __webpack_require__(8812);\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9ob2lzdC1ub24tcmVhY3Qtc3RhdGljcy9kaXN0L2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzLmNqcy5qcz83MzFjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLGNBQWMsbUJBQU8sQ0FBQyxJQUFVO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsbUJBQW1CLGlCQUFpQjtBQUNwQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiI1NzA2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgcmVhY3RJcyA9IHJlcXVpcmUoJ3JlYWN0LWlzJyk7XG4vKipcbiAqIENvcHlyaWdodCAyMDE1LCBZYWhvbyEgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5cblxudmFyIFJFQUNUX1NUQVRJQ1MgPSB7XG4gIGNoaWxkQ29udGV4dFR5cGVzOiB0cnVlLFxuICBjb250ZXh0VHlwZTogdHJ1ZSxcbiAgY29udGV4dFR5cGVzOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBnZXREZWZhdWx0UHJvcHM6IHRydWUsXG4gIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjogdHJ1ZSxcbiAgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzOiB0cnVlLFxuICBtaXhpbnM6IHRydWUsXG4gIHByb3BUeXBlczogdHJ1ZSxcbiAgdHlwZTogdHJ1ZVxufTtcbnZhciBLTk9XTl9TVEFUSUNTID0ge1xuICBuYW1lOiB0cnVlLFxuICBsZW5ndGg6IHRydWUsXG4gIHByb3RvdHlwZTogdHJ1ZSxcbiAgY2FsbGVyOiB0cnVlLFxuICBjYWxsZWU6IHRydWUsXG4gIGFyZ3VtZW50czogdHJ1ZSxcbiAgYXJpdHk6IHRydWVcbn07XG52YXIgRk9SV0FSRF9SRUZfU1RBVElDUyA9IHtcbiAgJyQkdHlwZW9mJzogdHJ1ZSxcbiAgcmVuZGVyOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBwcm9wVHlwZXM6IHRydWVcbn07XG52YXIgTUVNT19TVEFUSUNTID0ge1xuICAnJCR0eXBlb2YnOiB0cnVlLFxuICBjb21wYXJlOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBwcm9wVHlwZXM6IHRydWUsXG4gIHR5cGU6IHRydWVcbn07XG52YXIgVFlQRV9TVEFUSUNTID0ge307XG5UWVBFX1NUQVRJQ1NbcmVhY3RJcy5Gb3J3YXJkUmVmXSA9IEZPUldBUkRfUkVGX1NUQVRJQ1M7XG5UWVBFX1NUQVRJQ1NbcmVhY3RJcy5NZW1vXSA9IE1FTU9fU1RBVElDUztcblxuZnVuY3Rpb24gZ2V0U3RhdGljcyhjb21wb25lbnQpIHtcbiAgLy8gUmVhY3QgdjE2LjExIGFuZCBiZWxvd1xuICBpZiAocmVhY3RJcy5pc01lbW8oY29tcG9uZW50KSkge1xuICAgIHJldHVybiBNRU1PX1NUQVRJQ1M7XG4gIH0gLy8gUmVhY3QgdjE2LjEyIGFuZCBhYm92ZVxuXG5cbiAgcmV0dXJuIFRZUEVfU1RBVElDU1tjb21wb25lbnRbJyQkdHlwZW9mJ11dIHx8IFJFQUNUX1NUQVRJQ1M7XG59XG5cbnZhciBkZWZpbmVQcm9wZXJ0eSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBnZXRPd25Qcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIGdldFByb3RvdHlwZU9mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xudmFyIG9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG5cbmZ1bmN0aW9uIGhvaXN0Tm9uUmVhY3RTdGF0aWNzKHRhcmdldENvbXBvbmVudCwgc291cmNlQ29tcG9uZW50LCBibGFja2xpc3QpIHtcbiAgaWYgKHR5cGVvZiBzb3VyY2VDb21wb25lbnQgIT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZG9uJ3QgaG9pc3Qgb3ZlciBzdHJpbmcgKGh0bWwpIGNvbXBvbmVudHNcbiAgICBpZiAob2JqZWN0UHJvdG90eXBlKSB7XG4gICAgICB2YXIgaW5oZXJpdGVkQ29tcG9uZW50ID0gZ2V0UHJvdG90eXBlT2Yoc291cmNlQ29tcG9uZW50KTtcblxuICAgICAgaWYgKGluaGVyaXRlZENvbXBvbmVudCAmJiBpbmhlcml0ZWRDb21wb25lbnQgIT09IG9iamVjdFByb3RvdHlwZSkge1xuICAgICAgICBob2lzdE5vblJlYWN0U3RhdGljcyh0YXJnZXRDb21wb25lbnQsIGluaGVyaXRlZENvbXBvbmVudCwgYmxhY2tsaXN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIga2V5cyA9IGdldE93blByb3BlcnR5TmFtZXMoc291cmNlQ29tcG9uZW50KTtcblxuICAgIGlmIChnZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgIGtleXMgPSBrZXlzLmNvbmNhdChnZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlQ29tcG9uZW50KSk7XG4gICAgfVxuXG4gICAgdmFyIHRhcmdldFN0YXRpY3MgPSBnZXRTdGF0aWNzKHRhcmdldENvbXBvbmVudCk7XG4gICAgdmFyIHNvdXJjZVN0YXRpY3MgPSBnZXRTdGF0aWNzKHNvdXJjZUNvbXBvbmVudCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuXG4gICAgICBpZiAoIUtOT1dOX1NUQVRJQ1Nba2V5XSAmJiAhKGJsYWNrbGlzdCAmJiBibGFja2xpc3Rba2V5XSkgJiYgIShzb3VyY2VTdGF0aWNzICYmIHNvdXJjZVN0YXRpY3Nba2V5XSkgJiYgISh0YXJnZXRTdGF0aWNzICYmIHRhcmdldFN0YXRpY3Nba2V5XSkpIHtcbiAgICAgICAgdmFyIGRlc2NyaXB0b3IgPSBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlQ29tcG9uZW50LCBrZXkpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gQXZvaWQgZmFpbHVyZXMgZnJvbSByZWFkLW9ubHkgcHJvcGVydGllc1xuICAgICAgICAgIGRlZmluZVByb3BlcnR5KHRhcmdldENvbXBvbmVudCwga2V5LCBkZXNjcmlwdG9yKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0Q29tcG9uZW50O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGhvaXN0Tm9uUmVhY3RTdGF0aWNzOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///5706\n")},7616:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval("// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"FormattedDate\": function() { return /* binding */ FormattedDate; },\n \"FormattedDateParts\": function() { return /* binding */ FormattedDateParts; },\n \"FormattedDisplayName\": function() { return /* binding */ FormattedDisplayName; },\n \"FormattedHTMLMessage\": function() { return /* reexport */ html_message; },\n \"FormattedList\": function() { return /* binding */ FormattedList; },\n \"FormattedMessage\": function() { return /* reexport */ message; },\n \"FormattedNumber\": function() { return /* binding */ FormattedNumber; },\n \"FormattedNumberParts\": function() { return /* reexport */ FormattedNumberParts; },\n \"FormattedPlural\": function() { return /* reexport */ plural; },\n \"FormattedRelativeTime\": function() { return /* reexport */ relative; },\n \"FormattedTime\": function() { return /* binding */ FormattedTime; },\n \"FormattedTimeParts\": function() { return /* binding */ FormattedTimeParts; },\n \"IntlContext\": function() { return /* reexport */ Context; },\n \"IntlProvider\": function() { return /* reexport */ provider_IntlProvider; },\n \"RawIntlProvider\": function() { return /* reexport */ Provider; },\n \"createIntl\": function() { return /* reexport */ createIntl; },\n \"createIntlCache\": function() { return /* reexport */ createIntlCache; },\n \"defineMessages\": function() { return /* binding */ defineMessages; },\n \"injectIntl\": function() { return /* reexport */ injectIntl; },\n \"useIntl\": function() { return /* reexport */ useIntl; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(7294);\nvar react_namespaceObject = /*#__PURE__*/__webpack_require__.t(react, 2);\n;// CONCATENATED MODULE: ./node_modules/intl-messageformat-parser/lib/types.js\nvar TYPE;\n\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n})(TYPE || (TYPE = {}));\n/**\n * Type Guards\n */\n\n\nfunction isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nfunction isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nfunction isNumberElement(el) {\n return el.type === TYPE.number;\n}\nfunction isDateElement(el) {\n return el.type === TYPE.date;\n}\nfunction isTimeElement(el) {\n return el.type === TYPE.time;\n}\nfunction isSelectElement(el) {\n return el.type === TYPE.select;\n}\nfunction isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nfunction isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nfunction isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 0\n /* number */\n );\n}\nfunction isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 1\n /* dateTime */\n );\n}\nfunction createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value\n };\n}\nfunction createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style\n };\n}\n;// CONCATENATED MODULE: ./node_modules/intl-messageformat-parser/lib/parser.js\n// tslint:disable:only-arrow-functions\n// tslint:disable:object-literal-shorthand\n// tslint:disable:trailing-comma\n// tslint:disable:object-literal-sort-keys\n// tslint:disable:one-variable-per-declaration\n// tslint:disable:max-line-length\n// tslint:disable:no-consecutive-blank-lines\n// tslint:disable:align\nvar __extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = undefined && undefined.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\n\n\n\n\nvar SyntaxError =\n/** @class */\nfunction (_super) {\n __extends(SyntaxError, _super);\n\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = \"SyntaxError\";\n\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n\n return _this;\n }\n\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n function literalEscape(s) {\n return s.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, \"\\\\\\\"\").replace(/\\0/g, \"\\\\0\").replace(/\\t/g, \"\\\\t\").replace(/\\n/g, \"\\\\n\").replace(/\\r/g, \"\\\\r\").replace(/[\\x00-\\x0F]/g, function (ch) {\n return \"\\\\x0\" + hex(ch);\n }).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) {\n return \"\\\\x\" + hex(ch);\n });\n }\n\n function classEscape(s) {\n return s.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\]/g, \"\\\\]\").replace(/\\^/g, \"\\\\^\").replace(/-/g, \"\\\\-\").replace(/\\0/g, \"\\\\0\").replace(/\\t/g, \"\\\\t\").replace(/\\n/g, \"\\\\n\").replace(/\\r/g, \"\\\\r\").replace(/[\\x00-\\x0F]/g, function (ch) {\n return \"\\\\x0\" + hex(ch);\n }).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) {\n return \"\\\\x\" + hex(ch);\n });\n }\n\n function describeExpectation(expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n\n case \"class\":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part) ? classEscape(part[0]) + \"-\" + classEscape(part[1]) : classEscape(part);\n });\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n\n case \"any\":\n return \"any character\";\n\n case \"end\":\n return \"end of input\";\n\n case \"other\":\n return expectation.description;\n }\n }\n\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\n\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n\n descriptions.length = j;\n }\n\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n\n default:\n return descriptions.slice(0, -1).join(\", \") + \", or \" + descriptions[descriptions.length - 1];\n }\n }\n\n function describeFound(found1) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n\n return SyntaxError;\n}(Error);\n\n\n\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = {\n start: peg$parsestart\n };\n var peg$startRuleFunction = peg$parsestart;\n\n var peg$c0 = function peg$c0(parts) {\n return parts.join('');\n };\n\n var peg$c1 = function peg$c1(messageText) {\n return __assign({\n type: TYPE.literal,\n value: messageText\n }, insertLocation());\n };\n\n var peg$c2 = \"#\";\n var peg$c3 = peg$literalExpectation(\"#\", false);\n\n var peg$c4 = function peg$c4() {\n return __assign({\n type: TYPE.pound\n }, insertLocation());\n };\n\n var peg$c5 = peg$otherExpectation(\"argumentElement\");\n var peg$c6 = \"{\";\n var peg$c7 = peg$literalExpectation(\"{\", false);\n var peg$c8 = \"}\";\n var peg$c9 = peg$literalExpectation(\"}\", false);\n\n var peg$c10 = function peg$c10(value) {\n return __assign({\n type: TYPE.argument,\n value: value\n }, insertLocation());\n };\n\n var peg$c11 = peg$otherExpectation(\"numberSkeletonId\");\n var peg$c12 = /^['\\/{}]/;\n var peg$c13 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n var peg$c14 = peg$anyExpectation();\n var peg$c15 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n var peg$c16 = \"/\";\n var peg$c17 = peg$literalExpectation(\"/\", false);\n\n var peg$c18 = function peg$c18(option) {\n return option;\n };\n\n var peg$c19 = peg$otherExpectation(\"numberSkeletonToken\");\n\n var peg$c20 = function peg$c20(stem, options) {\n return {\n stem: stem,\n options: options\n };\n };\n\n var peg$c21 = function peg$c21(tokens) {\n return __assign({\n type: 0\n /* number */\n ,\n tokens: tokens\n }, insertLocation());\n };\n\n var peg$c22 = \"::\";\n var peg$c23 = peg$literalExpectation(\"::\", false);\n\n var peg$c24 = function peg$c24(skeleton) {\n return skeleton;\n };\n\n var peg$c25 = function peg$c25() {\n messageCtx.push('numberArgStyle');\n return true;\n };\n\n var peg$c26 = function peg$c26(style) {\n messageCtx.pop();\n return style.replace(/\\s*$/, '');\n };\n\n var peg$c27 = \",\";\n var peg$c28 = peg$literalExpectation(\",\", false);\n var peg$c29 = \"number\";\n var peg$c30 = peg$literalExpectation(\"number\", false);\n\n var peg$c31 = function peg$c31(value, type, style) {\n return __assign({\n type: type === 'number' ? TYPE.number : type === 'date' ? TYPE.date : TYPE.time,\n style: style && style[2],\n value: value\n }, insertLocation());\n };\n\n var peg$c32 = \"'\";\n var peg$c33 = peg$literalExpectation(\"'\", false);\n var peg$c34 = /^[^']/;\n var peg$c35 = peg$classExpectation([\"'\"], true, false);\n var peg$c36 = /^[^a-zA-Z'{}]/;\n var peg$c37 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n var peg$c38 = /^[a-zA-Z]/;\n var peg$c39 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n\n var peg$c40 = function peg$c40(pattern) {\n return __assign({\n type: 1\n /* dateTime */\n ,\n pattern: pattern\n }, insertLocation());\n };\n\n var peg$c41 = function peg$c41() {\n messageCtx.push('dateOrTimeArgStyle');\n return true;\n };\n\n var peg$c42 = \"date\";\n var peg$c43 = peg$literalExpectation(\"date\", false);\n var peg$c44 = \"time\";\n var peg$c45 = peg$literalExpectation(\"time\", false);\n var peg$c46 = \"plural\";\n var peg$c47 = peg$literalExpectation(\"plural\", false);\n var peg$c48 = \"selectordinal\";\n var peg$c49 = peg$literalExpectation(\"selectordinal\", false);\n var peg$c50 = \"offset:\";\n var peg$c51 = peg$literalExpectation(\"offset:\", false);\n\n var peg$c52 = function peg$c52(value, pluralType, offset, options) {\n return __assign({\n type: TYPE.plural,\n pluralType: pluralType === 'plural' ? 'cardinal' : 'ordinal',\n value: value,\n offset: offset ? offset[2] : 0,\n options: options.reduce(function (all, _a) {\n var id = _a.id,\n value = _a.value,\n optionLocation = _a.location;\n\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in plural element: \\\"\" + text() + \"\\\"\", location());\n }\n\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {})\n }, insertLocation());\n };\n\n var peg$c53 = \"select\";\n var peg$c54 = peg$literalExpectation(\"select\", false);\n\n var peg$c55 = function peg$c55(value, options) {\n return __assign({\n type: TYPE.select,\n value: value,\n options: options.reduce(function (all, _a) {\n var id = _a.id,\n value = _a.value,\n optionLocation = _a.location;\n\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in select element: \\\"\" + text() + \"\\\"\", location());\n }\n\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {})\n }, insertLocation());\n };\n\n var peg$c56 = \"=\";\n var peg$c57 = peg$literalExpectation(\"=\", false);\n\n var peg$c58 = function peg$c58(id) {\n messageCtx.push('select');\n return true;\n };\n\n var peg$c59 = function peg$c59(id, value) {\n messageCtx.pop();\n return __assign({\n id: id,\n value: value\n }, insertLocation());\n };\n\n var peg$c60 = function peg$c60(id) {\n messageCtx.push('plural');\n return true;\n };\n\n var peg$c61 = function peg$c61(id, value) {\n messageCtx.pop();\n return __assign({\n id: id,\n value: value\n }, insertLocation());\n };\n\n var peg$c62 = peg$otherExpectation(\"whitespace\");\n var peg$c63 = /^[\\t-\\r \\x85\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n var peg$c64 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\xA0\", \"\\u1680\", [\"\\u2000\", \"\\u200A\"], \"\\u2028\", \"\\u2029\", \"\\u202F\", \"\\u205F\", \"\\u3000\"], false, false);\n var peg$c65 = peg$otherExpectation(\"syntax pattern\");\n var peg$c66 = /^[!-\\/:-@[-\\^`{-~\\xA1-\\xA7\\xA9\\xAB\\xAC\\xAE\\xB0\\xB1\\xB6\\xBB\\xBF\\xD7\\xF7\\u2010-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u245F\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3020\\u3030\\uFD3E\\uFD3F\\uFE45\\uFE46]/;\n var peg$c67 = peg$classExpectation([[\"!\", \"/\"], [\":\", \"@\"], [\"[\", \"^\"], \"`\", [\"{\", \"~\"], [\"\\xA1\", \"\\xA7\"], \"\\xA9\", \"\\xAB\", \"\\xAC\", \"\\xAE\", \"\\xB0\", \"\\xB1\", \"\\xB6\", \"\\xBB\", \"\\xBF\", \"\\xD7\", \"\\xF7\", [\"\\u2010\", \"\\u2027\"], [\"\\u2030\", \"\\u203E\"], [\"\\u2041\", \"\\u2053\"], [\"\\u2055\", \"\\u205E\"], [\"\\u2190\", \"\\u245F\"], [\"\\u2500\", \"\\u2775\"], [\"\\u2794\", \"\\u2BFF\"], [\"\\u2E00\", \"\\u2E7F\"], [\"\\u3001\", \"\\u3003\"], [\"\\u3008\", \"\\u3020\"], \"\\u3030\", \"\\uFD3E\", \"\\uFD3F\", \"\\uFE45\", \"\\uFE46\"], false, false);\n var peg$c68 = peg$otherExpectation(\"optional whitespace\");\n var peg$c69 = peg$otherExpectation(\"number\");\n var peg$c70 = \"-\";\n var peg$c71 = peg$literalExpectation(\"-\", false);\n\n var peg$c72 = function peg$c72(negative, num) {\n return num ? negative ? -num : num : 0;\n };\n\n var peg$c73 = peg$otherExpectation(\"apostrophe\");\n var peg$c74 = peg$otherExpectation(\"double apostrophes\");\n var peg$c75 = \"''\";\n var peg$c76 = peg$literalExpectation(\"''\", false);\n\n var peg$c77 = function peg$c77() {\n return \"'\";\n };\n\n var peg$c78 = function peg$c78(escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace(\"''\", \"'\");\n };\n\n var peg$c79 = function peg$c79(x) {\n return x !== '{' && !(isInPluralOption() && x === '#') && !(isNestedMessageText() && x === '}');\n };\n\n var peg$c80 = \"\\n\";\n var peg$c81 = peg$literalExpectation(\"\\n\", false);\n\n var peg$c82 = function peg$c82(x) {\n return x === '{' || x === '}' || isInPluralOption() && x === '#';\n };\n\n var peg$c83 = peg$otherExpectation(\"argNameOrNumber\");\n var peg$c84 = peg$otherExpectation(\"argNumber\");\n var peg$c85 = \"0\";\n var peg$c86 = peg$literalExpectation(\"0\", false);\n\n var peg$c87 = function peg$c87() {\n return 0;\n };\n\n var peg$c88 = /^[1-9]/;\n var peg$c89 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c90 = /^[0-9]/;\n var peg$c91 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n\n var peg$c92 = function peg$c92(digits) {\n return parseInt(digits.join(''), 10);\n };\n\n var peg$c93 = peg$otherExpectation(\"argName\");\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{\n line: 1,\n column: 1\n }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$result;\n\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description, location1) {\n location1 = location1 !== undefined ? location1 : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n\n function error(message, location1) {\n location1 = location1 !== undefined ? location1 : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n\n function peg$literalExpectation(text1, ignoreCase) {\n return {\n type: \"literal\",\n text: text1,\n ignoreCase: ignoreCase\n };\n }\n\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return {\n type: \"class\",\n parts: parts,\n inverted: inverted,\n ignoreCase: ignoreCase\n };\n }\n\n function peg$anyExpectation() {\n return {\n type: \"any\"\n };\n }\n\n function peg$endExpectation() {\n return {\n type: \"end\"\n };\n }\n\n function peg$otherExpectation(description) {\n return {\n type: \"other\",\n description: description\n };\n }\n\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n } else {\n details.column++;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected1);\n }\n\n function peg$buildSimpleError(message, location1) {\n return new SyntaxError(message, [], \"\", location1);\n }\n\n function peg$buildStructuredError(expected1, found, location1) {\n return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n\n function peg$parsestart() {\n var s0;\n s0 = peg$parsemessage();\n return s0;\n }\n\n function peg$parsemessage() {\n var s0, s1;\n s0 = [];\n s1 = peg$parsemessageElement();\n\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsemessageElement();\n }\n\n return s0;\n }\n\n function peg$parsemessageElement() {\n var s0;\n s0 = peg$parseliteralElement();\n\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n\n if (s0 === peg$FAILED) {\n s0 = peg$parsesimpleFormatElement();\n\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralElement();\n\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectElement();\n\n if (s0 === peg$FAILED) {\n s0 = peg$parsepoundElement();\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsemessageText() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsedoubleApostrophes();\n\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsedoubleApostrophes();\n\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n\n s0 = s1;\n return s0;\n }\n\n function peg$parseliteralElement() {\n var s0, s1;\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n\n s0 = s1;\n return s0;\n }\n\n function peg$parsepoundElement() {\n var s0, s1;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 35) {\n s1 = peg$c2;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c3);\n }\n }\n\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c4();\n }\n\n s0 = s1;\n return s0;\n }\n\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s5 = peg$c8;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c5);\n }\n }\n\n return s0;\n }\n\n function peg$parsenumberSkeletonId() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n\n if (s4 === peg$FAILED) {\n if (peg$c12.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c13);\n }\n }\n }\n\n peg$silentFails--;\n\n if (s4 === peg$FAILED) {\n s3 = undefined;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n\n if (s4 === peg$FAILED) {\n if (peg$c12.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c13);\n }\n }\n }\n\n peg$silentFails--;\n\n if (s4 === peg$FAILED) {\n s3 = undefined;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n\n return s0;\n }\n\n function peg$parsenumberSkeletonTokenOption() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c16;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c17);\n }\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c18(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c15);\n }\n }\n\n return s0;\n }\n\n function peg$parsenumberSkeletonToken() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsenumberSkeletonTokenOption();\n\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsenumberSkeletonTokenOption();\n }\n\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c20(s2, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c19);\n }\n }\n\n return s0;\n }\n\n function peg$parsenumberSkeleton() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsenumberSkeletonToken();\n\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsenumberSkeletonToken();\n }\n } else {\n s1 = peg$FAILED;\n }\n\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(s1);\n }\n\n s0 = s1;\n return s0;\n }\n\n function peg$parsenumberArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n\n if (input.substr(peg$currPos, 2) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c23);\n }\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeleton();\n\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c25();\n\n if (s1) {\n s1 = undefined;\n } else {\n s1 = peg$FAILED;\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n return s0;\n }\n\n function peg$parsenumberFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c29) {\n s7 = peg$c29;\n peg$currPos += 6;\n } else {\n s7 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c30);\n }\n }\n\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c27;\n peg$currPos++;\n } else {\n s10 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n\n if (s11 !== peg$FAILED) {\n s12 = peg$parsenumberArgStyle();\n\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n } else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n } else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n } else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c8;\n peg$currPos++;\n } else {\n s11 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c31(s3, s7, s9);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsedateTimeSkeletonLiteral() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c32;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n\n if (s3 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedoubleApostrophes();\n\n if (s3 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n }\n } else {\n s2 = peg$FAILED;\n }\n\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c32;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n if (s0 === peg$FAILED) {\n s0 = [];\n s1 = peg$parsedoubleApostrophes();\n\n if (s1 === peg$FAILED) {\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c37);\n }\n }\n }\n\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsedoubleApostrophes();\n\n if (s1 === peg$FAILED) {\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c37);\n }\n }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n }\n\n return s0;\n }\n\n function peg$parsedateTimeSkeletonPattern() {\n var s0, s1;\n s0 = [];\n\n if (peg$c38.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c39);\n }\n }\n\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n\n if (peg$c38.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c39);\n }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsedateTimeSkeleton() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = [];\n s3 = peg$parsedateTimeSkeletonLiteral();\n\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedateTimeSkeletonLiteral();\n\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n }\n } else {\n s2 = peg$FAILED;\n }\n\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n } else {\n s1 = s2;\n }\n\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c40(s1);\n }\n\n s0 = s1;\n return s0;\n }\n\n function peg$parsedateOrTimeArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n\n if (input.substr(peg$currPos, 2) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c23);\n }\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedateTimeSkeleton();\n\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c41();\n\n if (s1) {\n s1 = undefined;\n } else {\n s1 = peg$FAILED;\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n return s0;\n }\n\n function peg$parsedateOrTimeFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c42) {\n s7 = peg$c42;\n peg$currPos += 4;\n } else {\n s7 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c44) {\n s7 = peg$c44;\n peg$currPos += 4;\n } else {\n s7 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c45);\n }\n }\n }\n\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c27;\n peg$currPos++;\n } else {\n s10 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n\n if (s11 !== peg$FAILED) {\n s12 = peg$parsedateOrTimeArgStyle();\n\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n } else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n } else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n } else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c8;\n peg$currPos++;\n } else {\n s11 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c31(s3, s7, s9);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsesimpleFormatElement() {\n var s0;\n s0 = peg$parsenumberFormatElement();\n\n if (s0 === peg$FAILED) {\n s0 = peg$parsedateOrTimeFormatElement();\n }\n\n return s0;\n }\n\n function peg$parsepluralElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c46) {\n s7 = peg$c46;\n peg$currPos += 6;\n } else {\n s7 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c47);\n }\n }\n\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c48) {\n s7 = peg$c48;\n peg$currPos += 13;\n } else {\n s7 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c49);\n }\n }\n }\n\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c27;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n\n if (s10 !== peg$FAILED) {\n s11 = peg$currPos;\n\n if (input.substr(peg$currPos, 7) === peg$c50) {\n s12 = peg$c50;\n peg$currPos += 7;\n } else {\n s12 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c51);\n }\n }\n\n if (s12 !== peg$FAILED) {\n s13 = peg$parse_();\n\n if (s13 !== peg$FAILED) {\n s14 = peg$parsenumber();\n\n if (s14 !== peg$FAILED) {\n s12 = [s12, s13, s14];\n s11 = s12;\n } else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n } else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n } else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n\n if (s11 === peg$FAILED) {\n s11 = null;\n }\n\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n\n if (s12 !== peg$FAILED) {\n s13 = [];\n s14 = peg$parsepluralOption();\n\n if (s14 !== peg$FAILED) {\n while (s14 !== peg$FAILED) {\n s13.push(s14);\n s14 = peg$parsepluralOption();\n }\n } else {\n s13 = peg$FAILED;\n }\n\n if (s13 !== peg$FAILED) {\n s14 = peg$parse_();\n\n if (s14 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s15 = peg$c8;\n peg$currPos++;\n } else {\n s15 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n\n if (s15 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52(s3, s7, s11, s13);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c53) {\n s7 = peg$c53;\n peg$currPos += 6;\n } else {\n s7 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c27;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseselectOption();\n\n if (s12 !== peg$FAILED) {\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseselectOption();\n }\n } else {\n s11 = peg$FAILED;\n }\n\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n\n if (s12 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s13 = peg$c8;\n peg$currPos++;\n } else {\n s13 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55(s3, s11);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralRuleSelectValue() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c56;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c57);\n }\n }\n\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n\n if (s0 === peg$FAILED) {\n s0 = peg$parseargName();\n }\n\n return s0;\n }\n\n function peg$parseselectOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargName();\n\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c6;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c58(s2);\n\n if (s5) {\n s5 = undefined;\n } else {\n s5 = peg$FAILED;\n }\n\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c8;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c59(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parsepluralRuleSelectValue();\n\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c6;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c60(s2);\n\n if (s5) {\n s5 = undefined;\n } else {\n s5 = peg$FAILED;\n }\n\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c8;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhiteSpace() {\n var s0, s1;\n peg$silentFails++;\n\n if (peg$c63.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c64);\n }\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c62);\n }\n }\n\n return s0;\n }\n\n function peg$parsepatternSyntax() {\n var s0, s1;\n peg$silentFails++;\n\n if (peg$c66.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c67);\n }\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c65);\n }\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsewhiteSpace();\n\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsewhiteSpace();\n }\n\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c68);\n }\n }\n\n return s0;\n }\n\n function peg$parsenumber() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c70;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c71);\n }\n }\n\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargNumber();\n\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c72(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n\n return s0;\n }\n\n function peg$parseapostrophe() {\n var s0, s1;\n peg$silentFails++;\n\n if (input.charCodeAt(peg$currPos) === 39) {\n s0 = peg$c32;\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c73);\n }\n }\n\n return s0;\n }\n\n function peg$parsedoubleApostrophes() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n\n if (input.substr(peg$currPos, 2) === peg$c75) {\n s1 = peg$c75;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c76);\n }\n }\n\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c77();\n }\n\n s0 = s1;\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c74);\n }\n }\n\n return s0;\n }\n\n function peg$parsequotedString() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c32;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n\n if (s1 !== peg$FAILED) {\n s2 = peg$parseescapedChar();\n\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n s4 = [];\n\n if (input.substr(peg$currPos, 2) === peg$c75) {\n s5 = peg$c75;\n peg$currPos += 2;\n } else {\n s5 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c76);\n }\n }\n\n if (s5 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n\n if (input.substr(peg$currPos, 2) === peg$c75) {\n s5 = peg$c75;\n peg$currPos += 2;\n } else {\n s5 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c76);\n }\n }\n\n if (s5 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n }\n\n if (s4 !== peg$FAILED) {\n s3 = input.substring(s3, peg$currPos);\n } else {\n s3 = s4;\n }\n\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s4 = peg$c32;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c78(s2, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseunquotedString() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c79(s2);\n\n if (s3) {\n s3 = undefined;\n } else {\n s3 = peg$FAILED;\n }\n\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n\n if (s1 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 10) {\n s1 = peg$c80;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c81);\n }\n }\n }\n\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n\n return s0;\n }\n\n function peg$parseescapedChar() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c82(s2);\n\n if (s3) {\n s3 = undefined;\n } else {\n s3 = peg$FAILED;\n }\n\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n\n return s0;\n }\n\n function peg$parseargNameOrNumber() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n\n if (s1 === peg$FAILED) {\n s1 = peg$parseargName();\n }\n\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n\n return s0;\n }\n\n function peg$parseargNumber() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c85;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87();\n }\n\n s0 = s1;\n\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n\n if (peg$c88.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c89);\n }\n }\n\n if (s2 !== peg$FAILED) {\n s3 = [];\n\n if (peg$c90.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n\n if (peg$c90.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n }\n\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92(s1);\n }\n\n s0 = s1;\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c84);\n }\n }\n\n return s0;\n }\n\n function peg$parseargName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n\n peg$silentFails--;\n\n if (s4 === peg$FAILED) {\n s3 = undefined;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n\n peg$silentFails--;\n\n if (s4 === peg$FAILED) {\n s3 = undefined;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n\n peg$silentFails--;\n\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n\n if (peg$silentFails === 0) {\n peg$fail(peg$c93);\n }\n }\n\n return s0;\n }\n\n var messageCtx = ['root'];\n\n function isNestedMessageText() {\n return messageCtx.length > 1;\n }\n\n function isInPluralOption() {\n return messageCtx[messageCtx.length - 1] === 'plural';\n }\n\n function insertLocation() {\n return options && options.captureLocation ? {\n location: location()\n } : {};\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n\n throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n }\n}\n\nvar pegParse = peg$parse;\n;// CONCATENATED MODULE: ./node_modules/intl-messageformat-parser/lib/normalize.js\nvar __spreadArrays = undefined && undefined.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n\n\n\nvar PLURAL_HASHTAG_REGEX = /(^|[^\\\\])#/g;\n/**\n * Whether to convert `#` in plural rule options\n * to `{var, number}`\n * @param el AST Element\n * @param pluralStack current plural stack\n */\n\nfunction normalizeHashtagInPlural(els) {\n els.forEach(function (el) {\n // If we're encountering a plural el\n if (!isPluralElement(el) && !isSelectElement(el)) {\n return;\n } // Go down the options and search for # in any literal element\n\n\n Object.keys(el.options).forEach(function (id) {\n var _a;\n\n var opt = el.options[id]; // If we got a match, we have to split this\n // and inject a NumberElement in the middle\n\n var matchingLiteralElIndex = -1;\n var literalEl = undefined;\n\n for (var i = 0; i < opt.value.length; i++) {\n var el_1 = opt.value[i];\n\n if (isLiteralElement(el_1) && PLURAL_HASHTAG_REGEX.test(el_1.value)) {\n matchingLiteralElIndex = i;\n literalEl = el_1;\n break;\n }\n }\n\n if (literalEl) {\n var newValue = literalEl.value.replace(PLURAL_HASHTAG_REGEX, \"$1{\" + el.value + \", number}\");\n var newEls = pegParse(newValue);\n\n (_a = opt.value).splice.apply(_a, __spreadArrays([matchingLiteralElIndex, 1], newEls));\n }\n\n normalizeHashtagInPlural(opt.value);\n });\n });\n}\n;// CONCATENATED MODULE: ./node_modules/intl-messageformat-parser/lib/index.js\n\n\n\n\n\nfunction parse(input, opts) {\n var els = pegParse(input, opts);\n\n if (!opts || opts.normalizeHashtagInPlural !== false) {\n normalizeHashtagInPlural(els);\n }\n\n return els;\n}\n;// CONCATENATED MODULE: ./node_modules/intl-format-cache/lib/index.js\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar lib_spreadArrays = undefined && undefined.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}; // -- Utilities ----------------------------------------------------------------\n\n\nfunction getCacheId(inputs) {\n return JSON.stringify(inputs.map(function (input) {\n return input && typeof input === 'object' ? orderedProps(input) : input;\n }));\n}\n\nfunction orderedProps(obj) {\n return Object.keys(obj).sort().map(function (k) {\n var _a;\n\n return _a = {}, _a[k] = obj[k], _a;\n });\n}\n\nvar memoizeFormatConstructor = function memoizeFormatConstructor(FormatConstructor, cache) {\n if (cache === void 0) {\n cache = {};\n }\n\n return function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n\n if (!format) {\n format = new ((_a = FormatConstructor).bind.apply(_a, lib_spreadArrays([void 0], args)))();\n\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n\n return format;\n };\n};\n\n/* harmony default export */ var lib = (memoizeFormatConstructor);\n;// CONCATENATED MODULE: ./node_modules/intl-messageformat-parser/lib/skeleton.js\nvar skeleton_assign = undefined && undefined.__assign || function () {\n skeleton_assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return skeleton_assign.apply(this, arguments);\n};\n/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\n\n\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\n\nfunction parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n\n case 'a':\n // AM, PM\n result.hour12 = true;\n break;\n\n case 'b': // am, pm, noon, midnight\n\n case 'B':\n // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) pattenrs are not supported, use `s` instead');\n // Zone\n\n case 'z':\n // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n\n case 'O': // 1, 4: miliseconds in day short, long\n\n case 'v': // 1, 4: generic non-location format\n\n case 'V': // 1, 2, 3, 4: time zone ID or city\n\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n\n case 'x':\n // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) pattenrs are not supported, use `z` instead');\n }\n\n return '';\n });\n return result;\n}\n\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\n\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\+|#+)?)?$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\n\nfunction parseSignificantPrecision(str) {\n var result = {};\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n } // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n } // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n } // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n\n return '';\n });\n return result;\n}\n\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto'\n };\n\n case 'sign-accounting':\n return {\n currencySign: 'accounting'\n };\n\n case 'sign-always':\n return {\n signDisplay: 'always'\n };\n\n case 'sign-accounting-always':\n return {\n signDisplay: 'always',\n currencySign: 'accounting'\n };\n\n case 'sign-except-zero':\n return {\n signDisplay: 'exceptZero'\n };\n\n case 'sign-accounting-except-zero':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting'\n };\n\n case 'sign-never':\n return {\n signDisplay: 'never'\n };\n }\n}\n\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n\n if (signOpts) {\n return signOpts;\n }\n\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\n\n\nfunction convertNumberSkeletonToNumberFormatOptions(tokens) {\n var result = {};\n\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n\n switch (token.stem) {\n case 'percent':\n result.style = 'percent';\n continue;\n\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n\n case 'group-off':\n result.useGrouping = false;\n continue;\n\n case 'precision-integer':\n result.maximumFractionDigits = 0;\n continue;\n\n case 'measure-unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n\n case 'compact-short':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n\n case 'compact-long':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n\n case 'scientific':\n result = skeleton_assign(skeleton_assign(skeleton_assign({}, result), {\n notation: 'scientific'\n }), token.options.reduce(function (all, opt) {\n return skeleton_assign(skeleton_assign({}, all), parseNotationOptions(opt));\n }, {}));\n continue;\n\n case 'engineering':\n result = skeleton_assign(skeleton_assign(skeleton_assign({}, result), {\n notation: 'engineering'\n }), token.options.reduce(function (all, opt) {\n return skeleton_assign(skeleton_assign({}, all), parseNotationOptions(opt));\n }, {}));\n continue;\n\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n } // Precision\n // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision\n\n\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n\n token.stem.replace(FRACTION_PRECISION_REGEX, function (match, g1, g2) {\n // precision-integer case\n if (match === '.') {\n result.maximumFractionDigits = 0;\n } // .000+ case\n else if (g2 === '+') {\n result.minimumFractionDigits = g2.length;\n } // .### case\n else if (g1[0] === '#') {\n result.maximumFractionDigits = g1.length;\n } // .00## or .000 case\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n\n return '';\n });\n\n if (token.options.length) {\n result = skeleton_assign(skeleton_assign({}, result), parseSignificantPrecision(token.options[0]));\n }\n\n continue;\n }\n\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = skeleton_assign(skeleton_assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n\n var signOpts = parseSign(token.stem);\n\n if (signOpts) {\n result = skeleton_assign(skeleton_assign({}, result), signOpts);\n }\n }\n\n return result;\n}\n;// CONCATENATED MODULE: ./node_modules/intl-messageformat/lib/formatters.js\nvar formatters_extends = undefined && undefined.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar formatters_spreadArrays = undefined && undefined.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n\n\n\nvar FormatError =\n/** @class */\nfunction (_super) {\n formatters_extends(FormatError, _super);\n\n function FormatError(msg, variableId) {\n var _this = _super.call(this, msg) || this;\n\n _this.variableId = variableId;\n return _this;\n }\n\n return FormatError;\n}(Error);\n\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n\n if (!lastPart || lastPart.type !== 0\n /* literal */\n || part.type !== 0\n /* literal */\n ) {\n all.push(part);\n } else {\n lastPart.value += part.value;\n }\n\n return all;\n }, []);\n} // TODO(skeleton): add skeleton support\n\n\nfunction formatToParts(els, locales, formatters, formats, values, currentPluralValue, // For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [{\n type: 0\n /* literal */\n ,\n value: els[0].value\n }];\n }\n\n var result = [];\n\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i]; // Exit early for string parts.\n\n if (isLiteralElement(el)) {\n result.push({\n type: 0\n /* literal */\n ,\n value: el.value\n });\n continue;\n } // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n\n\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: 0\n /* literal */\n ,\n value: formatters.getNumberFormat(locales).format(currentPluralValue)\n });\n }\n\n continue;\n }\n\n var varName = el.value; // Enforce that all required values are provided by the caller.\n\n if (!(values && varName in values)) {\n throw new FormatError(\"The intl string context variable \\\"\" + varName + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\");\n }\n\n var value = values[varName];\n\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value = typeof value === 'string' || typeof value === 'number' ? String(value) : '';\n }\n\n result.push({\n type: 1\n /* argument */\n ,\n value: value\n });\n continue;\n } // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n\n\n if (isDateElement(el)) {\n var style = typeof el.style === 'string' ? formats.date[el.style] : undefined;\n result.push({\n type: 0\n /* literal */\n ,\n value: formatters.getDateTimeFormat(locales, style).format(value)\n });\n continue;\n }\n\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string' ? formats.time[el.style] : isDateTimeSkeleton(el.style) ? parseDateTimeSkeleton(el.style.pattern) : undefined;\n result.push({\n type: 0\n /* literal */\n ,\n value: formatters.getDateTimeFormat(locales, style).format(value)\n });\n continue;\n }\n\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string' ? formats.number[el.style] : isNumberSkeleton(el.style) ? convertNumberSkeletonToNumberFormatOptions(el.style.tokens) : undefined;\n result.push({\n type: 0\n /* literal */\n ,\n value: formatters.getNumberFormat(locales, style).format(value)\n });\n continue;\n }\n\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n\n if (!opt) {\n throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\n }\n\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n\n if (isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\");\n }\n\n var rule = formatters.getPluralRules(locales, {\n type: el.pluralType\n }).select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n\n if (!opt) {\n throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\n }\n\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n\n return mergeLiteral(result);\n}\nfunction formatToString(els, locales, formatters, formats, values, // For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage); // Hot path for straight simple msg translations\n\n if (parts.length === 1) {\n return parts[0].value;\n }\n\n return parts.reduce(function (all, part) {\n return all += part.value;\n }, '');\n} // Singleton\n\nvar domParser;\nvar TOKEN_DELIMITER = '@@';\nvar TOKEN_REGEX = /@@(\\d+_\\d+)@@/g;\nvar counter = 0;\n\nfunction generateId() {\n return Date.now() + \"_\" + ++counter;\n}\n\nfunction restoreRichPlaceholderMessage(text, objectParts) {\n return text.split(TOKEN_REGEX).filter(Boolean).map(function (c) {\n return objectParts[c] != null ? objectParts[c] : c;\n }).reduce(function (all, c) {\n if (!all.length) {\n all.push(c);\n } else if (typeof c === 'string' && typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += c;\n } else {\n all.push(c);\n }\n\n return all;\n }, []);\n}\n/**\n * Not exhaustive, just for sanity check\n */\n\n\nvar SIMPLE_XML_REGEX = /(<([0-9a-zA-Z-_]*?)>(.*?)<\\/([0-9a-zA-Z-_]*?)>)|(<[0-9a-zA-Z-_]*?\\/>)/;\nvar TEMPLATE_ID = Date.now() + '@@';\nvar VOID_ELEMENTS = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr'];\n\nfunction formatHTMLElement(el, objectParts, values) {\n var tagName = el.tagName;\n var outerHTML = el.outerHTML,\n textContent = el.textContent,\n childNodes = el.childNodes; // Regular text\n\n if (!tagName) {\n return restoreRichPlaceholderMessage(textContent || '', objectParts);\n }\n\n tagName = tagName.toLowerCase();\n var isVoidElement = ~VOID_ELEMENTS.indexOf(tagName);\n var formatFnOrValue = values[tagName];\n\n if (formatFnOrValue && isVoidElement) {\n throw new FormatError(tagName + \" is a self-closing tag and can not be used, please use another tag name.\");\n }\n\n if (!childNodes.length) {\n return [outerHTML];\n }\n\n var chunks = Array.prototype.slice.call(childNodes).reduce(function (all, child) {\n return all.concat(formatHTMLElement(child, objectParts, values));\n }, []); // Legacy HTML\n\n if (!formatFnOrValue) {\n return formatters_spreadArrays([\"<\" + tagName + \">\"], chunks, [\"\"]);\n } // HTML Tag replacement\n\n\n if (typeof formatFnOrValue === 'function') {\n return [formatFnOrValue.apply(void 0, chunks)];\n }\n\n return [formatFnOrValue];\n}\n\nfunction formatHTMLMessage(els, locales, formatters, formats, values, // For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n var objectParts = {};\n var formattedMessage = parts.reduce(function (all, part) {\n if (part.type === 0\n /* literal */\n ) {\n return all += part.value;\n }\n\n var id = generateId();\n objectParts[id] = part.value;\n return all += \"\" + TOKEN_DELIMITER + id + TOKEN_DELIMITER;\n }, ''); // Not designed to filter out aggressively\n\n if (!SIMPLE_XML_REGEX.test(formattedMessage)) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n\n if (!values) {\n throw new FormatError('Message has placeholders but no values was given');\n }\n\n if (typeof DOMParser === 'undefined') {\n throw new FormatError('Cannot format XML message without DOMParser');\n }\n\n if (!domParser) {\n domParser = new DOMParser();\n }\n\n var content = domParser.parseFromString(\"\" + formattedMessage + \"\", 'text/html').getElementById(TEMPLATE_ID);\n\n if (!content) {\n throw new FormatError(\"Malformed HTML message \" + formattedMessage);\n }\n\n var tagsToFormat = Object.keys(values).filter(function (varName) {\n return !!content.getElementsByTagName(varName).length;\n }); // No tags to format\n\n if (!tagsToFormat.length) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n\n var caseSensitiveTags = tagsToFormat.filter(function (tagName) {\n return tagName !== tagName.toLowerCase();\n });\n\n if (caseSensitiveTags.length) {\n throw new FormatError(\"HTML tag must be lowercased but the following tags are not: \" + caseSensitiveTags.join(', '));\n } // We're doing this since top node is `` which does not have a formatter\n\n\n return Array.prototype.slice.call(content.childNodes).reduce(function (all, child) {\n return all.concat(formatHTMLElement(child, objectParts, values));\n }, []);\n}\n;// CONCATENATED MODULE: ./node_modules/intl-messageformat/lib/core.js\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar core_assign = undefined && undefined.__assign || function () {\n core_assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return core_assign.apply(this, arguments);\n};\n\n\n\n // -- MessageFormat --------------------------------------------------------\n\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n\n return core_assign(core_assign(core_assign({}, c1 || {}), c2 || {}), Object.keys(c1).reduce(function (all, k) {\n all[k] = core_assign(core_assign({}, c1[k]), c2[k] || {});\n return all;\n }, {}));\n}\n\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, core_assign({}, defaultConfig));\n}\n\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) {\n cache = {\n number: {},\n dateTime: {},\n pluralRules: {}\n };\n }\n\n return {\n getNumberFormat: lib(Intl.NumberFormat, cache.number),\n getDateTimeFormat: lib(Intl.DateTimeFormat, cache.dateTime),\n getPluralRules: lib(Intl.PluralRules, cache.pluralRules)\n };\n}\n\nvar IntlMessageFormat =\n/** @class */\nfunction () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n\n if (locales === void 0) {\n locales = IntlMessageFormat.defaultLocale;\n }\n\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {}\n };\n\n this.format = function (values) {\n return formatToString(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n };\n\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n\n this.formatHTMLMessage = function (values) {\n return formatHTMLMessage(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n };\n\n this.resolvedOptions = function () {\n return {\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0]\n };\n };\n\n this.getAst = function () {\n return _this.ast;\n };\n\n if (typeof message === 'string') {\n this.message = message;\n\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n } // Parse string messages into an AST.\n\n\n this.ast = IntlMessageFormat.__parse(message, {\n normalizeHashtagInPlural: false\n });\n } else {\n this.ast = message;\n }\n\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n } // Creates a new object with the specified `formats` merged with the default\n // formats.\n\n\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats); // Defined first because it's used to build the format pattern.\n\n this.locales = locales;\n this.formatters = opts && opts.formatters || createDefaultFormatters(this.formatterCache);\n }\n\n IntlMessageFormat.defaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n IntlMessageFormat.__parse = parse; // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n\n IntlMessageFormat.formats = {\n number: {\n currency: {\n style: 'currency'\n },\n percent: {\n style: 'percent'\n }\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit'\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric'\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n }\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric'\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric'\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n }\n }\n };\n return IntlMessageFormat;\n}();\n\n\n/* harmony default export */ var core = (IntlMessageFormat);\n;// CONCATENATED MODULE: ./node_modules/intl-messageformat/lib/index.js\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n\n\n/* harmony default export */ var intl_messageformat_lib = (core);\n// EXTERNAL MODULE: ./node_modules/@formatjs/intl-utils/lib/invariant.js\nvar invariant = __webpack_require__(5981);\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/utils.js\n/*\nHTML escaping is the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\n\n\n\n\nvar ESCAPED_CHARS = {\n 38: '&',\n 62: '>',\n 60: '<',\n 34: '"',\n 39: '''\n};\nvar UNSAFE_CHARS_REGEX = /[&><\"']/g;\nfunction utils_escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) {\n return ESCAPED_CHARS[match.charCodeAt(0)];\n });\n}\nfunction filterProps(props, whitelist) {\n var defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return whitelist.reduce(function (filtered, name) {\n if (name in props) {\n filtered[name] = props[name];\n } else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n\n return filtered;\n }, {});\n}\nfunction invariantIntlContext(intl) {\n (0,invariant/* invariant */.k)(intl, '[React Intl] Could not find required `intl` object. ' + ' needs to exist in the component ancestry.');\n}\nfunction createError(message, exception) {\n var eMsg = exception ? \"\\n\".concat(exception.stack) : '';\n return \"[React Intl] \".concat(message).concat(eMsg);\n}\nfunction defaultErrorHandler(error) {\n if (false) {}\n}\nvar DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n textComponent: react.Fragment,\n defaultLocale: 'en',\n defaultFormats: {},\n onError: defaultErrorHandler\n};\nfunction createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {}\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\n\nfunction createFormatters() {\n var cache = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : createIntlCache();\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n var ListFormat = Intl.ListFormat;\n var DisplayNames = Intl.DisplayNames;\n return {\n getDateTimeFormat: lib(Intl.DateTimeFormat, cache.dateTime),\n getNumberFormat: lib(Intl.NumberFormat, cache.number),\n getMessageFormat: lib(intl_messageformat_lib, cache.message),\n getRelativeTimeFormat: lib(RelativeTimeFormat, cache.relativeTime),\n getPluralRules: lib(Intl.PluralRules, cache.pluralRules),\n getListFormat: lib(ListFormat, cache.list),\n getDisplayNames: lib(DisplayNames, cache.displayNames)\n };\n}\nfunction getNamedFormat(formats, type, name, onError) {\n var formatType = formats && formats[type];\n var format;\n\n if (formatType) {\n format = formatType[name];\n }\n\n if (format) {\n return format;\n }\n\n onError(createError(\"No \".concat(type, \" format named: \").concat(name)));\n}\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n// EXTERNAL MODULE: ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\nvar hoist_non_react_statics_cjs = __webpack_require__(5706);\nvar hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs);\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/components/injectIntl.js\n\n\n // Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\n\nvar hoistNonReactStatics = (hoist_non_react_statics_cjs_default()) || hoist_non_react_statics_cjs;\n\n\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n} // TODO: We should provide initial value here\n\n\nvar IntlContext = react.createContext(null);\nvar IntlConsumer = IntlContext.Consumer,\n IntlProvider = IntlContext.Provider;\nvar Provider = IntlProvider;\nvar Context = IntlContext;\nfunction injectIntl(WrappedComponent, options) {\n var _ref = options || {},\n _ref$intlPropName = _ref.intlPropName,\n intlPropName = _ref$intlPropName === void 0 ? 'intl' : _ref$intlPropName,\n _ref$forwardRef = _ref.forwardRef,\n forwardRef = _ref$forwardRef === void 0 ? false : _ref$forwardRef,\n _ref$enforceContext = _ref.enforceContext,\n enforceContext = _ref$enforceContext === void 0 ? true : _ref$enforceContext;\n\n var WithIntl = function WithIntl(props) {\n return react.createElement(IntlConsumer, null, function (intl) {\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n\n return react.createElement(WrappedComponent, Object.assign({}, props, _defineProperty({}, intlPropName, intl), {\n ref: forwardRef ? props.forwardedRef : null\n }));\n });\n };\n\n WithIntl.displayName = \"injectIntl(\".concat(getDisplayName(WrappedComponent), \")\");\n WithIntl.WrappedComponent = WrappedComponent;\n\n if (forwardRef) {\n return hoistNonReactStatics(react.forwardRef(function (props, ref) {\n return react.createElement(WithIntl, Object.assign({}, props, {\n forwardedRef: ref\n }));\n }), WrappedComponent);\n }\n\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/components/createFormattedComponent.js\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\nvar DisplayName;\n\n(function (DisplayName) {\n DisplayName[\"formatDate\"] = \"FormattedDate\";\n DisplayName[\"formatTime\"] = \"FormattedTime\";\n DisplayName[\"formatNumber\"] = \"FormattedNumber\";\n DisplayName[\"formatList\"] = \"FormattedList\"; // Note that this DisplayName is the locale display name, not to be confused with\n // the name of the enum, which is for React component display name in dev tools.\n\n DisplayName[\"formatDisplayName\"] = \"FormattedDisplayName\";\n})(DisplayName || (DisplayName = {}));\n\nvar DisplayNameParts;\n\n(function (DisplayNameParts) {\n DisplayNameParts[\"formatDate\"] = \"FormattedDateParts\";\n DisplayNameParts[\"formatTime\"] = \"FormattedTimeParts\";\n DisplayNameParts[\"formatNumber\"] = \"FormattedNumberParts\";\n DisplayNameParts[\"formatList\"] = \"FormattedListParts\";\n})(DisplayNameParts || (DisplayNameParts = {}));\n\nvar FormattedNumberParts = function FormattedNumberParts(props) {\n return react.createElement(Context.Consumer, null, function (intl) {\n invariantIntlContext(intl);\n\n var value = props.value,\n children = props.children,\n formatProps = __rest(props, [\"value\", \"children\"]);\n\n return children(intl.formatNumberToParts(value, formatProps));\n });\n};\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nfunction createFormattedDateTimePartsComponent(name) {\n var ComponentParts = function ComponentParts(props) {\n return react.createElement(Context.Consumer, null, function (intl) {\n invariantIntlContext(intl);\n\n var value = props.value,\n children = props.children,\n formatProps = __rest(props, [\"value\", \"children\"]);\n\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n var formattedParts = name === 'formatDate' ? intl.formatDateToParts(date, formatProps) : intl.formatTimeToParts(date, formatProps);\n return children(formattedParts);\n });\n };\n\n ComponentParts.displayName = DisplayNameParts[name];\n return ComponentParts;\n}\nfunction createFormattedComponent(name) {\n var Component = function Component(props) {\n return react.createElement(Context.Consumer, null, function (intl) {\n invariantIntlContext(intl);\n\n var value = props.value,\n children = props.children,\n formatProps = __rest(props, [\"value\", \"children\"]); // TODO: fix TS type definition for localeMatcher upstream\n\n\n var formattedValue = intl[name](value, formatProps);\n\n if (typeof children === 'function') {\n return children(formattedValue);\n }\n\n var Text = intl.textComponent || react.Fragment;\n return react.createElement(Text, null, formattedValue);\n });\n };\n\n Component.displayName = DisplayName[name];\n return Component;\n}\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/components/useIntl.js\n\n\n\nfunction useIntl() {\n var intl = (0,react.useContext)(Context);\n invariantIntlContext(intl);\n return intl;\n}\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\nvar setPrototypeOf = __webpack_require__(4665);\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) (0,setPrototypeOf/* default */.Z)(subClass, superClass);\n}\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/typeof.js\nvar helpers_typeof = __webpack_require__(8);\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\n\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (helpers_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/formatters/number.js\n\nvar NUMBER_FORMAT_OPTIONS = ['localeMatcher', 'style', 'currency', 'currencyDisplay', 'unit', 'unitDisplay', 'useGrouping', 'minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits', // Unified NumberFormat (Stage 3 as of 10/22/19)\n'compactDisplay', 'currencyDisplay', 'currencySign', 'notation', 'signDisplay', 'unit', 'unitDisplay'];\nfunction getFormatter(_ref, getNumberFormat) {\n var locale = _ref.locale,\n formats = _ref.formats,\n onError = _ref.onError;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var format = options.format;\n var defaults = format && getNamedFormat(formats, 'number', format, onError) || {};\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nfunction formatNumber(config, getNumberFormat, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n } catch (e) {\n config.onError(createError('Error formatting number.', e));\n }\n\n return String(value);\n}\nfunction formatNumberToParts(config, getNumberFormat, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n } catch (e) {\n config.onError(createError('Error formatting number.', e));\n }\n\n return [];\n}\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/formatters/relativeTime.js\n\nvar RELATIVE_TIME_FORMAT_OPTIONS = ['numeric', 'style'];\n\nfunction relativeTime_getFormatter(_ref, getRelativeTimeFormat) {\n var locale = _ref.locale,\n formats = _ref.formats,\n onError = _ref.onError;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var format = options.format;\n var defaults = !!format && getNamedFormat(formats, 'relative', format, onError) || {};\n var filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\n\nfunction formatRelativeTime(config, getRelativeTimeFormat, value, unit) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n\n if (!unit) {\n unit = 'second';\n }\n\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n\n if (!RelativeTimeFormat) {\n config.onError(createError(\"Intl.RelativeTimeFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-relativetimeformat\\\"\\n\"));\n }\n\n try {\n return relativeTime_getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n } catch (e) {\n config.onError(createError('Error formatting relative time.', e));\n }\n\n return String(value);\n}\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/formatters/dateTime.js\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar DATE_TIME_FORMAT_OPTIONS = ['localeMatcher', 'formatMatcher', 'timeZone', 'hour12', 'weekday', 'era', 'year', 'month', 'day', 'hour', 'minute', 'second', 'timeZoneName'];\nfunction dateTime_getFormatter(_ref, type, getDateTimeFormat) {\n var locale = _ref.locale,\n formats = _ref.formats,\n onError = _ref.onError,\n timeZone = _ref.timeZone;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var format = options.format;\n var defaults = Object.assign(Object.assign({}, timeZone && {\n timeZone: timeZone\n }), format && getNamedFormat(formats, type, format, onError));\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n\n if (type === 'time' && !filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = Object.assign(Object.assign({}, filteredOptions), {\n hour: 'numeric',\n minute: 'numeric'\n });\n }\n\n return getDateTimeFormat(locale, filteredOptions);\n}\nfunction formatDate(config, getDateTimeFormat, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n\n try {\n return dateTime_getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n } catch (e) {\n config.onError(createError('Error formatting date.', e));\n }\n\n return String(date);\n}\nfunction formatTime(config, getDateTimeFormat, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n\n try {\n return dateTime_getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n } catch (e) {\n config.onError(createError('Error formatting time.', e));\n }\n\n return String(date);\n}\nfunction formatDateToParts(config, getDateTimeFormat, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n\n try {\n return dateTime_getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date);\n } catch (e) {\n config.onError(createError('Error formatting date.', e));\n }\n\n return [];\n}\nfunction formatTimeToParts(config, getDateTimeFormat, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n\n try {\n return dateTime_getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date);\n } catch (e) {\n config.onError(createError('Error formatting time.', e));\n }\n\n return [];\n}\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/formatters/plural.js\n\nvar PLURAL_FORMAT_OPTIONS = ['localeMatcher', 'type'];\nfunction formatPlural(_ref, getPluralRules, value) {\n var locale = _ref.locale,\n onError = _ref.onError;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n if (!Intl.PluralRules) {\n onError(createError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\"));\n }\n\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n } catch (e) {\n onError(createError('Error formatting plural.', e));\n }\n\n return 'other';\n}\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 5 modules\nvar toConsumableArray = __webpack_require__(18);\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/formatters/message.js\n\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n\n\n\n\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce(function (all, k) {\n all[k] = Object.assign({\n timeZone: timeZone\n }, opts[k]);\n return all;\n }, {});\n}\n\nfunction deepMergeOptions(opts1, opts2) {\n var keys = Object.keys(Object.assign(Object.assign({}, opts1), opts2));\n return keys.reduce(function (all, k) {\n all[k] = Object.assign(Object.assign({}, opts1[k] || {}), opts2[k] || {});\n return all;\n }, {});\n}\n\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n\n var mfFormats = intl_messageformat_lib.formats;\n return Object.assign(Object.assign(Object.assign({}, mfFormats), f1), {\n date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)),\n time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone))\n });\n}\n\nvar prepareIntlMessageFormatHtmlOutput = function prepareIntlMessageFormatHtmlOutput(chunks) {\n return react.createElement.apply(react_namespaceObject, [react.Fragment, null].concat((0,toConsumableArray/* default */.Z)(chunks)));\n};\nfunction formatMessage(_ref, state) {\n var locale = _ref.locale,\n formats = _ref.formats,\n messages = _ref.messages,\n defaultLocale = _ref.defaultLocale,\n defaultFormats = _ref.defaultFormats,\n onError = _ref.onError,\n timeZone = _ref.timeZone;\n var messageDescriptor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n id: ''\n };\n var values = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var id = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage; // `id` is a required field of a Message Descriptor.\n\n (0,invariant/* invariant */.k)(!!id, '[React Intl] An `id` must be provided to format a message.');\n var message = messages && messages[String(id)];\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n var formattedMessageParts = [];\n\n if (message) {\n try {\n var formatter = state.getMessageFormat(message, locale, formats, {\n formatters: state\n });\n formattedMessageParts = formatter.formatHTMLMessage(values);\n } catch (e) {\n onError(createError(\"Error formatting message: \\\"\".concat(id, \"\\\" for locale: \\\"\").concat(locale, \"\\\"\") + (defaultMessage ? ', using default message as fallback.' : ''), e));\n }\n } else {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale, and a default message is in the source.\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n onError(createError(\"Missing message: \\\"\".concat(id, \"\\\" for locale: \\\"\").concat(locale, \"\\\"\") + (defaultMessage ? ', using default message as fallback.' : '')));\n }\n }\n\n if (!formattedMessageParts.length && defaultMessage) {\n try {\n var _formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n\n formattedMessageParts = _formatter.formatHTMLMessage(values);\n } catch (e) {\n onError(createError(\"Error formatting the default message for: \\\"\".concat(id, \"\\\"\"), e));\n }\n }\n\n if (!formattedMessageParts.length) {\n onError(createError(\"Cannot format message: \\\"\".concat(id, \"\\\", \") + \"using message \".concat(message || defaultMessage ? 'source' : 'id', \" as fallback.\")));\n\n if (typeof message === 'string') {\n return message || defaultMessage || String(id);\n }\n\n return defaultMessage || String(id);\n }\n\n if (formattedMessageParts.length === 1 && typeof formattedMessageParts[0] === 'string') {\n return formattedMessageParts[0] || defaultMessage || String(id);\n }\n\n return prepareIntlMessageFormatHtmlOutput(formattedMessageParts);\n}\nfunction message_formatHTMLMessage(config, state) {\n var messageDescriptor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n id: ''\n };\n var rawValues = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) {\n var value = rawValues[name];\n escaped[name] = typeof value === 'string' ? utils_escape(value) : value;\n return escaped;\n }, {});\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n// EXTERNAL MODULE: ./node_modules/shallow-equal/objects/index.js\nvar objects = __webpack_require__(9108);\nvar objects_default = /*#__PURE__*/__webpack_require__.n(objects);\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/formatters/list.js\n\nvar LIST_FORMAT_OPTIONS = ['localeMatcher', 'type', 'style'];\nvar now = Date.now();\n\nfunction generateToken(i) {\n return \"\".concat(now, \"_\").concat(i, \"_\").concat(now);\n}\n\nfunction formatList(_ref, getListFormat, values) {\n var locale = _ref.locale,\n onError = _ref.onError;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var ListFormat = Intl.ListFormat;\n\n if (!ListFormat) {\n onError(createError(\"Intl.ListFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-listformat\\\"\\n\"));\n }\n\n var filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n\n try {\n var richValues = {};\n var serializedValues = values.map(function (v, i) {\n if (typeof v === 'object') {\n var id = generateToken(i);\n richValues[id] = v;\n return id;\n }\n\n return String(v);\n });\n\n if (!Object.keys(richValues).length) {\n return getListFormat(locale, filteredOptions).format(serializedValues);\n }\n\n var parts = getListFormat(locale, filteredOptions).formatToParts(serializedValues);\n return parts.reduce(function (all, el) {\n var val = el.value;\n\n if (richValues[val]) {\n all.push(richValues[val]);\n } else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n } else {\n all.push(val);\n }\n\n return all;\n }, []);\n } catch (e) {\n onError(createError('Error formatting list.', e));\n }\n\n return values;\n}\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/formatters/displayName.js\n\nvar DISPLAY_NAMES_OPTONS = ['localeMatcher', 'style', 'type', 'fallback'];\nfunction formatDisplayName(_ref, getDisplayNames, value) {\n var locale = _ref.locale,\n onError = _ref.onError;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var DisplayNames = Intl.DisplayNames;\n\n if (!DisplayNames) {\n onError(createError(\"Intl.DisplayNames is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-displaynames\\\"\\n\"));\n }\n\n var filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n } catch (e) {\n onError(createError('Error formatting display name.', e));\n }\n}\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/components/provider.js\n\n\n\n\n\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n\n\n\n\n\n\n\n\n\n\nvar shallowEquals = (objects_default()) || objects;\n\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError\n };\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\n\n\nfunction createIntl(config, cache) {\n var formatters = createFormatters(cache);\n var resolvedConfig = Object.assign(Object.assign({}, DEFAULT_INTL_CONFIG), config);\n var locale = resolvedConfig.locale,\n defaultLocale = resolvedConfig.defaultLocale,\n onError = resolvedConfig.onError;\n\n if (!locale) {\n if (onError) {\n onError(createError(\"\\\"locale\\\" was not configured, using \\\"\".concat(defaultLocale, \"\\\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/API.md#intlshape for more details\")));\n } // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n\n\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n } else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {\n onError(createError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.NumberFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements for more details\")));\n } else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length && onError) {\n onError(createError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.DateTimeFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements for more details\")));\n }\n\n return Object.assign(Object.assign({}, resolvedConfig), {\n formatters: formatters,\n formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat),\n formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat),\n formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat),\n formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules),\n formatMessage: formatMessage.bind(null, resolvedConfig, formatters),\n formatHTMLMessage: message_formatHTMLMessage.bind(null, resolvedConfig, formatters),\n formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat),\n formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames)\n });\n}\n\nvar provider_IntlProvider = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(IntlProvider, _React$PureComponent);\n\n var _super = _createSuper(IntlProvider);\n\n function IntlProvider() {\n var _this;\n\n _classCallCheck(this, IntlProvider);\n\n _this = _super.apply(this, arguments);\n _this.cache = createIntlCache();\n _this.state = {\n cache: _this.cache,\n intl: createIntl(processIntlConfig(_this.props), _this.cache),\n prevConfig: processIntlConfig(_this.props)\n };\n return _this;\n }\n\n _createClass(IntlProvider, [{\n key: \"render\",\n value: function render() {\n invariantIntlContext(this.state.intl);\n return react.createElement(Provider, {\n value: this.state.intl\n }, this.props.children);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, _ref) {\n var prevConfig = _ref.prevConfig,\n cache = _ref.cache;\n var config = processIntlConfig(props);\n\n if (!shallowEquals(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config\n };\n }\n\n return null;\n }\n }]);\n\n return IntlProvider;\n}(react.PureComponent);\n\n\nprovider_IntlProvider.displayName = 'IntlProvider';\nprovider_IntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/components/relative.js\n\n\n\n\n\n\nfunction relative_createSuper(Derived) { var hasNativeReflectConstruct = relative_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction relative_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n\n\n\nvar MINUTE = 60;\nvar HOUR = 60 * 60;\nvar DAY = 60 * 60 * 24;\n\nfunction selectUnit(seconds) {\n var absValue = Math.abs(seconds);\n\n if (absValue < MINUTE) {\n return 'second';\n }\n\n if (absValue < HOUR) {\n return 'minute';\n }\n\n if (absValue < DAY) {\n return 'hour';\n }\n\n return 'day';\n}\n\nfunction getDurationInSeconds(unit) {\n switch (unit) {\n case 'second':\n return 1;\n\n case 'minute':\n return MINUTE;\n\n case 'hour':\n return HOUR;\n\n default:\n return DAY;\n }\n}\n\nfunction valueToSeconds(value, unit) {\n if (!value) {\n return 0;\n }\n\n switch (unit) {\n case 'second':\n return value;\n\n case 'minute':\n return value * MINUTE;\n\n default:\n return value * HOUR;\n }\n}\n\nvar INCREMENTABLE_UNITS = ['second', 'minute', 'hour'];\n\nfunction canIncrement() {\n var unit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'second';\n return INCREMENTABLE_UNITS.includes(unit);\n}\n\nvar FormattedRelativeTime = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(FormattedRelativeTime, _React$PureComponent);\n\n var _super = relative_createSuper(FormattedRelativeTime);\n\n function FormattedRelativeTime(props) {\n var _this;\n\n _classCallCheck(this, FormattedRelativeTime);\n\n _this = _super.call(this, props); // Public for testing\n\n _this._updateTimer = null;\n _this.state = {\n prevUnit: _this.props.unit,\n prevValue: _this.props.value,\n currentValueInSeconds: canIncrement(_this.props.unit) ? valueToSeconds(_this.props.value, _this.props.unit) : 0\n };\n (0,invariant/* invariant */.k)(!props.updateIntervalInSeconds || !!(props.updateIntervalInSeconds && canIncrement(props.unit)), 'Cannot schedule update with unit longer than hour');\n return _this;\n }\n\n _createClass(FormattedRelativeTime, [{\n key: \"scheduleNextUpdate\",\n value: function scheduleNextUpdate(_ref, _ref2) {\n var _this2 = this;\n\n var updateIntervalInSeconds = _ref.updateIntervalInSeconds,\n unit = _ref.unit;\n var currentValueInSeconds = _ref2.currentValueInSeconds;\n clearTimeout(this._updateTimer);\n this._updateTimer = null; // If there's no interval and we cannot increment this unit, do nothing\n\n if (!updateIntervalInSeconds || !canIncrement(unit)) {\n return;\n } // Figure out the next interesting time\n\n\n var nextValueInSeconds = currentValueInSeconds - updateIntervalInSeconds;\n var nextUnit = selectUnit(nextValueInSeconds); // We've reached the max auto incrementable unit, don't schedule another update\n\n if (nextUnit === 'day') {\n return;\n }\n\n var unitDuration = getDurationInSeconds(nextUnit);\n var remainder = nextValueInSeconds % unitDuration;\n var prevInterestingValueInSeconds = nextValueInSeconds - remainder;\n var nextInterestingValueInSeconds = prevInterestingValueInSeconds >= currentValueInSeconds ? prevInterestingValueInSeconds - unitDuration : prevInterestingValueInSeconds;\n var delayInSeconds = Math.abs(nextInterestingValueInSeconds - currentValueInSeconds);\n this._updateTimer = setTimeout(function () {\n return _this2.setState({\n currentValueInSeconds: nextInterestingValueInSeconds\n });\n }, delayInSeconds * 1e3);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n return react.createElement(Context.Consumer, null, function (intl) {\n invariantIntlContext(intl);\n var formatRelativeTime = intl.formatRelativeTime,\n Text = intl.textComponent;\n var _this3$props = _this3.props,\n children = _this3$props.children,\n value = _this3$props.value,\n unit = _this3$props.unit,\n updateIntervalInSeconds = _this3$props.updateIntervalInSeconds;\n var currentValueInSeconds = _this3.state.currentValueInSeconds;\n var currentValue = value || 0;\n var currentUnit = unit;\n\n if (canIncrement(unit) && typeof currentValueInSeconds === 'number' && updateIntervalInSeconds) {\n currentUnit = selectUnit(currentValueInSeconds);\n var unitDuration = getDurationInSeconds(currentUnit);\n currentValue = Math.round(currentValueInSeconds / unitDuration);\n }\n\n var formattedRelativeTime = formatRelativeTime(currentValue, currentUnit, Object.assign({}, _this3.props));\n\n if (typeof children === 'function') {\n return children(formattedRelativeTime);\n }\n\n if (Text) {\n return react.createElement(Text, null, formattedRelativeTime);\n }\n\n return formattedRelativeTime;\n });\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n if (props.unit !== state.prevUnit || props.value !== state.prevValue) {\n return {\n prevValue: props.value,\n prevUnit: props.unit,\n currentValueInSeconds: canIncrement(props.unit) ? valueToSeconds(props.value, props.unit) : 0\n };\n }\n\n return null;\n }\n }]);\n\n return FormattedRelativeTime;\n}(react.PureComponent);\nFormattedRelativeTime.displayName = 'FormattedRelativeTime';\nFormattedRelativeTime.defaultProps = {\n value: 0,\n unit: 'second'\n};\n/* harmony default export */ var relative = (FormattedRelativeTime);\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/components/plural.js\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n\n\nvar FormattedPlural = function FormattedPlural(props) {\n var value = props.value,\n other = props.other,\n children = props.children,\n _props$intl = props.intl,\n formatPlural = _props$intl.formatPlural,\n Text = _props$intl.textComponent;\n var pluralCategory = formatPlural(value, props);\n var formattedPlural = props[pluralCategory] || other;\n\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n\n if (Text) {\n return react.createElement(Text, null, formattedPlural);\n } // Work around @types/react where React.FC cannot return string\n\n\n return formattedPlural;\n};\n\nFormattedPlural.defaultProps = {\n type: 'cardinal'\n};\nFormattedPlural.displayName = 'FormattedPlural';\n/* harmony default export */ var plural = (injectIntl(FormattedPlural));\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/components/message.js\n\n\n\n\n\n\n\nfunction message_createSuper(Derived) { var hasNativeReflectConstruct = message_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction message_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar message_rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\nvar message_shallowEquals = (objects_default()) || objects;\n\nvar defaultFormatMessage = function defaultFormatMessage(descriptor, values) {\n if (false) {}\n\n return formatMessage(Object.assign(Object.assign({}, DEFAULT_INTL_CONFIG), {\n locale: 'en'\n }), createFormatters(), descriptor, values);\n};\n\nvar FormattedMessage = /*#__PURE__*/function (_React$Component) {\n _inherits(FormattedMessage, _React$Component);\n\n var _super = message_createSuper(FormattedMessage);\n\n function FormattedMessage() {\n _classCallCheck(this, FormattedMessage);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(FormattedMessage, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n var _a = this.props,\n values = _a.values,\n otherProps = message_rest(_a, [\"values\"]);\n\n var nextValues = nextProps.values,\n nextOtherProps = message_rest(nextProps, [\"values\"]);\n\n return !message_shallowEquals(nextValues, values) || !message_shallowEquals(otherProps, nextOtherProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n return react.createElement(Context.Consumer, null, function (intl) {\n if (!_this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n\n var _ref = intl || {},\n _ref$formatMessage = _ref.formatMessage,\n formatMessage = _ref$formatMessage === void 0 ? defaultFormatMessage : _ref$formatMessage,\n _ref$textComponent = _ref.textComponent,\n Text = _ref$textComponent === void 0 ? react.Fragment : _ref$textComponent;\n\n var _this$props = _this.props,\n id = _this$props.id,\n description = _this$props.description,\n defaultMessage = _this$props.defaultMessage,\n values = _this$props.values,\n children = _this$props.children,\n _this$props$tagName = _this$props.tagName,\n Component = _this$props$tagName === void 0 ? Text : _this$props$tagName;\n var descriptor = {\n id: id,\n description: description,\n defaultMessage: defaultMessage\n };\n var nodes = formatMessage(descriptor, values);\n\n if (!Array.isArray(nodes)) {\n nodes = [nodes];\n }\n\n if (typeof children === 'function') {\n return children.apply(void 0, (0,toConsumableArray/* default */.Z)(nodes));\n }\n\n if (Component) {\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return react.createElement.apply(react_namespaceObject, [Component, null].concat((0,toConsumableArray/* default */.Z)(nodes)));\n }\n\n return nodes;\n });\n }\n }]);\n\n return FormattedMessage;\n}(react.Component);\n\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.defaultProps = {\n values: {}\n};\n/* harmony default export */ var message = (FormattedMessage);\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/components/html-message.js\n\n\n\n\n\n\nfunction html_message_createSuper(Derived) { var hasNativeReflectConstruct = html_message_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction html_message_isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n\n\n\n\nvar FormattedHTMLMessage = /*#__PURE__*/function (_FormattedMessage) {\n _inherits(FormattedHTMLMessage, _FormattedMessage);\n\n var _super = html_message_createSuper(FormattedHTMLMessage);\n\n function FormattedHTMLMessage() {\n _classCallCheck(this, FormattedHTMLMessage);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(FormattedHTMLMessage, [{\n key: \"render\",\n value: function render() {\n var _this = this;\n\n return react.createElement(Context.Consumer, null, function (intl) {\n if (!_this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n\n var formatHTMLMessage = intl.formatHTMLMessage,\n textComponent = intl.textComponent;\n var _this$props = _this.props,\n id = _this$props.id,\n description = _this$props.description,\n defaultMessage = _this$props.defaultMessage,\n rawValues = _this$props.values,\n children = _this$props.children;\n var Component = _this.props.tagName; // This is bc of TS3.3 doesn't recognize `defaultProps`\n\n if (!Component) {\n Component = textComponent || 'span';\n }\n\n var descriptor = {\n id: id,\n description: description,\n defaultMessage: defaultMessage\n };\n var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n } // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n\n\n var html = {\n __html: formattedHTMLMessage\n };\n return react.createElement(Component, {\n dangerouslySetInnerHTML: html\n });\n });\n }\n }]);\n\n return FormattedHTMLMessage;\n}(message);\n\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.defaultProps = Object.assign(Object.assign({}, message.defaultProps), {\n tagName: 'span'\n});\n/* harmony default export */ var html_message = (FormattedHTMLMessage);\n;// CONCATENATED MODULE: ./node_modules/react-intl/lib/index.js\nfunction defineMessages(msgs) {\n return msgs;\n}\n\n\n\n // IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./types').CustomFormatConfig`\n\nvar FormattedDate = createFormattedComponent('formatDate');\nvar FormattedTime = createFormattedComponent('formatTime');\nvar FormattedNumber = createFormattedComponent('formatNumber');\nvar FormattedList = createFormattedComponent('formatList');\nvar FormattedDisplayName = createFormattedComponent('formatDisplayName');\nvar FormattedDateParts = createFormattedDateTimePartsComponent('formatDate');\nvar FormattedTimeParts = createFormattedDateTimePartsComponent('formatTime');\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9pbnRsLW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL2xpYi90eXBlcy5qcz80ZGIxIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL2ludGwtbWVzc2FnZWZvcm1hdC1wYXJzZXIvbGliL3BhcnNlci5qcz9hMGFmIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL2ludGwtbWVzc2FnZWZvcm1hdC1wYXJzZXIvbGliL25vcm1hbGl6ZS5qcz9jZjlhIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL2ludGwtbWVzc2FnZWZvcm1hdC1wYXJzZXIvbGliL2luZGV4LmpzPzMxMzMiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvaW50bC1mb3JtYXQtY2FjaGUvbGliL2luZGV4LmpzP2E2NzciLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvaW50bC1tZXNzYWdlZm9ybWF0LXBhcnNlci9saWIvc2tlbGV0b24uanM/NGM4NCIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9pbnRsLW1lc3NhZ2Vmb3JtYXQvbGliL2Zvcm1hdHRlcnMuanM/ODgwNCIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9pbnRsLW1lc3NhZ2Vmb3JtYXQvbGliL2NvcmUuanM/MDg2MSIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9pbnRsLW1lc3NhZ2Vmb3JtYXQvbGliL2luZGV4LmpzPzY0MGUiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvcmVhY3QtaW50bC9saWIvdXRpbHMuanM/MjBkMSIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eS5qcz9hZGUzIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWludGwvbGliL2NvbXBvbmVudHMvaW5qZWN0SW50bC5qcz84MDgxIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWludGwvbGliL2NvbXBvbmVudHMvY3JlYXRlRm9ybWF0dGVkQ29tcG9uZW50LmpzPzdiZDkiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvcmVhY3QtaW50bC9saWIvY29tcG9uZW50cy91c2VJbnRsLmpzP2Y5MDUiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY2xhc3NDYWxsQ2hlY2suanM/ZDRlYyIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jcmVhdGVDbGFzcy5qcz9iZWUyIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2luaGVyaXRzLmpzPzI2MmUiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXNzZXJ0VGhpc0luaXRpYWxpemVkLmpzPzI1N2UiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vcG9zc2libGVDb25zdHJ1Y3RvclJldHVybi5qcz85OWRlIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2dldFByb3RvdHlwZU9mLmpzPzdlODQiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvcmVhY3QtaW50bC9saWIvZm9ybWF0dGVycy9udW1iZXIuanM/MDBiZiIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9yZWFjdC1pbnRsL2xpYi9mb3JtYXR0ZXJzL3JlbGF0aXZlVGltZS5qcz8zZDY3Iiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWludGwvbGliL2Zvcm1hdHRlcnMvZGF0ZVRpbWUuanM/OTNiYyIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9yZWFjdC1pbnRsL2xpYi9mb3JtYXR0ZXJzL3BsdXJhbC5qcz9kOGY5Iiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWludGwvbGliL2Zvcm1hdHRlcnMvbWVzc2FnZS5qcz9hYTJjIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWludGwvbGliL2Zvcm1hdHRlcnMvbGlzdC5qcz81NmZmIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWludGwvbGliL2Zvcm1hdHRlcnMvZGlzcGxheU5hbWUuanM/NWY1MSIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9yZWFjdC1pbnRsL2xpYi9jb21wb25lbnRzL3Byb3ZpZGVyLmpzPzlmMDUiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvcmVhY3QtaW50bC9saWIvY29tcG9uZW50cy9yZWxhdGl2ZS5qcz85NjQ2Iiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWludGwvbGliL2NvbXBvbmVudHMvcGx1cmFsLmpzPzAwNjkiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvcmVhY3QtaW50bC9saWIvY29tcG9uZW50cy9tZXNzYWdlLmpzPzNiM2UiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvcmVhY3QtaW50bC9saWIvY29tcG9uZW50cy9odG1sLW1lc3NhZ2UuanM/MWI3NiIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9yZWFjdC1pbnRsL2xpYi9pbmRleC5qcz81M2ZjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsSUFBSTtBQUMzRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQyxvQkFBb0I7QUFDckI7QUFDQTtBQUNBOzs7QUFHTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEM7O0FDL0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsU0FBSSxJQUFJLFNBQUk7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQsZUFBZSxTQUFJLElBQUksU0FBSTtBQUMzQjtBQUNBLDRDQUE0QyxPQUFPO0FBQ25EOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7O0FBRytCOztBQUUvQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQkFBMEIseUJBQXlCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRXNCOztBQUV2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVksWUFBWTtBQUN4QjtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZLFVBQVU7QUFDdEIsS0FBSztBQUNMOztBQUVBO0FBQ0EsaUJBQWlCO0FBQ2pCLHdDQUF3QztBQUN4QyxpQkFBaUI7QUFDakIsd0NBQXdDOztBQUV4QztBQUNBO0FBQ0EsWUFBWSxhQUFhO0FBQ3pCO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0Esd0JBQXdCO0FBQ3hCLGtEQUFrRCxLQUFLO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnQ0FBZ0MsV0FBVyxxQkFBcUIsU0FBUyxHQUFHLFNBQVM7QUFDckY7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QixxRUFBcUUsS0FBSztBQUMxRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsWUFBWSxXQUFXO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFJO0FBQ1gsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVksV0FBVztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFJO0FBQ1gsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDLGtGQUFrRjtBQUNsRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQiw4RUFBOEU7QUFDakc7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixhQUFhO0FBQ2hDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFTyx5Qjs7QUMxNkZQLHFCQUFxQixTQUFJLElBQUksU0FBSTtBQUNqQywrQ0FBK0MsUUFBUTtBQUN2RDtBQUNBOztBQUVBLHNDQUFzQyxRQUFRO0FBQzlDLG9EQUFvRCxRQUFRO0FBQzVEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUU2RTtBQUN6QztBQUNwQztBQUNBO0FBQ0E7QUFDQSxRQUFRLFlBQVk7QUFDcEI7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBLFNBQVMsZUFBZSxTQUFTLGVBQWU7QUFDaEQ7QUFDQSxLQUFLOzs7QUFHTDtBQUNBOztBQUVBLCtCQUErQjtBQUMvQjs7QUFFQTtBQUNBOztBQUVBLHFCQUFxQixzQkFBc0I7QUFDM0M7O0FBRUEsWUFBWSxnQkFBZ0I7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHlFQUF5RSx5QkFBeUI7QUFDbEcscUJBQXFCLFFBQVE7O0FBRTdCO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNILEM7O0FDN0RvQztBQUNtQjtBQUMvQjtBQUNDO0FBQ0U7QUFDcEI7QUFDUCxZQUFZLFFBQVE7O0FBRXBCO0FBQ0EsSUFBSSx3QkFBd0I7QUFDNUI7O0FBRUE7QUFDQSxDOztBQ2JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLGdCQUFjLEdBQUcsU0FBSSxJQUFJLFNBQUk7QUFDakMsK0NBQStDLFFBQVE7QUFDdkQ7QUFDQTs7QUFFQSxzQ0FBc0MsUUFBUTtBQUM5QyxvREFBb0QsUUFBUTtBQUM1RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGtCQUFrQjtBQUNsQixHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQSxvQkFBb0IsdUJBQXVCO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDREQUE0RCxnQkFBYzs7QUFFMUU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHdDQUFlLHdCQUF3QixFOztBQy9EdkMsSUFBSSxlQUFRLEdBQUcsU0FBSSxJQUFJLFNBQUk7QUFDM0IsRUFBRSxlQUFRO0FBQ1YsNENBQTRDLE9BQU87QUFDbkQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxTQUFTLGVBQVE7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxnQ0FBZ0MsSUFBSSxHQUFHLElBQUksTUFBTSxJQUFJLGNBQWMsSUFBSSxPQUFPLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsT0FBTyxJQUFJLFFBQVEsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksV0FBVyxJQUFJO0FBQ3JLO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdPO0FBQ1A7O0FBRUEscUNBQXFDLHNCQUFzQjtBQUMzRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLGVBQVEsQ0FBQyxlQUFRLENBQUMsZUFBUSxHQUFHO0FBQzlDO0FBQ0EsU0FBUztBQUNULGlCQUFpQixlQUFRLENBQUMsZUFBUSxHQUFHO0FBQ3JDLFNBQVMsSUFBSTtBQUNiOztBQUVBO0FBQ0EsaUJBQWlCLGVBQVEsQ0FBQyxlQUFRLENBQUMsZUFBUSxHQUFHO0FBQzlDO0FBQ0EsU0FBUztBQUNULGlCQUFpQixlQUFRLENBQUMsZUFBUSxHQUFHO0FBQ3JDLFNBQVMsSUFBSTtBQUNiOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBLGlCQUFpQixlQUFRLENBQUMsZUFBUSxHQUFHO0FBQ3JDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxlQUFlLGVBQVEsQ0FBQyxlQUFRLEdBQUc7QUFDbkM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLGVBQWUsZUFBUSxDQUFDLGVBQVEsR0FBRztBQUNuQztBQUNBOztBQUVBO0FBQ0EsQzs7QUNyWUEsSUFBSSxrQkFBUyxHQUFHLFNBQUksSUFBSSxTQUFJO0FBQzVCO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVELElBQUksdUJBQWMsR0FBRyxTQUFJLElBQUksU0FBSTtBQUNqQywrQ0FBK0MsUUFBUTtBQUN2RDtBQUNBOztBQUVBLHNDQUFzQyxRQUFRO0FBQzlDLG9EQUFvRCxRQUFRO0FBQzVEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUUwUjs7QUFFMVI7QUFDQTtBQUNBO0FBQ0EsRUFBRSxrQkFBUzs7QUFFWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSCxDQUFDOzs7QUFHTTtBQUNQO0FBQ0E7QUFDQSwwQkFBMEIsZ0JBQWdCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7O0FBRUEsK0JBQStCLG1CQUFtQjtBQUNsRCx1QkFBdUI7O0FBRXZCLFFBQVEsZ0JBQWdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7OztBQUdBLFFBQVEsY0FBYztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTs7QUFFQSwyQkFBMkI7O0FBRTNCO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxRQUFRLGlCQUFpQjtBQUN6QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTDtBQUNBOzs7QUFHQSxRQUFRLGFBQWE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUEsUUFBUSxhQUFhO0FBQ3JCLDBFQUEwRSxrQkFBa0IsYUFBYSxxQkFBcUI7QUFDOUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBLFFBQVEsZUFBZTtBQUN2Qiw0RUFBNEUsZ0JBQWdCLGFBQWEsMENBQTBDO0FBQ25KO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQSxRQUFRLGVBQWU7QUFDdkI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLGVBQWU7QUFDdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ087QUFDUDtBQUNBLG1HQUFtRzs7QUFFbkc7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDOztBQUVqQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUcsTUFBTTs7QUFFVDtBQUNBLFdBQVcsdUJBQWM7QUFDekIsR0FBRzs7O0FBR0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRyxNQUFNOztBQUVUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUcsRUFBRTs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQzs7QUN0V0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksV0FBUSxHQUFHLFNBQUksSUFBSSxTQUFJO0FBQzNCLEVBQUUsV0FBUTtBQUNWLDRDQUE0QyxPQUFPO0FBQ25EOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsU0FBUyxXQUFRO0FBQ2pCOztBQUVrRDtBQUNLO0FBQ3lCOztBQUVoRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLFdBQVEsQ0FBQyxXQUFRLENBQUMsV0FBUSxHQUFHLFVBQVUsV0FBVztBQUMzRCxhQUFhLFdBQVEsQ0FBQyxXQUFRLEdBQUcscUJBQXFCO0FBQ3REO0FBQ0EsR0FBRyxJQUFJO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRyxFQUFFLFdBQVEsR0FBRztBQUNoQjs7QUFFTztBQUNQO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEIsa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQixHQUFzQjtBQUMzQyx1QkFBdUIsR0FBc0I7QUFDN0Msb0JBQW9CLEdBQXNCO0FBQzFDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnQkFBZ0I7QUFDaEIsa0JBQWtCO0FBQ2xCO0FBQ0E7O0FBRUE7QUFDQSxhQUFhLGNBQWM7QUFDM0I7O0FBRUE7QUFDQSxhQUFhLGFBQWE7QUFDMUI7O0FBRUE7QUFDQSxhQUFhLGlCQUFpQjtBQUM5Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdBLDRFQUE0RTs7QUFFNUU7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOEJBQThCLEtBQUssQ0FBQztBQUNwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRTRCO0FBQzdCLHlDQUFlLGlCQUFpQixFOztBQ2pNaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUN1QztBQUNWO0FBQ047QUFDdkIsMkRBQWUsSUFBaUIsRTs7OztBQ1JoQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDK0I7QUFDb0I7QUFDSTtBQUNOO0FBQ2pEO0FBQ0EsWUFBWTtBQUNaLFdBQVc7QUFDWCxXQUFXO0FBQ1gsYUFBYTtBQUNiLGFBQWE7QUFDYjtBQUNBO0FBQ08sU0FBUyxZQUFNO0FBQ3RCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxHQUFHLElBQUk7QUFDUDtBQUNPO0FBQ1AsRUFBRSw4QkFBUztBQUNYO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDTztBQUNQLE1BQU0sS0FBcUMsRUFBRSxFQUUxQztBQUNIO0FBQ087QUFDUCxhQUFhO0FBQ2IsY0FBYztBQUNkO0FBQ0EsaUJBQWlCLGNBQWM7QUFDL0I7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNPO0FBQ1A7QUFDQSxnQkFBZ0I7QUFDaEIsY0FBYztBQUNkLGVBQWU7QUFDZixvQkFBb0I7QUFDcEIsbUJBQW1CO0FBQ25CLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsR0FBc0I7QUFDN0MscUJBQXFCLEdBQXNCO0FBQzNDLHNCQUFzQixHQUFzQixDQUFDLHNCQUFpQjtBQUM5RCwyQkFBMkIsR0FBc0I7QUFDakQsb0JBQW9CLEdBQXNCO0FBQzFDLG1CQUFtQixHQUFzQjtBQUN6QyxxQkFBcUIsR0FBc0I7QUFDM0M7QUFDQTtBQUNPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQzs7QUN4R2U7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQSxDOzs7OztBQ2I0STtBQUM3RztBQUNrQztBQUNqRTtBQUNBO0FBQ0E7O0FBRUEsMkJBQTJCLHVDQUE2QixJQUFJLDJCQUFxQjtBQUNqQzs7QUFFaEQ7QUFDQTtBQUNBLENBQUM7OztBQUdELGtCQUFrQixtQkFBbUI7QUFDckM7QUFDQTtBQUNPO0FBQ0E7QUFDUTtBQUNmLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLG1CQUFtQjtBQUM5QjtBQUNBLFFBQVEsb0JBQW9CO0FBQzVCOztBQUVBLGFBQWEsbUJBQW1CLG1DQUFtQyxTQUFTLGVBQWUsR0FBRztBQUM5RjtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGdDQUFnQyxnQkFBZ0I7QUFDaEQsYUFBYSxtQkFBbUIsMkJBQTJCO0FBQzNEO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDs7QUFFQTtBQUNBLEM7O0FDckRBLGFBQWEsU0FBSSxJQUFJLFNBQUk7QUFDekI7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDJIQUEySCxjQUFjO0FBQ3pJO0FBQ0E7QUFDQTtBQUNBOztBQUUrQjtBQUNpQjtBQUNUO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDO0FBQzlDOztBQUVBO0FBQ0EsQ0FBQyxrQ0FBa0M7O0FBRW5DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLDRDQUE0Qzs7QUFFdEM7QUFDUCxTQUFTLG1CQUFtQixDQUFDLGdCQUFnQjtBQUM3QyxJQUFJLG9CQUFvQjs7QUFFeEI7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDTztBQUNQO0FBQ0EsV0FBVyxtQkFBbUIsQ0FBQyxnQkFBZ0I7QUFDL0MsTUFBTSxvQkFBb0I7O0FBRTFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLFdBQVcsbUJBQW1CLENBQUMsZ0JBQWdCO0FBQy9DLE1BQU0sb0JBQW9COztBQUUxQjtBQUNBO0FBQ0EsNkRBQTZEOzs7QUFHN0Q7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVDQUF1QyxjQUFjO0FBQ3JELGFBQWEsbUJBQW1CO0FBQ2hDLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0EsQzs7QUMxRm1DO0FBQ0k7QUFDUztBQUNqQztBQUNmLGFBQWEsb0JBQVUsQ0FBQyxPQUFPO0FBQy9CLEVBQUUsb0JBQW9CO0FBQ3RCO0FBQ0EsQzs7QUNQZTtBQUNmO0FBQ0E7QUFDQTtBQUNBLEM7O0FDSkE7QUFDQSxpQkFBaUIsa0JBQWtCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0EsQzs7OztBQ2RpRDtBQUNsQztBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsa0JBQWtCLGlDQUFjO0FBQ2hDLEM7Ozs7QUNkZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEM7O0FDTm9EO0FBQ1c7QUFDaEQ7QUFDZixlQUFlLGNBQU87QUFDdEI7QUFDQTs7QUFFQSxTQUFTLHNCQUFxQjtBQUM5QixDOztBQ1JlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDOztBQ0xvRTtBQUNwRTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLGNBQWM7QUFDekMsd0JBQXdCLFdBQVc7QUFDbkM7QUFDQTtBQUNPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSCxtQkFBbUIsV0FBVztBQUM5Qjs7QUFFQTtBQUNBO0FBQ087QUFDUDs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNILG1CQUFtQixXQUFXO0FBQzlCOztBQUVBO0FBQ0EsQzs7QUNsQ29FO0FBQ3BFOztBQUVBLFNBQVMseUJBQVk7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixjQUFjO0FBQzNDLHdCQUF3QixXQUFXO0FBQ25DO0FBQ0E7O0FBRU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxtQkFBbUIsV0FBVztBQUM5Qjs7QUFFQTtBQUNBLFdBQVcseUJBQVk7QUFDdkIsR0FBRztBQUNILG1CQUFtQixXQUFXO0FBQzlCOztBQUVBO0FBQ0EsQzs7QUNsQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNvRTtBQUNwRTtBQUNPLFNBQVMscUJBQVk7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0EsR0FBRyxhQUFhLGNBQWM7QUFDOUIsd0JBQXdCLFdBQVc7O0FBRW5DO0FBQ0E7QUFDQSxvREFBb0Q7QUFDcEQ7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ087QUFDUDtBQUNBOztBQUVBO0FBQ0EsV0FBVyxxQkFBWTtBQUN2QixHQUFHO0FBQ0gsbUJBQW1CLFdBQVc7QUFDOUI7O0FBRUE7QUFDQTtBQUNPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBLFdBQVcscUJBQVk7QUFDdkIsR0FBRztBQUNILG1CQUFtQixXQUFXO0FBQzlCOztBQUVBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLHFCQUFZO0FBQ3ZCLEdBQUc7QUFDSCxtQkFBbUIsV0FBVztBQUM5Qjs7QUFFQTtBQUNBO0FBQ087QUFDUDtBQUNBOztBQUVBO0FBQ0EsV0FBVyxxQkFBWTtBQUN2QixHQUFHO0FBQ0gsbUJBQW1CLFdBQVc7QUFDOUI7O0FBRUE7QUFDQSxDOztBQzVFb0Q7QUFDcEQ7QUFDTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFlBQVksV0FBVztBQUN2Qjs7QUFFQSx3QkFBd0IsV0FBVzs7QUFFbkM7QUFDQTtBQUNBLEdBQUc7QUFDSCxZQUFZLFdBQVc7QUFDdkI7O0FBRUE7QUFDQSxDOzs7O0FDcEJrSjs7QUFFbEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUMrQjtBQUNrQjtBQUNGO0FBQ0k7O0FBRW5EO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRyxJQUFJO0FBQ1A7O0FBRUE7QUFDQSx1REFBdUQ7QUFDdkQ7QUFDQSwyQ0FBMkMsZ0JBQWdCLGlCQUFpQjtBQUM1RTtBQUNBLEdBQUcsSUFBSTtBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQiw4QkFBeUI7QUFDM0MscURBQXFEO0FBQ3JELDZHQUE2RztBQUM3Ryw2R0FBNkc7QUFDN0csR0FBRztBQUNIOztBQUVPO0FBQ1AsU0FBUyx5QkFBeUIsQ0FBQyxxQkFBSyxHQUFHLGNBQWMsZUFBZSxvQ0FBa0I7QUFDMUY7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQsRUFBRSw4QkFBUztBQUNYO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMLGNBQWMsV0FBVztBQUN6QjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsV0FBVztBQUN6QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTCxjQUFjLFdBQVc7QUFDekI7QUFDQTs7QUFFQTtBQUNBLFlBQVksV0FBVzs7QUFFdkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDTyxTQUFTLHlCQUFpQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsWUFBTTtBQUN0RDtBQUNBLEdBQUcsSUFBSTtBQUNQO0FBQ0EsQzs7Ozs7QUMzSG9EO0FBQ3BEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxZQUFZLFdBQVc7QUFDdkI7O0FBRUEsd0JBQXdCLFdBQVc7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSCxZQUFZLFdBQVc7QUFDdkI7O0FBRUE7QUFDQSxDOztBQ3ZEb0Q7QUFDcEQ7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsWUFBWSxXQUFXO0FBQ3ZCOztBQUVBLHdCQUF3QixXQUFXOztBQUVuQztBQUNBO0FBQ0EsR0FBRztBQUNILFlBQVksV0FBVztBQUN2QjtBQUNBLEM7O0FDbkI0STtBQUNOO0FBQ047QUFDa0M7QUFDdEI7O0FBRTVJLGdDQUFnQyw2REFBNkQseUNBQXlDLGFBQWEsZUFBZSxrQkFBa0IsaUNBQWlDLGlCQUFpQixlQUFlLG1CQUFtQix5REFBeUQsRUFBRSxPQUFPLHVDQUF1QyxFQUFFLFFBQVEsMEJBQTBCLGVBQWUsR0FBRzs7QUFFdmEsc0NBQXNDLHdFQUF3RSwwQ0FBMEMsOENBQThDLE1BQU0sNkVBQTZFLEdBQUcsYUFBYSxFQUFFLFlBQVksY0FBYyxFQUFFOztBQUV2VTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQytCO0FBQ1M7QUFDNkU7QUFDNUM7QUFDVDtBQUNzQztBQUNsRDtBQUNxQjtBQUNqQjtBQUNSO0FBQ2M7QUFDOUQsb0JBQW9CLG1CQUFzQixJQUFJLE9BQWM7O0FBRTVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdPO0FBQ1AsbUJBQW1CLGdCQUFnQjtBQUNuQyxxREFBcUQsRUFBRSxtQkFBbUI7QUFDMUU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxjQUFjLFdBQVc7QUFDekIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLEdBQUc7QUFDSCxZQUFZLFdBQVc7QUFDdkIsR0FBRztBQUNILFlBQVksV0FBVztBQUN2Qjs7QUFFQSx1Q0FBdUM7QUFDdkM7QUFDQSxrQkFBa0IsaUJBQWlCO0FBQ25DLHlCQUF5Qix3QkFBd0I7QUFDakQsd0JBQXdCLHVCQUF1QjtBQUMvQyxnQkFBZ0IsZUFBZTtBQUMvQix1QkFBdUIsc0JBQXNCO0FBQzdDLGdCQUFnQixlQUFlO0FBQy9CLHVCQUF1QixzQkFBc0I7QUFDN0Msa0JBQWtCLGlCQUFpQjtBQUNuQyxtQkFBbUIsa0JBQWtCO0FBQ3JDLHVCQUF1Qiw4QkFBc0I7QUFDN0MsZ0JBQWdCLGVBQWU7QUFDL0IsdUJBQXVCLHNCQUFzQjtBQUM3QyxHQUFHO0FBQ0g7O0FBRUEsSUFBSSxxQkFBWTtBQUNoQixFQUFFLFNBQVM7O0FBRVg7O0FBRUE7QUFDQTs7QUFFQSxJQUFJLGVBQWU7O0FBRW5CO0FBQ0Esa0JBQWtCLGVBQWU7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsRUFBRSxZQUFZO0FBQ2Q7QUFDQTtBQUNBLE1BQU0sb0JBQW9CO0FBQzFCLGFBQWEsbUJBQW1CLENBQUMsUUFBUTtBQUN6QztBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUMsQ0FBQyxtQkFBbUI7O0FBRWM7QUFDbkMscUJBQVk7QUFDWixxQkFBWSxnQkFBZ0IsbUJBQW1CLEM7O0FDM0k2RjtBQUNOO0FBQ047QUFDa0M7QUFDdEI7O0FBRTVJLFNBQVMsb0JBQVksV0FBVyxpQ0FBaUMsaUNBQXlCLEdBQUcseUNBQXlDLGFBQWEsZUFBZSxrQkFBa0IsaUNBQWlDLGlCQUFpQixlQUFlLG1CQUFtQix5REFBeUQsRUFBRSxPQUFPLHVDQUF1QyxFQUFFLFFBQVEsMEJBQTBCLGVBQWUsR0FBRzs7QUFFdmEsU0FBUyxpQ0FBeUIsSUFBSSx3RUFBd0UsMENBQTBDLDhDQUE4QyxNQUFNLDZFQUE2RSxHQUFHLGFBQWEsRUFBRSxZQUFZLGNBQWMsRUFBRTs7QUFFdlU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUMrQjtBQUNRO0FBQ1M7QUFDQztBQUNqRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLEVBQUUsU0FBUzs7QUFFWCxlQUFlLG9CQUFZOztBQUUzQjtBQUNBOztBQUVBLElBQUksZUFBZTs7QUFFbkIscUNBQXFDOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLDhCQUFTO0FBQ2I7QUFDQTs7QUFFQSxFQUFFLFlBQVk7QUFDZDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7O0FBRS9CO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBLG9EQUFvRDs7QUFFcEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBLGFBQWEsbUJBQW1CLENBQUMsZ0JBQWdCO0FBQ2pELFFBQVEsb0JBQW9CO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0dBQWtHOztBQUVsRztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUIsbUJBQW1CO0FBQ3BDOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUMsQ0FBQyxtQkFBbUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUFlLHFCQUFxQixFOztBQ3BOcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUMrQjtBQUNLOztBQUVwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxtQkFBbUI7QUFDOUIsR0FBRzs7O0FBR0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUFlLFVBQVEsaUJBQWlCLEU7O0FDbEMwRztBQUNOO0FBQ047QUFDTjtBQUNrQztBQUN0Qjs7QUFFNUksU0FBUyxtQkFBWSxXQUFXLGlDQUFpQyxnQ0FBeUIsR0FBRyx5Q0FBeUMsYUFBYSxlQUFlLGtCQUFrQixpQ0FBaUMsaUJBQWlCLGVBQWUsbUJBQW1CLHlEQUF5RCxFQUFFLE9BQU8sdUNBQXVDLEVBQUUsUUFBUSwwQkFBMEIsZUFBZSxHQUFHOztBQUV2YSxTQUFTLGdDQUF5QixJQUFJLHdFQUF3RSwwQ0FBMEMsOENBQThDLE1BQU0sNkVBQTZFLEdBQUcsYUFBYSxFQUFFLFlBQVksY0FBYyxFQUFFOztBQUV2VTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxZQUFNLEdBQUcsU0FBSSxJQUFJLFNBQUk7QUFDekI7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDJIQUEySCxjQUFjO0FBQ3pJO0FBQ0E7QUFDQTtBQUNBOztBQUUrQjtBQUNRO0FBQ2U7QUFDaUM7QUFDL0I7QUFDeEQsSUFBSSxxQkFBYSxHQUFHLG1CQUFzQixJQUFJLE9BQWM7O0FBRTVEO0FBQ0EsTUFBTSxLQUFxQyxFQUFFLEVBRTFDOztBQUVILFNBQVMsYUFBYSwrQkFBK0IsRUFBRSxtQkFBbUI7QUFDMUU7QUFDQSxHQUFHLEdBQUcsZ0JBQWdCO0FBQ3RCOztBQUVBO0FBQ0EsRUFBRSxTQUFTOztBQUVYLGVBQWUsbUJBQVk7O0FBRTNCO0FBQ0EsSUFBSSxlQUFlOztBQUVuQjtBQUNBOztBQUVBLEVBQUUsWUFBWTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLFlBQU07O0FBRTdCO0FBQ0EsMkJBQTJCLFlBQU07O0FBRWpDLGNBQWMscUJBQWEseUJBQXlCLHFCQUFhO0FBQ2pFO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQSxhQUFhLG1CQUFtQixDQUFDLGdCQUFnQjtBQUNqRDtBQUNBLFVBQVUsb0JBQW9CO0FBQzlCOztBQUVBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsY0FBYzs7QUFFakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3Q0FBd0Msb0NBQWtCO0FBQzFEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix5QkFBeUIsQ0FBQyxxQkFBSywyQkFBMkIsb0NBQWtCO0FBQzdGOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUMsQ0FBQyxlQUFlOztBQUVqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUFlLGdCQUFnQixFOztBQzlINkc7QUFDTjtBQUNOO0FBQ2tDO0FBQ3RCOztBQUU1SSxTQUFTLHdCQUFZLFdBQVcsaUNBQWlDLHFDQUF5QixHQUFHLHlDQUF5QyxhQUFhLGVBQWUsa0JBQWtCLGlDQUFpQyxpQkFBaUIsZUFBZSxtQkFBbUIseURBQXlELEVBQUUsT0FBTyx1Q0FBdUMsRUFBRSxRQUFRLDBCQUEwQixlQUFlLEdBQUc7O0FBRXZhLFNBQVMscUNBQXlCLElBQUksd0VBQXdFLDBDQUEwQyw4Q0FBOEMsTUFBTSw2RUFBNkUsR0FBRyxhQUFhLEVBQUUsWUFBWSxjQUFjLEVBQUU7O0FBRXZVO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDK0I7QUFDVTtBQUNGO0FBQ1M7O0FBRWhEO0FBQ0EsRUFBRSxTQUFTOztBQUVYLGVBQWUsd0JBQVk7O0FBRTNCO0FBQ0EsSUFBSSxlQUFlOztBQUVuQjtBQUNBOztBQUVBLEVBQUUsWUFBWTtBQUNkO0FBQ0E7QUFDQTs7QUFFQSxhQUFhLG1CQUFtQixDQUFDLGdCQUFnQjtBQUNqRDtBQUNBLFVBQVUsb0JBQW9CO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtQkFBbUI7QUFDbEM7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUMsQ0FBQyxPQUFnQjs7QUFFbEI7QUFDQSxrRUFBa0UsRUFBRSxvQkFBNkI7QUFDakc7QUFDQSxDQUFDO0FBQ0QsaURBQWUsb0JBQW9CLEU7O0FDM0Y1QjtBQUNQO0FBQ0E7QUFDd0g7QUFDSDtBQUMzRDtBQUNrQjs7QUFFckUsb0JBQW9CLHdCQUF3QjtBQUM1QyxvQkFBb0Isd0JBQXdCO0FBQzVDLHNCQUFzQix3QkFBd0I7QUFDOUMsb0JBQW9CLHdCQUF3QjtBQUM1QywyQkFBMkIsd0JBQXdCO0FBQ25ELHlCQUF5QixxQ0FBcUM7QUFDOUQseUJBQXlCLHFDQUFxQztBQUNRO0FBQ0o7QUFDUjtBQUNFO0FBQ1MiLCJmaWxlIjoiNzYxNi5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgVFlQRTtcblxuKGZ1bmN0aW9uIChUWVBFKSB7XG4gIC8qKlxuICAgKiBSYXcgdGV4dFxuICAgKi9cbiAgVFlQRVtUWVBFW1wibGl0ZXJhbFwiXSA9IDBdID0gXCJsaXRlcmFsXCI7XG4gIC8qKlxuICAgKiBWYXJpYWJsZSB3L28gYW55IGZvcm1hdCwgZS5nIGB2YXJgIGluIGB0aGlzIGlzIGEge3Zhcn1gXG4gICAqL1xuXG4gIFRZUEVbVFlQRVtcImFyZ3VtZW50XCJdID0gMV0gPSBcImFyZ3VtZW50XCI7XG4gIC8qKlxuICAgKiBWYXJpYWJsZSB3LyBudW1iZXIgZm9ybWF0XG4gICAqL1xuXG4gIFRZUEVbVFlQRVtcIm51bWJlclwiXSA9IDJdID0gXCJudW1iZXJcIjtcbiAgLyoqXG4gICAqIFZhcmlhYmxlIHcvIGRhdGUgZm9ybWF0XG4gICAqL1xuXG4gIFRZUEVbVFlQRVtcImRhdGVcIl0gPSAzXSA9IFwiZGF0ZVwiO1xuICAvKipcbiAgICogVmFyaWFibGUgdy8gdGltZSBmb3JtYXRcbiAgICovXG5cbiAgVFlQRVtUWVBFW1widGltZVwiXSA9IDRdID0gXCJ0aW1lXCI7XG4gIC8qKlxuICAgKiBWYXJpYWJsZSB3LyBzZWxlY3QgZm9ybWF0XG4gICAqL1xuXG4gIFRZUEVbVFlQRVtcInNlbGVjdFwiXSA9IDVdID0gXCJzZWxlY3RcIjtcbiAgLyoqXG4gICAqIFZhcmlhYmxlIHcvIHBsdXJhbCBmb3JtYXRcbiAgICovXG5cbiAgVFlQRVtUWVBFW1wicGx1cmFsXCJdID0gNl0gPSBcInBsdXJhbFwiO1xuICAvKipcbiAgICogT25seSBwb3NzaWJsZSB3aXRoaW4gcGx1cmFsIGFyZ3VtZW50LlxuICAgKiBUaGlzIGlzIHRoZSBgI2Agc3ltYm9sIHRoYXQgd2lsbCBiZSBzdWJzdGl0dXRlZCB3aXRoIHRoZSBjb3VudC5cbiAgICovXG5cbiAgVFlQRVtUWVBFW1wicG91bmRcIl0gPSA3XSA9IFwicG91bmRcIjtcbn0pKFRZUEUgfHwgKFRZUEUgPSB7fSkpO1xuLyoqXG4gKiBUeXBlIEd1YXJkc1xuICovXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGl0ZXJhbEVsZW1lbnQoZWwpIHtcbiAgcmV0dXJuIGVsLnR5cGUgPT09IFRZUEUubGl0ZXJhbDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0FyZ3VtZW50RWxlbWVudChlbCkge1xuICByZXR1cm4gZWwudHlwZSA9PT0gVFlQRS5hcmd1bWVudDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlckVsZW1lbnQoZWwpIHtcbiAgcmV0dXJuIGVsLnR5cGUgPT09IFRZUEUubnVtYmVyO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZUVsZW1lbnQoZWwpIHtcbiAgcmV0dXJuIGVsLnR5cGUgPT09IFRZUEUuZGF0ZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1RpbWVFbGVtZW50KGVsKSB7XG4gIHJldHVybiBlbC50eXBlID09PSBUWVBFLnRpbWU7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RFbGVtZW50KGVsKSB7XG4gIHJldHVybiBlbC50eXBlID09PSBUWVBFLnNlbGVjdDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1BsdXJhbEVsZW1lbnQoZWwpIHtcbiAgcmV0dXJuIGVsLnR5cGUgPT09IFRZUEUucGx1cmFsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzUG91bmRFbGVtZW50KGVsKSB7XG4gIHJldHVybiBlbC50eXBlID09PSBUWVBFLnBvdW5kO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyU2tlbGV0b24oZWwpIHtcbiAgcmV0dXJuICEhKGVsICYmIHR5cGVvZiBlbCA9PT0gJ29iamVjdCcgJiYgZWwudHlwZSA9PT0gMFxuICAvKiBudW1iZXIgKi9cbiAgKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGVUaW1lU2tlbGV0b24oZWwpIHtcbiAgcmV0dXJuICEhKGVsICYmIHR5cGVvZiBlbCA9PT0gJ29iamVjdCcgJiYgZWwudHlwZSA9PT0gMVxuICAvKiBkYXRlVGltZSAqL1xuICApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpdGVyYWxFbGVtZW50KHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogVFlQRS5saXRlcmFsLFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU51bWJlckVsZW1lbnQodmFsdWUsIHN0eWxlKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogVFlQRS5udW1iZXIsXG4gICAgdmFsdWU6IHZhbHVlLFxuICAgIHN0eWxlOiBzdHlsZVxuICB9O1xufSIsIi8vIHRzbGludDpkaXNhYmxlOm9ubHktYXJyb3ctZnVuY3Rpb25zXG4vLyB0c2xpbnQ6ZGlzYWJsZTpvYmplY3QtbGl0ZXJhbC1zaG9ydGhhbmRcbi8vIHRzbGludDpkaXNhYmxlOnRyYWlsaW5nLWNvbW1hXG4vLyB0c2xpbnQ6ZGlzYWJsZTpvYmplY3QtbGl0ZXJhbC1zb3J0LWtleXNcbi8vIHRzbGludDpkaXNhYmxlOm9uZS12YXJpYWJsZS1wZXItZGVjbGFyYXRpb25cbi8vIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aFxuLy8gdHNsaW50OmRpc2FibGU6bm8tY29uc2VjdXRpdmUtYmxhbmstbGluZXNcbi8vIHRzbGludDpkaXNhYmxlOmFsaWduXG52YXIgX19leHRlbmRzID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbiAoKSB7XG4gIHZhciBfZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIGV4dGVuZFN0YXRpY3MoZCwgYikge1xuICAgIF9leHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHtcbiAgICAgIF9fcHJvdG9fXzogW11cbiAgICB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHtcbiAgICAgIGQuX19wcm90b19fID0gYjtcbiAgICB9IHx8IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICBmb3IgKHZhciBwIGluIGIpIHtcbiAgICAgICAgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gX2V4dGVuZFN0YXRpY3MoZCwgYik7XG4gIH07XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgX2V4dGVuZFN0YXRpY3MoZCwgYik7XG5cbiAgICBmdW5jdGlvbiBfXygpIHtcbiAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBkO1xuICAgIH1cblxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcbiAgfTtcbn0oKTtcblxudmFyIF9fYXNzaWduID0gdGhpcyAmJiB0aGlzLl9fYXNzaWduIHx8IGZ1bmN0aW9uICgpIHtcbiAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0KSB7XG4gICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICBzID0gYXJndW1lbnRzW2ldO1xuXG4gICAgICBmb3IgKHZhciBwIGluIHMpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHQ7XG4gIH07XG5cbiAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG59OyAvLyBHZW5lcmF0ZWQgYnkgUEVHLmpzIHYuIDAuMTAuMCAodHMtcGVnanMgcGx1Z2luIHYuIDAuMi42IClcbi8vXG4vLyBodHRwczovL3BlZ2pzLm9yZy8gICBodHRwczovL2dpdGh1Yi5jb20vbWV0YWRldnByby90cy1wZWdqc1xuXG5cbmltcG9ydCB7IFRZUEUgfSBmcm9tICcuL3R5cGVzJztcblxudmFyIFN5bnRheEVycm9yID1cbi8qKiBAY2xhc3MgKi9cbmZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgX19leHRlbmRzKFN5bnRheEVycm9yLCBfc3VwZXIpO1xuXG4gIGZ1bmN0aW9uIFN5bnRheEVycm9yKG1lc3NhZ2UsIGV4cGVjdGVkLCBmb3VuZCwgbG9jYXRpb24pIHtcbiAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuXG4gICAgX3RoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgX3RoaXMuZXhwZWN0ZWQgPSBleHBlY3RlZDtcbiAgICBfdGhpcy5mb3VuZCA9IGZvdW5kO1xuICAgIF90aGlzLmxvY2F0aW9uID0gbG9jYXRpb247XG4gICAgX3RoaXMubmFtZSA9IFwiU3ludGF4RXJyb3JcIjtcblxuICAgIGlmICh0eXBlb2YgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoX3RoaXMsIFN5bnRheEVycm9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBTeW50YXhFcnJvci5idWlsZE1lc3NhZ2UgPSBmdW5jdGlvbiAoZXhwZWN0ZWQsIGZvdW5kKSB7XG4gICAgZnVuY3Rpb24gaGV4KGNoKSB7XG4gICAgICByZXR1cm4gY2guY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBsaXRlcmFsRXNjYXBlKHMpIHtcbiAgICAgIHJldHVybiBzLnJlcGxhY2UoL1xcXFwvZywgXCJcXFxcXFxcXFwiKS5yZXBsYWNlKC9cIi9nLCBcIlxcXFxcXFwiXCIpLnJlcGxhY2UoL1xcMC9nLCBcIlxcXFwwXCIpLnJlcGxhY2UoL1xcdC9nLCBcIlxcXFx0XCIpLnJlcGxhY2UoL1xcbi9nLCBcIlxcXFxuXCIpLnJlcGxhY2UoL1xcci9nLCBcIlxcXFxyXCIpLnJlcGxhY2UoL1tcXHgwMC1cXHgwRl0vZywgZnVuY3Rpb24gKGNoKSB7XG4gICAgICAgIHJldHVybiBcIlxcXFx4MFwiICsgaGV4KGNoKTtcbiAgICAgIH0pLnJlcGxhY2UoL1tcXHgxMC1cXHgxRlxceDdGLVxceDlGXS9nLCBmdW5jdGlvbiAoY2gpIHtcbiAgICAgICAgcmV0dXJuIFwiXFxcXHhcIiArIGhleChjaCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjbGFzc0VzY2FwZShzKSB7XG4gICAgICByZXR1cm4gcy5yZXBsYWNlKC9cXFxcL2csIFwiXFxcXFxcXFxcIikucmVwbGFjZSgvXFxdL2csIFwiXFxcXF1cIikucmVwbGFjZSgvXFxeL2csIFwiXFxcXF5cIikucmVwbGFjZSgvLS9nLCBcIlxcXFwtXCIpLnJlcGxhY2UoL1xcMC9nLCBcIlxcXFwwXCIpLnJlcGxhY2UoL1xcdC9nLCBcIlxcXFx0XCIpLnJlcGxhY2UoL1xcbi9nLCBcIlxcXFxuXCIpLnJlcGxhY2UoL1xcci9nLCBcIlxcXFxyXCIpLnJlcGxhY2UoL1tcXHgwMC1cXHgwRl0vZywgZnVuY3Rpb24gKGNoKSB7XG4gICAgICAgIHJldHVybiBcIlxcXFx4MFwiICsgaGV4KGNoKTtcbiAgICAgIH0pLnJlcGxhY2UoL1tcXHgxMC1cXHgxRlxceDdGLVxceDlGXS9nLCBmdW5jdGlvbiAoY2gpIHtcbiAgICAgICAgcmV0dXJuIFwiXFxcXHhcIiArIGhleChjaCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBkZXNjcmliZUV4cGVjdGF0aW9uKGV4cGVjdGF0aW9uKSB7XG4gICAgICBzd2l0Y2ggKGV4cGVjdGF0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBcImxpdGVyYWxcIjpcbiAgICAgICAgICByZXR1cm4gXCJcXFwiXCIgKyBsaXRlcmFsRXNjYXBlKGV4cGVjdGF0aW9uLnRleHQpICsgXCJcXFwiXCI7XG5cbiAgICAgICAgY2FzZSBcImNsYXNzXCI6XG4gICAgICAgICAgdmFyIGVzY2FwZWRQYXJ0cyA9IGV4cGVjdGF0aW9uLnBhcnRzLm1hcChmdW5jdGlvbiAocGFydCkge1xuICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocGFydCkgPyBjbGFzc0VzY2FwZShwYXJ0WzBdKSArIFwiLVwiICsgY2xhc3NFc2NhcGUocGFydFsxXSkgOiBjbGFzc0VzY2FwZShwYXJ0KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gXCJbXCIgKyAoZXhwZWN0YXRpb24uaW52ZXJ0ZWQgPyBcIl5cIiA6IFwiXCIpICsgZXNjYXBlZFBhcnRzICsgXCJdXCI7XG5cbiAgICAgICAgY2FzZSBcImFueVwiOlxuICAgICAgICAgIHJldHVybiBcImFueSBjaGFyYWN0ZXJcIjtcblxuICAgICAgICBjYXNlIFwiZW5kXCI6XG4gICAgICAgICAgcmV0dXJuIFwiZW5kIG9mIGlucHV0XCI7XG5cbiAgICAgICAgY2FzZSBcIm90aGVyXCI6XG4gICAgICAgICAgcmV0dXJuIGV4cGVjdGF0aW9uLmRlc2NyaXB0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRlc2NyaWJlRXhwZWN0ZWQoZXhwZWN0ZWQxKSB7XG4gICAgICB2YXIgZGVzY3JpcHRpb25zID0gZXhwZWN0ZWQxLm1hcChkZXNjcmliZUV4cGVjdGF0aW9uKTtcbiAgICAgIHZhciBpO1xuICAgICAgdmFyIGo7XG4gICAgICBkZXNjcmlwdGlvbnMuc29ydCgpO1xuXG4gICAgICBpZiAoZGVzY3JpcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChpID0gMSwgaiA9IDE7IGkgPCBkZXNjcmlwdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoZGVzY3JpcHRpb25zW2kgLSAxXSAhPT0gZGVzY3JpcHRpb25zW2ldKSB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbnNbal0gPSBkZXNjcmlwdGlvbnNbaV07XG4gICAgICAgICAgICBqKys7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGVzY3JpcHRpb25zLmxlbmd0aCA9IGo7XG4gICAgICB9XG5cbiAgICAgIHN3aXRjaCAoZGVzY3JpcHRpb25zLmxlbmd0aCkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uc1swXTtcblxuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uc1swXSArIFwiIG9yIFwiICsgZGVzY3JpcHRpb25zWzFdO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9ucy5zbGljZSgwLCAtMSkuam9pbihcIiwgXCIpICsgXCIsIG9yIFwiICsgZGVzY3JpcHRpb25zW2Rlc2NyaXB0aW9ucy5sZW5ndGggLSAxXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBkZXNjcmliZUZvdW5kKGZvdW5kMSkge1xuICAgICAgcmV0dXJuIGZvdW5kMSA/IFwiXFxcIlwiICsgbGl0ZXJhbEVzY2FwZShmb3VuZDEpICsgXCJcXFwiXCIgOiBcImVuZCBvZiBpbnB1dFwiO1xuICAgIH1cblxuICAgIHJldHVybiBcIkV4cGVjdGVkIFwiICsgZGVzY3JpYmVFeHBlY3RlZChleHBlY3RlZCkgKyBcIiBidXQgXCIgKyBkZXNjcmliZUZvdW5kKGZvdW5kKSArIFwiIGZvdW5kLlwiO1xuICB9O1xuXG4gIHJldHVybiBTeW50YXhFcnJvcjtcbn0oRXJyb3IpO1xuXG5leHBvcnQgeyBTeW50YXhFcnJvciB9O1xuXG5mdW5jdGlvbiBwZWckcGFyc2UoaW5wdXQsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgIT09IHVuZGVmaW5lZCA/IG9wdGlvbnMgOiB7fTtcbiAgdmFyIHBlZyRGQUlMRUQgPSB7fTtcbiAgdmFyIHBlZyRzdGFydFJ1bGVGdW5jdGlvbnMgPSB7XG4gICAgc3RhcnQ6IHBlZyRwYXJzZXN0YXJ0XG4gIH07XG4gIHZhciBwZWckc3RhcnRSdWxlRnVuY3Rpb24gPSBwZWckcGFyc2VzdGFydDtcblxuICB2YXIgcGVnJGMwID0gZnVuY3Rpb24gcGVnJGMwKHBhcnRzKSB7XG4gICAgcmV0dXJuIHBhcnRzLmpvaW4oJycpO1xuICB9O1xuXG4gIHZhciBwZWckYzEgPSBmdW5jdGlvbiBwZWckYzEobWVzc2FnZVRleHQpIHtcbiAgICByZXR1cm4gX19hc3NpZ24oe1xuICAgICAgdHlwZTogVFlQRS5saXRlcmFsLFxuICAgICAgdmFsdWU6IG1lc3NhZ2VUZXh0XG4gICAgfSwgaW5zZXJ0TG9jYXRpb24oKSk7XG4gIH07XG5cbiAgdmFyIHBlZyRjMiA9IFwiI1wiO1xuICB2YXIgcGVnJGMzID0gcGVnJGxpdGVyYWxFeHBlY3RhdGlvbihcIiNcIiwgZmFsc2UpO1xuXG4gIHZhciBwZWckYzQgPSBmdW5jdGlvbiBwZWckYzQoKSB7XG4gICAgcmV0dXJuIF9fYXNzaWduKHtcbiAgICAgIHR5cGU6IFRZUEUucG91bmRcbiAgICB9LCBpbnNlcnRMb2NhdGlvbigpKTtcbiAgfTtcblxuICB2YXIgcGVnJGM1ID0gcGVnJG90aGVyRXhwZWN0YXRpb24oXCJhcmd1bWVudEVsZW1lbnRcIik7XG4gIHZhciBwZWckYzYgPSBcIntcIjtcbiAgdmFyIHBlZyRjNyA9IHBlZyRsaXRlcmFsRXhwZWN0YXRpb24oXCJ7XCIsIGZhbHNlKTtcbiAgdmFyIHBlZyRjOCA9IFwifVwiO1xuICB2YXIgcGVnJGM5ID0gcGVnJGxpdGVyYWxFeHBlY3RhdGlvbihcIn1cIiwgZmFsc2UpO1xuXG4gIHZhciBwZWckYzEwID0gZnVuY3Rpb24gcGVnJGMxMCh2YWx1ZSkge1xuICAgIHJldHVybiBfX2Fzc2lnbih7XG4gICAgICB0eXBlOiBUWVBFLmFyZ3VtZW50LFxuICAgICAgdmFsdWU6IHZhbHVlXG4gICAgfSwgaW5zZXJ0TG9jYXRpb24oKSk7XG4gIH07XG5cbiAgdmFyIHBlZyRjMTEgPSBwZWckb3RoZXJFeHBlY3RhdGlvbihcIm51bWJlclNrZWxldG9uSWRcIik7XG4gIHZhciBwZWckYzEyID0gL15bJ1xcL3t9XS87XG4gIHZhciBwZWckYzEzID0gcGVnJGNsYXNzRXhwZWN0YXRpb24oW1wiJ1wiLCBcIi9cIiwgXCJ7XCIsIFwifVwiXSwgZmFsc2UsIGZhbHNlKTtcbiAgdmFyIHBlZyRjMTQgPSBwZWckYW55RXhwZWN0YXRpb24oKTtcbiAgdmFyIHBlZyRjMTUgPSBwZWckb3RoZXJFeHBlY3RhdGlvbihcIm51bWJlclNrZWxldG9uVG9rZW5PcHRpb25cIik7XG4gIHZhciBwZWckYzE2ID0gXCIvXCI7XG4gIHZhciBwZWckYzE3ID0gcGVnJGxpdGVyYWxFeHBlY3RhdGlvbihcIi9cIiwgZmFsc2UpO1xuXG4gIHZhciBwZWckYzE4ID0gZnVuY3Rpb24gcGVnJGMxOChvcHRpb24pIHtcbiAgICByZXR1cm4gb3B0aW9uO1xuICB9O1xuXG4gIHZhciBwZWckYzE5ID0gcGVnJG90aGVyRXhwZWN0YXRpb24oXCJudW1iZXJTa2VsZXRvblRva2VuXCIpO1xuXG4gIHZhciBwZWckYzIwID0gZnVuY3Rpb24gcGVnJGMyMChzdGVtLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0ZW06IHN0ZW0sXG4gICAgICBvcHRpb25zOiBvcHRpb25zXG4gICAgfTtcbiAgfTtcblxuICB2YXIgcGVnJGMyMSA9IGZ1bmN0aW9uIHBlZyRjMjEodG9rZW5zKSB7XG4gICAgcmV0dXJuIF9fYXNzaWduKHtcbiAgICAgIHR5cGU6IDBcbiAgICAgIC8qIG51bWJlciAqL1xuICAgICAgLFxuICAgICAgdG9rZW5zOiB0b2tlbnNcbiAgICB9LCBpbnNlcnRMb2NhdGlvbigpKTtcbiAgfTtcblxuICB2YXIgcGVnJGMyMiA9IFwiOjpcIjtcbiAgdmFyIHBlZyRjMjMgPSBwZWckbGl0ZXJhbEV4cGVjdGF0aW9uKFwiOjpcIiwgZmFsc2UpO1xuXG4gIHZhciBwZWckYzI0ID0gZnVuY3Rpb24gcGVnJGMyNChza2VsZXRvbikge1xuICAgIHJldHVybiBza2VsZXRvbjtcbiAgfTtcblxuICB2YXIgcGVnJGMyNSA9IGZ1bmN0aW9uIHBlZyRjMjUoKSB7XG4gICAgbWVzc2FnZUN0eC5wdXNoKCdudW1iZXJBcmdTdHlsZScpO1xuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIHZhciBwZWckYzI2ID0gZnVuY3Rpb24gcGVnJGMyNihzdHlsZSkge1xuICAgIG1lc3NhZ2VDdHgucG9wKCk7XG4gICAgcmV0dXJuIHN0eWxlLnJlcGxhY2UoL1xccyokLywgJycpO1xuICB9O1xuXG4gIHZhciBwZWckYzI3ID0gXCIsXCI7XG4gIHZhciBwZWckYzI4ID0gcGVnJGxpdGVyYWxFeHBlY3RhdGlvbihcIixcIiwgZmFsc2UpO1xuICB2YXIgcGVnJGMyOSA9IFwibnVtYmVyXCI7XG4gIHZhciBwZWckYzMwID0gcGVnJGxpdGVyYWxFeHBlY3RhdGlvbihcIm51bWJlclwiLCBmYWxzZSk7XG5cbiAgdmFyIHBlZyRjMzEgPSBmdW5jdGlvbiBwZWckYzMxKHZhbHVlLCB0eXBlLCBzdHlsZSkge1xuICAgIHJldHVybiBfX2Fzc2lnbih7XG4gICAgICB0eXBlOiB0eXBlID09PSAnbnVtYmVyJyA/IFRZUEUubnVtYmVyIDogdHlwZSA9PT0gJ2RhdGUnID8gVFlQRS5kYXRlIDogVFlQRS50aW1lLFxuICAgICAgc3R5bGU6IHN0eWxlICYmIHN0eWxlWzJdLFxuICAgICAgdmFsdWU6IHZhbHVlXG4gICAgfSwgaW5zZXJ0TG9jYXRpb24oKSk7XG4gIH07XG5cbiAgdmFyIHBlZyRjMzIgPSBcIidcIjtcbiAgdmFyIHBlZyRjMzMgPSBwZWckbGl0ZXJhbEV4cGVjdGF0aW9uKFwiJ1wiLCBmYWxzZSk7XG4gIHZhciBwZWckYzM0ID0gL15bXiddLztcbiAgdmFyIHBlZyRjMzUgPSBwZWckY2xhc3NFeHBlY3RhdGlvbihbXCInXCJdLCB0cnVlLCBmYWxzZSk7XG4gIHZhciBwZWckYzM2ID0gL15bXmEtekEtWid7fV0vO1xuICB2YXIgcGVnJGMzNyA9IHBlZyRjbGFzc0V4cGVjdGF0aW9uKFtbXCJhXCIsIFwielwiXSwgW1wiQVwiLCBcIlpcIl0sIFwiJ1wiLCBcIntcIiwgXCJ9XCJdLCB0cnVlLCBmYWxzZSk7XG4gIHZhciBwZWckYzM4ID0gL15bYS16QS1aXS87XG4gIHZhciBwZWckYzM5ID0gcGVnJGNsYXNzRXhwZWN0YXRpb24oW1tcImFcIiwgXCJ6XCJdLCBbXCJBXCIsIFwiWlwiXV0sIGZhbHNlLCBmYWxzZSk7XG5cbiAgdmFyIHBlZyRjNDAgPSBmdW5jdGlvbiBwZWckYzQwKHBhdHRlcm4pIHtcbiAgICByZXR1cm4gX19hc3NpZ24oe1xuICAgICAgdHlwZTogMVxuICAgICAgLyogZGF0ZVRpbWUgKi9cbiAgICAgICxcbiAgICAgIHBhdHRlcm46IHBhdHRlcm5cbiAgICB9LCBpbnNlcnRMb2NhdGlvbigpKTtcbiAgfTtcblxuICB2YXIgcGVnJGM0MSA9IGZ1bmN0aW9uIHBlZyRjNDEoKSB7XG4gICAgbWVzc2FnZUN0eC5wdXNoKCdkYXRlT3JUaW1lQXJnU3R5bGUnKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICB2YXIgcGVnJGM0MiA9IFwiZGF0ZVwiO1xuICB2YXIgcGVnJGM0MyA9IHBlZyRsaXRlcmFsRXhwZWN0YXRpb24oXCJkYXRlXCIsIGZhbHNlKTtcbiAgdmFyIHBlZyRjNDQgPSBcInRpbWVcIjtcbiAgdmFyIHBlZyRjNDUgPSBwZWckbGl0ZXJhbEV4cGVjdGF0aW9uKFwidGltZVwiLCBmYWxzZSk7XG4gIHZhciBwZWckYzQ2ID0gXCJwbHVyYWxcIjtcbiAgdmFyIHBlZyRjNDcgPSBwZWckbGl0ZXJhbEV4cGVjdGF0aW9uKFwicGx1cmFsXCIsIGZhbHNlKTtcbiAgdmFyIHBlZyRjNDggPSBcInNlbGVjdG9yZGluYWxcIjtcbiAgdmFyIHBlZyRjNDkgPSBwZWckbGl0ZXJhbEV4cGVjdGF0aW9uKFwic2VsZWN0b3JkaW5hbFwiLCBmYWxzZSk7XG4gIHZhciBwZWckYzUwID0gXCJvZmZzZXQ6XCI7XG4gIHZhciBwZWckYzUxID0gcGVnJGxpdGVyYWxFeHBlY3RhdGlvbihcIm9mZnNldDpcIiwgZmFsc2UpO1xuXG4gIHZhciBwZWckYzUyID0gZnVuY3Rpb24gcGVnJGM1Mih2YWx1ZSwgcGx1cmFsVHlwZSwgb2Zmc2V0LCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIF9fYXNzaWduKHtcbiAgICAgIHR5cGU6IFRZUEUucGx1cmFsLFxuICAgICAgcGx1cmFsVHlwZTogcGx1cmFsVHlwZSA9PT0gJ3BsdXJhbCcgPyAnY2FyZGluYWwnIDogJ29yZGluYWwnLFxuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgb2Zmc2V0OiBvZmZzZXQgPyBvZmZzZXRbMl0gOiAwLFxuICAgICAgb3B0aW9uczogb3B0aW9ucy5yZWR1Y2UoZnVuY3Rpb24gKGFsbCwgX2EpIHtcbiAgICAgICAgdmFyIGlkID0gX2EuaWQsXG4gICAgICAgICAgICB2YWx1ZSA9IF9hLnZhbHVlLFxuICAgICAgICAgICAgb3B0aW9uTG9jYXRpb24gPSBfYS5sb2NhdGlvbjtcblxuICAgICAgICBpZiAoaWQgaW4gYWxsKSB7XG4gICAgICAgICAgZXJyb3IoXCJEdXBsaWNhdGUgb3B0aW9uIFxcXCJcIiArIGlkICsgXCJcXFwiIGluIHBsdXJhbCBlbGVtZW50OiBcXFwiXCIgKyB0ZXh0KCkgKyBcIlxcXCJcIiwgbG9jYXRpb24oKSk7XG4gICAgICAgIH1cblxuICAgICAgICBhbGxbaWRdID0ge1xuICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICBsb2NhdGlvbjogb3B0aW9uTG9jYXRpb25cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGFsbDtcbiAgICAgIH0sIHt9KVxuICAgIH0sIGluc2VydExvY2F0aW9uKCkpO1xuICB9O1xuXG4gIHZhciBwZWckYzUzID0gXCJzZWxlY3RcIjtcbiAgdmFyIHBlZyRjNTQgPSBwZWckbGl0ZXJhbEV4cGVjdGF0aW9uKFwic2VsZWN0XCIsIGZhbHNlKTtcblxuICB2YXIgcGVnJGM1NSA9IGZ1bmN0aW9uIHBlZyRjNTUodmFsdWUsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gX19hc3NpZ24oe1xuICAgICAgdHlwZTogVFlQRS5zZWxlY3QsXG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBvcHRpb25zOiBvcHRpb25zLnJlZHVjZShmdW5jdGlvbiAoYWxsLCBfYSkge1xuICAgICAgICB2YXIgaWQgPSBfYS5pZCxcbiAgICAgICAgICAgIHZhbHVlID0gX2EudmFsdWUsXG4gICAgICAgICAgICBvcHRpb25Mb2NhdGlvbiA9IF9hLmxvY2F0aW9uO1xuXG4gICAgICAgIGlmIChpZCBpbiBhbGwpIHtcbiAgICAgICAgICBlcnJvcihcIkR1cGxpY2F0ZSBvcHRpb24gXFxcIlwiICsgaWQgKyBcIlxcXCIgaW4gc2VsZWN0IGVsZW1lbnQ6IFxcXCJcIiArIHRleHQoKSArIFwiXFxcIlwiLCBsb2NhdGlvbigpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFsbFtpZF0gPSB7XG4gICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgIGxvY2F0aW9uOiBvcHRpb25Mb2NhdGlvblxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYWxsO1xuICAgICAgfSwge30pXG4gICAgfSwgaW5zZXJ0TG9jYXRpb24oKSk7XG4gIH07XG5cbiAgdmFyIHBlZyRjNTYgPSBcIj1cIjtcbiAgdmFyIHBlZyRjNTcgPSBwZWckbGl0ZXJhbEV4cGVjdGF0aW9uKFwiPVwiLCBmYWxzZSk7XG5cbiAgdmFyIHBlZyRjNTggPSBmdW5jdGlvbiBwZWckYzU4KGlkKSB7XG4gICAgbWVzc2FnZUN0eC5wdXNoKCdzZWxlY3QnKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICB2YXIgcGVnJGM1OSA9IGZ1bmN0aW9uIHBlZyRjNTkoaWQsIHZhbHVlKSB7XG4gICAgbWVzc2FnZUN0eC5wb3AoKTtcbiAgICByZXR1cm4gX19hc3NpZ24oe1xuICAgICAgaWQ6IGlkLFxuICAgICAgdmFsdWU6IHZhbHVlXG4gICAgfSwgaW5zZXJ0TG9jYXRpb24oKSk7XG4gIH07XG5cbiAgdmFyIHBlZyRjNjAgPSBmdW5jdGlvbiBwZWckYzYwKGlkKSB7XG4gICAgbWVzc2FnZUN0eC5wdXNoKCdwbHVyYWwnKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICB2YXIgcGVnJGM2MSA9IGZ1bmN0aW9uIHBlZyRjNjEoaWQsIHZhbHVlKSB7XG4gICAgbWVzc2FnZUN0eC5wb3AoKTtcbiAgICByZXR1cm4gX19hc3NpZ24oe1xuICAgICAgaWQ6IGlkLFxuICAgICAgdmFsdWU6IHZhbHVlXG4gICAgfSwgaW5zZXJ0TG9jYXRpb24oKSk7XG4gIH07XG5cbiAgdmFyIHBlZyRjNjIgPSBwZWckb3RoZXJFeHBlY3RhdGlvbihcIndoaXRlc3BhY2VcIik7XG4gIHZhciBwZWckYzYzID0gL15bXFx0LVxcciBcXHg4NVxceEEwXFx1MTY4MFxcdTIwMDAtXFx1MjAwQVxcdTIwMjhcXHUyMDI5XFx1MjAyRlxcdTIwNUZcXHUzMDAwXS87XG4gIHZhciBwZWckYzY0ID0gcGVnJGNsYXNzRXhwZWN0YXRpb24oW1tcIlxcdFwiLCBcIlxcclwiXSwgXCIgXCIsIFwiXFx4ODVcIiwgXCJcXHhBMFwiLCBcIlxcdTE2ODBcIiwgW1wiXFx1MjAwMFwiLCBcIlxcdTIwMEFcIl0sIFwiXFx1MjAyOFwiLCBcIlxcdTIwMjlcIiwgXCJcXHUyMDJGXCIsIFwiXFx1MjA1RlwiLCBcIlxcdTMwMDBcIl0sIGZhbHNlLCBmYWxzZSk7XG4gIHZhciBwZWckYzY1ID0gcGVnJG90aGVyRXhwZWN0YXRpb24oXCJzeW50YXggcGF0dGVyblwiKTtcbiAgdmFyIHBlZyRjNjYgPSAvXlshLVxcLzotQFstXFxeYHstflxceEExLVxceEE3XFx4QTlcXHhBQlxceEFDXFx4QUVcXHhCMFxceEIxXFx4QjZcXHhCQlxceEJGXFx4RDdcXHhGN1xcdTIwMTAtXFx1MjAyN1xcdTIwMzAtXFx1MjAzRVxcdTIwNDEtXFx1MjA1M1xcdTIwNTUtXFx1MjA1RVxcdTIxOTAtXFx1MjQ1RlxcdTI1MDAtXFx1Mjc3NVxcdTI3OTQtXFx1MkJGRlxcdTJFMDAtXFx1MkU3RlxcdTMwMDEtXFx1MzAwM1xcdTMwMDgtXFx1MzAyMFxcdTMwMzBcXHVGRDNFXFx1RkQzRlxcdUZFNDVcXHVGRTQ2XS87XG4gIHZhciBwZWckYzY3ID0gcGVnJGNsYXNzRXhwZWN0YXRpb24oW1tcIiFcIiwgXCIvXCJdLCBbXCI6XCIsIFwiQFwiXSwgW1wiW1wiLCBcIl5cIl0sIFwiYFwiLCBbXCJ7XCIsIFwiflwiXSwgW1wiXFx4QTFcIiwgXCJcXHhBN1wiXSwgXCJcXHhBOVwiLCBcIlxceEFCXCIsIFwiXFx4QUNcIiwgXCJcXHhBRVwiLCBcIlxceEIwXCIsIFwiXFx4QjFcIiwgXCJcXHhCNlwiLCBcIlxceEJCXCIsIFwiXFx4QkZcIiwgXCJcXHhEN1wiLCBcIlxceEY3XCIsIFtcIlxcdTIwMTBcIiwgXCJcXHUyMDI3XCJdLCBbXCJcXHUyMDMwXCIsIFwiXFx1MjAzRVwiXSwgW1wiXFx1MjA0MVwiLCBcIlxcdTIwNTNcIl0sIFtcIlxcdTIwNTVcIiwgXCJcXHUyMDVFXCJdLCBbXCJcXHUyMTkwXCIsIFwiXFx1MjQ1RlwiXSwgW1wiXFx1MjUwMFwiLCBcIlxcdTI3NzVcIl0sIFtcIlxcdTI3OTRcIiwgXCJcXHUyQkZGXCJdLCBbXCJcXHUyRTAwXCIsIFwiXFx1MkU3RlwiXSwgW1wiXFx1MzAwMVwiLCBcIlxcdTMwMDNcIl0sIFtcIlxcdTMwMDhcIiwgXCJcXHUzMDIwXCJdLCBcIlxcdTMwMzBcIiwgXCJcXHVGRDNFXCIsIFwiXFx1RkQzRlwiLCBcIlxcdUZFNDVcIiwgXCJcXHVGRTQ2XCJdLCBmYWxzZSwgZmFsc2UpO1xuICB2YXIgcGVnJGM2OCA9IHBlZyRvdGhlckV4cGVjdGF0aW9uKFwib3B0aW9uYWwgd2hpdGVzcGFjZVwiKTtcbiAgdmFyIHBlZyRjNjkgPSBwZWckb3RoZXJFeHBlY3RhdGlvbihcIm51bWJlclwiKTtcbiAgdmFyIHBlZyRjNzAgPSBcIi1cIjtcbiAgdmFyIHBlZyRjNzEgPSBwZWckbGl0ZXJhbEV4cGVjdGF0aW9uKFwiLVwiLCBmYWxzZSk7XG5cbiAgdmFyIHBlZyRjNzIgPSBmdW5jdGlvbiBwZWckYzcyKG5lZ2F0aXZlLCBudW0pIHtcbiAgICByZXR1cm4gbnVtID8gbmVnYXRpdmUgPyAtbnVtIDogbnVtIDogMDtcbiAgfTtcblxuICB2YXIgcGVnJGM3MyA9IHBlZyRvdGhlckV4cGVjdGF0aW9uKFwiYXBvc3Ryb3BoZVwiKTtcbiAgdmFyIHBlZyRjNzQgPSBwZWckb3RoZXJFeHBlY3RhdGlvbihcImRvdWJsZSBhcG9zdHJvcGhlc1wiKTtcbiAgdmFyIHBlZyRjNzUgPSBcIicnXCI7XG4gIHZhciBwZWckYzc2ID0gcGVnJGxpdGVyYWxFeHBlY3RhdGlvbihcIicnXCIsIGZhbHNlKTtcblxuICB2YXIgcGVnJGM3NyA9IGZ1bmN0aW9uIHBlZyRjNzcoKSB7XG4gICAgcmV0dXJuIFwiJ1wiO1xuICB9O1xuXG4gIHZhciBwZWckYzc4ID0gZnVuY3Rpb24gcGVnJGM3OChlc2NhcGVkQ2hhciwgcXVvdGVkQ2hhcnMpIHtcbiAgICByZXR1cm4gZXNjYXBlZENoYXIgKyBxdW90ZWRDaGFycy5yZXBsYWNlKFwiJydcIiwgXCInXCIpO1xuICB9O1xuXG4gIHZhciBwZWckYzc5ID0gZnVuY3Rpb24gcGVnJGM3OSh4KSB7XG4gICAgcmV0dXJuIHggIT09ICd7JyAmJiAhKGlzSW5QbHVyYWxPcHRpb24oKSAmJiB4ID09PSAnIycpICYmICEoaXNOZXN0ZWRNZXNzYWdlVGV4dCgpICYmIHggPT09ICd9Jyk7XG4gIH07XG5cbiAgdmFyIHBlZyRjODAgPSBcIlxcblwiO1xuICB2YXIgcGVnJGM4MSA9IHBlZyRsaXRlcmFsRXhwZWN0YXRpb24oXCJcXG5cIiwgZmFsc2UpO1xuXG4gIHZhciBwZWckYzgyID0gZnVuY3Rpb24gcGVnJGM4Mih4KSB7XG4gICAgcmV0dXJuIHggPT09ICd7JyB8fCB4ID09PSAnfScgfHwgaXNJblBsdXJhbE9wdGlvbigpICYmIHggPT09ICcjJztcbiAgfTtcblxuICB2YXIgcGVnJGM4MyA9IHBlZyRvdGhlckV4cGVjdGF0aW9uKFwiYXJnTmFtZU9yTnVtYmVyXCIpO1xuICB2YXIgcGVnJGM4NCA9IHBlZyRvdGhlckV4cGVjdGF0aW9uKFwiYXJnTnVtYmVyXCIpO1xuICB2YXIgcGVnJGM4NSA9IFwiMFwiO1xuICB2YXIgcGVnJGM4NiA9IHBlZyRsaXRlcmFsRXhwZWN0YXRpb24oXCIwXCIsIGZhbHNlKTtcblxuICB2YXIgcGVnJGM4NyA9IGZ1bmN0aW9uIHBlZyRjODcoKSB7XG4gICAgcmV0dXJuIDA7XG4gIH07XG5cbiAgdmFyIHBlZyRjODggPSAvXlsxLTldLztcbiAgdmFyIHBlZyRjODkgPSBwZWckY2xhc3NFeHBlY3RhdGlvbihbW1wiMVwiLCBcIjlcIl1dLCBmYWxzZSwgZmFsc2UpO1xuICB2YXIgcGVnJGM5MCA9IC9eWzAtOV0vO1xuICB2YXIgcGVnJGM5MSA9IHBlZyRjbGFzc0V4cGVjdGF0aW9uKFtbXCIwXCIsIFwiOVwiXV0sIGZhbHNlLCBmYWxzZSk7XG5cbiAgdmFyIHBlZyRjOTIgPSBmdW5jdGlvbiBwZWckYzkyKGRpZ2l0cykge1xuICAgIHJldHVybiBwYXJzZUludChkaWdpdHMuam9pbignJyksIDEwKTtcbiAgfTtcblxuICB2YXIgcGVnJGM5MyA9IHBlZyRvdGhlckV4cGVjdGF0aW9uKFwiYXJnTmFtZVwiKTtcbiAgdmFyIHBlZyRjdXJyUG9zID0gMDtcbiAgdmFyIHBlZyRzYXZlZFBvcyA9IDA7XG4gIHZhciBwZWckcG9zRGV0YWlsc0NhY2hlID0gW3tcbiAgICBsaW5lOiAxLFxuICAgIGNvbHVtbjogMVxuICB9XTtcbiAgdmFyIHBlZyRtYXhGYWlsUG9zID0gMDtcbiAgdmFyIHBlZyRtYXhGYWlsRXhwZWN0ZWQgPSBbXTtcbiAgdmFyIHBlZyRzaWxlbnRGYWlscyA9IDA7XG4gIHZhciBwZWckcmVzdWx0O1xuXG4gIGlmIChvcHRpb25zLnN0YXJ0UnVsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKCEob3B0aW9ucy5zdGFydFJ1bGUgaW4gcGVnJHN0YXJ0UnVsZUZ1bmN0aW9ucykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbid0IHN0YXJ0IHBhcnNpbmcgZnJvbSBydWxlIFxcXCJcIiArIG9wdGlvbnMuc3RhcnRSdWxlICsgXCJcXFwiLlwiKTtcbiAgICB9XG5cbiAgICBwZWckc3RhcnRSdWxlRnVuY3Rpb24gPSBwZWckc3RhcnRSdWxlRnVuY3Rpb25zW29wdGlvbnMuc3RhcnRSdWxlXTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRleHQoKSB7XG4gICAgcmV0dXJuIGlucHV0LnN1YnN0cmluZyhwZWckc2F2ZWRQb3MsIHBlZyRjdXJyUG9zKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGxvY2F0aW9uKCkge1xuICAgIHJldHVybiBwZWckY29tcHV0ZUxvY2F0aW9uKHBlZyRzYXZlZFBvcywgcGVnJGN1cnJQb3MpO1xuICB9XG5cbiAgZnVuY3Rpb24gZXhwZWN0ZWQoZGVzY3JpcHRpb24sIGxvY2F0aW9uMSkge1xuICAgIGxvY2F0aW9uMSA9IGxvY2F0aW9uMSAhPT0gdW5kZWZpbmVkID8gbG9jYXRpb24xIDogcGVnJGNvbXB1dGVMb2NhdGlvbihwZWckc2F2ZWRQb3MsIHBlZyRjdXJyUG9zKTtcbiAgICB0aHJvdyBwZWckYnVpbGRTdHJ1Y3R1cmVkRXJyb3IoW3BlZyRvdGhlckV4cGVjdGF0aW9uKGRlc2NyaXB0aW9uKV0sIGlucHV0LnN1YnN0cmluZyhwZWckc2F2ZWRQb3MsIHBlZyRjdXJyUG9zKSwgbG9jYXRpb24xKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVycm9yKG1lc3NhZ2UsIGxvY2F0aW9uMSkge1xuICAgIGxvY2F0aW9uMSA9IGxvY2F0aW9uMSAhPT0gdW5kZWZpbmVkID8gbG9jYXRpb24xIDogcGVnJGNvbXB1dGVMb2NhdGlvbihwZWckc2F2ZWRQb3MsIHBlZyRjdXJyUG9zKTtcbiAgICB0aHJvdyBwZWckYnVpbGRTaW1wbGVFcnJvcihtZXNzYWdlLCBsb2NhdGlvbjEpO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJGxpdGVyYWxFeHBlY3RhdGlvbih0ZXh0MSwgaWdub3JlQ2FzZSkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBcImxpdGVyYWxcIixcbiAgICAgIHRleHQ6IHRleHQxLFxuICAgICAgaWdub3JlQ2FzZTogaWdub3JlQ2FzZVxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBwZWckY2xhc3NFeHBlY3RhdGlvbihwYXJ0cywgaW52ZXJ0ZWQsIGlnbm9yZUNhc2UpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJjbGFzc1wiLFxuICAgICAgcGFydHM6IHBhcnRzLFxuICAgICAgaW52ZXJ0ZWQ6IGludmVydGVkLFxuICAgICAgaWdub3JlQ2FzZTogaWdub3JlQ2FzZVxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBwZWckYW55RXhwZWN0YXRpb24oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFwiYW55XCJcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJGVuZEV4cGVjdGF0aW9uKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBcImVuZFwiXG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRvdGhlckV4cGVjdGF0aW9uKGRlc2NyaXB0aW9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFwib3RoZXJcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvblxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBwZWckY29tcHV0ZVBvc0RldGFpbHMocG9zKSB7XG4gICAgdmFyIGRldGFpbHMgPSBwZWckcG9zRGV0YWlsc0NhY2hlW3Bvc107XG4gICAgdmFyIHA7XG5cbiAgICBpZiAoZGV0YWlscykge1xuICAgICAgcmV0dXJuIGRldGFpbHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHAgPSBwb3MgLSAxO1xuXG4gICAgICB3aGlsZSAoIXBlZyRwb3NEZXRhaWxzQ2FjaGVbcF0pIHtcbiAgICAgICAgcC0tO1xuICAgICAgfVxuXG4gICAgICBkZXRhaWxzID0gcGVnJHBvc0RldGFpbHNDYWNoZVtwXTtcbiAgICAgIGRldGFpbHMgPSB7XG4gICAgICAgIGxpbmU6IGRldGFpbHMubGluZSxcbiAgICAgICAgY29sdW1uOiBkZXRhaWxzLmNvbHVtblxuICAgICAgfTtcblxuICAgICAgd2hpbGUgKHAgPCBwb3MpIHtcbiAgICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQocCkgPT09IDEwKSB7XG4gICAgICAgICAgZGV0YWlscy5saW5lKys7XG4gICAgICAgICAgZGV0YWlscy5jb2x1bW4gPSAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRldGFpbHMuY29sdW1uKys7XG4gICAgICAgIH1cblxuICAgICAgICBwKys7XG4gICAgICB9XG5cbiAgICAgIHBlZyRwb3NEZXRhaWxzQ2FjaGVbcG9zXSA9IGRldGFpbHM7XG4gICAgICByZXR1cm4gZGV0YWlscztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBwZWckY29tcHV0ZUxvY2F0aW9uKHN0YXJ0UG9zLCBlbmRQb3MpIHtcbiAgICB2YXIgc3RhcnRQb3NEZXRhaWxzID0gcGVnJGNvbXB1dGVQb3NEZXRhaWxzKHN0YXJ0UG9zKTtcbiAgICB2YXIgZW5kUG9zRGV0YWlscyA9IHBlZyRjb21wdXRlUG9zRGV0YWlscyhlbmRQb3MpO1xuICAgIHJldHVybiB7XG4gICAgICBzdGFydDoge1xuICAgICAgICBvZmZzZXQ6IHN0YXJ0UG9zLFxuICAgICAgICBsaW5lOiBzdGFydFBvc0RldGFpbHMubGluZSxcbiAgICAgICAgY29sdW1uOiBzdGFydFBvc0RldGFpbHMuY29sdW1uXG4gICAgICB9LFxuICAgICAgZW5kOiB7XG4gICAgICAgIG9mZnNldDogZW5kUG9zLFxuICAgICAgICBsaW5lOiBlbmRQb3NEZXRhaWxzLmxpbmUsXG4gICAgICAgIGNvbHVtbjogZW5kUG9zRGV0YWlscy5jb2x1bW5cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJGZhaWwoZXhwZWN0ZWQxKSB7XG4gICAgaWYgKHBlZyRjdXJyUG9zIDwgcGVnJG1heEZhaWxQb3MpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocGVnJGN1cnJQb3MgPiBwZWckbWF4RmFpbFBvcykge1xuICAgICAgcGVnJG1heEZhaWxQb3MgPSBwZWckY3VyclBvcztcbiAgICAgIHBlZyRtYXhGYWlsRXhwZWN0ZWQgPSBbXTtcbiAgICB9XG5cbiAgICBwZWckbWF4RmFpbEV4cGVjdGVkLnB1c2goZXhwZWN0ZWQxKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRidWlsZFNpbXBsZUVycm9yKG1lc3NhZ2UsIGxvY2F0aW9uMSkge1xuICAgIHJldHVybiBuZXcgU3ludGF4RXJyb3IobWVzc2FnZSwgW10sIFwiXCIsIGxvY2F0aW9uMSk7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckYnVpbGRTdHJ1Y3R1cmVkRXJyb3IoZXhwZWN0ZWQxLCBmb3VuZCwgbG9jYXRpb24xKSB7XG4gICAgcmV0dXJuIG5ldyBTeW50YXhFcnJvcihTeW50YXhFcnJvci5idWlsZE1lc3NhZ2UoZXhwZWN0ZWQxLCBmb3VuZCksIGV4cGVjdGVkMSwgZm91bmQsIGxvY2F0aW9uMSk7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VzdGFydCgpIHtcbiAgICB2YXIgczA7XG4gICAgczAgPSBwZWckcGFyc2VtZXNzYWdlKCk7XG4gICAgcmV0dXJuIHMwO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJHBhcnNlbWVzc2FnZSgpIHtcbiAgICB2YXIgczAsIHMxO1xuICAgIHMwID0gW107XG4gICAgczEgPSBwZWckcGFyc2VtZXNzYWdlRWxlbWVudCgpO1xuXG4gICAgd2hpbGUgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMC5wdXNoKHMxKTtcbiAgICAgIHMxID0gcGVnJHBhcnNlbWVzc2FnZUVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VtZXNzYWdlRWxlbWVudCgpIHtcbiAgICB2YXIgczA7XG4gICAgczAgPSBwZWckcGFyc2VsaXRlcmFsRWxlbWVudCgpO1xuXG4gICAgaWYgKHMwID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMCA9IHBlZyRwYXJzZWFyZ3VtZW50RWxlbWVudCgpO1xuXG4gICAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczAgPSBwZWckcGFyc2VzaW1wbGVGb3JtYXRFbGVtZW50KCk7XG5cbiAgICAgICAgaWYgKHMwID09PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgczAgPSBwZWckcGFyc2VwbHVyYWxFbGVtZW50KCk7XG5cbiAgICAgICAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgIHMwID0gcGVnJHBhcnNlc2VsZWN0RWxlbWVudCgpO1xuXG4gICAgICAgICAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgczAgPSBwZWckcGFyc2Vwb3VuZEVsZW1lbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VtZXNzYWdlVGV4dCgpIHtcbiAgICB2YXIgczAsIHMxLCBzMjtcbiAgICBzMCA9IHBlZyRjdXJyUG9zO1xuICAgIHMxID0gW107XG4gICAgczIgPSBwZWckcGFyc2Vkb3VibGVBcG9zdHJvcGhlcygpO1xuXG4gICAgaWYgKHMyID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMiA9IHBlZyRwYXJzZXF1b3RlZFN0cmluZygpO1xuXG4gICAgICBpZiAoczIgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczIgPSBwZWckcGFyc2V1bnF1b3RlZFN0cmluZygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgd2hpbGUgKHMyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgIHMxLnB1c2goczIpO1xuICAgICAgICBzMiA9IHBlZyRwYXJzZWRvdWJsZUFwb3N0cm9waGVzKCk7XG5cbiAgICAgICAgaWYgKHMyID09PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgczIgPSBwZWckcGFyc2VxdW90ZWRTdHJpbmcoKTtcblxuICAgICAgICAgIGlmIChzMiA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgczIgPSBwZWckcGFyc2V1bnF1b3RlZFN0cmluZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBwZWckc2F2ZWRQb3MgPSBzMDtcbiAgICAgIHMxID0gcGVnJGMwKHMxKTtcbiAgICB9XG5cbiAgICBzMCA9IHMxO1xuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZWxpdGVyYWxFbGVtZW50KCkge1xuICAgIHZhciBzMCwgczE7XG4gICAgczAgPSBwZWckY3VyclBvcztcbiAgICBzMSA9IHBlZyRwYXJzZW1lc3NhZ2VUZXh0KCk7XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHBlZyRzYXZlZFBvcyA9IHMwO1xuICAgICAgczEgPSBwZWckYzEoczEpO1xuICAgIH1cblxuICAgIHMwID0gczE7XG4gICAgcmV0dXJuIHMwO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJHBhcnNlcG91bmRFbGVtZW50KCkge1xuICAgIHZhciBzMCwgczE7XG4gICAgczAgPSBwZWckY3VyclBvcztcblxuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gMzUpIHtcbiAgICAgIHMxID0gcGVnJGMyO1xuICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICB9IGVsc2Uge1xuICAgICAgczEgPSBwZWckRkFJTEVEO1xuXG4gICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgIHBlZyRmYWlsKHBlZyRjMyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBwZWckc2F2ZWRQb3MgPSBzMDtcbiAgICAgIHMxID0gcGVnJGM0KCk7XG4gICAgfVxuXG4gICAgczAgPSBzMTtcbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2Vhcmd1bWVudEVsZW1lbnQoKSB7XG4gICAgdmFyIHMwLCBzMSwgczIsIHMzLCBzNCwgczU7XG4gICAgcGVnJHNpbGVudEZhaWxzKys7XG4gICAgczAgPSBwZWckY3VyclBvcztcblxuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gMTIzKSB7XG4gICAgICBzMSA9IHBlZyRjNjtcbiAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgfSBlbHNlIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzMSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgczIgPSBwZWckcGFyc2VfKCk7XG5cbiAgICAgIGlmIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICBzMyA9IHBlZyRwYXJzZWFyZ05hbWVPck51bWJlcigpO1xuXG4gICAgICAgIGlmIChzMyAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIHM0ID0gcGVnJHBhcnNlXygpO1xuXG4gICAgICAgICAgaWYgKHM0ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDEyNSkge1xuICAgICAgICAgICAgICBzNSA9IHBlZyRjODtcbiAgICAgICAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHM1ID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGM5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoczUgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgcGVnJHNhdmVkUG9zID0gczA7XG4gICAgICAgICAgICAgIHMxID0gcGVnJGMxMChzMyk7XG4gICAgICAgICAgICAgIHMwID0gczE7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgcGVnJHNpbGVudEZhaWxzLS07XG5cbiAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZW51bWJlclNrZWxldG9uSWQoKSB7XG4gICAgdmFyIHMwLCBzMSwgczIsIHMzLCBzNDtcbiAgICBwZWckc2lsZW50RmFpbHMrKztcbiAgICBzMCA9IHBlZyRjdXJyUG9zO1xuICAgIHMxID0gW107XG4gICAgczIgPSBwZWckY3VyclBvcztcbiAgICBzMyA9IHBlZyRjdXJyUG9zO1xuICAgIHBlZyRzaWxlbnRGYWlscysrO1xuICAgIHM0ID0gcGVnJHBhcnNld2hpdGVTcGFjZSgpO1xuXG4gICAgaWYgKHM0ID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBpZiAocGVnJGMxMi50ZXN0KGlucHV0LmNoYXJBdChwZWckY3VyclBvcykpKSB7XG4gICAgICAgIHM0ID0gaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKTtcbiAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHM0ID0gcGVnJEZBSUxFRDtcblxuICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgcGVnJGZhaWwocGVnJGMxMyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBwZWckc2lsZW50RmFpbHMtLTtcblxuICAgIGlmIChzNCA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgczMgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczM7XG4gICAgICBzMyA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgaWYgKHMzICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBpZiAoaW5wdXQubGVuZ3RoID4gcGVnJGN1cnJQb3MpIHtcbiAgICAgICAgczQgPSBpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpO1xuICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgczQgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICBwZWckZmFpbChwZWckYzE0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoczQgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczMgPSBbczMsIHM0XTtcbiAgICAgICAgczIgPSBzMztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlZyRjdXJyUG9zID0gczI7XG4gICAgICAgIHMyID0gcGVnJEZBSUxFRDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcGVnJGN1cnJQb3MgPSBzMjtcbiAgICAgIHMyID0gcGVnJEZBSUxFRDtcbiAgICB9XG5cbiAgICBpZiAoczIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHdoaWxlIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICBzMS5wdXNoKHMyKTtcbiAgICAgICAgczIgPSBwZWckY3VyclBvcztcbiAgICAgICAgczMgPSBwZWckY3VyclBvcztcbiAgICAgICAgcGVnJHNpbGVudEZhaWxzKys7XG4gICAgICAgIHM0ID0gcGVnJHBhcnNld2hpdGVTcGFjZSgpO1xuXG4gICAgICAgIGlmIChzNCA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIGlmIChwZWckYzEyLnRlc3QoaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKSkpIHtcbiAgICAgICAgICAgIHM0ID0gaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKTtcbiAgICAgICAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHM0ID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzEzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwZWckc2lsZW50RmFpbHMtLTtcblxuICAgICAgICBpZiAoczQgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICBzMyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwZWckY3VyclBvcyA9IHMzO1xuICAgICAgICAgIHMzID0gcGVnJEZBSUxFRDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzMyAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIGlmIChpbnB1dC5sZW5ndGggPiBwZWckY3VyclBvcykge1xuICAgICAgICAgICAgczQgPSBpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpO1xuICAgICAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgczQgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzNCAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgczMgPSBbczMsIHM0XTtcbiAgICAgICAgICAgIHMyID0gczM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczI7XG4gICAgICAgICAgICBzMiA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBlZyRjdXJyUG9zID0gczI7XG4gICAgICAgICAgczIgPSBwZWckRkFJTEVEO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcbiAgICB9XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMwID0gaW5wdXQuc3Vic3RyaW5nKHMwLCBwZWckY3VyclBvcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHMwID0gczE7XG4gICAgfVxuXG4gICAgcGVnJHNpbGVudEZhaWxzLS07XG5cbiAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzExKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VudW1iZXJTa2VsZXRvblRva2VuT3B0aW9uKCkge1xuICAgIHZhciBzMCwgczEsIHMyO1xuICAgIHBlZyRzaWxlbnRGYWlscysrO1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG5cbiAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDQ3KSB7XG4gICAgICBzMSA9IHBlZyRjMTY7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGMxNyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMiA9IHBlZyRwYXJzZW51bWJlclNrZWxldG9uSWQoKTtcblxuICAgICAgaWYgKHMyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgIHBlZyRzYXZlZFBvcyA9IHMwO1xuICAgICAgICBzMSA9IHBlZyRjMTgoczIpO1xuICAgICAgICBzMCA9IHMxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgIH1cblxuICAgIHBlZyRzaWxlbnRGYWlscy0tO1xuXG4gICAgaWYgKHMwID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGMxNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHMwO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJHBhcnNlbnVtYmVyU2tlbGV0b25Ub2tlbigpIHtcbiAgICB2YXIgczAsIHMxLCBzMiwgczMsIHM0O1xuICAgIHBlZyRzaWxlbnRGYWlscysrO1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG4gICAgczEgPSBwZWckcGFyc2VfKCk7XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMyID0gcGVnJHBhcnNlbnVtYmVyU2tlbGV0b25JZCgpO1xuXG4gICAgICBpZiAoczIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczMgPSBbXTtcbiAgICAgICAgczQgPSBwZWckcGFyc2VudW1iZXJTa2VsZXRvblRva2VuT3B0aW9uKCk7XG5cbiAgICAgICAgd2hpbGUgKHM0ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgczMucHVzaChzNCk7XG4gICAgICAgICAgczQgPSBwZWckcGFyc2VudW1iZXJTa2VsZXRvblRva2VuT3B0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoczMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICBwZWckc2F2ZWRQb3MgPSBzMDtcbiAgICAgICAgICBzMSA9IHBlZyRjMjAoczIsIHMzKTtcbiAgICAgICAgICBzMCA9IHMxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgcGVnJHNpbGVudEZhaWxzLS07XG5cbiAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VudW1iZXJTa2VsZXRvbigpIHtcbiAgICB2YXIgczAsIHMxLCBzMjtcbiAgICBzMCA9IHBlZyRjdXJyUG9zO1xuICAgIHMxID0gW107XG4gICAgczIgPSBwZWckcGFyc2VudW1iZXJTa2VsZXRvblRva2VuKCk7XG5cbiAgICBpZiAoczIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHdoaWxlIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICBzMS5wdXNoKHMyKTtcbiAgICAgICAgczIgPSBwZWckcGFyc2VudW1iZXJTa2VsZXRvblRva2VuKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcbiAgICB9XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHBlZyRzYXZlZFBvcyA9IHMwO1xuICAgICAgczEgPSBwZWckYzIxKHMxKTtcbiAgICB9XG5cbiAgICBzMCA9IHMxO1xuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZW51bWJlckFyZ1N0eWxlKCkge1xuICAgIHZhciBzMCwgczEsIHMyO1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG5cbiAgICBpZiAoaW5wdXQuc3Vic3RyKHBlZyRjdXJyUG9zLCAyKSA9PT0gcGVnJGMyMikge1xuICAgICAgczEgPSBwZWckYzIyO1xuICAgICAgcGVnJGN1cnJQb3MgKz0gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgczEgPSBwZWckRkFJTEVEO1xuXG4gICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgIHBlZyRmYWlsKHBlZyRjMjMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzMSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgczIgPSBwZWckcGFyc2VudW1iZXJTa2VsZXRvbigpO1xuXG4gICAgICBpZiAoczIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgcGVnJHNhdmVkUG9zID0gczA7XG4gICAgICAgIHMxID0gcGVnJGMyNChzMik7XG4gICAgICAgIHMwID0gczE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgaWYgKHMwID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMCA9IHBlZyRjdXJyUG9zO1xuICAgICAgcGVnJHNhdmVkUG9zID0gcGVnJGN1cnJQb3M7XG4gICAgICBzMSA9IHBlZyRjMjUoKTtcblxuICAgICAgaWYgKHMxKSB7XG4gICAgICAgIHMxID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgczEgPSBwZWckRkFJTEVEO1xuICAgICAgfVxuXG4gICAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczIgPSBwZWckcGFyc2VtZXNzYWdlVGV4dCgpO1xuXG4gICAgICAgIGlmIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIHBlZyRzYXZlZFBvcyA9IHMwO1xuICAgICAgICAgIHMxID0gcGVnJGMyNihzMik7XG4gICAgICAgICAgczAgPSBzMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZW51bWJlckZvcm1hdEVsZW1lbnQoKSB7XG4gICAgdmFyIHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAsIHMxMSwgczEyO1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG5cbiAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDEyMykge1xuICAgICAgczEgPSBwZWckYzY7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGM3KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMyID0gcGVnJHBhcnNlXygpO1xuXG4gICAgICBpZiAoczIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczMgPSBwZWckcGFyc2VhcmdOYW1lT3JOdW1iZXIoKTtcblxuICAgICAgICBpZiAoczMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICBzNCA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgICAgIGlmIChzNCAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQocGVnJGN1cnJQb3MpID09PSA0NCkge1xuICAgICAgICAgICAgICBzNSA9IHBlZyRjMjc7XG4gICAgICAgICAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzNSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjMjgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzNSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICBzNiA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgICAgICAgICBpZiAoczYgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQuc3Vic3RyKHBlZyRjdXJyUG9zLCA2KSA9PT0gcGVnJGMyOSkge1xuICAgICAgICAgICAgICAgICAgczcgPSBwZWckYzI5O1xuICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgKz0gNjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgczcgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjMzApO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChzNyAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICAgICAgczggPSBwZWckcGFyc2VfKCk7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChzOCAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICAgICAgICBzOSA9IHBlZyRjdXJyUG9zO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gNDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzMTAgPSBwZWckYzI3O1xuICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgczEwID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjMjgpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChzMTAgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzMTEgPSBwZWckcGFyc2VfKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAoczExICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzMTIgPSBwZWckcGFyc2VudW1iZXJBcmdTdHlsZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoczEyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHMxMCA9IFtzMTAsIHMxMSwgczEyXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgczkgPSBzMTA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHM5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzOSA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzOSA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczk7XG4gICAgICAgICAgICAgICAgICAgICAgczkgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHM5ID09PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgczkgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHM5ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgczEwID0gcGVnJHBhcnNlXygpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHMxMCAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQocGVnJGN1cnJQb3MpID09PSAxMjUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgczExID0gcGVnJGM4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgczExID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGM5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoczExICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRzYXZlZFBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzMSA9IHBlZyRjMzEoczMsIHM3LCBzOSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHMwID0gczE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHMwO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJHBhcnNlZGF0ZVRpbWVTa2VsZXRvbkxpdGVyYWwoKSB7XG4gICAgdmFyIHMwLCBzMSwgczIsIHMzO1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG5cbiAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDM5KSB7XG4gICAgICBzMSA9IHBlZyRjMzI7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGMzMyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMiA9IFtdO1xuICAgICAgczMgPSBwZWckcGFyc2Vkb3VibGVBcG9zdHJvcGhlcygpO1xuXG4gICAgICBpZiAoczMgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgaWYgKHBlZyRjMzQudGVzdChpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpKSkge1xuICAgICAgICAgIHMzID0gaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKTtcbiAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHMzID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjMzUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoczMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgd2hpbGUgKHMzICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgczIucHVzaChzMyk7XG4gICAgICAgICAgczMgPSBwZWckcGFyc2Vkb3VibGVBcG9zdHJvcGhlcygpO1xuXG4gICAgICAgICAgaWYgKHMzID09PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICBpZiAocGVnJGMzNC50ZXN0KGlucHV0LmNoYXJBdChwZWckY3VyclBvcykpKSB7XG4gICAgICAgICAgICAgIHMzID0gaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKTtcbiAgICAgICAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHMzID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGMzNSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHMyID0gcGVnJEZBSUxFRDtcbiAgICAgIH1cblxuICAgICAgaWYgKHMyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gMzkpIHtcbiAgICAgICAgICBzMyA9IHBlZyRjMzI7XG4gICAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzMyA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICBwZWckZmFpbChwZWckYzMzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoczMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICBzMSA9IFtzMSwgczIsIHMzXTtcbiAgICAgICAgICBzMCA9IHMxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgaWYgKHMwID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMCA9IFtdO1xuICAgICAgczEgPSBwZWckcGFyc2Vkb3VibGVBcG9zdHJvcGhlcygpO1xuXG4gICAgICBpZiAoczEgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgaWYgKHBlZyRjMzYudGVzdChpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpKSkge1xuICAgICAgICAgIHMxID0gaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKTtcbiAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjMzcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgd2hpbGUgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgczAucHVzaChzMSk7XG4gICAgICAgICAgczEgPSBwZWckcGFyc2Vkb3VibGVBcG9zdHJvcGhlcygpO1xuXG4gICAgICAgICAgaWYgKHMxID09PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICBpZiAocGVnJGMzNi50ZXN0KGlucHV0LmNoYXJBdChwZWckY3VyclBvcykpKSB7XG4gICAgICAgICAgICAgIHMxID0gaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKTtcbiAgICAgICAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGMzNyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VkYXRlVGltZVNrZWxldG9uUGF0dGVybigpIHtcbiAgICB2YXIgczAsIHMxO1xuICAgIHMwID0gW107XG5cbiAgICBpZiAocGVnJGMzOC50ZXN0KGlucHV0LmNoYXJBdChwZWckY3VyclBvcykpKSB7XG4gICAgICBzMSA9IGlucHV0LmNoYXJBdChwZWckY3VyclBvcyk7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGMzOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICB3aGlsZSAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczAucHVzaChzMSk7XG5cbiAgICAgICAgaWYgKHBlZyRjMzgudGVzdChpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpKSkge1xuICAgICAgICAgIHMxID0gaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKTtcbiAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjMzkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHMwO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJHBhcnNlZGF0ZVRpbWVTa2VsZXRvbigpIHtcbiAgICB2YXIgczAsIHMxLCBzMiwgczM7XG4gICAgczAgPSBwZWckY3VyclBvcztcbiAgICBzMSA9IHBlZyRjdXJyUG9zO1xuICAgIHMyID0gW107XG4gICAgczMgPSBwZWckcGFyc2VkYXRlVGltZVNrZWxldG9uTGl0ZXJhbCgpO1xuXG4gICAgaWYgKHMzID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMyA9IHBlZyRwYXJzZWRhdGVUaW1lU2tlbGV0b25QYXR0ZXJuKCk7XG4gICAgfVxuXG4gICAgaWYgKHMzICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICB3aGlsZSAoczMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczIucHVzaChzMyk7XG4gICAgICAgIHMzID0gcGVnJHBhcnNlZGF0ZVRpbWVTa2VsZXRvbkxpdGVyYWwoKTtcblxuICAgICAgICBpZiAoczMgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICBzMyA9IHBlZyRwYXJzZWRhdGVUaW1lU2tlbGV0b25QYXR0ZXJuKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgczIgPSBwZWckRkFJTEVEO1xuICAgIH1cblxuICAgIGlmIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgczEgPSBpbnB1dC5zdWJzdHJpbmcoczEsIHBlZyRjdXJyUG9zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgczEgPSBzMjtcbiAgICB9XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHBlZyRzYXZlZFBvcyA9IHMwO1xuICAgICAgczEgPSBwZWckYzQwKHMxKTtcbiAgICB9XG5cbiAgICBzMCA9IHMxO1xuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZWRhdGVPclRpbWVBcmdTdHlsZSgpIHtcbiAgICB2YXIgczAsIHMxLCBzMjtcbiAgICBzMCA9IHBlZyRjdXJyUG9zO1xuXG4gICAgaWYgKGlucHV0LnN1YnN0cihwZWckY3VyclBvcywgMikgPT09IHBlZyRjMjIpIHtcbiAgICAgIHMxID0gcGVnJGMyMjtcbiAgICAgIHBlZyRjdXJyUG9zICs9IDI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzIzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMyID0gcGVnJHBhcnNlZGF0ZVRpbWVTa2VsZXRvbigpO1xuXG4gICAgICBpZiAoczIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgcGVnJHNhdmVkUG9zID0gczA7XG4gICAgICAgIHMxID0gcGVnJGMyNChzMik7XG4gICAgICAgIHMwID0gczE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgaWYgKHMwID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMCA9IHBlZyRjdXJyUG9zO1xuICAgICAgcGVnJHNhdmVkUG9zID0gcGVnJGN1cnJQb3M7XG4gICAgICBzMSA9IHBlZyRjNDEoKTtcblxuICAgICAgaWYgKHMxKSB7XG4gICAgICAgIHMxID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgczEgPSBwZWckRkFJTEVEO1xuICAgICAgfVxuXG4gICAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczIgPSBwZWckcGFyc2VtZXNzYWdlVGV4dCgpO1xuXG4gICAgICAgIGlmIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIHBlZyRzYXZlZFBvcyA9IHMwO1xuICAgICAgICAgIHMxID0gcGVnJGMyNihzMik7XG4gICAgICAgICAgczAgPSBzMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZWRhdGVPclRpbWVGb3JtYXRFbGVtZW50KCkge1xuICAgIHZhciBzMCwgczEsIHMyLCBzMywgczQsIHM1LCBzNiwgczcsIHM4LCBzOSwgczEwLCBzMTEsIHMxMjtcbiAgICBzMCA9IHBlZyRjdXJyUG9zO1xuXG4gICAgaWYgKGlucHV0LmNoYXJDb2RlQXQocGVnJGN1cnJQb3MpID09PSAxMjMpIHtcbiAgICAgIHMxID0gcGVnJGM2O1xuICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICB9IGVsc2Uge1xuICAgICAgczEgPSBwZWckRkFJTEVEO1xuXG4gICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgIHBlZyRmYWlsKHBlZyRjNyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMiA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgaWYgKHMyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgIHMzID0gcGVnJHBhcnNlYXJnTmFtZU9yTnVtYmVyKCk7XG5cbiAgICAgICAgaWYgKHMzICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgczQgPSBwZWckcGFyc2VfKCk7XG5cbiAgICAgICAgICBpZiAoczQgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gNDQpIHtcbiAgICAgICAgICAgICAgczUgPSBwZWckYzI3O1xuICAgICAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgczUgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzI4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoczUgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgczYgPSBwZWckcGFyc2VfKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHM2ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0LnN1YnN0cihwZWckY3VyclBvcywgNCkgPT09IHBlZyRjNDIpIHtcbiAgICAgICAgICAgICAgICAgIHM3ID0gcGVnJGM0MjtcbiAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zICs9IDQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHM3ID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzQzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoczcgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChpbnB1dC5zdWJzdHIocGVnJGN1cnJQb3MsIDQpID09PSBwZWckYzQ0KSB7XG4gICAgICAgICAgICAgICAgICAgIHM3ID0gcGVnJGM0NDtcbiAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgKz0gNDtcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHM3ID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGM0NSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoczcgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgIHM4ID0gcGVnJHBhcnNlXygpO1xuXG4gICAgICAgICAgICAgICAgICBpZiAoczggIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgczkgPSBwZWckY3VyclBvcztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDQ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgczEwID0gcGVnJGMyNztcbiAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIHMxMCA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzI4KTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoczEwICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgczExID0gcGVnJHBhcnNlXygpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHMxMSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgczEyID0gcGVnJHBhcnNlZGF0ZU9yVGltZUFyZ1N0eWxlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzMTIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgczEwID0gW3MxMCwgczExLCBzMTJdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzOSA9IHMxMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHM5ID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzOTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHM5ID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzOTtcbiAgICAgICAgICAgICAgICAgICAgICBzOSA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoczkgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzOSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoczkgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzMTAgPSBwZWckcGFyc2VfKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAoczEwICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDEyNSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzMTEgPSBwZWckYzg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzMTEgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzMTEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGVnJHNhdmVkUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHMxID0gcGVnJGMzMShzMywgczcsIHM5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgczAgPSBzMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VzaW1wbGVGb3JtYXRFbGVtZW50KCkge1xuICAgIHZhciBzMDtcbiAgICBzMCA9IHBlZyRwYXJzZW51bWJlckZvcm1hdEVsZW1lbnQoKTtcblxuICAgIGlmIChzMCA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgczAgPSBwZWckcGFyc2VkYXRlT3JUaW1lRm9ybWF0RWxlbWVudCgpO1xuICAgIH1cblxuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZXBsdXJhbEVsZW1lbnQoKSB7XG4gICAgdmFyIHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAsIHMxMSwgczEyLCBzMTMsIHMxNCwgczE1O1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG5cbiAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDEyMykge1xuICAgICAgczEgPSBwZWckYzY7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGM3KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMyID0gcGVnJHBhcnNlXygpO1xuXG4gICAgICBpZiAoczIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczMgPSBwZWckcGFyc2VhcmdOYW1lT3JOdW1iZXIoKTtcblxuICAgICAgICBpZiAoczMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICBzNCA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgICAgIGlmIChzNCAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQocGVnJGN1cnJQb3MpID09PSA0NCkge1xuICAgICAgICAgICAgICBzNSA9IHBlZyRjMjc7XG4gICAgICAgICAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzNSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjMjgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzNSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICBzNiA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgICAgICAgICBpZiAoczYgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQuc3Vic3RyKHBlZyRjdXJyUG9zLCA2KSA9PT0gcGVnJGM0Nikge1xuICAgICAgICAgICAgICAgICAgczcgPSBwZWckYzQ2O1xuICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgKz0gNjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgczcgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjNDcpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChzNyA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICAgICAgaWYgKGlucHV0LnN1YnN0cihwZWckY3VyclBvcywgMTMpID09PSBwZWckYzQ4KSB7XG4gICAgICAgICAgICAgICAgICAgIHM3ID0gcGVnJGM0ODtcbiAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgKz0gMTM7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzNyA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjNDkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHM3ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICBzOCA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgICAgICAgICAgICAgaWYgKHM4ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gNDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzOSA9IHBlZyRjMjc7XG4gICAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBzOSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzI4KTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoczkgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzMTAgPSBwZWckcGFyc2VfKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAoczEwICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzMTEgPSBwZWckY3VyclBvcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0LnN1YnN0cihwZWckY3VyclBvcywgNykgPT09IHBlZyRjNTApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgczEyID0gcGVnJGM1MDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgKz0gNztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHMxMiA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjNTEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzMTIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgczEzID0gcGVnJHBhcnNlXygpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzMTMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMTQgPSBwZWckcGFyc2VudW1iZXIoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzMTQgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxMiA9IFtzMTIsIHMxMywgczE0XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxMSA9IHMxMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMTE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMTEgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMxMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMTEgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMxMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgczExID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHMxMSA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzMTEgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoczExICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHMxMiA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoczEyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczEzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczE0ID0gcGVnJHBhcnNlcGx1cmFsT3B0aW9uKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoczE0ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoczE0ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxMy5wdXNoKHMxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxNCA9IHBlZyRwYXJzZXBsdXJhbE9wdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMTMgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzMTMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxNCA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHMxNCAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDEyNSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxNSA9IHBlZyRjODtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxNSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzMTUgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckc2F2ZWRQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMSA9IHBlZyRjNTIoczMsIHM3LCBzMTEsIHMxMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgczAgPSBzMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgIH1cblxuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZXNlbGVjdEVsZW1lbnQoKSB7XG4gICAgdmFyIHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNywgczgsIHM5LCBzMTAsIHMxMSwgczEyLCBzMTM7XG4gICAgczAgPSBwZWckY3VyclBvcztcblxuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gMTIzKSB7XG4gICAgICBzMSA9IHBlZyRjNjtcbiAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgfSBlbHNlIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzMSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgczIgPSBwZWckcGFyc2VfKCk7XG5cbiAgICAgIGlmIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICBzMyA9IHBlZyRwYXJzZWFyZ05hbWVPck51bWJlcigpO1xuXG4gICAgICAgIGlmIChzMyAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIHM0ID0gcGVnJHBhcnNlXygpO1xuXG4gICAgICAgICAgaWYgKHM0ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDQ0KSB7XG4gICAgICAgICAgICAgIHM1ID0gcGVnJGMyNztcbiAgICAgICAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHM1ID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGMyOCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHM1ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgIHM2ID0gcGVnJHBhcnNlXygpO1xuXG4gICAgICAgICAgICAgIGlmIChzNiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dC5zdWJzdHIocGVnJGN1cnJQb3MsIDYpID09PSBwZWckYzUzKSB7XG4gICAgICAgICAgICAgICAgICBzNyA9IHBlZyRjNTM7XG4gICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyArPSA2O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBzNyA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGM1NCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHM3ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICBzOCA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgICAgICAgICAgICAgaWYgKHM4ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gNDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzOSA9IHBlZyRjMjc7XG4gICAgICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBzOSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzI4KTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoczkgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBzMTAgPSBwZWckcGFyc2VfKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAoczEwICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzMTEgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHMxMiA9IHBlZyRwYXJzZXNlbGVjdE9wdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoczEyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChzMTIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMTEucHVzaChzMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxMiA9IHBlZyRwYXJzZXNlbGVjdE9wdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzMTEgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoczExICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHMxMiA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoczEyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQocGVnJGN1cnJQb3MpID09PSAxMjUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxMyA9IHBlZyRjODtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxMyA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGM5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoczEzICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckc2F2ZWRQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxID0gcGVnJGM1NShzMywgczExKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMwID0gczE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHMwO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJHBhcnNlcGx1cmFsUnVsZVNlbGVjdFZhbHVlKCkge1xuICAgIHZhciBzMCwgczEsIHMyLCBzMztcbiAgICBzMCA9IHBlZyRjdXJyUG9zO1xuICAgIHMxID0gcGVnJGN1cnJQb3M7XG5cbiAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDYxKSB7XG4gICAgICBzMiA9IHBlZyRjNTY7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMiA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGM1Nyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHMyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMyA9IHBlZyRwYXJzZW51bWJlcigpO1xuXG4gICAgICBpZiAoczMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczIgPSBbczIsIHMzXTtcbiAgICAgICAgczEgPSBzMjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlZyRjdXJyUG9zID0gczE7XG4gICAgICAgIHMxID0gcGVnJEZBSUxFRDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcGVnJGN1cnJQb3MgPSBzMTtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcbiAgICB9XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMwID0gaW5wdXQuc3Vic3RyaW5nKHMwLCBwZWckY3VyclBvcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHMwID0gczE7XG4gICAgfVxuXG4gICAgaWYgKHMwID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMCA9IHBlZyRwYXJzZWFyZ05hbWUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VzZWxlY3RPcHRpb24oKSB7XG4gICAgdmFyIHMwLCBzMSwgczIsIHMzLCBzNCwgczUsIHM2LCBzNztcbiAgICBzMCA9IHBlZyRjdXJyUG9zO1xuICAgIHMxID0gcGVnJHBhcnNlXygpO1xuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMiA9IHBlZyRwYXJzZWFyZ05hbWUoKTtcblxuICAgICAgaWYgKHMyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgIHMzID0gcGVnJHBhcnNlXygpO1xuXG4gICAgICAgIGlmIChzMyAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gMTIzKSB7XG4gICAgICAgICAgICBzNCA9IHBlZyRjNjtcbiAgICAgICAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHM0ID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzNCAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgcGVnJHNhdmVkUG9zID0gcGVnJGN1cnJQb3M7XG4gICAgICAgICAgICBzNSA9IHBlZyRjNTgoczIpO1xuXG4gICAgICAgICAgICBpZiAoczUpIHtcbiAgICAgICAgICAgICAgczUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzNSA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzNSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgICAgICBzNiA9IHBlZyRwYXJzZW1lc3NhZ2UoKTtcblxuICAgICAgICAgICAgICBpZiAoczYgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDEyNSkge1xuICAgICAgICAgICAgICAgICAgczcgPSBwZWckYzg7XG4gICAgICAgICAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBzNyA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGM5KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoczcgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgICAgIHBlZyRzYXZlZFBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgczEgPSBwZWckYzU5KHMyLCBzNik7XG4gICAgICAgICAgICAgICAgICBzMCA9IHMxO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgIH1cblxuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZXBsdXJhbE9wdGlvbigpIHtcbiAgICB2YXIgczAsIHMxLCBzMiwgczMsIHM0LCBzNSwgczYsIHM3O1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG4gICAgczEgPSBwZWckcGFyc2VfKCk7XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMyID0gcGVnJHBhcnNlcGx1cmFsUnVsZVNlbGVjdFZhbHVlKCk7XG5cbiAgICAgIGlmIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICBzMyA9IHBlZyRwYXJzZV8oKTtcblxuICAgICAgICBpZiAoczMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDEyMykge1xuICAgICAgICAgICAgczQgPSBwZWckYzY7XG4gICAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzNCA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGM3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoczQgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgIHBlZyRzYXZlZFBvcyA9IHBlZyRjdXJyUG9zO1xuICAgICAgICAgICAgczUgPSBwZWckYzYwKHMyKTtcblxuICAgICAgICAgICAgaWYgKHM1KSB7XG4gICAgICAgICAgICAgIHM1ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgczUgPSBwZWckRkFJTEVEO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoczUgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgICAgczYgPSBwZWckcGFyc2VtZXNzYWdlKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHM2ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQocGVnJGN1cnJQb3MpID09PSAxMjUpIHtcbiAgICAgICAgICAgICAgICAgIHM3ID0gcGVnJGM4O1xuICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgczcgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjOSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHM3ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgICAgICAgICBwZWckc2F2ZWRQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICAgIHMxID0gcGVnJGM2MShzMiwgczYpO1xuICAgICAgICAgICAgICAgICAgczAgPSBzMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2V3aGl0ZVNwYWNlKCkge1xuICAgIHZhciBzMCwgczE7XG4gICAgcGVnJHNpbGVudEZhaWxzKys7XG5cbiAgICBpZiAocGVnJGM2My50ZXN0KGlucHV0LmNoYXJBdChwZWckY3VyclBvcykpKSB7XG4gICAgICBzMCA9IGlucHV0LmNoYXJBdChwZWckY3VyclBvcyk7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGM2NCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGVnJHNpbGVudEZhaWxzLS07XG5cbiAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzYyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VwYXR0ZXJuU3ludGF4KCkge1xuICAgIHZhciBzMCwgczE7XG4gICAgcGVnJHNpbGVudEZhaWxzKys7XG5cbiAgICBpZiAocGVnJGM2Ni50ZXN0KGlucHV0LmNoYXJBdChwZWckY3VyclBvcykpKSB7XG4gICAgICBzMCA9IGlucHV0LmNoYXJBdChwZWckY3VyclBvcyk7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGM2Nyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGVnJHNpbGVudEZhaWxzLS07XG5cbiAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzY1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VfKCkge1xuICAgIHZhciBzMCwgczEsIHMyO1xuICAgIHBlZyRzaWxlbnRGYWlscysrO1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG4gICAgczEgPSBbXTtcbiAgICBzMiA9IHBlZyRwYXJzZXdoaXRlU3BhY2UoKTtcblxuICAgIHdoaWxlIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgczEucHVzaChzMik7XG4gICAgICBzMiA9IHBlZyRwYXJzZXdoaXRlU3BhY2UoKTtcbiAgICB9XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMwID0gaW5wdXQuc3Vic3RyaW5nKHMwLCBwZWckY3VyclBvcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHMwID0gczE7XG4gICAgfVxuXG4gICAgcGVnJHNpbGVudEZhaWxzLS07XG5cbiAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzY4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VudW1iZXIoKSB7XG4gICAgdmFyIHMwLCBzMSwgczI7XG4gICAgcGVnJHNpbGVudEZhaWxzKys7XG4gICAgczAgPSBwZWckY3VyclBvcztcblxuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gNDUpIHtcbiAgICAgIHMxID0gcGVnJGM3MDtcbiAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgfSBlbHNlIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzcxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoczEgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMxID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMyID0gcGVnJHBhcnNlYXJnTnVtYmVyKCk7XG5cbiAgICAgIGlmIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICBwZWckc2F2ZWRQb3MgPSBzMDtcbiAgICAgICAgczEgPSBwZWckYzcyKHMxLCBzMik7XG4gICAgICAgIHMwID0gczE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczA7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgcGVnJHNpbGVudEZhaWxzLS07XG5cbiAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzY5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2VhcG9zdHJvcGhlKCkge1xuICAgIHZhciBzMCwgczE7XG4gICAgcGVnJHNpbGVudEZhaWxzKys7XG5cbiAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDM5KSB7XG4gICAgICBzMCA9IHBlZyRjMzI7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMCA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGMzMyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGVnJHNpbGVudEZhaWxzLS07XG5cbiAgICBpZiAoczAgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzczKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2Vkb3VibGVBcG9zdHJvcGhlcygpIHtcbiAgICB2YXIgczAsIHMxO1xuICAgIHBlZyRzaWxlbnRGYWlscysrO1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG5cbiAgICBpZiAoaW5wdXQuc3Vic3RyKHBlZyRjdXJyUG9zLCAyKSA9PT0gcGVnJGM3NSkge1xuICAgICAgczEgPSBwZWckYzc1O1xuICAgICAgcGVnJGN1cnJQb3MgKz0gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgczEgPSBwZWckRkFJTEVEO1xuXG4gICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgIHBlZyRmYWlsKHBlZyRjNzYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzMSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgcGVnJHNhdmVkUG9zID0gczA7XG4gICAgICBzMSA9IHBlZyRjNzcoKTtcbiAgICB9XG5cbiAgICBzMCA9IHMxO1xuICAgIHBlZyRzaWxlbnRGYWlscy0tO1xuXG4gICAgaWYgKHMwID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGM3NCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHMwO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJHBhcnNlcXVvdGVkU3RyaW5nKCkge1xuICAgIHZhciBzMCwgczEsIHMyLCBzMywgczQsIHM1O1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG5cbiAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChwZWckY3VyclBvcykgPT09IDM5KSB7XG4gICAgICBzMSA9IHBlZyRjMzI7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGMzMyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMiA9IHBlZyRwYXJzZWVzY2FwZWRDaGFyKCk7XG5cbiAgICAgIGlmIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICBzMyA9IHBlZyRjdXJyUG9zO1xuICAgICAgICBzNCA9IFtdO1xuXG4gICAgICAgIGlmIChpbnB1dC5zdWJzdHIocGVnJGN1cnJQb3MsIDIpID09PSBwZWckYzc1KSB7XG4gICAgICAgICAgczUgPSBwZWckYzc1O1xuICAgICAgICAgIHBlZyRjdXJyUG9zICs9IDI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgczUgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgcGVnJGZhaWwocGVnJGM3Nik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHM1ID09PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgaWYgKHBlZyRjMzQudGVzdChpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpKSkge1xuICAgICAgICAgICAgczUgPSBpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpO1xuICAgICAgICAgICAgcGVnJGN1cnJQb3MrKztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgczUgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgICAgICAgIHBlZyRmYWlsKHBlZyRjMzUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlIChzNSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIHM0LnB1c2goczUpO1xuXG4gICAgICAgICAgaWYgKGlucHV0LnN1YnN0cihwZWckY3VyclBvcywgMikgPT09IHBlZyRjNzUpIHtcbiAgICAgICAgICAgIHM1ID0gcGVnJGM3NTtcbiAgICAgICAgICAgIHBlZyRjdXJyUG9zICs9IDI7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHM1ID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzc2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoczUgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgIGlmIChwZWckYzM0LnRlc3QoaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKSkpIHtcbiAgICAgICAgICAgICAgczUgPSBpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpO1xuICAgICAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgczUgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzM1KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzNCAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIHMzID0gaW5wdXQuc3Vic3RyaW5nKHMzLCBwZWckY3VyclBvcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgczMgPSBzNDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzMyAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gMzkpIHtcbiAgICAgICAgICAgIHM0ID0gcGVnJGMzMjtcbiAgICAgICAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHM0ID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzMzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoczQgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgIHM0ID0gbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoczQgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgIHBlZyRzYXZlZFBvcyA9IHMwO1xuICAgICAgICAgICAgczEgPSBwZWckYzc4KHMyLCBzMyk7XG4gICAgICAgICAgICBzMCA9IHMxO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgICAgIHMwID0gcGVnJEZBSUxFRDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGVnJGN1cnJQb3MgPSBzMDtcbiAgICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBwZWckY3VyclBvcyA9IHMwO1xuICAgICAgczAgPSBwZWckRkFJTEVEO1xuICAgIH1cblxuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZXVucXVvdGVkU3RyaW5nKCkge1xuICAgIHZhciBzMCwgczEsIHMyLCBzMztcbiAgICBzMCA9IHBlZyRjdXJyUG9zO1xuICAgIHMxID0gcGVnJGN1cnJQb3M7XG5cbiAgICBpZiAoaW5wdXQubGVuZ3RoID4gcGVnJGN1cnJQb3MpIHtcbiAgICAgIHMyID0gaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKTtcbiAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgfSBlbHNlIHtcbiAgICAgIHMyID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzE0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoczIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHBlZyRzYXZlZFBvcyA9IHBlZyRjdXJyUG9zO1xuICAgICAgczMgPSBwZWckYzc5KHMyKTtcblxuICAgICAgaWYgKHMzKSB7XG4gICAgICAgIHMzID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgczMgPSBwZWckRkFJTEVEO1xuICAgICAgfVxuXG4gICAgICBpZiAoczMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczIgPSBbczIsIHMzXTtcbiAgICAgICAgczEgPSBzMjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlZyRjdXJyUG9zID0gczE7XG4gICAgICAgIHMxID0gcGVnJEZBSUxFRDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcGVnJGN1cnJQb3MgPSBzMTtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcbiAgICB9XG5cbiAgICBpZiAoczEgPT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gMTApIHtcbiAgICAgICAgczEgPSBwZWckYzgwO1xuICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgczEgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICBwZWckZmFpbChwZWckYzgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzMSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgczAgPSBpbnB1dC5zdWJzdHJpbmcoczAsIHBlZyRjdXJyUG9zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgczAgPSBzMTtcbiAgICB9XG5cbiAgICByZXR1cm4gczA7XG4gIH1cblxuICBmdW5jdGlvbiBwZWckcGFyc2Vlc2NhcGVkQ2hhcigpIHtcbiAgICB2YXIgczAsIHMxLCBzMiwgczM7XG4gICAgczAgPSBwZWckY3VyclBvcztcbiAgICBzMSA9IHBlZyRjdXJyUG9zO1xuXG4gICAgaWYgKGlucHV0Lmxlbmd0aCA+IHBlZyRjdXJyUG9zKSB7XG4gICAgICBzMiA9IGlucHV0LmNoYXJBdChwZWckY3VyclBvcyk7XG4gICAgICBwZWckY3VyclBvcysrO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMiA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGMxNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHMyICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBwZWckc2F2ZWRQb3MgPSBwZWckY3VyclBvcztcbiAgICAgIHMzID0gcGVnJGM4MihzMik7XG5cbiAgICAgIGlmIChzMykge1xuICAgICAgICBzMyA9IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHMzID0gcGVnJEZBSUxFRDtcbiAgICAgIH1cblxuICAgICAgaWYgKHMzICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgIHMyID0gW3MyLCBzM107XG4gICAgICAgIHMxID0gczI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwZWckY3VyclBvcyA9IHMxO1xuICAgICAgICBzMSA9IHBlZyRGQUlMRUQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczE7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMCA9IGlucHV0LnN1YnN0cmluZyhzMCwgcGVnJGN1cnJQb3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMCA9IHMxO1xuICAgIH1cblxuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZWFyZ05hbWVPck51bWJlcigpIHtcbiAgICB2YXIgczAsIHMxO1xuICAgIHBlZyRzaWxlbnRGYWlscysrO1xuICAgIHMwID0gcGVnJGN1cnJQb3M7XG4gICAgczEgPSBwZWckcGFyc2VhcmdOdW1iZXIoKTtcblxuICAgIGlmIChzMSA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgczEgPSBwZWckcGFyc2VhcmdOYW1lKCk7XG4gICAgfVxuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMCA9IGlucHV0LnN1YnN0cmluZyhzMCwgcGVnJGN1cnJQb3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMCA9IHMxO1xuICAgIH1cblxuICAgIHBlZyRzaWxlbnRGYWlscy0tO1xuXG4gICAgaWYgKHMwID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGM4Myk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHMwO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVnJHBhcnNlYXJnTnVtYmVyKCkge1xuICAgIHZhciBzMCwgczEsIHMyLCBzMywgczQ7XG4gICAgcGVnJHNpbGVudEZhaWxzKys7XG4gICAgczAgPSBwZWckY3VyclBvcztcblxuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBlZyRjdXJyUG9zKSA9PT0gNDgpIHtcbiAgICAgIHMxID0gcGVnJGM4NTtcbiAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgfSBlbHNlIHtcbiAgICAgIHMxID0gcGVnJEZBSUxFRDtcblxuICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICBwZWckZmFpbChwZWckYzg2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoczEgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHBlZyRzYXZlZFBvcyA9IHMwO1xuICAgICAgczEgPSBwZWckYzg3KCk7XG4gICAgfVxuXG4gICAgczAgPSBzMTtcblxuICAgIGlmIChzMCA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgczAgPSBwZWckY3VyclBvcztcbiAgICAgIHMxID0gcGVnJGN1cnJQb3M7XG5cbiAgICAgIGlmIChwZWckYzg4LnRlc3QoaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKSkpIHtcbiAgICAgICAgczIgPSBpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpO1xuICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgczIgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICBwZWckZmFpbChwZWckYzg5KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoczIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczMgPSBbXTtcblxuICAgICAgICBpZiAocGVnJGM5MC50ZXN0KGlucHV0LmNoYXJBdChwZWckY3VyclBvcykpKSB7XG4gICAgICAgICAgczQgPSBpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpO1xuICAgICAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgczQgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgcGVnJGZhaWwocGVnJGM5MSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgd2hpbGUgKHM0ICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgczMucHVzaChzNCk7XG5cbiAgICAgICAgICBpZiAocGVnJGM5MC50ZXN0KGlucHV0LmNoYXJBdChwZWckY3VyclBvcykpKSB7XG4gICAgICAgICAgICBzNCA9IGlucHV0LmNoYXJBdChwZWckY3VyclBvcyk7XG4gICAgICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzNCA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICAgICAgcGVnJGZhaWwocGVnJGM5MSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHMzICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgczIgPSBbczIsIHMzXTtcbiAgICAgICAgICBzMSA9IHMyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBlZyRjdXJyUG9zID0gczE7XG4gICAgICAgICAgczEgPSBwZWckRkFJTEVEO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwZWckY3VyclBvcyA9IHMxO1xuICAgICAgICBzMSA9IHBlZyRGQUlMRUQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChzMSAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICBwZWckc2F2ZWRQb3MgPSBzMDtcbiAgICAgICAgczEgPSBwZWckYzkyKHMxKTtcbiAgICAgIH1cblxuICAgICAgczAgPSBzMTtcbiAgICB9XG5cbiAgICBwZWckc2lsZW50RmFpbHMtLTtcblxuICAgIGlmIChzMCA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgczEgPSBwZWckRkFJTEVEO1xuXG4gICAgICBpZiAocGVnJHNpbGVudEZhaWxzID09PSAwKSB7XG4gICAgICAgIHBlZyRmYWlsKHBlZyRjODQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzMDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlZyRwYXJzZWFyZ05hbWUoKSB7XG4gICAgdmFyIHMwLCBzMSwgczIsIHMzLCBzNDtcbiAgICBwZWckc2lsZW50RmFpbHMrKztcbiAgICBzMCA9IHBlZyRjdXJyUG9zO1xuICAgIHMxID0gW107XG4gICAgczIgPSBwZWckY3VyclBvcztcbiAgICBzMyA9IHBlZyRjdXJyUG9zO1xuICAgIHBlZyRzaWxlbnRGYWlscysrO1xuICAgIHM0ID0gcGVnJHBhcnNld2hpdGVTcGFjZSgpO1xuXG4gICAgaWYgKHM0ID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzNCA9IHBlZyRwYXJzZXBhdHRlcm5TeW50YXgoKTtcbiAgICB9XG5cbiAgICBwZWckc2lsZW50RmFpbHMtLTtcblxuICAgIGlmIChzNCA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgczMgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlZyRjdXJyUG9zID0gczM7XG4gICAgICBzMyA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgaWYgKHMzICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBpZiAoaW5wdXQubGVuZ3RoID4gcGVnJGN1cnJQb3MpIHtcbiAgICAgICAgczQgPSBpbnB1dC5jaGFyQXQocGVnJGN1cnJQb3MpO1xuICAgICAgICBwZWckY3VyclBvcysrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgczQgPSBwZWckRkFJTEVEO1xuXG4gICAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgICBwZWckZmFpbChwZWckYzE0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoczQgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgczMgPSBbczMsIHM0XTtcbiAgICAgICAgczIgPSBzMztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlZyRjdXJyUG9zID0gczI7XG4gICAgICAgIHMyID0gcGVnJEZBSUxFRDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcGVnJGN1cnJQb3MgPSBzMjtcbiAgICAgIHMyID0gcGVnJEZBSUxFRDtcbiAgICB9XG5cbiAgICBpZiAoczIgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgIHdoaWxlIChzMiAhPT0gcGVnJEZBSUxFRCkge1xuICAgICAgICBzMS5wdXNoKHMyKTtcbiAgICAgICAgczIgPSBwZWckY3VyclBvcztcbiAgICAgICAgczMgPSBwZWckY3VyclBvcztcbiAgICAgICAgcGVnJHNpbGVudEZhaWxzKys7XG4gICAgICAgIHM0ID0gcGVnJHBhcnNld2hpdGVTcGFjZSgpO1xuXG4gICAgICAgIGlmIChzNCA9PT0gcGVnJEZBSUxFRCkge1xuICAgICAgICAgIHM0ID0gcGVnJHBhcnNlcGF0dGVyblN5bnRheCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcGVnJHNpbGVudEZhaWxzLS07XG5cbiAgICAgICAgaWYgKHM0ID09PSBwZWckRkFJTEVEKSB7XG4gICAgICAgICAgczMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGVnJGN1cnJQb3MgPSBzMztcbiAgICAgICAgICBzMyA9IHBlZyRGQUlMRUQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoczMgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICBpZiAoaW5wdXQubGVuZ3RoID4gcGVnJGN1cnJQb3MpIHtcbiAgICAgICAgICAgIHM0ID0gaW5wdXQuY2hhckF0KHBlZyRjdXJyUG9zKTtcbiAgICAgICAgICAgIHBlZyRjdXJyUG9zKys7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHM0ID0gcGVnJEZBSUxFRDtcblxuICAgICAgICAgICAgaWYgKHBlZyRzaWxlbnRGYWlscyA9PT0gMCkge1xuICAgICAgICAgICAgICBwZWckZmFpbChwZWckYzE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoczQgIT09IHBlZyRGQUlMRUQpIHtcbiAgICAgICAgICAgIHMzID0gW3MzLCBzNF07XG4gICAgICAgICAgICBzMiA9IHMzO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwZWckY3VyclBvcyA9IHMyO1xuICAgICAgICAgICAgczIgPSBwZWckRkFJTEVEO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwZWckY3VyclBvcyA9IHMyO1xuICAgICAgICAgIHMyID0gcGVnJEZBSUxFRDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG4gICAgfVxuXG4gICAgaWYgKHMxICE9PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMCA9IGlucHV0LnN1YnN0cmluZyhzMCwgcGVnJGN1cnJQb3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzMCA9IHMxO1xuICAgIH1cblxuICAgIHBlZyRzaWxlbnRGYWlscy0tO1xuXG4gICAgaWYgKHMwID09PSBwZWckRkFJTEVEKSB7XG4gICAgICBzMSA9IHBlZyRGQUlMRUQ7XG5cbiAgICAgIGlmIChwZWckc2lsZW50RmFpbHMgPT09IDApIHtcbiAgICAgICAgcGVnJGZhaWwocGVnJGM5Myk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHMwO1xuICB9XG5cbiAgdmFyIG1lc3NhZ2VDdHggPSBbJ3Jvb3QnXTtcblxuICBmdW5jdGlvbiBpc05lc3RlZE1lc3NhZ2VUZXh0KCkge1xuICAgIHJldHVybiBtZXNzYWdlQ3R4Lmxlbmd0aCA+IDE7XG4gIH1cblxuICBmdW5jdGlvbiBpc0luUGx1cmFsT3B0aW9uKCkge1xuICAgIHJldHVybiBtZXNzYWdlQ3R4W21lc3NhZ2VDdHgubGVuZ3RoIC0gMV0gPT09ICdwbHVyYWwnO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5zZXJ0TG9jYXRpb24oKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMgJiYgb3B0aW9ucy5jYXB0dXJlTG9jYXRpb24gPyB7XG4gICAgICBsb2NhdGlvbjogbG9jYXRpb24oKVxuICAgIH0gOiB7fTtcbiAgfVxuXG4gIHBlZyRyZXN1bHQgPSBwZWckc3RhcnRSdWxlRnVuY3Rpb24oKTtcblxuICBpZiAocGVnJHJlc3VsdCAhPT0gcGVnJEZBSUxFRCAmJiBwZWckY3VyclBvcyA9PT0gaW5wdXQubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHBlZyRyZXN1bHQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHBlZyRyZXN1bHQgIT09IHBlZyRGQUlMRUQgJiYgcGVnJGN1cnJQb3MgPCBpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHBlZyRmYWlsKHBlZyRlbmRFeHBlY3RhdGlvbigpKTtcbiAgICB9XG5cbiAgICB0aHJvdyBwZWckYnVpbGRTdHJ1Y3R1cmVkRXJyb3IocGVnJG1heEZhaWxFeHBlY3RlZCwgcGVnJG1heEZhaWxQb3MgPCBpbnB1dC5sZW5ndGggPyBpbnB1dC5jaGFyQXQocGVnJG1heEZhaWxQb3MpIDogbnVsbCwgcGVnJG1heEZhaWxQb3MgPCBpbnB1dC5sZW5ndGggPyBwZWckY29tcHV0ZUxvY2F0aW9uKHBlZyRtYXhGYWlsUG9zLCBwZWckbWF4RmFpbFBvcyArIDEpIDogcGVnJGNvbXB1dGVMb2NhdGlvbihwZWckbWF4RmFpbFBvcywgcGVnJG1heEZhaWxQb3MpKTtcbiAgfVxufVxuXG5leHBvcnQgdmFyIHBlZ1BhcnNlID0gcGVnJHBhcnNlOyIsInZhciBfX3NwcmVhZEFycmF5cyA9IHRoaXMgJiYgdGhpcy5fX3NwcmVhZEFycmF5cyB8fCBmdW5jdGlvbiAoKSB7XG4gIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykge1xuICAgIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcbiAgfVxuXG4gIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKykge1xuICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKSB7XG4gICAgICByW2tdID0gYVtqXTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcjtcbn07XG5cbmltcG9ydCB7IGlzUGx1cmFsRWxlbWVudCwgaXNMaXRlcmFsRWxlbWVudCwgaXNTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBwZWdQYXJzZSB9IGZyb20gJy4vcGFyc2VyJztcbnZhciBQTFVSQUxfSEFTSFRBR19SRUdFWCA9IC8oXnxbXlxcXFxdKSMvZztcbi8qKlxuICogV2hldGhlciB0byBjb252ZXJ0IGAjYCBpbiBwbHVyYWwgcnVsZSBvcHRpb25zXG4gKiB0byBge3ZhciwgbnVtYmVyfWBcbiAqIEBwYXJhbSBlbCBBU1QgRWxlbWVudFxuICogQHBhcmFtIHBsdXJhbFN0YWNrIGN1cnJlbnQgcGx1cmFsIHN0YWNrXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUhhc2h0YWdJblBsdXJhbChlbHMpIHtcbiAgZWxzLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7XG4gICAgLy8gSWYgd2UncmUgZW5jb3VudGVyaW5nIGEgcGx1cmFsIGVsXG4gICAgaWYgKCFpc1BsdXJhbEVsZW1lbnQoZWwpICYmICFpc1NlbGVjdEVsZW1lbnQoZWwpKSB7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBHbyBkb3duIHRoZSBvcHRpb25zIGFuZCBzZWFyY2ggZm9yICMgaW4gYW55IGxpdGVyYWwgZWxlbWVudFxuXG5cbiAgICBPYmplY3Qua2V5cyhlbC5vcHRpb25zKS5mb3JFYWNoKGZ1bmN0aW9uIChpZCkge1xuICAgICAgdmFyIF9hO1xuXG4gICAgICB2YXIgb3B0ID0gZWwub3B0aW9uc1tpZF07IC8vIElmIHdlIGdvdCBhIG1hdGNoLCB3ZSBoYXZlIHRvIHNwbGl0IHRoaXNcbiAgICAgIC8vIGFuZCBpbmplY3QgYSBOdW1iZXJFbGVtZW50IGluIHRoZSBtaWRkbGVcblxuICAgICAgdmFyIG1hdGNoaW5nTGl0ZXJhbEVsSW5kZXggPSAtMTtcbiAgICAgIHZhciBsaXRlcmFsRWwgPSB1bmRlZmluZWQ7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3B0LnZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBlbF8xID0gb3B0LnZhbHVlW2ldO1xuXG4gICAgICAgIGlmIChpc0xpdGVyYWxFbGVtZW50KGVsXzEpICYmIFBMVVJBTF9IQVNIVEFHX1JFR0VYLnRlc3QoZWxfMS52YWx1ZSkpIHtcbiAgICAgICAgICBtYXRjaGluZ0xpdGVyYWxFbEluZGV4ID0gaTtcbiAgICAgICAgICBsaXRlcmFsRWwgPSBlbF8xO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChsaXRlcmFsRWwpIHtcbiAgICAgICAgdmFyIG5ld1ZhbHVlID0gbGl0ZXJhbEVsLnZhbHVlLnJlcGxhY2UoUExVUkFMX0hBU0hUQUdfUkVHRVgsIFwiJDF7XCIgKyBlbC52YWx1ZSArIFwiLCBudW1iZXJ9XCIpO1xuICAgICAgICB2YXIgbmV3RWxzID0gcGVnUGFyc2UobmV3VmFsdWUpO1xuXG4gICAgICAgIChfYSA9IG9wdC52YWx1ZSkuc3BsaWNlLmFwcGx5KF9hLCBfX3NwcmVhZEFycmF5cyhbbWF0Y2hpbmdMaXRlcmFsRWxJbmRleCwgMV0sIG5ld0VscykpO1xuICAgICAgfVxuXG4gICAgICBub3JtYWxpemVIYXNodGFnSW5QbHVyYWwob3B0LnZhbHVlKTtcbiAgICB9KTtcbiAgfSk7XG59IiwiaW1wb3J0IHsgcGVnUGFyc2UgfSBmcm9tICcuL3BhcnNlcic7XG5pbXBvcnQgeyBub3JtYWxpemVIYXNodGFnSW5QbHVyYWwgfSBmcm9tICcuL25vcm1hbGl6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGFyc2VyJztcbmV4cG9ydCAqIGZyb20gJy4vc2tlbGV0b24nO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlKGlucHV0LCBvcHRzKSB7XG4gIHZhciBlbHMgPSBwZWdQYXJzZShpbnB1dCwgb3B0cyk7XG5cbiAgaWYgKCFvcHRzIHx8IG9wdHMubm9ybWFsaXplSGFzaHRhZ0luUGx1cmFsICE9PSBmYWxzZSkge1xuICAgIG5vcm1hbGl6ZUhhc2h0YWdJblBsdXJhbChlbHMpO1xuICB9XG5cbiAgcmV0dXJuIGVscztcbn0iLCIvKlxuQ29weXJpZ2h0IChjKSAyMDE0LCBZYWhvbyEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBMaWNlbnNlLlxuU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiovXG52YXIgX19zcHJlYWRBcnJheXMgPSB0aGlzICYmIHRoaXMuX19zcHJlYWRBcnJheXMgfHwgZnVuY3Rpb24gKCkge1xuICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHtcbiAgICBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XG4gIH1cblxuICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspIHtcbiAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKykge1xuICAgICAgcltrXSA9IGFbal07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHI7XG59OyAvLyAtLSBVdGlsaXRpZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbmZ1bmN0aW9uIGdldENhY2hlSWQoaW5wdXRzKSB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShpbnB1dHMubWFwKGZ1bmN0aW9uIChpbnB1dCkge1xuICAgIHJldHVybiBpbnB1dCAmJiB0eXBlb2YgaW5wdXQgPT09ICdvYmplY3QnID8gb3JkZXJlZFByb3BzKGlucHV0KSA6IGlucHV0O1xuICB9KSk7XG59XG5cbmZ1bmN0aW9uIG9yZGVyZWRQcm9wcyhvYmopIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikuc29ydCgpLm1hcChmdW5jdGlvbiAoaykge1xuICAgIHZhciBfYTtcblxuICAgIHJldHVybiBfYSA9IHt9LCBfYVtrXSA9IG9ialtrXSwgX2E7XG4gIH0pO1xufVxuXG52YXIgbWVtb2l6ZUZvcm1hdENvbnN0cnVjdG9yID0gZnVuY3Rpb24gbWVtb2l6ZUZvcm1hdENvbnN0cnVjdG9yKEZvcm1hdENvbnN0cnVjdG9yLCBjYWNoZSkge1xuICBpZiAoY2FjaGUgPT09IHZvaWQgMCkge1xuICAgIGNhY2hlID0ge307XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHZhciBfYTtcblxuICAgIHZhciBhcmdzID0gW107XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgIH1cblxuICAgIHZhciBjYWNoZUlkID0gZ2V0Q2FjaGVJZChhcmdzKTtcbiAgICB2YXIgZm9ybWF0ID0gY2FjaGVJZCAmJiBjYWNoZVtjYWNoZUlkXTtcblxuICAgIGlmICghZm9ybWF0KSB7XG4gICAgICBmb3JtYXQgPSBuZXcgKChfYSA9IEZvcm1hdENvbnN0cnVjdG9yKS5iaW5kLmFwcGx5KF9hLCBfX3NwcmVhZEFycmF5cyhbdm9pZCAwXSwgYXJncykpKSgpO1xuXG4gICAgICBpZiAoY2FjaGVJZCkge1xuICAgICAgICBjYWNoZVtjYWNoZUlkXSA9IGZvcm1hdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZm9ybWF0O1xuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgbWVtb2l6ZUZvcm1hdENvbnN0cnVjdG9yOyIsInZhciBfX2Fzc2lnbiA9IHRoaXMgJiYgdGhpcy5fX2Fzc2lnbiB8fCBmdW5jdGlvbiAoKSB7XG4gIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodCkge1xuICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgZm9yICh2YXIgcCBpbiBzKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0O1xuICB9O1xuXG4gIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcbi8qKlxuICogaHR0cHM6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvdHIzNS1kYXRlcy5odG1sI0RhdGVfRmllbGRfU3ltYm9sX1RhYmxlXG4gKiBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9jYXJpZHkvaW50bC1kYXRldGltZWZvcm1hdC1wYXR0ZXJuL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG4gKiB3aXRoIHNvbWUgdHdlYWtzXG4gKi9cblxuXG52YXIgREFURV9USU1FX1JFR0VYID0gLyg/OltFZWNdezEsNn18R3sxLDV9fFtRcV17MSw1fXwoPzpbeVl1cl0rfFV7MSw1fSl8W01MXXsxLDV9fGR7MSwyfXxEezEsM318RnsxfXxbYWJCXXsxLDV9fFtoa0hLXXsxLDJ9fHd7MSwyfXxXezF9fG17MSwyfXxzezEsMn18W3paT3ZWeFhdezEsNH0pKD89KFteJ10qJ1teJ10qJykqW14nXSokKS9nO1xuLyoqXG4gKiBQYXJzZSBEYXRlIHRpbWUgc2tlbGV0b24gaW50byBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9uc1xuICogUmVmOiBodHRwczovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS90cjM1LWRhdGVzLmh0bWwjRGF0ZV9GaWVsZF9TeW1ib2xfVGFibGVcbiAqIEBwdWJsaWNcbiAqIEBwYXJhbSBza2VsZXRvbiBza2VsZXRvbiBzdHJpbmdcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEYXRlVGltZVNrZWxldG9uKHNrZWxldG9uKSB7XG4gIHZhciByZXN1bHQgPSB7fTtcbiAgc2tlbGV0b24ucmVwbGFjZShEQVRFX1RJTUVfUkVHRVgsIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHZhciBsZW4gPSBtYXRjaC5sZW5ndGg7XG5cbiAgICBzd2l0Y2ggKG1hdGNoWzBdKSB7XG4gICAgICAvLyBFcmFcbiAgICAgIGNhc2UgJ0cnOlxuICAgICAgICByZXN1bHQuZXJhID0gbGVuID09PSA0ID8gJ2xvbmcnIDogbGVuID09PSA1ID8gJ25hcnJvdycgOiAnc2hvcnQnO1xuICAgICAgICBicmVhaztcbiAgICAgIC8vIFllYXJcblxuICAgICAgY2FzZSAneSc6XG4gICAgICAgIHJlc3VsdC55ZWFyID0gbGVuID09PSAyID8gJzItZGlnaXQnIDogJ251bWVyaWMnO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnWSc6XG4gICAgICBjYXNlICd1JzpcbiAgICAgIGNhc2UgJ1UnOlxuICAgICAgY2FzZSAncic6XG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdgWS91L1UvcmAgKHllYXIpIHBhdHRlcm5zIGFyZSBub3Qgc3VwcG9ydGVkLCB1c2UgYHlgIGluc3RlYWQnKTtcbiAgICAgIC8vIFF1YXJ0ZXJcblxuICAgICAgY2FzZSAncSc6XG4gICAgICBjYXNlICdRJzpcbiAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ2BxL1FgIChxdWFydGVyKSBwYXR0ZXJucyBhcmUgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgLy8gTW9udGhcblxuICAgICAgY2FzZSAnTSc6XG4gICAgICBjYXNlICdMJzpcbiAgICAgICAgcmVzdWx0Lm1vbnRoID0gWydudW1lcmljJywgJzItZGlnaXQnLCAnc2hvcnQnLCAnbG9uZycsICduYXJyb3cnXVtsZW4gLSAxXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICAvLyBXZWVrXG5cbiAgICAgIGNhc2UgJ3cnOlxuICAgICAgY2FzZSAnVyc6XG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdgdy9XYCAod2VlaykgcGF0dGVybnMgYXJlIG5vdCBzdXBwb3J0ZWQnKTtcblxuICAgICAgY2FzZSAnZCc6XG4gICAgICAgIHJlc3VsdC5kYXkgPSBbJ251bWVyaWMnLCAnMi1kaWdpdCddW2xlbiAtIDFdO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnRCc6XG4gICAgICBjYXNlICdGJzpcbiAgICAgIGNhc2UgJ2cnOlxuICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignYEQvRi9nYCAoZGF5KSBwYXR0ZXJucyBhcmUgbm90IHN1cHBvcnRlZCwgdXNlIGBkYCBpbnN0ZWFkJyk7XG4gICAgICAvLyBXZWVrZGF5XG5cbiAgICAgIGNhc2UgJ0UnOlxuICAgICAgICByZXN1bHQud2Vla2RheSA9IGxlbiA9PT0gNCA/ICdzaG9ydCcgOiBsZW4gPT09IDUgPyAnbmFycm93JyA6ICdzaG9ydCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdlJzpcbiAgICAgICAgaWYgKGxlbiA8IDQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignYGUuLmVlZWAgKHdlZWtkYXkpIHBhdHRlcm5zIGFyZSBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXN1bHQud2Vla2RheSA9IFsnc2hvcnQnLCAnbG9uZycsICduYXJyb3cnLCAnc2hvcnQnXVtsZW4gLSA0XTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2MnOlxuICAgICAgICBpZiAobGVuIDwgNCkge1xuICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdgYy4uY2NjYCAod2Vla2RheSkgcGF0dGVybnMgYXJlIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdC53ZWVrZGF5ID0gWydzaG9ydCcsICdsb25nJywgJ25hcnJvdycsICdzaG9ydCddW2xlbiAtIDRdO1xuICAgICAgICBicmVhaztcbiAgICAgIC8vIFBlcmlvZFxuXG4gICAgICBjYXNlICdhJzpcbiAgICAgICAgLy8gQU0sIFBNXG4gICAgICAgIHJlc3VsdC5ob3VyMTIgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnYic6IC8vIGFtLCBwbSwgbm9vbiwgbWlkbmlnaHRcblxuICAgICAgY2FzZSAnQic6XG4gICAgICAgIC8vIGZsZXhpYmxlIGRheSBwZXJpb2RzXG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdgYi9CYCAocGVyaW9kKSBwYXR0ZXJucyBhcmUgbm90IHN1cHBvcnRlZCwgdXNlIGBhYCBpbnN0ZWFkJyk7XG4gICAgICAvLyBIb3VyXG5cbiAgICAgIGNhc2UgJ2gnOlxuICAgICAgICByZXN1bHQuaG91ckN5Y2xlID0gJ2gxMic7XG4gICAgICAgIHJlc3VsdC5ob3VyID0gWydudW1lcmljJywgJzItZGlnaXQnXVtsZW4gLSAxXTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0gnOlxuICAgICAgICByZXN1bHQuaG91ckN5Y2xlID0gJ2gyMyc7XG4gICAgICAgIHJlc3VsdC5ob3VyID0gWydudW1lcmljJywgJzItZGlnaXQnXVtsZW4gLSAxXTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0snOlxuICAgICAgICByZXN1bHQuaG91ckN5Y2xlID0gJ2gxMSc7XG4gICAgICAgIHJlc3VsdC5ob3VyID0gWydudW1lcmljJywgJzItZGlnaXQnXVtsZW4gLSAxXTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2snOlxuICAgICAgICByZXN1bHQuaG91ckN5Y2xlID0gJ2gyNCc7XG4gICAgICAgIHJlc3VsdC5ob3VyID0gWydudW1lcmljJywgJzItZGlnaXQnXVtsZW4gLSAxXTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2onOlxuICAgICAgY2FzZSAnSic6XG4gICAgICBjYXNlICdDJzpcbiAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ2BqL0ovQ2AgKGhvdXIpIHBhdHRlcm5zIGFyZSBub3Qgc3VwcG9ydGVkLCB1c2UgYGgvSC9LL2tgIGluc3RlYWQnKTtcbiAgICAgIC8vIE1pbnV0ZVxuXG4gICAgICBjYXNlICdtJzpcbiAgICAgICAgcmVzdWx0Lm1pbnV0ZSA9IFsnbnVtZXJpYycsICcyLWRpZ2l0J11bbGVuIC0gMV07XG4gICAgICAgIGJyZWFrO1xuICAgICAgLy8gU2Vjb25kXG5cbiAgICAgIGNhc2UgJ3MnOlxuICAgICAgICByZXN1bHQuc2Vjb25kID0gWydudW1lcmljJywgJzItZGlnaXQnXVtsZW4gLSAxXTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ1MnOlxuICAgICAgY2FzZSAnQSc6XG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdgUy9BYCAoc2Vjb25kKSBwYXR0ZW5ycyBhcmUgbm90IHN1cHBvcnRlZCwgdXNlIGBzYCBpbnN0ZWFkJyk7XG4gICAgICAvLyBab25lXG5cbiAgICAgIGNhc2UgJ3onOlxuICAgICAgICAvLyAxLi4zLCA0OiBzcGVjaWZpYyBub24tbG9jYXRpb24gZm9ybWF0XG4gICAgICAgIHJlc3VsdC50aW1lWm9uZU5hbWUgPSBsZW4gPCA0ID8gJ3Nob3J0JyA6ICdsb25nJztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ1onOiAvLyAxLi4zLCA0LCA1OiBUaGUgSVNPODYwMSB2YXJpb3MgZm9ybWF0c1xuXG4gICAgICBjYXNlICdPJzogLy8gMSwgNDogbWlsaXNlY29uZHMgaW4gZGF5IHNob3J0LCBsb25nXG5cbiAgICAgIGNhc2UgJ3YnOiAvLyAxLCA0OiBnZW5lcmljIG5vbi1sb2NhdGlvbiBmb3JtYXRcblxuICAgICAgY2FzZSAnVic6IC8vIDEsIDIsIDMsIDQ6IHRpbWUgem9uZSBJRCBvciBjaXR5XG5cbiAgICAgIGNhc2UgJ1gnOiAvLyAxLCAyLCAzLCA0OiBUaGUgSVNPODYwMSB2YXJpb3MgZm9ybWF0c1xuXG4gICAgICBjYXNlICd4JzpcbiAgICAgICAgLy8gMSwgMiwgMywgNDogVGhlIElTTzg2MDEgdmFyaW9zIGZvcm1hdHNcbiAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ2BaL08vdi9WL1gveGAgKHRpbWVab25lKSBwYXR0ZW5ycyBhcmUgbm90IHN1cHBvcnRlZCwgdXNlIGB6YCBpbnN0ZWFkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gaWN1VW5pdFRvRWNtYSh1bml0KSB7XG4gIHJldHVybiB1bml0LnJlcGxhY2UoL14oLio/KS0vLCAnJyk7XG59XG5cbnZhciBGUkFDVElPTl9QUkVDSVNJT05fUkVHRVggPSAvXlxcLig/OigwKykoXFwrfCMrKT8pPyQvZztcbnZhciBTSUdOSUZJQ0FOVF9QUkVDSVNJT05fUkVHRVggPSAvXihAKyk/KFxcK3wjKyk/JC9nO1xuXG5mdW5jdGlvbiBwYXJzZVNpZ25pZmljYW50UHJlY2lzaW9uKHN0cikge1xuICB2YXIgcmVzdWx0ID0ge307XG4gIHN0ci5yZXBsYWNlKFNJR05JRklDQU5UX1BSRUNJU0lPTl9SRUdFWCwgZnVuY3Rpb24gKF8sIGcxLCBnMikge1xuICAgIC8vIEBAQCBjYXNlXG4gICAgaWYgKHR5cGVvZiBnMiAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJlc3VsdC5taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBnMS5sZW5ndGg7XG4gICAgICByZXN1bHQubWF4aW11bVNpZ25pZmljYW50RGlnaXRzID0gZzEubGVuZ3RoO1xuICAgIH0gLy8gQEBAKyBjYXNlXG4gICAgZWxzZSBpZiAoZzIgPT09ICcrJykge1xuICAgICAgICByZXN1bHQubWluaW11bVNpZ25pZmljYW50RGlnaXRzID0gZzEubGVuZ3RoO1xuICAgICAgfSAvLyAuIyMjIGNhc2VcbiAgICAgIGVsc2UgaWYgKGcxWzBdID09PSAnIycpIHtcbiAgICAgICAgICByZXN1bHQubWF4aW11bVNpZ25pZmljYW50RGlnaXRzID0gZzEubGVuZ3RoO1xuICAgICAgICB9IC8vIC5AQCMjIG9yIC5AQEAgY2FzZVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdC5taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBnMS5sZW5ndGg7XG4gICAgICAgICAgICByZXN1bHQubWF4aW11bVNpZ25pZmljYW50RGlnaXRzID0gZzEubGVuZ3RoICsgKHR5cGVvZiBnMiA9PT0gJ3N0cmluZycgPyBnMi5sZW5ndGggOiAwKTtcbiAgICAgICAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBwYXJzZVNpZ24oc3RyKSB7XG4gIHN3aXRjaCAoc3RyKSB7XG4gICAgY2FzZSAnc2lnbi1hdXRvJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNpZ25EaXNwbGF5OiAnYXV0bydcbiAgICAgIH07XG5cbiAgICBjYXNlICdzaWduLWFjY291bnRpbmcnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVuY3lTaWduOiAnYWNjb3VudGluZydcbiAgICAgIH07XG5cbiAgICBjYXNlICdzaWduLWFsd2F5cyc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzaWduRGlzcGxheTogJ2Fsd2F5cydcbiAgICAgIH07XG5cbiAgICBjYXNlICdzaWduLWFjY291bnRpbmctYWx3YXlzJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNpZ25EaXNwbGF5OiAnYWx3YXlzJyxcbiAgICAgICAgY3VycmVuY3lTaWduOiAnYWNjb3VudGluZydcbiAgICAgIH07XG5cbiAgICBjYXNlICdzaWduLWV4Y2VwdC16ZXJvJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNpZ25EaXNwbGF5OiAnZXhjZXB0WmVybydcbiAgICAgIH07XG5cbiAgICBjYXNlICdzaWduLWFjY291bnRpbmctZXhjZXB0LXplcm8nOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2lnbkRpc3BsYXk6ICdleGNlcHRaZXJvJyxcbiAgICAgICAgY3VycmVuY3lTaWduOiAnYWNjb3VudGluZydcbiAgICAgIH07XG5cbiAgICBjYXNlICdzaWduLW5ldmVyJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNpZ25EaXNwbGF5OiAnbmV2ZXInXG4gICAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlTm90YXRpb25PcHRpb25zKG9wdCkge1xuICB2YXIgcmVzdWx0ID0ge307XG4gIHZhciBzaWduT3B0cyA9IHBhcnNlU2lnbihvcHQpO1xuXG4gIGlmIChzaWduT3B0cykge1xuICAgIHJldHVybiBzaWduT3B0cztcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS91bmljb2RlLW9yZy9pY3UvYmxvYi9tYXN0ZXIvZG9jcy91c2VyZ3VpZGUvZm9ybWF0X3BhcnNlL251bWJlcnMvc2tlbGV0b25zLm1kI3NrZWxldG9uLXN0ZW1zLWFuZC1vcHRpb25zXG4gKi9cblxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydE51bWJlclNrZWxldG9uVG9OdW1iZXJGb3JtYXRPcHRpb25zKHRva2Vucykge1xuICB2YXIgcmVzdWx0ID0ge307XG5cbiAgZm9yICh2YXIgX2kgPSAwLCB0b2tlbnNfMSA9IHRva2VuczsgX2kgPCB0b2tlbnNfMS5sZW5ndGg7IF9pKyspIHtcbiAgICB2YXIgdG9rZW4gPSB0b2tlbnNfMVtfaV07XG5cbiAgICBzd2l0Y2ggKHRva2VuLnN0ZW0pIHtcbiAgICAgIGNhc2UgJ3BlcmNlbnQnOlxuICAgICAgICByZXN1bHQuc3R5bGUgPSAncGVyY2VudCc7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgIHJlc3VsdC5zdHlsZSA9ICdjdXJyZW5jeSc7XG4gICAgICAgIHJlc3VsdC5jdXJyZW5jeSA9IHRva2VuLm9wdGlvbnNbMF07XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICdncm91cC1vZmYnOlxuICAgICAgICByZXN1bHQudXNlR3JvdXBpbmcgPSBmYWxzZTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGNhc2UgJ3ByZWNpc2lvbi1pbnRlZ2VyJzpcbiAgICAgICAgcmVzdWx0Lm1heGltdW1GcmFjdGlvbkRpZ2l0cyA9IDA7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICdtZWFzdXJlLXVuaXQnOlxuICAgICAgICByZXN1bHQuc3R5bGUgPSAndW5pdCc7XG4gICAgICAgIHJlc3VsdC51bml0ID0gaWN1VW5pdFRvRWNtYSh0b2tlbi5vcHRpb25zWzBdKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGNhc2UgJ2NvbXBhY3Qtc2hvcnQnOlxuICAgICAgICByZXN1bHQubm90YXRpb24gPSAnY29tcGFjdCc7XG4gICAgICAgIHJlc3VsdC5jb21wYWN0RGlzcGxheSA9ICdzaG9ydCc7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICdjb21wYWN0LWxvbmcnOlxuICAgICAgICByZXN1bHQubm90YXRpb24gPSAnY29tcGFjdCc7XG4gICAgICAgIHJlc3VsdC5jb21wYWN0RGlzcGxheSA9ICdsb25nJztcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGNhc2UgJ3NjaWVudGlmaWMnOlxuICAgICAgICByZXN1bHQgPSBfX2Fzc2lnbihfX2Fzc2lnbihfX2Fzc2lnbih7fSwgcmVzdWx0KSwge1xuICAgICAgICAgIG5vdGF0aW9uOiAnc2NpZW50aWZpYydcbiAgICAgICAgfSksIHRva2VuLm9wdGlvbnMucmVkdWNlKGZ1bmN0aW9uIChhbGwsIG9wdCkge1xuICAgICAgICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgYWxsKSwgcGFyc2VOb3RhdGlvbk9wdGlvbnMob3B0KSk7XG4gICAgICAgIH0sIHt9KSk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICdlbmdpbmVlcmluZyc6XG4gICAgICAgIHJlc3VsdCA9IF9fYXNzaWduKF9fYXNzaWduKF9fYXNzaWduKHt9LCByZXN1bHQpLCB7XG4gICAgICAgICAgbm90YXRpb246ICdlbmdpbmVlcmluZydcbiAgICAgICAgfSksIHRva2VuLm9wdGlvbnMucmVkdWNlKGZ1bmN0aW9uIChhbGwsIG9wdCkge1xuICAgICAgICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgYWxsKSwgcGFyc2VOb3RhdGlvbk9wdGlvbnMob3B0KSk7XG4gICAgICAgIH0sIHt9KSk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICdub3RhdGlvbi1zaW1wbGUnOlxuICAgICAgICByZXN1bHQubm90YXRpb24gPSAnc3RhbmRhcmQnO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS91bmljb2RlLW9yZy9pY3UvYmxvYi9tYXN0ZXIvaWN1NGMvc291cmNlL2kxOG4vdW5pY29kZS91bnVtYmVyZm9ybWF0dGVyLmhcblxuICAgICAgY2FzZSAndW5pdC13aWR0aC1uYXJyb3cnOlxuICAgICAgICByZXN1bHQuY3VycmVuY3lEaXNwbGF5ID0gJ25hcnJvd1N5bWJvbCc7XG4gICAgICAgIHJlc3VsdC51bml0RGlzcGxheSA9ICduYXJyb3cnO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgY2FzZSAndW5pdC13aWR0aC1zaG9ydCc6XG4gICAgICAgIHJlc3VsdC5jdXJyZW5jeURpc3BsYXkgPSAnY29kZSc7XG4gICAgICAgIHJlc3VsdC51bml0RGlzcGxheSA9ICdzaG9ydCc7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICBjYXNlICd1bml0LXdpZHRoLWZ1bGwtbmFtZSc6XG4gICAgICAgIHJlc3VsdC5jdXJyZW5jeURpc3BsYXkgPSAnbmFtZSc7XG4gICAgICAgIHJlc3VsdC51bml0RGlzcGxheSA9ICdsb25nJztcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgIGNhc2UgJ3VuaXQtd2lkdGgtaXNvLWNvZGUnOlxuICAgICAgICByZXN1bHQuY3VycmVuY3lEaXNwbGF5ID0gJ3N5bWJvbCc7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgIH0gLy8gUHJlY2lzaW9uXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3VuaWNvZGUtb3JnL2ljdS9ibG9iL21hc3Rlci9kb2NzL3VzZXJndWlkZS9mb3JtYXRfcGFyc2UvbnVtYmVycy9za2VsZXRvbnMubWQjZnJhY3Rpb24tcHJlY2lzaW9uXG5cblxuICAgIGlmIChGUkFDVElPTl9QUkVDSVNJT05fUkVHRVgudGVzdCh0b2tlbi5zdGVtKSkge1xuICAgICAgaWYgKHRva2VuLm9wdGlvbnMubGVuZ3RoID4gMSkge1xuICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignRnJhY3Rpb24tcHJlY2lzaW9uIHN0ZW1zIG9ubHkgYWNjZXB0IGEgc2luZ2xlIG9wdGlvbmFsIG9wdGlvbicpO1xuICAgICAgfVxuXG4gICAgICB0b2tlbi5zdGVtLnJlcGxhY2UoRlJBQ1RJT05fUFJFQ0lTSU9OX1JFR0VYLCBmdW5jdGlvbiAobWF0Y2gsIGcxLCBnMikge1xuICAgICAgICAvLyBwcmVjaXNpb24taW50ZWdlciBjYXNlXG4gICAgICAgIGlmIChtYXRjaCA9PT0gJy4nKSB7XG4gICAgICAgICAgcmVzdWx0Lm1heGltdW1GcmFjdGlvbkRpZ2l0cyA9IDA7XG4gICAgICAgIH0gLy8gLjAwMCsgY2FzZVxuICAgICAgICBlbHNlIGlmIChnMiA9PT0gJysnKSB7XG4gICAgICAgICAgICByZXN1bHQubWluaW11bUZyYWN0aW9uRGlnaXRzID0gZzIubGVuZ3RoO1xuICAgICAgICAgIH0gLy8gLiMjIyBjYXNlXG4gICAgICAgICAgZWxzZSBpZiAoZzFbMF0gPT09ICcjJykge1xuICAgICAgICAgICAgICByZXN1bHQubWF4aW11bUZyYWN0aW9uRGlnaXRzID0gZzEubGVuZ3RoO1xuICAgICAgICAgICAgfSAvLyAuMDAjIyBvciAuMDAwIGNhc2VcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5taW5pbXVtRnJhY3Rpb25EaWdpdHMgPSBnMS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgcmVzdWx0Lm1heGltdW1GcmFjdGlvbkRpZ2l0cyA9IGcxLmxlbmd0aCArICh0eXBlb2YgZzIgPT09ICdzdHJpbmcnID8gZzIubGVuZ3RoIDogMCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRva2VuLm9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdCA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCByZXN1bHQpLCBwYXJzZVNpZ25pZmljYW50UHJlY2lzaW9uKHRva2VuLm9wdGlvbnNbMF0pKTtcbiAgICAgIH1cblxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKFNJR05JRklDQU5UX1BSRUNJU0lPTl9SRUdFWC50ZXN0KHRva2VuLnN0ZW0pKSB7XG4gICAgICByZXN1bHQgPSBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgcmVzdWx0KSwgcGFyc2VTaWduaWZpY2FudFByZWNpc2lvbih0b2tlbi5zdGVtKSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgc2lnbk9wdHMgPSBwYXJzZVNpZ24odG9rZW4uc3RlbSk7XG5cbiAgICBpZiAoc2lnbk9wdHMpIHtcbiAgICAgIHJlc3VsdCA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCByZXN1bHQpLCBzaWduT3B0cyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn0iLCJ2YXIgX19leHRlbmRzID0gdGhpcyAmJiB0aGlzLl9fZXh0ZW5kcyB8fCBmdW5jdGlvbiAoKSB7XG4gIHZhciBfZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIGV4dGVuZFN0YXRpY3MoZCwgYikge1xuICAgIF9leHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHtcbiAgICAgIF9fcHJvdG9fXzogW11cbiAgICB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHtcbiAgICAgIGQuX19wcm90b19fID0gYjtcbiAgICB9IHx8IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICBmb3IgKHZhciBwIGluIGIpIHtcbiAgICAgICAgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gX2V4dGVuZFN0YXRpY3MoZCwgYik7XG4gIH07XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgX2V4dGVuZFN0YXRpY3MoZCwgYik7XG5cbiAgICBmdW5jdGlvbiBfXygpIHtcbiAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBkO1xuICAgIH1cblxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcbiAgfTtcbn0oKTtcblxudmFyIF9fc3ByZWFkQXJyYXlzID0gdGhpcyAmJiB0aGlzLl9fc3ByZWFkQXJyYXlzIHx8IGZ1bmN0aW9uICgpIHtcbiAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSB7XG4gICAgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xuICB9XG5cbiAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKSB7XG4gICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspIHtcbiAgICAgIHJba10gPSBhW2pdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByO1xufTtcblxuaW1wb3J0IHsgY29udmVydE51bWJlclNrZWxldG9uVG9OdW1iZXJGb3JtYXRPcHRpb25zLCBpc0FyZ3VtZW50RWxlbWVudCwgaXNEYXRlRWxlbWVudCwgaXNEYXRlVGltZVNrZWxldG9uLCBpc0xpdGVyYWxFbGVtZW50LCBpc051bWJlckVsZW1lbnQsIGlzTnVtYmVyU2tlbGV0b24sIGlzUGx1cmFsRWxlbWVudCwgaXNQb3VuZEVsZW1lbnQsIGlzU2VsZWN0RWxlbWVudCwgaXNUaW1lRWxlbWVudCwgcGFyc2VEYXRlVGltZVNrZWxldG9uIH0gZnJvbSAnaW50bC1tZXNzYWdlZm9ybWF0LXBhcnNlcic7XG5cbnZhciBGb3JtYXRFcnJvciA9XG4vKiogQGNsYXNzICovXG5mdW5jdGlvbiAoX3N1cGVyKSB7XG4gIF9fZXh0ZW5kcyhGb3JtYXRFcnJvciwgX3N1cGVyKTtcblxuICBmdW5jdGlvbiBGb3JtYXRFcnJvcihtc2csIHZhcmlhYmxlSWQpIHtcbiAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBtc2cpIHx8IHRoaXM7XG5cbiAgICBfdGhpcy52YXJpYWJsZUlkID0gdmFyaWFibGVJZDtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICByZXR1cm4gRm9ybWF0RXJyb3I7XG59KEVycm9yKTtcblxuZnVuY3Rpb24gbWVyZ2VMaXRlcmFsKHBhcnRzKSB7XG4gIGlmIChwYXJ0cy5sZW5ndGggPCAyKSB7XG4gICAgcmV0dXJuIHBhcnRzO1xuICB9XG5cbiAgcmV0dXJuIHBhcnRzLnJlZHVjZShmdW5jdGlvbiAoYWxsLCBwYXJ0KSB7XG4gICAgdmFyIGxhc3RQYXJ0ID0gYWxsW2FsbC5sZW5ndGggLSAxXTtcblxuICAgIGlmICghbGFzdFBhcnQgfHwgbGFzdFBhcnQudHlwZSAhPT0gMFxuICAgIC8qIGxpdGVyYWwgKi9cbiAgICB8fCBwYXJ0LnR5cGUgIT09IDBcbiAgICAvKiBsaXRlcmFsICovXG4gICAgKSB7XG4gICAgICAgIGFsbC5wdXNoKHBhcnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgIGxhc3RQYXJ0LnZhbHVlICs9IHBhcnQudmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFsbDtcbiAgfSwgW10pO1xufSAvLyBUT0RPKHNrZWxldG9uKTogYWRkIHNrZWxldG9uIHN1cHBvcnRcblxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VG9QYXJ0cyhlbHMsIGxvY2FsZXMsIGZvcm1hdHRlcnMsIGZvcm1hdHMsIHZhbHVlcywgY3VycmVudFBsdXJhbFZhbHVlLCAvLyBGb3IgZGVidWdnaW5nXG5vcmlnaW5hbE1lc3NhZ2UpIHtcbiAgLy8gSG90IHBhdGggZm9yIHN0cmFpZ2h0IHNpbXBsZSBtc2cgdHJhbnNsYXRpb25zXG4gIGlmIChlbHMubGVuZ3RoID09PSAxICYmIGlzTGl0ZXJhbEVsZW1lbnQoZWxzWzBdKSkge1xuICAgIHJldHVybiBbe1xuICAgICAgdHlwZTogMFxuICAgICAgLyogbGl0ZXJhbCAqL1xuICAgICAgLFxuICAgICAgdmFsdWU6IGVsc1swXS52YWx1ZVxuICAgIH1dO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IFtdO1xuXG4gIGZvciAodmFyIF9pID0gMCwgZWxzXzEgPSBlbHM7IF9pIDwgZWxzXzEubGVuZ3RoOyBfaSsrKSB7XG4gICAgdmFyIGVsID0gZWxzXzFbX2ldOyAvLyBFeGl0IGVhcmx5IGZvciBzdHJpbmcgcGFydHMuXG5cbiAgICBpZiAoaXNMaXRlcmFsRWxlbWVudChlbCkpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgdHlwZTogMFxuICAgICAgICAvKiBsaXRlcmFsICovXG4gICAgICAgICxcbiAgICAgICAgdmFsdWU6IGVsLnZhbHVlXG4gICAgICB9KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH0gLy8gVE9ETzogc2hvdWxkIHRoaXMgcGFydCBiZSBsaXRlcmFsIHR5cGU/XG4gICAgLy8gUmVwbGFjZSBgI2AgaW4gcGx1cmFsIHJ1bGVzIHdpdGggdGhlIGFjdHVhbCBudW1lcmljIHZhbHVlLlxuXG5cbiAgICBpZiAoaXNQb3VuZEVsZW1lbnQoZWwpKSB7XG4gICAgICBpZiAodHlwZW9mIGN1cnJlbnRQbHVyYWxWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgIHR5cGU6IDBcbiAgICAgICAgICAvKiBsaXRlcmFsICovXG4gICAgICAgICAgLFxuICAgICAgICAgIHZhbHVlOiBmb3JtYXR0ZXJzLmdldE51bWJlckZvcm1hdChsb2NhbGVzKS5mb3JtYXQoY3VycmVudFBsdXJhbFZhbHVlKVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgdmFyIHZhck5hbWUgPSBlbC52YWx1ZTsgLy8gRW5mb3JjZSB0aGF0IGFsbCByZXF1aXJlZCB2YWx1ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBjYWxsZXIuXG5cbiAgICBpZiAoISh2YWx1ZXMgJiYgdmFyTmFtZSBpbiB2YWx1ZXMpKSB7XG4gICAgICB0aHJvdyBuZXcgRm9ybWF0RXJyb3IoXCJUaGUgaW50bCBzdHJpbmcgY29udGV4dCB2YXJpYWJsZSBcXFwiXCIgKyB2YXJOYW1lICsgXCJcXFwiIHdhcyBub3QgcHJvdmlkZWQgdG8gdGhlIHN0cmluZyBcXFwiXCIgKyBvcmlnaW5hbE1lc3NhZ2UgKyBcIlxcXCJcIik7XG4gICAgfVxuXG4gICAgdmFyIHZhbHVlID0gdmFsdWVzW3Zhck5hbWVdO1xuXG4gICAgaWYgKGlzQXJndW1lbnRFbGVtZW50KGVsKSkge1xuICAgICAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgdmFsdWUgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyBTdHJpbmcodmFsdWUpIDogJyc7XG4gICAgICB9XG5cbiAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgdHlwZTogMVxuICAgICAgICAvKiBhcmd1bWVudCAqL1xuICAgICAgICAsXG4gICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9IC8vIFJlY3Vyc2l2ZWx5IGZvcm1hdCBwbHVyYWwgYW5kIHNlbGVjdCBwYXJ0cycgb3B0aW9uIOKAlCB3aGljaCBjYW4gYmUgYVxuICAgIC8vIG5lc3RlZCBwYXR0ZXJuIHN0cnVjdHVyZS4gVGhlIGNob29zaW5nIG9mIHRoZSBvcHRpb24gdG8gdXNlIGlzXG4gICAgLy8gYWJzdHJhY3RlZC1ieSBhbmQgZGVsZWdhdGVkLXRvIHRoZSBwYXJ0IGhlbHBlciBvYmplY3QuXG5cblxuICAgIGlmIChpc0RhdGVFbGVtZW50KGVsKSkge1xuICAgICAgdmFyIHN0eWxlID0gdHlwZW9mIGVsLnN0eWxlID09PSAnc3RyaW5nJyA/IGZvcm1hdHMuZGF0ZVtlbC5zdHlsZV0gOiB1bmRlZmluZWQ7XG4gICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgIHR5cGU6IDBcbiAgICAgICAgLyogbGl0ZXJhbCAqL1xuICAgICAgICAsXG4gICAgICAgIHZhbHVlOiBmb3JtYXR0ZXJzLmdldERhdGVUaW1lRm9ybWF0KGxvY2FsZXMsIHN0eWxlKS5mb3JtYXQodmFsdWUpXG4gICAgICB9KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChpc1RpbWVFbGVtZW50KGVsKSkge1xuICAgICAgdmFyIHN0eWxlID0gdHlwZW9mIGVsLnN0eWxlID09PSAnc3RyaW5nJyA/IGZvcm1hdHMudGltZVtlbC5zdHlsZV0gOiBpc0RhdGVUaW1lU2tlbGV0b24oZWwuc3R5bGUpID8gcGFyc2VEYXRlVGltZVNrZWxldG9uKGVsLnN0eWxlLnBhdHRlcm4pIDogdW5kZWZpbmVkO1xuICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICB0eXBlOiAwXG4gICAgICAgIC8qIGxpdGVyYWwgKi9cbiAgICAgICAgLFxuICAgICAgICB2YWx1ZTogZm9ybWF0dGVycy5nZXREYXRlVGltZUZvcm1hdChsb2NhbGVzLCBzdHlsZSkuZm9ybWF0KHZhbHVlKVxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoaXNOdW1iZXJFbGVtZW50KGVsKSkge1xuICAgICAgdmFyIHN0eWxlID0gdHlwZW9mIGVsLnN0eWxlID09PSAnc3RyaW5nJyA/IGZvcm1hdHMubnVtYmVyW2VsLnN0eWxlXSA6IGlzTnVtYmVyU2tlbGV0b24oZWwuc3R5bGUpID8gY29udmVydE51bWJlclNrZWxldG9uVG9OdW1iZXJGb3JtYXRPcHRpb25zKGVsLnN0eWxlLnRva2VucykgOiB1bmRlZmluZWQ7XG4gICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgIHR5cGU6IDBcbiAgICAgICAgLyogbGl0ZXJhbCAqL1xuICAgICAgICAsXG4gICAgICAgIHZhbHVlOiBmb3JtYXR0ZXJzLmdldE51bWJlckZvcm1hdChsb2NhbGVzLCBzdHlsZSkuZm9ybWF0KHZhbHVlKVxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoaXNTZWxlY3RFbGVtZW50KGVsKSkge1xuICAgICAgdmFyIG9wdCA9IGVsLm9wdGlvbnNbdmFsdWVdIHx8IGVsLm9wdGlvbnMub3RoZXI7XG5cbiAgICAgIGlmICghb3B0KSB7XG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCB2YWx1ZXMgZm9yIFxcXCJcIiArIGVsLnZhbHVlICsgXCJcXFwiOiBcXFwiXCIgKyB2YWx1ZSArIFwiXFxcIi4gT3B0aW9ucyBhcmUgXFxcIlwiICsgT2JqZWN0LmtleXMoZWwub3B0aW9ucykuam9pbignXCIsIFwiJykgKyBcIlxcXCJcIik7XG4gICAgICB9XG5cbiAgICAgIHJlc3VsdC5wdXNoLmFwcGx5KHJlc3VsdCwgZm9ybWF0VG9QYXJ0cyhvcHQudmFsdWUsIGxvY2FsZXMsIGZvcm1hdHRlcnMsIGZvcm1hdHMsIHZhbHVlcykpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGlzUGx1cmFsRWxlbWVudChlbCkpIHtcbiAgICAgIHZhciBvcHQgPSBlbC5vcHRpb25zW1wiPVwiICsgdmFsdWVdO1xuXG4gICAgICBpZiAoIW9wdCkge1xuICAgICAgICBpZiAoIUludGwuUGx1cmFsUnVsZXMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRm9ybWF0RXJyb3IoXCJJbnRsLlBsdXJhbFJ1bGVzIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhpcyBlbnZpcm9ubWVudC5cXG5UcnkgcG9seWZpbGxpbmcgaXQgdXNpbmcgXFxcIkBmb3JtYXRqcy9pbnRsLXBsdXJhbHJ1bGVzXFxcIlxcblwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBydWxlID0gZm9ybWF0dGVycy5nZXRQbHVyYWxSdWxlcyhsb2NhbGVzLCB7XG4gICAgICAgICAgdHlwZTogZWwucGx1cmFsVHlwZVxuICAgICAgICB9KS5zZWxlY3QodmFsdWUgLSAoZWwub2Zmc2V0IHx8IDApKTtcbiAgICAgICAgb3B0ID0gZWwub3B0aW9uc1tydWxlXSB8fCBlbC5vcHRpb25zLm90aGVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoIW9wdCkge1xuICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkludmFsaWQgdmFsdWVzIGZvciBcXFwiXCIgKyBlbC52YWx1ZSArIFwiXFxcIjogXFxcIlwiICsgdmFsdWUgKyBcIlxcXCIuIE9wdGlvbnMgYXJlIFxcXCJcIiArIE9iamVjdC5rZXlzKGVsLm9wdGlvbnMpLmpvaW4oJ1wiLCBcIicpICsgXCJcXFwiXCIpO1xuICAgICAgfVxuXG4gICAgICByZXN1bHQucHVzaC5hcHBseShyZXN1bHQsIGZvcm1hdFRvUGFydHMob3B0LnZhbHVlLCBsb2NhbGVzLCBmb3JtYXR0ZXJzLCBmb3JtYXRzLCB2YWx1ZXMsIHZhbHVlIC0gKGVsLm9mZnNldCB8fCAwKSkpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1lcmdlTGl0ZXJhbChyZXN1bHQpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRvU3RyaW5nKGVscywgbG9jYWxlcywgZm9ybWF0dGVycywgZm9ybWF0cywgdmFsdWVzLCAvLyBGb3IgZGVidWdnaW5nXG5vcmlnaW5hbE1lc3NhZ2UpIHtcbiAgdmFyIHBhcnRzID0gZm9ybWF0VG9QYXJ0cyhlbHMsIGxvY2FsZXMsIGZvcm1hdHRlcnMsIGZvcm1hdHMsIHZhbHVlcywgdW5kZWZpbmVkLCBvcmlnaW5hbE1lc3NhZ2UpOyAvLyBIb3QgcGF0aCBmb3Igc3RyYWlnaHQgc2ltcGxlIG1zZyB0cmFuc2xhdGlvbnNcblxuICBpZiAocGFydHMubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIHBhcnRzWzBdLnZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHBhcnRzLnJlZHVjZShmdW5jdGlvbiAoYWxsLCBwYXJ0KSB7XG4gICAgcmV0dXJuIGFsbCArPSBwYXJ0LnZhbHVlO1xuICB9LCAnJyk7XG59IC8vIFNpbmdsZXRvblxuXG52YXIgZG9tUGFyc2VyO1xudmFyIFRPS0VOX0RFTElNSVRFUiA9ICdAQCc7XG52YXIgVE9LRU5fUkVHRVggPSAvQEAoXFxkK19cXGQrKUBAL2c7XG52YXIgY291bnRlciA9IDA7XG5cbmZ1bmN0aW9uIGdlbmVyYXRlSWQoKSB7XG4gIHJldHVybiBEYXRlLm5vdygpICsgXCJfXCIgKyArK2NvdW50ZXI7XG59XG5cbmZ1bmN0aW9uIHJlc3RvcmVSaWNoUGxhY2Vob2xkZXJNZXNzYWdlKHRleHQsIG9iamVjdFBhcnRzKSB7XG4gIHJldHVybiB0ZXh0LnNwbGl0KFRPS0VOX1JFR0VYKS5maWx0ZXIoQm9vbGVhbikubWFwKGZ1bmN0aW9uIChjKSB7XG4gICAgcmV0dXJuIG9iamVjdFBhcnRzW2NdICE9IG51bGwgPyBvYmplY3RQYXJ0c1tjXSA6IGM7XG4gIH0pLnJlZHVjZShmdW5jdGlvbiAoYWxsLCBjKSB7XG4gICAgaWYgKCFhbGwubGVuZ3RoKSB7XG4gICAgICBhbGwucHVzaChjKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgYWxsW2FsbC5sZW5ndGggLSAxXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGFsbFthbGwubGVuZ3RoIC0gMV0gKz0gYztcbiAgICB9IGVsc2Uge1xuICAgICAgYWxsLnB1c2goYyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFsbDtcbiAgfSwgW10pO1xufVxuLyoqXG4gKiBOb3QgZXhoYXVzdGl2ZSwganVzdCBmb3Igc2FuaXR5IGNoZWNrXG4gKi9cblxuXG52YXIgU0lNUExFX1hNTF9SRUdFWCA9IC8oPChbMC05YS16QS1aLV9dKj8pPiguKj8pPFxcLyhbMC05YS16QS1aLV9dKj8pPil8KDxbMC05YS16QS1aLV9dKj9cXC8+KS87XG52YXIgVEVNUExBVEVfSUQgPSBEYXRlLm5vdygpICsgJ0BAJztcbnZhciBWT0lEX0VMRU1FTlRTID0gWydhcmVhJywgJ2Jhc2UnLCAnYnInLCAnY29sJywgJ2VtYmVkJywgJ2hyJywgJ2ltZycsICdpbnB1dCcsICdsaW5rJywgJ21ldGEnLCAncGFyYW0nLCAnc291cmNlJywgJ3RyYWNrJywgJ3diciddO1xuXG5mdW5jdGlvbiBmb3JtYXRIVE1MRWxlbWVudChlbCwgb2JqZWN0UGFydHMsIHZhbHVlcykge1xuICB2YXIgdGFnTmFtZSA9IGVsLnRhZ05hbWU7XG4gIHZhciBvdXRlckhUTUwgPSBlbC5vdXRlckhUTUwsXG4gICAgICB0ZXh0Q29udGVudCA9IGVsLnRleHRDb250ZW50LFxuICAgICAgY2hpbGROb2RlcyA9IGVsLmNoaWxkTm9kZXM7IC8vIFJlZ3VsYXIgdGV4dFxuXG4gIGlmICghdGFnTmFtZSkge1xuICAgIHJldHVybiByZXN0b3JlUmljaFBsYWNlaG9sZGVyTWVzc2FnZSh0ZXh0Q29udGVudCB8fCAnJywgb2JqZWN0UGFydHMpO1xuICB9XG5cbiAgdGFnTmFtZSA9IHRhZ05hbWUudG9Mb3dlckNhc2UoKTtcbiAgdmFyIGlzVm9pZEVsZW1lbnQgPSB+Vk9JRF9FTEVNRU5UUy5pbmRleE9mKHRhZ05hbWUpO1xuICB2YXIgZm9ybWF0Rm5PclZhbHVlID0gdmFsdWVzW3RhZ05hbWVdO1xuXG4gIGlmIChmb3JtYXRGbk9yVmFsdWUgJiYgaXNWb2lkRWxlbWVudCkge1xuICAgIHRocm93IG5ldyBGb3JtYXRFcnJvcih0YWdOYW1lICsgXCIgaXMgYSBzZWxmLWNsb3NpbmcgdGFnIGFuZCBjYW4gbm90IGJlIHVzZWQsIHBsZWFzZSB1c2UgYW5vdGhlciB0YWcgbmFtZS5cIik7XG4gIH1cblxuICBpZiAoIWNoaWxkTm9kZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIFtvdXRlckhUTUxdO1xuICB9XG5cbiAgdmFyIGNodW5rcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGNoaWxkTm9kZXMpLnJlZHVjZShmdW5jdGlvbiAoYWxsLCBjaGlsZCkge1xuICAgIHJldHVybiBhbGwuY29uY2F0KGZvcm1hdEhUTUxFbGVtZW50KGNoaWxkLCBvYmplY3RQYXJ0cywgdmFsdWVzKSk7XG4gIH0sIFtdKTsgLy8gTGVnYWN5IEhUTUxcblxuICBpZiAoIWZvcm1hdEZuT3JWYWx1ZSkge1xuICAgIHJldHVybiBfX3NwcmVhZEFycmF5cyhbXCI8XCIgKyB0YWdOYW1lICsgXCI+XCJdLCBjaHVua3MsIFtcIjwvXCIgKyB0YWdOYW1lICsgXCI+XCJdKTtcbiAgfSAvLyBIVE1MIFRhZyByZXBsYWNlbWVudFxuXG5cbiAgaWYgKHR5cGVvZiBmb3JtYXRGbk9yVmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gW2Zvcm1hdEZuT3JWYWx1ZS5hcHBseSh2b2lkIDAsIGNodW5rcyldO1xuICB9XG5cbiAgcmV0dXJuIFtmb3JtYXRGbk9yVmFsdWVdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SFRNTE1lc3NhZ2UoZWxzLCBsb2NhbGVzLCBmb3JtYXR0ZXJzLCBmb3JtYXRzLCB2YWx1ZXMsIC8vIEZvciBkZWJ1Z2dpbmdcbm9yaWdpbmFsTWVzc2FnZSkge1xuICB2YXIgcGFydHMgPSBmb3JtYXRUb1BhcnRzKGVscywgbG9jYWxlcywgZm9ybWF0dGVycywgZm9ybWF0cywgdmFsdWVzLCB1bmRlZmluZWQsIG9yaWdpbmFsTWVzc2FnZSk7XG4gIHZhciBvYmplY3RQYXJ0cyA9IHt9O1xuICB2YXIgZm9ybWF0dGVkTWVzc2FnZSA9IHBhcnRzLnJlZHVjZShmdW5jdGlvbiAoYWxsLCBwYXJ0KSB7XG4gICAgaWYgKHBhcnQudHlwZSA9PT0gMFxuICAgIC8qIGxpdGVyYWwgKi9cbiAgICApIHtcbiAgICAgICAgcmV0dXJuIGFsbCArPSBwYXJ0LnZhbHVlO1xuICAgICAgfVxuXG4gICAgdmFyIGlkID0gZ2VuZXJhdGVJZCgpO1xuICAgIG9iamVjdFBhcnRzW2lkXSA9IHBhcnQudmFsdWU7XG4gICAgcmV0dXJuIGFsbCArPSBcIlwiICsgVE9LRU5fREVMSU1JVEVSICsgaWQgKyBUT0tFTl9ERUxJTUlURVI7XG4gIH0sICcnKTsgLy8gTm90IGRlc2lnbmVkIHRvIGZpbHRlciBvdXQgYWdncmVzc2l2ZWx5XG5cbiAgaWYgKCFTSU1QTEVfWE1MX1JFR0VYLnRlc3QoZm9ybWF0dGVkTWVzc2FnZSkpIHtcbiAgICByZXR1cm4gcmVzdG9yZVJpY2hQbGFjZWhvbGRlck1lc3NhZ2UoZm9ybWF0dGVkTWVzc2FnZSwgb2JqZWN0UGFydHMpO1xuICB9XG5cbiAgaWYgKCF2YWx1ZXMpIHtcbiAgICB0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ01lc3NhZ2UgaGFzIHBsYWNlaG9sZGVycyBidXQgbm8gdmFsdWVzIHdhcyBnaXZlbicpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBET01QYXJzZXIgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgdGhyb3cgbmV3IEZvcm1hdEVycm9yKCdDYW5ub3QgZm9ybWF0IFhNTCBtZXNzYWdlIHdpdGhvdXQgRE9NUGFyc2VyJyk7XG4gIH1cblxuICBpZiAoIWRvbVBhcnNlcikge1xuICAgIGRvbVBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcbiAgfVxuXG4gIHZhciBjb250ZW50ID0gZG9tUGFyc2VyLnBhcnNlRnJvbVN0cmluZyhcIjxmb3JtYXR0ZWQtbWVzc2FnZSBpZD1cXFwiXCIgKyBURU1QTEFURV9JRCArIFwiXFxcIj5cIiArIGZvcm1hdHRlZE1lc3NhZ2UgKyBcIjwvZm9ybWF0dGVkLW1lc3NhZ2U+XCIsICd0ZXh0L2h0bWwnKS5nZXRFbGVtZW50QnlJZChURU1QTEFURV9JRCk7XG5cbiAgaWYgKCFjb250ZW50KSB7XG4gICAgdGhyb3cgbmV3IEZvcm1hdEVycm9yKFwiTWFsZm9ybWVkIEhUTUwgbWVzc2FnZSBcIiArIGZvcm1hdHRlZE1lc3NhZ2UpO1xuICB9XG5cbiAgdmFyIHRhZ3NUb0Zvcm1hdCA9IE9iamVjdC5rZXlzKHZhbHVlcykuZmlsdGVyKGZ1bmN0aW9uICh2YXJOYW1lKSB7XG4gICAgcmV0dXJuICEhY29udGVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSh2YXJOYW1lKS5sZW5ndGg7XG4gIH0pOyAvLyBObyB0YWdzIHRvIGZvcm1hdFxuXG4gIGlmICghdGFnc1RvRm9ybWF0Lmxlbmd0aCkge1xuICAgIHJldHVybiByZXN0b3JlUmljaFBsYWNlaG9sZGVyTWVzc2FnZShmb3JtYXR0ZWRNZXNzYWdlLCBvYmplY3RQYXJ0cyk7XG4gIH1cblxuICB2YXIgY2FzZVNlbnNpdGl2ZVRhZ3MgPSB0YWdzVG9Gb3JtYXQuZmlsdGVyKGZ1bmN0aW9uICh0YWdOYW1lKSB7XG4gICAgcmV0dXJuIHRhZ05hbWUgIT09IHRhZ05hbWUudG9Mb3dlckNhc2UoKTtcbiAgfSk7XG5cbiAgaWYgKGNhc2VTZW5zaXRpdmVUYWdzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBGb3JtYXRFcnJvcihcIkhUTUwgdGFnIG11c3QgYmUgbG93ZXJjYXNlZCBidXQgdGhlIGZvbGxvd2luZyB0YWdzIGFyZSBub3Q6IFwiICsgY2FzZVNlbnNpdGl2ZVRhZ3Muam9pbignLCAnKSk7XG4gIH0gLy8gV2UncmUgZG9pbmcgdGhpcyBzaW5jZSB0b3Agbm9kZSBpcyBgPGZvcm1hdHRlZC1tZXNzYWdlLz5gIHdoaWNoIGRvZXMgbm90IGhhdmUgYSBmb3JtYXR0ZXJcblxuXG4gIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjb250ZW50LmNoaWxkTm9kZXMpLnJlZHVjZShmdW5jdGlvbiAoYWxsLCBjaGlsZCkge1xuICAgIHJldHVybiBhbGwuY29uY2F0KGZvcm1hdEhUTUxFbGVtZW50KGNoaWxkLCBvYmplY3RQYXJ0cywgdmFsdWVzKSk7XG4gIH0sIFtdKTtcbn0iLCIvKlxuQ29weXJpZ2h0IChjKSAyMDE0LCBZYWhvbyEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBMaWNlbnNlLlxuU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiovXG52YXIgX19hc3NpZ24gPSB0aGlzICYmIHRoaXMuX19hc3NpZ24gfHwgZnVuY3Rpb24gKCkge1xuICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHQpIHtcbiAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgIHMgPSBhcmd1bWVudHNbaV07XG5cbiAgICAgIGZvciAodmFyIHAgaW4gcykge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdDtcbiAgfTtcblxuICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn07XG5cbmltcG9ydCB7IHBhcnNlIH0gZnJvbSAnaW50bC1tZXNzYWdlZm9ybWF0LXBhcnNlcic7XG5pbXBvcnQgbWVtb2l6ZUludGxDb25zdHJ1Y3RvciBmcm9tICdpbnRsLWZvcm1hdC1jYWNoZSc7XG5pbXBvcnQgeyBmb3JtYXRUb1N0cmluZywgZm9ybWF0VG9QYXJ0cywgZm9ybWF0SFRNTE1lc3NhZ2UgfSBmcm9tICcuL2Zvcm1hdHRlcnMnOyAvLyAtLSBNZXNzYWdlRm9ybWF0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIG1lcmdlQ29uZmlnKGMxLCBjMikge1xuICBpZiAoIWMyKSB7XG4gICAgcmV0dXJuIGMxO1xuICB9XG5cbiAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKF9fYXNzaWduKHt9LCBjMSB8fCB7fSksIGMyIHx8IHt9KSwgT2JqZWN0LmtleXMoYzEpLnJlZHVjZShmdW5jdGlvbiAoYWxsLCBrKSB7XG4gICAgYWxsW2tdID0gX19hc3NpZ24oX19hc3NpZ24oe30sIGMxW2tdKSwgYzJba10gfHwge30pO1xuICAgIHJldHVybiBhbGw7XG4gIH0sIHt9KSk7XG59XG5cbmZ1bmN0aW9uIG1lcmdlQ29uZmlncyhkZWZhdWx0Q29uZmlnLCBjb25maWdzKSB7XG4gIGlmICghY29uZmlncykge1xuICAgIHJldHVybiBkZWZhdWx0Q29uZmlnO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKGRlZmF1bHRDb25maWcpLnJlZHVjZShmdW5jdGlvbiAoYWxsLCBrKSB7XG4gICAgYWxsW2tdID0gbWVyZ2VDb25maWcoZGVmYXVsdENvbmZpZ1trXSwgY29uZmlnc1trXSk7XG4gICAgcmV0dXJuIGFsbDtcbiAgfSwgX19hc3NpZ24oe30sIGRlZmF1bHRDb25maWcpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRGb3JtYXR0ZXJzKGNhY2hlKSB7XG4gIGlmIChjYWNoZSA9PT0gdm9pZCAwKSB7XG4gICAgY2FjaGUgPSB7XG4gICAgICBudW1iZXI6IHt9LFxuICAgICAgZGF0ZVRpbWU6IHt9LFxuICAgICAgcGx1cmFsUnVsZXM6IHt9XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZ2V0TnVtYmVyRm9ybWF0OiBtZW1vaXplSW50bENvbnN0cnVjdG9yKEludGwuTnVtYmVyRm9ybWF0LCBjYWNoZS5udW1iZXIpLFxuICAgIGdldERhdGVUaW1lRm9ybWF0OiBtZW1vaXplSW50bENvbnN0cnVjdG9yKEludGwuRGF0ZVRpbWVGb3JtYXQsIGNhY2hlLmRhdGVUaW1lKSxcbiAgICBnZXRQbHVyYWxSdWxlczogbWVtb2l6ZUludGxDb25zdHJ1Y3RvcihJbnRsLlBsdXJhbFJ1bGVzLCBjYWNoZS5wbHVyYWxSdWxlcylcbiAgfTtcbn1cblxudmFyIEludGxNZXNzYWdlRm9ybWF0ID1cbi8qKiBAY2xhc3MgKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gSW50bE1lc3NhZ2VGb3JtYXQobWVzc2FnZSwgbG9jYWxlcywgb3ZlcnJpZGVGb3JtYXRzLCBvcHRzKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIGlmIChsb2NhbGVzID09PSB2b2lkIDApIHtcbiAgICAgIGxvY2FsZXMgPSBJbnRsTWVzc2FnZUZvcm1hdC5kZWZhdWx0TG9jYWxlO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybWF0dGVyQ2FjaGUgPSB7XG4gICAgICBudW1iZXI6IHt9LFxuICAgICAgZGF0ZVRpbWU6IHt9LFxuICAgICAgcGx1cmFsUnVsZXM6IHt9XG4gICAgfTtcblxuICAgIHRoaXMuZm9ybWF0ID0gZnVuY3Rpb24gKHZhbHVlcykge1xuICAgICAgcmV0dXJuIGZvcm1hdFRvU3RyaW5nKF90aGlzLmFzdCwgX3RoaXMubG9jYWxlcywgX3RoaXMuZm9ybWF0dGVycywgX3RoaXMuZm9ybWF0cywgdmFsdWVzLCBfdGhpcy5tZXNzYWdlKTtcbiAgICB9O1xuXG4gICAgdGhpcy5mb3JtYXRUb1BhcnRzID0gZnVuY3Rpb24gKHZhbHVlcykge1xuICAgICAgcmV0dXJuIGZvcm1hdFRvUGFydHMoX3RoaXMuYXN0LCBfdGhpcy5sb2NhbGVzLCBfdGhpcy5mb3JtYXR0ZXJzLCBfdGhpcy5mb3JtYXRzLCB2YWx1ZXMsIHVuZGVmaW5lZCwgX3RoaXMubWVzc2FnZSk7XG4gICAgfTtcblxuICAgIHRoaXMuZm9ybWF0SFRNTE1lc3NhZ2UgPSBmdW5jdGlvbiAodmFsdWVzKSB7XG4gICAgICByZXR1cm4gZm9ybWF0SFRNTE1lc3NhZ2UoX3RoaXMuYXN0LCBfdGhpcy5sb2NhbGVzLCBfdGhpcy5mb3JtYXR0ZXJzLCBfdGhpcy5mb3JtYXRzLCB2YWx1ZXMsIF90aGlzLm1lc3NhZ2UpO1xuICAgIH07XG5cbiAgICB0aGlzLnJlc29sdmVkT3B0aW9ucyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxvY2FsZTogSW50bC5OdW1iZXJGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKF90aGlzLmxvY2FsZXMpWzBdXG4gICAgICB9O1xuICAgIH07XG5cbiAgICB0aGlzLmdldEFzdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBfdGhpcy5hc3Q7XG4gICAgfTtcblxuICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG5cbiAgICAgIGlmICghSW50bE1lc3NhZ2VGb3JtYXQuX19wYXJzZSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnRsTWVzc2FnZUZvcm1hdC5fX3BhcnNlIG11c3QgYmUgc2V0IHRvIHByb2Nlc3MgYG1lc3NhZ2VgIG9mIHR5cGUgYHN0cmluZ2AnKTtcbiAgICAgIH0gLy8gUGFyc2Ugc3RyaW5nIG1lc3NhZ2VzIGludG8gYW4gQVNULlxuXG5cbiAgICAgIHRoaXMuYXN0ID0gSW50bE1lc3NhZ2VGb3JtYXQuX19wYXJzZShtZXNzYWdlLCB7XG4gICAgICAgIG5vcm1hbGl6ZUhhc2h0YWdJblBsdXJhbDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFzdCA9IG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuYXN0KSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQSBtZXNzYWdlIG11c3QgYmUgcHJvdmlkZWQgYXMgYSBTdHJpbmcgb3IgQVNULicpO1xuICAgIH0gLy8gQ3JlYXRlcyBhIG5ldyBvYmplY3Qgd2l0aCB0aGUgc3BlY2lmaWVkIGBmb3JtYXRzYCBtZXJnZWQgd2l0aCB0aGUgZGVmYXVsdFxuICAgIC8vIGZvcm1hdHMuXG5cblxuICAgIHRoaXMuZm9ybWF0cyA9IG1lcmdlQ29uZmlncyhJbnRsTWVzc2FnZUZvcm1hdC5mb3JtYXRzLCBvdmVycmlkZUZvcm1hdHMpOyAvLyBEZWZpbmVkIGZpcnN0IGJlY2F1c2UgaXQncyB1c2VkIHRvIGJ1aWxkIHRoZSBmb3JtYXQgcGF0dGVybi5cblxuICAgIHRoaXMubG9jYWxlcyA9IGxvY2FsZXM7XG4gICAgdGhpcy5mb3JtYXR0ZXJzID0gb3B0cyAmJiBvcHRzLmZvcm1hdHRlcnMgfHwgY3JlYXRlRGVmYXVsdEZvcm1hdHRlcnModGhpcy5mb3JtYXR0ZXJDYWNoZSk7XG4gIH1cblxuICBJbnRsTWVzc2FnZUZvcm1hdC5kZWZhdWx0TG9jYWxlID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlO1xuICBJbnRsTWVzc2FnZUZvcm1hdC5fX3BhcnNlID0gcGFyc2U7IC8vIERlZmF1bHQgZm9ybWF0IG9wdGlvbnMgdXNlZCBhcyB0aGUgcHJvdG90eXBlIG9mIHRoZSBgZm9ybWF0c2AgcHJvdmlkZWQgdG8gdGhlXG4gIC8vIGNvbnN0cnVjdG9yLiBUaGVzZSBhcmUgdXNlZCB3aGVuIGNvbnN0cnVjdGluZyB0aGUgaW50ZXJuYWwgSW50bC5OdW1iZXJGb3JtYXRcbiAgLy8gYW5kIEludGwuRGF0ZVRpbWVGb3JtYXQgaW5zdGFuY2VzLlxuXG4gIEludGxNZXNzYWdlRm9ybWF0LmZvcm1hdHMgPSB7XG4gICAgbnVtYmVyOiB7XG4gICAgICBjdXJyZW5jeToge1xuICAgICAgICBzdHlsZTogJ2N1cnJlbmN5J1xuICAgICAgfSxcbiAgICAgIHBlcmNlbnQ6IHtcbiAgICAgICAgc3R5bGU6ICdwZXJjZW50J1xuICAgICAgfVxuICAgIH0sXG4gICAgZGF0ZToge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICcyLWRpZ2l0J1xuICAgICAgfSxcbiAgICAgIG1lZGl1bToge1xuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJ1xuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgbW9udGg6ICdsb25nJyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJ1xuICAgICAgfSxcbiAgICAgIGZ1bGw6IHtcbiAgICAgICAgd2Vla2RheTogJ2xvbmcnLFxuICAgICAgICBtb250aDogJ2xvbmcnLFxuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnXG4gICAgICB9XG4gICAgfSxcbiAgICB0aW1lOiB7XG4gICAgICBzaG9ydDoge1xuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnXG4gICAgICB9LFxuICAgICAgbWVkaXVtOiB7XG4gICAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgICAgbWludXRlOiAnbnVtZXJpYycsXG4gICAgICAgIHNlY29uZDogJ251bWVyaWMnXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBzZWNvbmQ6ICdudW1lcmljJyxcbiAgICAgICAgdGltZVpvbmVOYW1lOiAnc2hvcnQnXG4gICAgICB9LFxuICAgICAgZnVsbDoge1xuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBzZWNvbmQ6ICdudW1lcmljJyxcbiAgICAgICAgdGltZVpvbmVOYW1lOiAnc2hvcnQnXG4gICAgICB9XG4gICAgfVxuICB9O1xuICByZXR1cm4gSW50bE1lc3NhZ2VGb3JtYXQ7XG59KCk7XG5cbmV4cG9ydCB7IEludGxNZXNzYWdlRm9ybWF0IH07XG5leHBvcnQgZGVmYXVsdCBJbnRsTWVzc2FnZUZvcm1hdDsiLCIvKlxuQ29weXJpZ2h0IChjKSAyMDE0LCBZYWhvbyEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBMaWNlbnNlLlxuU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiovXG5pbXBvcnQgSW50bE1lc3NhZ2VGb3JtYXQgZnJvbSAnLi9jb3JlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0dGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUnO1xuZXhwb3J0IGRlZmF1bHQgSW50bE1lc3NhZ2VGb3JtYXQ7IiwiLypcbkhUTUwgZXNjYXBpbmcgaXMgdGhlIHNhbWUgYXMgUmVhY3Qnc1xuKG9uIHB1cnBvc2UuKSBUaGVyZWZvcmUsIGl0IGhhcyB0aGUgZm9sbG93aW5nIENvcHlyaWdodCBhbmQgTGljZW5zaW5nOlxuXG5Db3B5cmlnaHQgMjAxMy0yMDE0LCBGYWNlYm9vaywgSW5jLlxuQWxsIHJpZ2h0cyByZXNlcnZlZC5cblxuVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0VcbmZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIFJlYWN0J3Mgc291cmNlIHRyZWUuXG4qL1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IEludGxNZXNzYWdlRm9ybWF0IGZyb20gJ2ludGwtbWVzc2FnZWZvcm1hdCc7XG5pbXBvcnQgbWVtb2l6ZUludGxDb25zdHJ1Y3RvciBmcm9tICdpbnRsLWZvcm1hdC1jYWNoZSc7XG5pbXBvcnQgeyBpbnZhcmlhbnQgfSBmcm9tICdAZm9ybWF0anMvaW50bC11dGlscyc7XG52YXIgRVNDQVBFRF9DSEFSUyA9IHtcbiAgMzg6ICcmYW1wOycsXG4gIDYyOiAnJmd0OycsXG4gIDYwOiAnJmx0OycsXG4gIDM0OiAnJnF1b3Q7JyxcbiAgMzk6ICcmI3gyNzsnXG59O1xudmFyIFVOU0FGRV9DSEFSU19SRUdFWCA9IC9bJj48XCInXS9nO1xuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZShzdHIpIHtcbiAgcmV0dXJuICgnJyArIHN0cikucmVwbGFjZShVTlNBRkVfQ0hBUlNfUkVHRVgsIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHJldHVybiBFU0NBUEVEX0NIQVJTW21hdGNoLmNoYXJDb2RlQXQoMCldO1xuICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJQcm9wcyhwcm9wcywgd2hpdGVsaXN0KSB7XG4gIHZhciBkZWZhdWx0cyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDoge307XG4gIHJldHVybiB3aGl0ZWxpc3QucmVkdWNlKGZ1bmN0aW9uIChmaWx0ZXJlZCwgbmFtZSkge1xuICAgIGlmIChuYW1lIGluIHByb3BzKSB7XG4gICAgICBmaWx0ZXJlZFtuYW1lXSA9IHByb3BzW25hbWVdO1xuICAgIH0gZWxzZSBpZiAobmFtZSBpbiBkZWZhdWx0cykge1xuICAgICAgZmlsdGVyZWRbbmFtZV0gPSBkZWZhdWx0c1tuYW1lXTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmlsdGVyZWQ7XG4gIH0sIHt9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbnZhcmlhbnRJbnRsQ29udGV4dChpbnRsKSB7XG4gIGludmFyaWFudChpbnRsLCAnW1JlYWN0IEludGxdIENvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGBpbnRsYCBvYmplY3QuICcgKyAnPEludGxQcm92aWRlcj4gbmVlZHMgdG8gZXhpc3QgaW4gdGhlIGNvbXBvbmVudCBhbmNlc3RyeS4nKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFcnJvcihtZXNzYWdlLCBleGNlcHRpb24pIHtcbiAgdmFyIGVNc2cgPSBleGNlcHRpb24gPyBcIlxcblwiLmNvbmNhdChleGNlcHRpb24uc3RhY2spIDogJyc7XG4gIHJldHVybiBcIltSZWFjdCBJbnRsXSBcIi5jb25jYXQobWVzc2FnZSkuY29uY2F0KGVNc2cpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRFcnJvckhhbmRsZXIoZXJyb3IpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgfVxufVxuZXhwb3J0IHZhciBERUZBVUxUX0lOVExfQ09ORklHID0ge1xuICBmb3JtYXRzOiB7fSxcbiAgbWVzc2FnZXM6IHt9LFxuICB0aW1lWm9uZTogdW5kZWZpbmVkLFxuICB0ZXh0Q29tcG9uZW50OiBSZWFjdC5GcmFnbWVudCxcbiAgZGVmYXVsdExvY2FsZTogJ2VuJyxcbiAgZGVmYXVsdEZvcm1hdHM6IHt9LFxuICBvbkVycm9yOiBkZWZhdWx0RXJyb3JIYW5kbGVyXG59O1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUludGxDYWNoZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBkYXRlVGltZToge30sXG4gICAgbnVtYmVyOiB7fSxcbiAgICBtZXNzYWdlOiB7fSxcbiAgICByZWxhdGl2ZVRpbWU6IHt9LFxuICAgIHBsdXJhbFJ1bGVzOiB7fSxcbiAgICBsaXN0OiB7fSxcbiAgICBkaXNwbGF5TmFtZXM6IHt9XG4gIH07XG59XG4vKipcbiAqIENyZWF0ZSBpbnRsIGZvcm1hdHRlcnMgYW5kIHBvcHVsYXRlIGNhY2hlXG4gKiBAcGFyYW0gY2FjaGUgZXhwbGljaXQgY2FjaGUgdG8gcHJldmVudCBsZWFraW5nIG1lbW9yeVxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtYXR0ZXJzKCkge1xuICB2YXIgY2FjaGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGNyZWF0ZUludGxDYWNoZSgpO1xuICB2YXIgUmVsYXRpdmVUaW1lRm9ybWF0ID0gSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQ7XG4gIHZhciBMaXN0Rm9ybWF0ID0gSW50bC5MaXN0Rm9ybWF0O1xuICB2YXIgRGlzcGxheU5hbWVzID0gSW50bC5EaXNwbGF5TmFtZXM7XG4gIHJldHVybiB7XG4gICAgZ2V0RGF0ZVRpbWVGb3JtYXQ6IG1lbW9pemVJbnRsQ29uc3RydWN0b3IoSW50bC5EYXRlVGltZUZvcm1hdCwgY2FjaGUuZGF0ZVRpbWUpLFxuICAgIGdldE51bWJlckZvcm1hdDogbWVtb2l6ZUludGxDb25zdHJ1Y3RvcihJbnRsLk51bWJlckZvcm1hdCwgY2FjaGUubnVtYmVyKSxcbiAgICBnZXRNZXNzYWdlRm9ybWF0OiBtZW1vaXplSW50bENvbnN0cnVjdG9yKEludGxNZXNzYWdlRm9ybWF0LCBjYWNoZS5tZXNzYWdlKSxcbiAgICBnZXRSZWxhdGl2ZVRpbWVGb3JtYXQ6IG1lbW9pemVJbnRsQ29uc3RydWN0b3IoUmVsYXRpdmVUaW1lRm9ybWF0LCBjYWNoZS5yZWxhdGl2ZVRpbWUpLFxuICAgIGdldFBsdXJhbFJ1bGVzOiBtZW1vaXplSW50bENvbnN0cnVjdG9yKEludGwuUGx1cmFsUnVsZXMsIGNhY2hlLnBsdXJhbFJ1bGVzKSxcbiAgICBnZXRMaXN0Rm9ybWF0OiBtZW1vaXplSW50bENvbnN0cnVjdG9yKExpc3RGb3JtYXQsIGNhY2hlLmxpc3QpLFxuICAgIGdldERpc3BsYXlOYW1lczogbWVtb2l6ZUludGxDb25zdHJ1Y3RvcihEaXNwbGF5TmFtZXMsIGNhY2hlLmRpc3BsYXlOYW1lcylcbiAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXROYW1lZEZvcm1hdChmb3JtYXRzLCB0eXBlLCBuYW1lLCBvbkVycm9yKSB7XG4gIHZhciBmb3JtYXRUeXBlID0gZm9ybWF0cyAmJiBmb3JtYXRzW3R5cGVdO1xuICB2YXIgZm9ybWF0O1xuXG4gIGlmIChmb3JtYXRUeXBlKSB7XG4gICAgZm9ybWF0ID0gZm9ybWF0VHlwZVtuYW1lXTtcbiAgfVxuXG4gIGlmIChmb3JtYXQpIHtcbiAgICByZXR1cm4gZm9ybWF0O1xuICB9XG5cbiAgb25FcnJvcihjcmVhdGVFcnJvcihcIk5vIFwiLmNvbmNhdCh0eXBlLCBcIiBmb3JtYXQgbmFtZWQ6IFwiKS5jb25jYXQobmFtZSkpKTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn0iLCJpbXBvcnQgX2RlZmluZVByb3BlcnR5IGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9qdXN0aWNlNDAtdG9vbC9qdXN0aWNlNDAtdG9vbC9jbGllbnQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBob2lzdE5vblJlYWN0U3RhdGljc18gZnJvbSAnaG9pc3Qtbm9uLXJlYWN0LXN0YXRpY3MnOyAvLyBTaW5jZSByb2xsdXAgY2Fubm90IGRlYWwgd2l0aCBuYW1lc3BhY2UgYmVpbmcgYSBmdW5jdGlvbixcbi8vIHRoaXMgaXMgdG8gaW50ZXJvcCB3aXRoIFR5cGVTY3JpcHQgc2luY2UgYGludmFyaWFudGBcbi8vIGRvZXMgbm90IGV4cG9ydCBhIGRlZmF1bHRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yb2xsdXAvcm9sbHVwL2lzc3Vlcy8xMjY3XG5cbnZhciBob2lzdE5vblJlYWN0U3RhdGljcyA9IGhvaXN0Tm9uUmVhY3RTdGF0aWNzXy5kZWZhdWx0IHx8IGhvaXN0Tm9uUmVhY3RTdGF0aWNzXztcbmltcG9ydCB7IGludmFyaWFudEludGxDb250ZXh0IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5mdW5jdGlvbiBnZXREaXNwbGF5TmFtZShDb21wb25lbnQpIHtcbiAgcmV0dXJuIENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCAnQ29tcG9uZW50Jztcbn0gLy8gVE9ETzogV2Ugc2hvdWxkIHByb3ZpZGUgaW5pdGlhbCB2YWx1ZSBoZXJlXG5cblxudmFyIEludGxDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dChudWxsKTtcbnZhciBJbnRsQ29uc3VtZXIgPSBJbnRsQ29udGV4dC5Db25zdW1lcixcbiAgICBJbnRsUHJvdmlkZXIgPSBJbnRsQ29udGV4dC5Qcm92aWRlcjtcbmV4cG9ydCB2YXIgUHJvdmlkZXIgPSBJbnRsUHJvdmlkZXI7XG5leHBvcnQgdmFyIENvbnRleHQgPSBJbnRsQ29udGV4dDtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGluamVjdEludGwoV3JhcHBlZENvbXBvbmVudCwgb3B0aW9ucykge1xuICB2YXIgX3JlZiA9IG9wdGlvbnMgfHwge30sXG4gICAgICBfcmVmJGludGxQcm9wTmFtZSA9IF9yZWYuaW50bFByb3BOYW1lLFxuICAgICAgaW50bFByb3BOYW1lID0gX3JlZiRpbnRsUHJvcE5hbWUgPT09IHZvaWQgMCA/ICdpbnRsJyA6IF9yZWYkaW50bFByb3BOYW1lLFxuICAgICAgX3JlZiRmb3J3YXJkUmVmID0gX3JlZi5mb3J3YXJkUmVmLFxuICAgICAgZm9yd2FyZFJlZiA9IF9yZWYkZm9yd2FyZFJlZiA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmJGZvcndhcmRSZWYsXG4gICAgICBfcmVmJGVuZm9yY2VDb250ZXh0ID0gX3JlZi5lbmZvcmNlQ29udGV4dCxcbiAgICAgIGVuZm9yY2VDb250ZXh0ID0gX3JlZiRlbmZvcmNlQ29udGV4dCA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9yZWYkZW5mb3JjZUNvbnRleHQ7XG5cbiAgdmFyIFdpdGhJbnRsID0gZnVuY3Rpb24gV2l0aEludGwocHJvcHMpIHtcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChJbnRsQ29uc3VtZXIsIG51bGwsIGZ1bmN0aW9uIChpbnRsKSB7XG4gICAgICBpZiAoZW5mb3JjZUNvbnRleHQpIHtcbiAgICAgICAgaW52YXJpYW50SW50bENvbnRleHQoaW50bCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFdyYXBwZWRDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHByb3BzLCBfZGVmaW5lUHJvcGVydHkoe30sIGludGxQcm9wTmFtZSwgaW50bCksIHtcbiAgICAgICAgcmVmOiBmb3J3YXJkUmVmID8gcHJvcHMuZm9yd2FyZGVkUmVmIDogbnVsbFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9O1xuXG4gIFdpdGhJbnRsLmRpc3BsYXlOYW1lID0gXCJpbmplY3RJbnRsKFwiLmNvbmNhdChnZXREaXNwbGF5TmFtZShXcmFwcGVkQ29tcG9uZW50KSwgXCIpXCIpO1xuICBXaXRoSW50bC5XcmFwcGVkQ29tcG9uZW50ID0gV3JhcHBlZENvbXBvbmVudDtcblxuICBpZiAoZm9yd2FyZFJlZikge1xuICAgIHJldHVybiBob2lzdE5vblJlYWN0U3RhdGljcyhSZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIChwcm9wcywgcmVmKSB7XG4gICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChXaXRoSW50bCwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgZm9yd2FyZGVkUmVmOiByZWZcbiAgICAgIH0pKTtcbiAgICB9KSwgV3JhcHBlZENvbXBvbmVudCk7XG4gIH1cblxuICByZXR1cm4gaG9pc3ROb25SZWFjdFN0YXRpY3MoV2l0aEludGwsIFdyYXBwZWRDb21wb25lbnQpO1xufSIsInZhciBfX3Jlc3QgPSB0aGlzICYmIHRoaXMuX19yZXN0IHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gIHZhciB0ID0ge307XG5cbiAgZm9yICh2YXIgcCBpbiBzKSB7XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKSB0W3BdID0gc1twXTtcbiAgfVxuXG4gIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIikgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSkgdFtwW2ldXSA9IHNbcFtpXV07XG4gIH1cbiAgcmV0dXJuIHQ7XG59O1xuXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBpbnZhcmlhbnRJbnRsQ29udGV4dCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuL2luamVjdEludGwnO1xudmFyIERpc3BsYXlOYW1lO1xuXG4oZnVuY3Rpb24gKERpc3BsYXlOYW1lKSB7XG4gIERpc3BsYXlOYW1lW1wiZm9ybWF0RGF0ZVwiXSA9IFwiRm9ybWF0dGVkRGF0ZVwiO1xuICBEaXNwbGF5TmFtZVtcImZvcm1hdFRpbWVcIl0gPSBcIkZvcm1hdHRlZFRpbWVcIjtcbiAgRGlzcGxheU5hbWVbXCJmb3JtYXROdW1iZXJcIl0gPSBcIkZvcm1hdHRlZE51bWJlclwiO1xuICBEaXNwbGF5TmFtZVtcImZvcm1hdExpc3RcIl0gPSBcIkZvcm1hdHRlZExpc3RcIjsgLy8gTm90ZSB0aGF0IHRoaXMgRGlzcGxheU5hbWUgaXMgdGhlIGxvY2FsZSBkaXNwbGF5IG5hbWUsIG5vdCB0byBiZSBjb25mdXNlZCB3aXRoXG4gIC8vIHRoZSBuYW1lIG9mIHRoZSBlbnVtLCB3aGljaCBpcyBmb3IgUmVhY3QgY29tcG9uZW50IGRpc3BsYXkgbmFtZSBpbiBkZXYgdG9vbHMuXG5cbiAgRGlzcGxheU5hbWVbXCJmb3JtYXREaXNwbGF5TmFtZVwiXSA9IFwiRm9ybWF0dGVkRGlzcGxheU5hbWVcIjtcbn0pKERpc3BsYXlOYW1lIHx8IChEaXNwbGF5TmFtZSA9IHt9KSk7XG5cbnZhciBEaXNwbGF5TmFtZVBhcnRzO1xuXG4oZnVuY3Rpb24gKERpc3BsYXlOYW1lUGFydHMpIHtcbiAgRGlzcGxheU5hbWVQYXJ0c1tcImZvcm1hdERhdGVcIl0gPSBcIkZvcm1hdHRlZERhdGVQYXJ0c1wiO1xuICBEaXNwbGF5TmFtZVBhcnRzW1wiZm9ybWF0VGltZVwiXSA9IFwiRm9ybWF0dGVkVGltZVBhcnRzXCI7XG4gIERpc3BsYXlOYW1lUGFydHNbXCJmb3JtYXROdW1iZXJcIl0gPSBcIkZvcm1hdHRlZE51bWJlclBhcnRzXCI7XG4gIERpc3BsYXlOYW1lUGFydHNbXCJmb3JtYXRMaXN0XCJdID0gXCJGb3JtYXR0ZWRMaXN0UGFydHNcIjtcbn0pKERpc3BsYXlOYW1lUGFydHMgfHwgKERpc3BsYXlOYW1lUGFydHMgPSB7fSkpO1xuXG5leHBvcnQgdmFyIEZvcm1hdHRlZE51bWJlclBhcnRzID0gZnVuY3Rpb24gRm9ybWF0dGVkTnVtYmVyUGFydHMocHJvcHMpIHtcbiAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29udGV4dC5Db25zdW1lciwgbnVsbCwgZnVuY3Rpb24gKGludGwpIHtcbiAgICBpbnZhcmlhbnRJbnRsQ29udGV4dChpbnRsKTtcblxuICAgIHZhciB2YWx1ZSA9IHByb3BzLnZhbHVlLFxuICAgICAgICBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgICAgICBmb3JtYXRQcm9wcyA9IF9fcmVzdChwcm9wcywgW1widmFsdWVcIiwgXCJjaGlsZHJlblwiXSk7XG5cbiAgICByZXR1cm4gY2hpbGRyZW4oaW50bC5mb3JtYXROdW1iZXJUb1BhcnRzKHZhbHVlLCBmb3JtYXRQcm9wcykpO1xuICB9KTtcbn07XG5Gb3JtYXR0ZWROdW1iZXJQYXJ0cy5kaXNwbGF5TmFtZSA9ICdGb3JtYXR0ZWROdW1iZXJQYXJ0cyc7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybWF0dGVkRGF0ZVRpbWVQYXJ0c0NvbXBvbmVudChuYW1lKSB7XG4gIHZhciBDb21wb25lbnRQYXJ0cyA9IGZ1bmN0aW9uIENvbXBvbmVudFBhcnRzKHByb3BzKSB7XG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29udGV4dC5Db25zdW1lciwgbnVsbCwgZnVuY3Rpb24gKGludGwpIHtcbiAgICAgIGludmFyaWFudEludGxDb250ZXh0KGludGwpO1xuXG4gICAgICB2YXIgdmFsdWUgPSBwcm9wcy52YWx1ZSxcbiAgICAgICAgICBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgIGZvcm1hdFByb3BzID0gX19yZXN0KHByb3BzLCBbXCJ2YWx1ZVwiLCBcImNoaWxkcmVuXCJdKTtcblxuICAgICAgdmFyIGRhdGUgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gbmV3IERhdGUodmFsdWUgfHwgMCkgOiB2YWx1ZTtcbiAgICAgIHZhciBmb3JtYXR0ZWRQYXJ0cyA9IG5hbWUgPT09ICdmb3JtYXREYXRlJyA/IGludGwuZm9ybWF0RGF0ZVRvUGFydHMoZGF0ZSwgZm9ybWF0UHJvcHMpIDogaW50bC5mb3JtYXRUaW1lVG9QYXJ0cyhkYXRlLCBmb3JtYXRQcm9wcyk7XG4gICAgICByZXR1cm4gY2hpbGRyZW4oZm9ybWF0dGVkUGFydHMpO1xuICAgIH0pO1xuICB9O1xuXG4gIENvbXBvbmVudFBhcnRzLmRpc3BsYXlOYW1lID0gRGlzcGxheU5hbWVQYXJ0c1tuYW1lXTtcbiAgcmV0dXJuIENvbXBvbmVudFBhcnRzO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvcm1hdHRlZENvbXBvbmVudChuYW1lKSB7XG4gIHZhciBDb21wb25lbnQgPSBmdW5jdGlvbiBDb21wb25lbnQocHJvcHMpIHtcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChDb250ZXh0LkNvbnN1bWVyLCBudWxsLCBmdW5jdGlvbiAoaW50bCkge1xuICAgICAgaW52YXJpYW50SW50bENvbnRleHQoaW50bCk7XG5cbiAgICAgIHZhciB2YWx1ZSA9IHByb3BzLnZhbHVlLFxuICAgICAgICAgIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgICAgICAgZm9ybWF0UHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcInZhbHVlXCIsIFwiY2hpbGRyZW5cIl0pOyAvLyBUT0RPOiBmaXggVFMgdHlwZSBkZWZpbml0aW9uIGZvciBsb2NhbGVNYXRjaGVyIHVwc3RyZWFtXG5cblxuICAgICAgdmFyIGZvcm1hdHRlZFZhbHVlID0gaW50bFtuYW1lXSh2YWx1ZSwgZm9ybWF0UHJvcHMpO1xuXG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBjaGlsZHJlbihmb3JtYXR0ZWRWYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBUZXh0ID0gaW50bC50ZXh0Q29tcG9uZW50IHx8IFJlYWN0LkZyYWdtZW50O1xuICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGV4dCwgbnVsbCwgZm9ybWF0dGVkVmFsdWUpO1xuICAgIH0pO1xuICB9O1xuXG4gIENvbXBvbmVudC5kaXNwbGF5TmFtZSA9IERpc3BsYXlOYW1lW25hbWVdO1xuICByZXR1cm4gQ29tcG9uZW50O1xufSIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi9pbmplY3RJbnRsJztcbmltcG9ydCB7IGludmFyaWFudEludGxDb250ZXh0IH0gZnJvbSAnLi4vdXRpbHMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlSW50bCgpIHtcbiAgdmFyIGludGwgPSB1c2VDb250ZXh0KENvbnRleHQpO1xuICBpbnZhcmlhbnRJbnRsQ29udGV4dChpbnRsKTtcbiAgcmV0dXJuIGludGw7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3Rvcikge1xuICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7XG4gIH1cbn0iLCJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldO1xuICAgIGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTtcbiAgICBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7XG4gICAgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykge1xuICBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTtcbiAgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpO1xuICByZXR1cm4gQ29uc3RydWN0b3I7XG59IiwiaW1wb3J0IHNldFByb3RvdHlwZU9mIGZyb20gXCIuL3NldFByb3RvdHlwZU9mLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHtcbiAgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTtcbiAgfVxuXG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwge1xuICAgIGNvbnN0cnVjdG9yOiB7XG4gICAgICB2YWx1ZTogc3ViQ2xhc3MsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH1cbiAgfSk7XG4gIGlmIChzdXBlckNsYXNzKSBzZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7XG4gIGlmIChzZWxmID09PSB2b2lkIDApIHtcbiAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7XG4gIH1cblxuICByZXR1cm4gc2VsZjtcbn0iLCJpbXBvcnQgX3R5cGVvZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy90eXBlb2ZcIjtcbmltcG9ydCBhc3NlcnRUaGlzSW5pdGlhbGl6ZWQgZnJvbSBcIi4vYXNzZXJ0VGhpc0luaXRpYWxpemVkLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7XG4gIGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7XG4gICAgcmV0dXJuIGNhbGw7XG4gIH1cblxuICByZXR1cm4gYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7XG4gIF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7XG4gICAgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTtcbiAgfTtcbiAgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTtcbn0iLCJpbXBvcnQgeyBnZXROYW1lZEZvcm1hdCwgZmlsdGVyUHJvcHMsIGNyZWF0ZUVycm9yIH0gZnJvbSAnLi4vdXRpbHMnO1xudmFyIE5VTUJFUl9GT1JNQVRfT1BUSU9OUyA9IFsnbG9jYWxlTWF0Y2hlcicsICdzdHlsZScsICdjdXJyZW5jeScsICdjdXJyZW5jeURpc3BsYXknLCAndW5pdCcsICd1bml0RGlzcGxheScsICd1c2VHcm91cGluZycsICdtaW5pbXVtSW50ZWdlckRpZ2l0cycsICdtaW5pbXVtRnJhY3Rpb25EaWdpdHMnLCAnbWF4aW11bUZyYWN0aW9uRGlnaXRzJywgJ21pbmltdW1TaWduaWZpY2FudERpZ2l0cycsICdtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMnLCAvLyBVbmlmaWVkIE51bWJlckZvcm1hdCAoU3RhZ2UgMyBhcyBvZiAxMC8yMi8xOSlcbidjb21wYWN0RGlzcGxheScsICdjdXJyZW5jeURpc3BsYXknLCAnY3VycmVuY3lTaWduJywgJ25vdGF0aW9uJywgJ3NpZ25EaXNwbGF5JywgJ3VuaXQnLCAndW5pdERpc3BsYXknXTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtYXR0ZXIoX3JlZiwgZ2V0TnVtYmVyRm9ybWF0KSB7XG4gIHZhciBsb2NhbGUgPSBfcmVmLmxvY2FsZSxcbiAgICAgIGZvcm1hdHMgPSBfcmVmLmZvcm1hdHMsXG4gICAgICBvbkVycm9yID0gX3JlZi5vbkVycm9yO1xuICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDoge307XG4gIHZhciBmb3JtYXQgPSBvcHRpb25zLmZvcm1hdDtcbiAgdmFyIGRlZmF1bHRzID0gZm9ybWF0ICYmIGdldE5hbWVkRm9ybWF0KGZvcm1hdHMsICdudW1iZXInLCBmb3JtYXQsIG9uRXJyb3IpIHx8IHt9O1xuICB2YXIgZmlsdGVyZWRPcHRpb25zID0gZmlsdGVyUHJvcHMob3B0aW9ucywgTlVNQkVSX0ZPUk1BVF9PUFRJT05TLCBkZWZhdWx0cyk7XG4gIHJldHVybiBnZXROdW1iZXJGb3JtYXQobG9jYWxlLCBmaWx0ZXJlZE9wdGlvbnMpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdE51bWJlcihjb25maWcsIGdldE51bWJlckZvcm1hdCwgdmFsdWUpIHtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldEZvcm1hdHRlcihjb25maWcsIGdldE51bWJlckZvcm1hdCwgb3B0aW9ucykuZm9ybWF0KHZhbHVlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbmZpZy5vbkVycm9yKGNyZWF0ZUVycm9yKCdFcnJvciBmb3JtYXR0aW5nIG51bWJlci4nLCBlKSk7XG4gIH1cblxuICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXROdW1iZXJUb1BhcnRzKGNvbmZpZywgZ2V0TnVtYmVyRm9ybWF0LCB2YWx1ZSkge1xuICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDoge307XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZ2V0Rm9ybWF0dGVyKGNvbmZpZywgZ2V0TnVtYmVyRm9ybWF0LCBvcHRpb25zKS5mb3JtYXRUb1BhcnRzKHZhbHVlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbmZpZy5vbkVycm9yKGNyZWF0ZUVycm9yKCdFcnJvciBmb3JtYXR0aW5nIG51bWJlci4nLCBlKSk7XG4gIH1cblxuICByZXR1cm4gW107XG59IiwiaW1wb3J0IHsgZ2V0TmFtZWRGb3JtYXQsIGZpbHRlclByb3BzLCBjcmVhdGVFcnJvciB9IGZyb20gJy4uL3V0aWxzJztcbnZhciBSRUxBVElWRV9USU1FX0ZPUk1BVF9PUFRJT05TID0gWydudW1lcmljJywgJ3N0eWxlJ107XG5cbmZ1bmN0aW9uIGdldEZvcm1hdHRlcihfcmVmLCBnZXRSZWxhdGl2ZVRpbWVGb3JtYXQpIHtcbiAgdmFyIGxvY2FsZSA9IF9yZWYubG9jYWxlLFxuICAgICAgZm9ybWF0cyA9IF9yZWYuZm9ybWF0cyxcbiAgICAgIG9uRXJyb3IgPSBfcmVmLm9uRXJyb3I7XG4gIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcbiAgdmFyIGZvcm1hdCA9IG9wdGlvbnMuZm9ybWF0O1xuICB2YXIgZGVmYXVsdHMgPSAhIWZvcm1hdCAmJiBnZXROYW1lZEZvcm1hdChmb3JtYXRzLCAncmVsYXRpdmUnLCBmb3JtYXQsIG9uRXJyb3IpIHx8IHt9O1xuICB2YXIgZmlsdGVyZWRPcHRpb25zID0gZmlsdGVyUHJvcHMob3B0aW9ucywgUkVMQVRJVkVfVElNRV9GT1JNQVRfT1BUSU9OUywgZGVmYXVsdHMpO1xuICByZXR1cm4gZ2V0UmVsYXRpdmVUaW1lRm9ybWF0KGxvY2FsZSwgZmlsdGVyZWRPcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFJlbGF0aXZlVGltZShjb25maWcsIGdldFJlbGF0aXZlVGltZUZvcm1hdCwgdmFsdWUsIHVuaXQpIHtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gNCAmJiBhcmd1bWVudHNbNF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s0XSA6IHt9O1xuXG4gIGlmICghdW5pdCkge1xuICAgIHVuaXQgPSAnc2Vjb25kJztcbiAgfVxuXG4gIHZhciBSZWxhdGl2ZVRpbWVGb3JtYXQgPSBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdDtcblxuICBpZiAoIVJlbGF0aXZlVGltZUZvcm1hdCkge1xuICAgIGNvbmZpZy5vbkVycm9yKGNyZWF0ZUVycm9yKFwiSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGlzIGVudmlyb25tZW50LlxcblRyeSBwb2x5ZmlsbGluZyBpdCB1c2luZyBcXFwiQGZvcm1hdGpzL2ludGwtcmVsYXRpdmV0aW1lZm9ybWF0XFxcIlxcblwiKSk7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBnZXRGb3JtYXR0ZXIoY29uZmlnLCBnZXRSZWxhdGl2ZVRpbWVGb3JtYXQsIG9wdGlvbnMpLmZvcm1hdCh2YWx1ZSwgdW5pdCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25maWcub25FcnJvcihjcmVhdGVFcnJvcignRXJyb3IgZm9ybWF0dGluZyByZWxhdGl2ZSB0aW1lLicsIGUpKTtcbiAgfVxuXG4gIHJldHVybiBTdHJpbmcodmFsdWUpO1xufSIsIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSwgWWFob28gSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBMaWNlbnNlLlxuICogU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHsgY3JlYXRlRXJyb3IsIGZpbHRlclByb3BzLCBnZXROYW1lZEZvcm1hdCB9IGZyb20gJy4uL3V0aWxzJztcbnZhciBEQVRFX1RJTUVfRk9STUFUX09QVElPTlMgPSBbJ2xvY2FsZU1hdGNoZXInLCAnZm9ybWF0TWF0Y2hlcicsICd0aW1lWm9uZScsICdob3VyMTInLCAnd2Vla2RheScsICdlcmEnLCAneWVhcicsICdtb250aCcsICdkYXknLCAnaG91cicsICdtaW51dGUnLCAnc2Vjb25kJywgJ3RpbWVab25lTmFtZSddO1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1hdHRlcihfcmVmLCB0eXBlLCBnZXREYXRlVGltZUZvcm1hdCkge1xuICB2YXIgbG9jYWxlID0gX3JlZi5sb2NhbGUsXG4gICAgICBmb3JtYXRzID0gX3JlZi5mb3JtYXRzLFxuICAgICAgb25FcnJvciA9IF9yZWYub25FcnJvcixcbiAgICAgIHRpbWVab25lID0gX3JlZi50aW1lWm9uZTtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuICB2YXIgZm9ybWF0ID0gb3B0aW9ucy5mb3JtYXQ7XG4gIHZhciBkZWZhdWx0cyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGltZVpvbmUgJiYge1xuICAgIHRpbWVab25lOiB0aW1lWm9uZVxuICB9KSwgZm9ybWF0ICYmIGdldE5hbWVkRm9ybWF0KGZvcm1hdHMsIHR5cGUsIGZvcm1hdCwgb25FcnJvcikpO1xuICB2YXIgZmlsdGVyZWRPcHRpb25zID0gZmlsdGVyUHJvcHMob3B0aW9ucywgREFURV9USU1FX0ZPUk1BVF9PUFRJT05TLCBkZWZhdWx0cyk7XG5cbiAgaWYgKHR5cGUgPT09ICd0aW1lJyAmJiAhZmlsdGVyZWRPcHRpb25zLmhvdXIgJiYgIWZpbHRlcmVkT3B0aW9ucy5taW51dGUgJiYgIWZpbHRlcmVkT3B0aW9ucy5zZWNvbmQpIHtcbiAgICAvLyBBZGQgZGVmYXVsdCBmb3JtYXR0aW5nIG9wdGlvbnMgaWYgaG91ciwgbWludXRlLCBvciBzZWNvbmQgaXNuJ3QgZGVmaW5lZC5cbiAgICBmaWx0ZXJlZE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGZpbHRlcmVkT3B0aW9ucyksIHtcbiAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgIG1pbnV0ZTogJ251bWVyaWMnXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZ2V0RGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBmaWx0ZXJlZE9wdGlvbnMpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdERhdGUoY29uZmlnLCBnZXREYXRlVGltZUZvcm1hdCwgdmFsdWUpIHtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuICB2YXIgZGF0ZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyBuZXcgRGF0ZSh2YWx1ZSB8fCAwKSA6IHZhbHVlO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldEZvcm1hdHRlcihjb25maWcsICdkYXRlJywgZ2V0RGF0ZVRpbWVGb3JtYXQsIG9wdGlvbnMpLmZvcm1hdChkYXRlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbmZpZy5vbkVycm9yKGNyZWF0ZUVycm9yKCdFcnJvciBmb3JtYXR0aW5nIGRhdGUuJywgZSkpO1xuICB9XG5cbiAgcmV0dXJuIFN0cmluZyhkYXRlKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lKGNvbmZpZywgZ2V0RGF0ZVRpbWVGb3JtYXQsIHZhbHVlKSB7XG4gIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiB7fTtcbiAgdmFyIGRhdGUgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gbmV3IERhdGUodmFsdWUgfHwgMCkgOiB2YWx1ZTtcblxuICB0cnkge1xuICAgIHJldHVybiBnZXRGb3JtYXR0ZXIoY29uZmlnLCAndGltZScsIGdldERhdGVUaW1lRm9ybWF0LCBvcHRpb25zKS5mb3JtYXQoZGF0ZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25maWcub25FcnJvcihjcmVhdGVFcnJvcignRXJyb3IgZm9ybWF0dGluZyB0aW1lLicsIGUpKTtcbiAgfVxuXG4gIHJldHVybiBTdHJpbmcoZGF0ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGF0ZVRvUGFydHMoY29uZmlnLCBnZXREYXRlVGltZUZvcm1hdCwgdmFsdWUpIHtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuICB2YXIgZGF0ZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyBuZXcgRGF0ZSh2YWx1ZSB8fCAwKSA6IHZhbHVlO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldEZvcm1hdHRlcihjb25maWcsICdkYXRlJywgZ2V0RGF0ZVRpbWVGb3JtYXQsIG9wdGlvbnMpLmZvcm1hdFRvUGFydHMoZGF0ZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25maWcub25FcnJvcihjcmVhdGVFcnJvcignRXJyb3IgZm9ybWF0dGluZyBkYXRlLicsIGUpKTtcbiAgfVxuXG4gIHJldHVybiBbXTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lVG9QYXJ0cyhjb25maWcsIGdldERhdGVUaW1lRm9ybWF0LCB2YWx1ZSkge1xuICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDoge307XG4gIHZhciBkYXRlID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IG5ldyBEYXRlKHZhbHVlIHx8IDApIDogdmFsdWU7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZ2V0Rm9ybWF0dGVyKGNvbmZpZywgJ3RpbWUnLCBnZXREYXRlVGltZUZvcm1hdCwgb3B0aW9ucykuZm9ybWF0VG9QYXJ0cyhkYXRlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbmZpZy5vbkVycm9yKGNyZWF0ZUVycm9yKCdFcnJvciBmb3JtYXR0aW5nIHRpbWUuJywgZSkpO1xuICB9XG5cbiAgcmV0dXJuIFtdO1xufSIsImltcG9ydCB7IGZpbHRlclByb3BzLCBjcmVhdGVFcnJvciB9IGZyb20gJy4uL3V0aWxzJztcbnZhciBQTFVSQUxfRk9STUFUX09QVElPTlMgPSBbJ2xvY2FsZU1hdGNoZXInLCAndHlwZSddO1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFBsdXJhbChfcmVmLCBnZXRQbHVyYWxSdWxlcywgdmFsdWUpIHtcbiAgdmFyIGxvY2FsZSA9IF9yZWYubG9jYWxlLFxuICAgICAgb25FcnJvciA9IF9yZWYub25FcnJvcjtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuXG4gIGlmICghSW50bC5QbHVyYWxSdWxlcykge1xuICAgIG9uRXJyb3IoY3JlYXRlRXJyb3IoXCJJbnRsLlBsdXJhbFJ1bGVzIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhpcyBlbnZpcm9ubWVudC5cXG5UcnkgcG9seWZpbGxpbmcgaXQgdXNpbmcgXFxcIkBmb3JtYXRqcy9pbnRsLXBsdXJhbHJ1bGVzXFxcIlxcblwiKSk7XG4gIH1cblxuICB2YXIgZmlsdGVyZWRPcHRpb25zID0gZmlsdGVyUHJvcHMob3B0aW9ucywgUExVUkFMX0ZPUk1BVF9PUFRJT05TKTtcblxuICB0cnkge1xuICAgIHJldHVybiBnZXRQbHVyYWxSdWxlcyhsb2NhbGUsIGZpbHRlcmVkT3B0aW9ucykuc2VsZWN0KHZhbHVlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIG9uRXJyb3IoY3JlYXRlRXJyb3IoJ0Vycm9yIGZvcm1hdHRpbmcgcGx1cmFsLicsIGUpKTtcbiAgfVxuXG4gIHJldHVybiAnb3RoZXInO1xufSIsImltcG9ydCBfdG9Db25zdW1hYmxlQXJyYXkgZnJvbSBcIi9ob21lL3J1bm5lci93b3JrL2p1c3RpY2U0MC10b29sL2p1c3RpY2U0MC10b29sL2NsaWVudC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXlcIjtcblxuLypcbiAqIENvcHlyaWdodCAyMDE1LCBZYWhvbyBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIExpY2Vuc2UuXG4gKiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBpbnZhcmlhbnQgfSBmcm9tICdAZm9ybWF0anMvaW50bC11dGlscyc7XG5pbXBvcnQgeyBjcmVhdGVFcnJvciwgZXNjYXBlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEludGxNZXNzYWdlRm9ybWF0IGZyb20gJ2ludGwtbWVzc2FnZWZvcm1hdCc7XG5cbmZ1bmN0aW9uIHNldFRpbWVab25lSW5PcHRpb25zKG9wdHMsIHRpbWVab25lKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhvcHRzKS5yZWR1Y2UoZnVuY3Rpb24gKGFsbCwgaykge1xuICAgIGFsbFtrXSA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgdGltZVpvbmU6IHRpbWVab25lXG4gICAgfSwgb3B0c1trXSk7XG4gICAgcmV0dXJuIGFsbDtcbiAgfSwge30pO1xufVxuXG5mdW5jdGlvbiBkZWVwTWVyZ2VPcHRpb25zKG9wdHMxLCBvcHRzMikge1xuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgb3B0czEpLCBvcHRzMikpO1xuICByZXR1cm4ga2V5cy5yZWR1Y2UoZnVuY3Rpb24gKGFsbCwgaykge1xuICAgIGFsbFtrXSA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgb3B0czFba10gfHwge30pLCBvcHRzMltrXSB8fCB7fSk7XG4gICAgcmV0dXJuIGFsbDtcbiAgfSwge30pO1xufVxuXG5mdW5jdGlvbiBkZWVwTWVyZ2VGb3JtYXRzQW5kU2V0VGltZVpvbmUoZjEsIHRpbWVab25lKSB7XG4gIGlmICghdGltZVpvbmUpIHtcbiAgICByZXR1cm4gZjE7XG4gIH1cblxuICB2YXIgbWZGb3JtYXRzID0gSW50bE1lc3NhZ2VGb3JtYXQuZm9ybWF0cztcbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBtZkZvcm1hdHMpLCBmMSksIHtcbiAgICBkYXRlOiBkZWVwTWVyZ2VPcHRpb25zKHNldFRpbWVab25lSW5PcHRpb25zKG1mRm9ybWF0cy5kYXRlLCB0aW1lWm9uZSksIHNldFRpbWVab25lSW5PcHRpb25zKGYxLmRhdGUgfHwge30sIHRpbWVab25lKSksXG4gICAgdGltZTogZGVlcE1lcmdlT3B0aW9ucyhzZXRUaW1lWm9uZUluT3B0aW9ucyhtZkZvcm1hdHMudGltZSwgdGltZVpvbmUpLCBzZXRUaW1lWm9uZUluT3B0aW9ucyhmMS50aW1lIHx8IHt9LCB0aW1lWm9uZSkpXG4gIH0pO1xufVxuXG5leHBvcnQgdmFyIHByZXBhcmVJbnRsTWVzc2FnZUZvcm1hdEh0bWxPdXRwdXQgPSBmdW5jdGlvbiBwcmVwYXJlSW50bE1lc3NhZ2VGb3JtYXRIdG1sT3V0cHV0KGNodW5rcykge1xuICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudC5hcHBseShSZWFjdCwgW1JlYWN0LkZyYWdtZW50LCBudWxsXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGNodW5rcykpKTtcbn07XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TWVzc2FnZShfcmVmLCBzdGF0ZSkge1xuICB2YXIgbG9jYWxlID0gX3JlZi5sb2NhbGUsXG4gICAgICBmb3JtYXRzID0gX3JlZi5mb3JtYXRzLFxuICAgICAgbWVzc2FnZXMgPSBfcmVmLm1lc3NhZ2VzLFxuICAgICAgZGVmYXVsdExvY2FsZSA9IF9yZWYuZGVmYXVsdExvY2FsZSxcbiAgICAgIGRlZmF1bHRGb3JtYXRzID0gX3JlZi5kZWZhdWx0Rm9ybWF0cyxcbiAgICAgIG9uRXJyb3IgPSBfcmVmLm9uRXJyb3IsXG4gICAgICB0aW1lWm9uZSA9IF9yZWYudGltZVpvbmU7XG4gIHZhciBtZXNzYWdlRGVzY3JpcHRvciA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDoge1xuICAgIGlkOiAnJ1xuICB9O1xuICB2YXIgdmFsdWVzID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiB7fTtcbiAgdmFyIGlkID0gbWVzc2FnZURlc2NyaXB0b3IuaWQsXG4gICAgICBkZWZhdWx0TWVzc2FnZSA9IG1lc3NhZ2VEZXNjcmlwdG9yLmRlZmF1bHRNZXNzYWdlOyAvLyBgaWRgIGlzIGEgcmVxdWlyZWQgZmllbGQgb2YgYSBNZXNzYWdlIERlc2NyaXB0b3IuXG5cbiAgaW52YXJpYW50KCEhaWQsICdbUmVhY3QgSW50bF0gQW4gYGlkYCBtdXN0IGJlIHByb3ZpZGVkIHRvIGZvcm1hdCBhIG1lc3NhZ2UuJyk7XG4gIHZhciBtZXNzYWdlID0gbWVzc2FnZXMgJiYgbWVzc2FnZXNbU3RyaW5nKGlkKV07XG4gIGZvcm1hdHMgPSBkZWVwTWVyZ2VGb3JtYXRzQW5kU2V0VGltZVpvbmUoZm9ybWF0cywgdGltZVpvbmUpO1xuICBkZWZhdWx0Rm9ybWF0cyA9IGRlZXBNZXJnZUZvcm1hdHNBbmRTZXRUaW1lWm9uZShkZWZhdWx0Rm9ybWF0cywgdGltZVpvbmUpO1xuICB2YXIgZm9ybWF0dGVkTWVzc2FnZVBhcnRzID0gW107XG5cbiAgaWYgKG1lc3NhZ2UpIHtcbiAgICB0cnkge1xuICAgICAgdmFyIGZvcm1hdHRlciA9IHN0YXRlLmdldE1lc3NhZ2VGb3JtYXQobWVzc2FnZSwgbG9jYWxlLCBmb3JtYXRzLCB7XG4gICAgICAgIGZvcm1hdHRlcnM6IHN0YXRlXG4gICAgICB9KTtcbiAgICAgIGZvcm1hdHRlZE1lc3NhZ2VQYXJ0cyA9IGZvcm1hdHRlci5mb3JtYXRIVE1MTWVzc2FnZSh2YWx1ZXMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIG9uRXJyb3IoY3JlYXRlRXJyb3IoXCJFcnJvciBmb3JtYXR0aW5nIG1lc3NhZ2U6IFxcXCJcIi5jb25jYXQoaWQsIFwiXFxcIiBmb3IgbG9jYWxlOiBcXFwiXCIpLmNvbmNhdChsb2NhbGUsIFwiXFxcIlwiKSArIChkZWZhdWx0TWVzc2FnZSA/ICcsIHVzaW5nIGRlZmF1bHQgbWVzc2FnZSBhcyBmYWxsYmFjay4nIDogJycpLCBlKSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgcHJldmVudHMgd2FybmluZ3MgZnJvbSBsaXR0ZXJpbmcgdGhlIGNvbnNvbGUgaW4gZGV2ZWxvcG1lbnRcbiAgICAvLyB3aGVuIG5vIGBtZXNzYWdlc2AgYXJlIHBhc3NlZCBpbnRvIHRoZSA8SW50bFByb3ZpZGVyPiBmb3IgdGhlXG4gICAgLy8gZGVmYXVsdCBsb2NhbGUsIGFuZCBhIGRlZmF1bHQgbWVzc2FnZSBpcyBpbiB0aGUgc291cmNlLlxuICAgIGlmICghZGVmYXVsdE1lc3NhZ2UgfHwgbG9jYWxlICYmIGxvY2FsZS50b0xvd2VyQ2FzZSgpICE9PSBkZWZhdWx0TG9jYWxlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIG9uRXJyb3IoY3JlYXRlRXJyb3IoXCJNaXNzaW5nIG1lc3NhZ2U6IFxcXCJcIi5jb25jYXQoaWQsIFwiXFxcIiBmb3IgbG9jYWxlOiBcXFwiXCIpLmNvbmNhdChsb2NhbGUsIFwiXFxcIlwiKSArIChkZWZhdWx0TWVzc2FnZSA/ICcsIHVzaW5nIGRlZmF1bHQgbWVzc2FnZSBhcyBmYWxsYmFjay4nIDogJycpKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFmb3JtYXR0ZWRNZXNzYWdlUGFydHMubGVuZ3RoICYmIGRlZmF1bHRNZXNzYWdlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHZhciBfZm9ybWF0dGVyID0gc3RhdGUuZ2V0TWVzc2FnZUZvcm1hdChkZWZhdWx0TWVzc2FnZSwgZGVmYXVsdExvY2FsZSwgZGVmYXVsdEZvcm1hdHMpO1xuXG4gICAgICBmb3JtYXR0ZWRNZXNzYWdlUGFydHMgPSBfZm9ybWF0dGVyLmZvcm1hdEhUTUxNZXNzYWdlKHZhbHVlcyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgb25FcnJvcihjcmVhdGVFcnJvcihcIkVycm9yIGZvcm1hdHRpbmcgdGhlIGRlZmF1bHQgbWVzc2FnZSBmb3I6IFxcXCJcIi5jb25jYXQoaWQsIFwiXFxcIlwiKSwgZSkpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghZm9ybWF0dGVkTWVzc2FnZVBhcnRzLmxlbmd0aCkge1xuICAgIG9uRXJyb3IoY3JlYXRlRXJyb3IoXCJDYW5ub3QgZm9ybWF0IG1lc3NhZ2U6IFxcXCJcIi5jb25jYXQoaWQsIFwiXFxcIiwgXCIpICsgXCJ1c2luZyBtZXNzYWdlIFwiLmNvbmNhdChtZXNzYWdlIHx8IGRlZmF1bHRNZXNzYWdlID8gJ3NvdXJjZScgOiAnaWQnLCBcIiBhcyBmYWxsYmFjay5cIikpKTtcblxuICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlIHx8IGRlZmF1bHRNZXNzYWdlIHx8IFN0cmluZyhpZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmF1bHRNZXNzYWdlIHx8IFN0cmluZyhpZCk7XG4gIH1cblxuICBpZiAoZm9ybWF0dGVkTWVzc2FnZVBhcnRzLmxlbmd0aCA9PT0gMSAmJiB0eXBlb2YgZm9ybWF0dGVkTWVzc2FnZVBhcnRzWzBdID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmb3JtYXR0ZWRNZXNzYWdlUGFydHNbMF0gfHwgZGVmYXVsdE1lc3NhZ2UgfHwgU3RyaW5nKGlkKTtcbiAgfVxuXG4gIHJldHVybiBwcmVwYXJlSW50bE1lc3NhZ2VGb3JtYXRIdG1sT3V0cHV0KGZvcm1hdHRlZE1lc3NhZ2VQYXJ0cyk7XG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0SFRNTE1lc3NhZ2UoY29uZmlnLCBzdGF0ZSkge1xuICB2YXIgbWVzc2FnZURlc2NyaXB0b3IgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHtcbiAgICBpZDogJydcbiAgfTtcbiAgdmFyIHJhd1ZhbHVlcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDoge307XG4gIC8vIFByb2Nlc3MgYWxsIHRoZSB2YWx1ZXMgYmVmb3JlIHRoZXkgYXJlIHVzZWQgd2hlbiBmb3JtYXR0aW5nIHRoZSBJQ1VcbiAgLy8gTWVzc2FnZSBzdHJpbmcuIFNpbmNlIHRoZSBmb3JtYXR0ZWQgbWVzc2FnZSBtaWdodCBiZSBpbmplY3RlZCB2aWFcbiAgLy8gYGlubmVySFRNTGAsIGFsbCBTdHJpbmctYmFzZWQgdmFsdWVzIG5lZWQgdG8gYmUgSFRNTC1lc2NhcGVkLlxuICB2YXIgZXNjYXBlZFZhbHVlcyA9IE9iamVjdC5rZXlzKHJhd1ZhbHVlcykucmVkdWNlKGZ1bmN0aW9uIChlc2NhcGVkLCBuYW1lKSB7XG4gICAgdmFyIHZhbHVlID0gcmF3VmFsdWVzW25hbWVdO1xuICAgIGVzY2FwZWRbbmFtZV0gPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gZXNjYXBlKHZhbHVlKSA6IHZhbHVlO1xuICAgIHJldHVybiBlc2NhcGVkO1xuICB9LCB7fSk7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlKGNvbmZpZywgc3RhdGUsIG1lc3NhZ2VEZXNjcmlwdG9yLCBlc2NhcGVkVmFsdWVzKTtcbn0iLCJpbXBvcnQgeyBmaWx0ZXJQcm9wcywgY3JlYXRlRXJyb3IgfSBmcm9tICcuLi91dGlscyc7XG52YXIgTElTVF9GT1JNQVRfT1BUSU9OUyA9IFsnbG9jYWxlTWF0Y2hlcicsICd0eXBlJywgJ3N0eWxlJ107XG52YXIgbm93ID0gRGF0ZS5ub3coKTtcblxuZnVuY3Rpb24gZ2VuZXJhdGVUb2tlbihpKSB7XG4gIHJldHVybiBcIlwiLmNvbmNhdChub3csIFwiX1wiKS5jb25jYXQoaSwgXCJfXCIpLmNvbmNhdChub3cpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TGlzdChfcmVmLCBnZXRMaXN0Rm9ybWF0LCB2YWx1ZXMpIHtcbiAgdmFyIGxvY2FsZSA9IF9yZWYubG9jYWxlLFxuICAgICAgb25FcnJvciA9IF9yZWYub25FcnJvcjtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuICB2YXIgTGlzdEZvcm1hdCA9IEludGwuTGlzdEZvcm1hdDtcblxuICBpZiAoIUxpc3RGb3JtYXQpIHtcbiAgICBvbkVycm9yKGNyZWF0ZUVycm9yKFwiSW50bC5MaXN0Rm9ybWF0IGlzIG5vdCBhdmFpbGFibGUgaW4gdGhpcyBlbnZpcm9ubWVudC5cXG5UcnkgcG9seWZpbGxpbmcgaXQgdXNpbmcgXFxcIkBmb3JtYXRqcy9pbnRsLWxpc3Rmb3JtYXRcXFwiXFxuXCIpKTtcbiAgfVxuXG4gIHZhciBmaWx0ZXJlZE9wdGlvbnMgPSBmaWx0ZXJQcm9wcyhvcHRpb25zLCBMSVNUX0ZPUk1BVF9PUFRJT05TKTtcblxuICB0cnkge1xuICAgIHZhciByaWNoVmFsdWVzID0ge307XG4gICAgdmFyIHNlcmlhbGl6ZWRWYWx1ZXMgPSB2YWx1ZXMubWFwKGZ1bmN0aW9uICh2LCBpKSB7XG4gICAgICBpZiAodHlwZW9mIHYgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHZhciBpZCA9IGdlbmVyYXRlVG9rZW4oaSk7XG4gICAgICAgIHJpY2hWYWx1ZXNbaWRdID0gdjtcbiAgICAgICAgcmV0dXJuIGlkO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gU3RyaW5nKHYpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFPYmplY3Qua2V5cyhyaWNoVmFsdWVzKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBnZXRMaXN0Rm9ybWF0KGxvY2FsZSwgZmlsdGVyZWRPcHRpb25zKS5mb3JtYXQoc2VyaWFsaXplZFZhbHVlcyk7XG4gICAgfVxuXG4gICAgdmFyIHBhcnRzID0gZ2V0TGlzdEZvcm1hdChsb2NhbGUsIGZpbHRlcmVkT3B0aW9ucykuZm9ybWF0VG9QYXJ0cyhzZXJpYWxpemVkVmFsdWVzKTtcbiAgICByZXR1cm4gcGFydHMucmVkdWNlKGZ1bmN0aW9uIChhbGwsIGVsKSB7XG4gICAgICB2YXIgdmFsID0gZWwudmFsdWU7XG5cbiAgICAgIGlmIChyaWNoVmFsdWVzW3ZhbF0pIHtcbiAgICAgICAgYWxsLnB1c2gocmljaFZhbHVlc1t2YWxdKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFsbFthbGwubGVuZ3RoIC0gMV0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGFsbFthbGwubGVuZ3RoIC0gMV0gKz0gdmFsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWxsLnB1c2godmFsKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFsbDtcbiAgICB9LCBbXSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBvbkVycm9yKGNyZWF0ZUVycm9yKCdFcnJvciBmb3JtYXR0aW5nIGxpc3QuJywgZSkpO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlcztcbn0iLCJpbXBvcnQgeyBmaWx0ZXJQcm9wcywgY3JlYXRlRXJyb3IgfSBmcm9tICcuLi91dGlscyc7XG52YXIgRElTUExBWV9OQU1FU19PUFRPTlMgPSBbJ2xvY2FsZU1hdGNoZXInLCAnc3R5bGUnLCAndHlwZScsICdmYWxsYmFjayddO1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdERpc3BsYXlOYW1lKF9yZWYsIGdldERpc3BsYXlOYW1lcywgdmFsdWUpIHtcbiAgdmFyIGxvY2FsZSA9IF9yZWYubG9jYWxlLFxuICAgICAgb25FcnJvciA9IF9yZWYub25FcnJvcjtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IHt9O1xuICB2YXIgRGlzcGxheU5hbWVzID0gSW50bC5EaXNwbGF5TmFtZXM7XG5cbiAgaWYgKCFEaXNwbGF5TmFtZXMpIHtcbiAgICBvbkVycm9yKGNyZWF0ZUVycm9yKFwiSW50bC5EaXNwbGF5TmFtZXMgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGlzIGVudmlyb25tZW50LlxcblRyeSBwb2x5ZmlsbGluZyBpdCB1c2luZyBcXFwiQGZvcm1hdGpzL2ludGwtZGlzcGxheW5hbWVzXFxcIlxcblwiKSk7XG4gIH1cblxuICB2YXIgZmlsdGVyZWRPcHRpb25zID0gZmlsdGVyUHJvcHMob3B0aW9ucywgRElTUExBWV9OQU1FU19PUFRPTlMpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldERpc3BsYXlOYW1lcyhsb2NhbGUsIGZpbHRlcmVkT3B0aW9ucykub2YodmFsdWUpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgb25FcnJvcihjcmVhdGVFcnJvcignRXJyb3IgZm9ybWF0dGluZyBkaXNwbGF5IG5hbWUuJywgZSkpO1xuICB9XG59IiwiaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiL2hvbWUvcnVubmVyL3dvcmsvanVzdGljZTQwLXRvb2wvanVzdGljZTQwLXRvb2wvY2xpZW50L25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiL2hvbWUvcnVubmVyL3dvcmsvanVzdGljZTQwLXRvb2wvanVzdGljZTQwLXRvb2wvY2xpZW50L25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiL2hvbWUvcnVubmVyL3dvcmsvanVzdGljZTQwLXRvb2wvanVzdGljZTQwLXRvb2wvY2xpZW50L25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pbmhlcml0c1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9qdXN0aWNlNDAtdG9vbC9qdXN0aWNlNDAtdG9vbC9jbGllbnQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIi9ob21lL3J1bm5lci93b3JrL2p1c3RpY2U0MC10b29sL2p1c3RpY2U0MC10b29sL2NsaWVudC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZ2V0UHJvdG90eXBlT2ZcIjtcblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbiwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAxNSwgWWFob28gSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBMaWNlbnNlLlxuICogU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICcuL2luamVjdEludGwnO1xuaW1wb3J0IHsgY3JlYXRlRXJyb3IsIERFRkFVTFRfSU5UTF9DT05GSUcsIGNyZWF0ZUZvcm1hdHRlcnMsIGludmFyaWFudEludGxDb250ZXh0LCBjcmVhdGVJbnRsQ2FjaGUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBmb3JtYXROdW1iZXIsIGZvcm1hdE51bWJlclRvUGFydHMgfSBmcm9tICcuLi9mb3JtYXR0ZXJzL251bWJlcic7XG5pbXBvcnQgeyBmb3JtYXRSZWxhdGl2ZVRpbWUgfSBmcm9tICcuLi9mb3JtYXR0ZXJzL3JlbGF0aXZlVGltZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlLCBmb3JtYXRUaW1lLCBmb3JtYXREYXRlVG9QYXJ0cywgZm9ybWF0VGltZVRvUGFydHMgfSBmcm9tICcuLi9mb3JtYXR0ZXJzL2RhdGVUaW1lJztcbmltcG9ydCB7IGZvcm1hdFBsdXJhbCB9IGZyb20gJy4uL2Zvcm1hdHRlcnMvcGx1cmFsJztcbmltcG9ydCB7IGZvcm1hdE1lc3NhZ2UsIGZvcm1hdEhUTUxNZXNzYWdlIH0gZnJvbSAnLi4vZm9ybWF0dGVycy9tZXNzYWdlJztcbmltcG9ydCAqIGFzIHNoYWxsb3dFcXVhbHNfIGZyb20gJ3NoYWxsb3ctZXF1YWwvb2JqZWN0cyc7XG5pbXBvcnQgeyBmb3JtYXRMaXN0IH0gZnJvbSAnLi4vZm9ybWF0dGVycy9saXN0JztcbmltcG9ydCB7IGZvcm1hdERpc3BsYXlOYW1lIH0gZnJvbSAnLi4vZm9ybWF0dGVycy9kaXNwbGF5TmFtZSc7XG52YXIgc2hhbGxvd0VxdWFscyA9IHNoYWxsb3dFcXVhbHNfLmRlZmF1bHQgfHwgc2hhbGxvd0VxdWFsc187XG5cbmZ1bmN0aW9uIHByb2Nlc3NJbnRsQ29uZmlnKGNvbmZpZykge1xuICByZXR1cm4ge1xuICAgIGxvY2FsZTogY29uZmlnLmxvY2FsZSxcbiAgICB0aW1lWm9uZTogY29uZmlnLnRpbWVab25lLFxuICAgIGZvcm1hdHM6IGNvbmZpZy5mb3JtYXRzLFxuICAgIHRleHRDb21wb25lbnQ6IGNvbmZpZy50ZXh0Q29tcG9uZW50LFxuICAgIG1lc3NhZ2VzOiBjb25maWcubWVzc2FnZXMsXG4gICAgZGVmYXVsdExvY2FsZTogY29uZmlnLmRlZmF1bHRMb2NhbGUsXG4gICAgZGVmYXVsdEZvcm1hdHM6IGNvbmZpZy5kZWZhdWx0Rm9ybWF0cyxcbiAgICBvbkVycm9yOiBjb25maWcub25FcnJvclxuICB9O1xufVxuLyoqXG4gKiBDcmVhdGUgaW50bCBvYmplY3RcbiAqIEBwYXJhbSBjb25maWcgaW50bCBjb25maWdcbiAqIEBwYXJhbSBjYWNoZSBjYWNoZSBmb3IgZm9ybWF0dGVyIGluc3RhbmNlcyB0byBwcmV2ZW50IG1lbW9yeSBsZWFrXG4gKi9cblxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW50bChjb25maWcsIGNhY2hlKSB7XG4gIHZhciBmb3JtYXR0ZXJzID0gY3JlYXRlRm9ybWF0dGVycyhjYWNoZSk7XG4gIHZhciByZXNvbHZlZENvbmZpZyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9JTlRMX0NPTkZJRyksIGNvbmZpZyk7XG4gIHZhciBsb2NhbGUgPSByZXNvbHZlZENvbmZpZy5sb2NhbGUsXG4gICAgICBkZWZhdWx0TG9jYWxlID0gcmVzb2x2ZWRDb25maWcuZGVmYXVsdExvY2FsZSxcbiAgICAgIG9uRXJyb3IgPSByZXNvbHZlZENvbmZpZy5vbkVycm9yO1xuXG4gIGlmICghbG9jYWxlKSB7XG4gICAgaWYgKG9uRXJyb3IpIHtcbiAgICAgIG9uRXJyb3IoY3JlYXRlRXJyb3IoXCJcXFwibG9jYWxlXFxcIiB3YXMgbm90IGNvbmZpZ3VyZWQsIHVzaW5nIFxcXCJcIi5jb25jYXQoZGVmYXVsdExvY2FsZSwgXCJcXFwiIGFzIGZhbGxiYWNrLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2Zvcm1hdGpzL3JlYWN0LWludGwvYmxvYi9tYXN0ZXIvZG9jcy9BUEkubWQjaW50bHNoYXBlIGZvciBtb3JlIGRldGFpbHNcIikpKTtcbiAgICB9IC8vIFNpbmNlIHRoZXJlJ3Mgbm8gcmVnaXN0ZXJlZCBsb2NhbGUgZGF0YSBmb3IgYGxvY2FsZWAsIHRoaXMgd2lsbFxuICAgIC8vIGZhbGxiYWNrIHRvIHRoZSBgZGVmYXVsdExvY2FsZWAgdG8gbWFrZSBzdXJlIHRoaW5ncyBjYW4gcmVuZGVyLlxuICAgIC8vIFRoZSBgbWVzc2FnZXNgIGFyZSBvdmVycmlkZGVuIHRvIHRoZSBgZGVmYXVsdFByb3BzYCBlbXB0eSBvYmplY3RcbiAgICAvLyB0byBtYWludGFpbiByZWZlcmVudGlhbCBlcXVhbGl0eSBhY3Jvc3MgcmUtcmVuZGVycy4gSXQncyBhc3N1bWVkXG4gICAgLy8gZWFjaCA8Rm9ybWF0dGVkTWVzc2FnZT4gY29udGFpbnMgYSBgZGVmYXVsdE1lc3NhZ2VgIHByb3AuXG5cblxuICAgIHJlc29sdmVkQ29uZmlnLmxvY2FsZSA9IHJlc29sdmVkQ29uZmlnLmRlZmF1bHRMb2NhbGUgfHwgJ2VuJztcbiAgfSBlbHNlIGlmICghSW50bC5OdW1iZXJGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKGxvY2FsZSkubGVuZ3RoICYmIG9uRXJyb3IpIHtcbiAgICBvbkVycm9yKGNyZWF0ZUVycm9yKFwiTWlzc2luZyBsb2NhbGUgZGF0YSBmb3IgbG9jYWxlOiBcXFwiXCIuY29uY2F0KGxvY2FsZSwgXCJcXFwiIGluIEludGwuTnVtYmVyRm9ybWF0LiBVc2luZyBkZWZhdWx0IGxvY2FsZTogXFxcIlwiKS5jb25jYXQoZGVmYXVsdExvY2FsZSwgXCJcXFwiIGFzIGZhbGxiYWNrLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2Zvcm1hdGpzL3JlYWN0LWludGwvYmxvYi9tYXN0ZXIvZG9jcy9HZXR0aW5nLVN0YXJ0ZWQubWQjcnVudGltZS1yZXF1aXJlbWVudHMgZm9yIG1vcmUgZGV0YWlsc1wiKSkpO1xuICB9IGVsc2UgaWYgKCFJbnRsLkRhdGVUaW1lRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihsb2NhbGUpLmxlbmd0aCAmJiBvbkVycm9yKSB7XG4gICAgb25FcnJvcihjcmVhdGVFcnJvcihcIk1pc3NpbmcgbG9jYWxlIGRhdGEgZm9yIGxvY2FsZTogXFxcIlwiLmNvbmNhdChsb2NhbGUsIFwiXFxcIiBpbiBJbnRsLkRhdGVUaW1lRm9ybWF0LiBVc2luZyBkZWZhdWx0IGxvY2FsZTogXFxcIlwiKS5jb25jYXQoZGVmYXVsdExvY2FsZSwgXCJcXFwiIGFzIGZhbGxiYWNrLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2Zvcm1hdGpzL3JlYWN0LWludGwvYmxvYi9tYXN0ZXIvZG9jcy9HZXR0aW5nLVN0YXJ0ZWQubWQjcnVudGltZS1yZXF1aXJlbWVudHMgZm9yIG1vcmUgZGV0YWlsc1wiKSkpO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcmVzb2x2ZWRDb25maWcpLCB7XG4gICAgZm9ybWF0dGVyczogZm9ybWF0dGVycyxcbiAgICBmb3JtYXROdW1iZXI6IGZvcm1hdE51bWJlci5iaW5kKG51bGwsIHJlc29sdmVkQ29uZmlnLCBmb3JtYXR0ZXJzLmdldE51bWJlckZvcm1hdCksXG4gICAgZm9ybWF0TnVtYmVyVG9QYXJ0czogZm9ybWF0TnVtYmVyVG9QYXJ0cy5iaW5kKG51bGwsIHJlc29sdmVkQ29uZmlnLCBmb3JtYXR0ZXJzLmdldE51bWJlckZvcm1hdCksXG4gICAgZm9ybWF0UmVsYXRpdmVUaW1lOiBmb3JtYXRSZWxhdGl2ZVRpbWUuYmluZChudWxsLCByZXNvbHZlZENvbmZpZywgZm9ybWF0dGVycy5nZXRSZWxhdGl2ZVRpbWVGb3JtYXQpLFxuICAgIGZvcm1hdERhdGU6IGZvcm1hdERhdGUuYmluZChudWxsLCByZXNvbHZlZENvbmZpZywgZm9ybWF0dGVycy5nZXREYXRlVGltZUZvcm1hdCksXG4gICAgZm9ybWF0RGF0ZVRvUGFydHM6IGZvcm1hdERhdGVUb1BhcnRzLmJpbmQobnVsbCwgcmVzb2x2ZWRDb25maWcsIGZvcm1hdHRlcnMuZ2V0RGF0ZVRpbWVGb3JtYXQpLFxuICAgIGZvcm1hdFRpbWU6IGZvcm1hdFRpbWUuYmluZChudWxsLCByZXNvbHZlZENvbmZpZywgZm9ybWF0dGVycy5nZXREYXRlVGltZUZvcm1hdCksXG4gICAgZm9ybWF0VGltZVRvUGFydHM6IGZvcm1hdFRpbWVUb1BhcnRzLmJpbmQobnVsbCwgcmVzb2x2ZWRDb25maWcsIGZvcm1hdHRlcnMuZ2V0RGF0ZVRpbWVGb3JtYXQpLFxuICAgIGZvcm1hdFBsdXJhbDogZm9ybWF0UGx1cmFsLmJpbmQobnVsbCwgcmVzb2x2ZWRDb25maWcsIGZvcm1hdHRlcnMuZ2V0UGx1cmFsUnVsZXMpLFxuICAgIGZvcm1hdE1lc3NhZ2U6IGZvcm1hdE1lc3NhZ2UuYmluZChudWxsLCByZXNvbHZlZENvbmZpZywgZm9ybWF0dGVycyksXG4gICAgZm9ybWF0SFRNTE1lc3NhZ2U6IGZvcm1hdEhUTUxNZXNzYWdlLmJpbmQobnVsbCwgcmVzb2x2ZWRDb25maWcsIGZvcm1hdHRlcnMpLFxuICAgIGZvcm1hdExpc3Q6IGZvcm1hdExpc3QuYmluZChudWxsLCByZXNvbHZlZENvbmZpZywgZm9ybWF0dGVycy5nZXRMaXN0Rm9ybWF0KSxcbiAgICBmb3JtYXREaXNwbGF5TmFtZTogZm9ybWF0RGlzcGxheU5hbWUuYmluZChudWxsLCByZXNvbHZlZENvbmZpZywgZm9ybWF0dGVycy5nZXREaXNwbGF5TmFtZXMpXG4gIH0pO1xufVxuXG52YXIgSW50bFByb3ZpZGVyID0gLyojX19QVVJFX18qL2Z1bmN0aW9uIChfUmVhY3QkUHVyZUNvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoSW50bFByb3ZpZGVyLCBfUmVhY3QkUHVyZUNvbXBvbmVudCk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihJbnRsUHJvdmlkZXIpO1xuXG4gIGZ1bmN0aW9uIEludGxQcm92aWRlcigpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgSW50bFByb3ZpZGVyKTtcblxuICAgIF90aGlzID0gX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgX3RoaXMuY2FjaGUgPSBjcmVhdGVJbnRsQ2FjaGUoKTtcbiAgICBfdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGNhY2hlOiBfdGhpcy5jYWNoZSxcbiAgICAgIGludGw6IGNyZWF0ZUludGwocHJvY2Vzc0ludGxDb25maWcoX3RoaXMucHJvcHMpLCBfdGhpcy5jYWNoZSksXG4gICAgICBwcmV2Q29uZmlnOiBwcm9jZXNzSW50bENvbmZpZyhfdGhpcy5wcm9wcylcbiAgICB9O1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhJbnRsUHJvdmlkZXIsIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICBpbnZhcmlhbnRJbnRsQ29udGV4dCh0aGlzLnN0YXRlLmludGwpO1xuICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUHJvdmlkZXIsIHtcbiAgICAgICAgdmFsdWU6IHRoaXMuc3RhdGUuaW50bFxuICAgICAgfSwgdGhpcy5wcm9wcy5jaGlsZHJlbik7XG4gICAgfVxuICB9XSwgW3tcbiAgICBrZXk6IFwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgX3JlZikge1xuICAgICAgdmFyIHByZXZDb25maWcgPSBfcmVmLnByZXZDb25maWcsXG4gICAgICAgICAgY2FjaGUgPSBfcmVmLmNhY2hlO1xuICAgICAgdmFyIGNvbmZpZyA9IHByb2Nlc3NJbnRsQ29uZmlnKHByb3BzKTtcblxuICAgICAgaWYgKCFzaGFsbG93RXF1YWxzKHByZXZDb25maWcsIGNvbmZpZykpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbnRsOiBjcmVhdGVJbnRsKGNvbmZpZywgY2FjaGUpLFxuICAgICAgICAgIHByZXZDb25maWc6IGNvbmZpZ1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gSW50bFByb3ZpZGVyO1xufShSZWFjdC5QdXJlQ29tcG9uZW50KTtcblxuZXhwb3J0IHsgSW50bFByb3ZpZGVyIGFzIGRlZmF1bHQgfTtcbkludGxQcm92aWRlci5kaXNwbGF5TmFtZSA9ICdJbnRsUHJvdmlkZXInO1xuSW50bFByb3ZpZGVyLmRlZmF1bHRQcm9wcyA9IERFRkFVTFRfSU5UTF9DT05GSUc7IiwiaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiL2hvbWUvcnVubmVyL3dvcmsvanVzdGljZTQwLXRvb2wvanVzdGljZTQwLXRvb2wvY2xpZW50L25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiL2hvbWUvcnVubmVyL3dvcmsvanVzdGljZTQwLXRvb2wvanVzdGljZTQwLXRvb2wvY2xpZW50L25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiL2hvbWUvcnVubmVyL3dvcmsvanVzdGljZTQwLXRvb2wvanVzdGljZTQwLXRvb2wvY2xpZW50L25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pbmhlcml0c1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9qdXN0aWNlNDAtdG9vbC9qdXN0aWNlNDAtdG9vbC9jbGllbnQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIi9ob21lL3J1bm5lci93b3JrL2p1c3RpY2U0MC10b29sL2p1c3RpY2U0MC10b29sL2NsaWVudC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZ2V0UHJvdG90eXBlT2ZcIjtcblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbiwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAxNSwgWWFob28gSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBMaWNlbnNlLlxuICogU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4vaW5qZWN0SW50bCc7XG5pbXBvcnQgeyBpbnZhcmlhbnRJbnRsQ29udGV4dCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGludmFyaWFudCB9IGZyb20gJ0Bmb3JtYXRqcy9pbnRsLXV0aWxzJztcbnZhciBNSU5VVEUgPSA2MDtcbnZhciBIT1VSID0gNjAgKiA2MDtcbnZhciBEQVkgPSA2MCAqIDYwICogMjQ7XG5cbmZ1bmN0aW9uIHNlbGVjdFVuaXQoc2Vjb25kcykge1xuICB2YXIgYWJzVmFsdWUgPSBNYXRoLmFicyhzZWNvbmRzKTtcblxuICBpZiAoYWJzVmFsdWUgPCBNSU5VVEUpIHtcbiAgICByZXR1cm4gJ3NlY29uZCc7XG4gIH1cblxuICBpZiAoYWJzVmFsdWUgPCBIT1VSKSB7XG4gICAgcmV0dXJuICdtaW51dGUnO1xuICB9XG5cbiAgaWYgKGFic1ZhbHVlIDwgREFZKSB7XG4gICAgcmV0dXJuICdob3VyJztcbiAgfVxuXG4gIHJldHVybiAnZGF5Jztcbn1cblxuZnVuY3Rpb24gZ2V0RHVyYXRpb25JblNlY29uZHModW5pdCkge1xuICBzd2l0Y2ggKHVuaXQpIHtcbiAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgcmV0dXJuIDE7XG5cbiAgICBjYXNlICdtaW51dGUnOlxuICAgICAgcmV0dXJuIE1JTlVURTtcblxuICAgIGNhc2UgJ2hvdXInOlxuICAgICAgcmV0dXJuIEhPVVI7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIERBWTtcbiAgfVxufVxuXG5mdW5jdGlvbiB2YWx1ZVRvU2Vjb25kcyh2YWx1ZSwgdW5pdCkge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBzd2l0Y2ggKHVuaXQpIHtcbiAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgcmV0dXJuIHZhbHVlO1xuXG4gICAgY2FzZSAnbWludXRlJzpcbiAgICAgIHJldHVybiB2YWx1ZSAqIE1JTlVURTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdmFsdWUgKiBIT1VSO1xuICB9XG59XG5cbnZhciBJTkNSRU1FTlRBQkxFX1VOSVRTID0gWydzZWNvbmQnLCAnbWludXRlJywgJ2hvdXInXTtcblxuZnVuY3Rpb24gY2FuSW5jcmVtZW50KCkge1xuICB2YXIgdW5pdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJ3NlY29uZCc7XG4gIHJldHVybiBJTkNSRU1FTlRBQkxFX1VOSVRTLmluY2x1ZGVzKHVuaXQpO1xufVxuXG5leHBvcnQgdmFyIEZvcm1hdHRlZFJlbGF0aXZlVGltZSA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoX1JlYWN0JFB1cmVDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKEZvcm1hdHRlZFJlbGF0aXZlVGltZSwgX1JlYWN0JFB1cmVDb21wb25lbnQpO1xuXG4gIHZhciBfc3VwZXIgPSBfY3JlYXRlU3VwZXIoRm9ybWF0dGVkUmVsYXRpdmVUaW1lKTtcblxuICBmdW5jdGlvbiBGb3JtYXR0ZWRSZWxhdGl2ZVRpbWUocHJvcHMpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRm9ybWF0dGVkUmVsYXRpdmVUaW1lKTtcblxuICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgcHJvcHMpOyAvLyBQdWJsaWMgZm9yIHRlc3RpbmdcblxuICAgIF90aGlzLl91cGRhdGVUaW1lciA9IG51bGw7XG4gICAgX3RoaXMuc3RhdGUgPSB7XG4gICAgICBwcmV2VW5pdDogX3RoaXMucHJvcHMudW5pdCxcbiAgICAgIHByZXZWYWx1ZTogX3RoaXMucHJvcHMudmFsdWUsXG4gICAgICBjdXJyZW50VmFsdWVJblNlY29uZHM6IGNhbkluY3JlbWVudChfdGhpcy5wcm9wcy51bml0KSA/IHZhbHVlVG9TZWNvbmRzKF90aGlzLnByb3BzLnZhbHVlLCBfdGhpcy5wcm9wcy51bml0KSA6IDBcbiAgICB9O1xuICAgIGludmFyaWFudCghcHJvcHMudXBkYXRlSW50ZXJ2YWxJblNlY29uZHMgfHwgISEocHJvcHMudXBkYXRlSW50ZXJ2YWxJblNlY29uZHMgJiYgY2FuSW5jcmVtZW50KHByb3BzLnVuaXQpKSwgJ0Nhbm5vdCBzY2hlZHVsZSB1cGRhdGUgd2l0aCB1bml0IGxvbmdlciB0aGFuIGhvdXInKTtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRm9ybWF0dGVkUmVsYXRpdmVUaW1lLCBbe1xuICAgIGtleTogXCJzY2hlZHVsZU5leHRVcGRhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2NoZWR1bGVOZXh0VXBkYXRlKF9yZWYsIF9yZWYyKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgdmFyIHVwZGF0ZUludGVydmFsSW5TZWNvbmRzID0gX3JlZi51cGRhdGVJbnRlcnZhbEluU2Vjb25kcyxcbiAgICAgICAgICB1bml0ID0gX3JlZi51bml0O1xuICAgICAgdmFyIGN1cnJlbnRWYWx1ZUluU2Vjb25kcyA9IF9yZWYyLmN1cnJlbnRWYWx1ZUluU2Vjb25kcztcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl91cGRhdGVUaW1lcik7XG4gICAgICB0aGlzLl91cGRhdGVUaW1lciA9IG51bGw7IC8vIElmIHRoZXJlJ3Mgbm8gaW50ZXJ2YWwgYW5kIHdlIGNhbm5vdCBpbmNyZW1lbnQgdGhpcyB1bml0LCBkbyBub3RoaW5nXG5cbiAgICAgIGlmICghdXBkYXRlSW50ZXJ2YWxJblNlY29uZHMgfHwgIWNhbkluY3JlbWVudCh1bml0KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vIEZpZ3VyZSBvdXQgdGhlIG5leHQgaW50ZXJlc3RpbmcgdGltZVxuXG5cbiAgICAgIHZhciBuZXh0VmFsdWVJblNlY29uZHMgPSBjdXJyZW50VmFsdWVJblNlY29uZHMgLSB1cGRhdGVJbnRlcnZhbEluU2Vjb25kcztcbiAgICAgIHZhciBuZXh0VW5pdCA9IHNlbGVjdFVuaXQobmV4dFZhbHVlSW5TZWNvbmRzKTsgLy8gV2UndmUgcmVhY2hlZCB0aGUgbWF4IGF1dG8gaW5jcmVtZW50YWJsZSB1bml0LCBkb24ndCBzY2hlZHVsZSBhbm90aGVyIHVwZGF0ZVxuXG4gICAgICBpZiAobmV4dFVuaXQgPT09ICdkYXknKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIHVuaXREdXJhdGlvbiA9IGdldER1cmF0aW9uSW5TZWNvbmRzKG5leHRVbml0KTtcbiAgICAgIHZhciByZW1haW5kZXIgPSBuZXh0VmFsdWVJblNlY29uZHMgJSB1bml0RHVyYXRpb247XG4gICAgICB2YXIgcHJldkludGVyZXN0aW5nVmFsdWVJblNlY29uZHMgPSBuZXh0VmFsdWVJblNlY29uZHMgLSByZW1haW5kZXI7XG4gICAgICB2YXIgbmV4dEludGVyZXN0aW5nVmFsdWVJblNlY29uZHMgPSBwcmV2SW50ZXJlc3RpbmdWYWx1ZUluU2Vjb25kcyA+PSBjdXJyZW50VmFsdWVJblNlY29uZHMgPyBwcmV2SW50ZXJlc3RpbmdWYWx1ZUluU2Vjb25kcyAtIHVuaXREdXJhdGlvbiA6IHByZXZJbnRlcmVzdGluZ1ZhbHVlSW5TZWNvbmRzO1xuICAgICAgdmFyIGRlbGF5SW5TZWNvbmRzID0gTWF0aC5hYnMobmV4dEludGVyZXN0aW5nVmFsdWVJblNlY29uZHMgLSBjdXJyZW50VmFsdWVJblNlY29uZHMpO1xuICAgICAgdGhpcy5fdXBkYXRlVGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzMi5zZXRTdGF0ZSh7XG4gICAgICAgICAgY3VycmVudFZhbHVlSW5TZWNvbmRzOiBuZXh0SW50ZXJlc3RpbmdWYWx1ZUluU2Vjb25kc1xuICAgICAgICB9KTtcbiAgICAgIH0sIGRlbGF5SW5TZWNvbmRzICogMWUzKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY29tcG9uZW50RGlkTW91bnRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICB0aGlzLnNjaGVkdWxlTmV4dFVwZGF0ZSh0aGlzLnByb3BzLCB0aGlzLnN0YXRlKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY29tcG9uZW50RGlkVXBkYXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VXBkYXRlKHRoaXMucHJvcHMsIHRoaXMuc3RhdGUpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjb21wb25lbnRXaWxsVW5tb3VudFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl91cGRhdGVUaW1lcik7XG4gICAgICB0aGlzLl91cGRhdGVUaW1lciA9IG51bGw7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29udGV4dC5Db25zdW1lciwgbnVsbCwgZnVuY3Rpb24gKGludGwpIHtcbiAgICAgICAgaW52YXJpYW50SW50bENvbnRleHQoaW50bCk7XG4gICAgICAgIHZhciBmb3JtYXRSZWxhdGl2ZVRpbWUgPSBpbnRsLmZvcm1hdFJlbGF0aXZlVGltZSxcbiAgICAgICAgICAgIFRleHQgPSBpbnRsLnRleHRDb21wb25lbnQ7XG4gICAgICAgIHZhciBfdGhpczMkcHJvcHMgPSBfdGhpczMucHJvcHMsXG4gICAgICAgICAgICBjaGlsZHJlbiA9IF90aGlzMyRwcm9wcy5jaGlsZHJlbixcbiAgICAgICAgICAgIHZhbHVlID0gX3RoaXMzJHByb3BzLnZhbHVlLFxuICAgICAgICAgICAgdW5pdCA9IF90aGlzMyRwcm9wcy51bml0LFxuICAgICAgICAgICAgdXBkYXRlSW50ZXJ2YWxJblNlY29uZHMgPSBfdGhpczMkcHJvcHMudXBkYXRlSW50ZXJ2YWxJblNlY29uZHM7XG4gICAgICAgIHZhciBjdXJyZW50VmFsdWVJblNlY29uZHMgPSBfdGhpczMuc3RhdGUuY3VycmVudFZhbHVlSW5TZWNvbmRzO1xuICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gdmFsdWUgfHwgMDtcbiAgICAgICAgdmFyIGN1cnJlbnRVbml0ID0gdW5pdDtcblxuICAgICAgICBpZiAoY2FuSW5jcmVtZW50KHVuaXQpICYmIHR5cGVvZiBjdXJyZW50VmFsdWVJblNlY29uZHMgPT09ICdudW1iZXInICYmIHVwZGF0ZUludGVydmFsSW5TZWNvbmRzKSB7XG4gICAgICAgICAgY3VycmVudFVuaXQgPSBzZWxlY3RVbml0KGN1cnJlbnRWYWx1ZUluU2Vjb25kcyk7XG4gICAgICAgICAgdmFyIHVuaXREdXJhdGlvbiA9IGdldER1cmF0aW9uSW5TZWNvbmRzKGN1cnJlbnRVbml0KTtcbiAgICAgICAgICBjdXJyZW50VmFsdWUgPSBNYXRoLnJvdW5kKGN1cnJlbnRWYWx1ZUluU2Vjb25kcyAvIHVuaXREdXJhdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZm9ybWF0dGVkUmVsYXRpdmVUaW1lID0gZm9ybWF0UmVsYXRpdmVUaW1lKGN1cnJlbnRWYWx1ZSwgY3VycmVudFVuaXQsIE9iamVjdC5hc3NpZ24oe30sIF90aGlzMy5wcm9wcykpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gY2hpbGRyZW4oZm9ybWF0dGVkUmVsYXRpdmVUaW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChUZXh0KSB7XG4gICAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGV4dCwgbnVsbCwgZm9ybWF0dGVkUmVsYXRpdmVUaW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWRSZWxhdGl2ZVRpbWU7XG4gICAgICB9KTtcbiAgICB9XG4gIH1dLCBbe1xuICAgIGtleTogXCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgICAgaWYgKHByb3BzLnVuaXQgIT09IHN0YXRlLnByZXZVbml0IHx8IHByb3BzLnZhbHVlICE9PSBzdGF0ZS5wcmV2VmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcmV2VmFsdWU6IHByb3BzLnZhbHVlLFxuICAgICAgICAgIHByZXZVbml0OiBwcm9wcy51bml0LFxuICAgICAgICAgIGN1cnJlbnRWYWx1ZUluU2Vjb25kczogY2FuSW5jcmVtZW50KHByb3BzLnVuaXQpID8gdmFsdWVUb1NlY29uZHMocHJvcHMudmFsdWUsIHByb3BzLnVuaXQpIDogMFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRm9ybWF0dGVkUmVsYXRpdmVUaW1lO1xufShSZWFjdC5QdXJlQ29tcG9uZW50KTtcbkZvcm1hdHRlZFJlbGF0aXZlVGltZS5kaXNwbGF5TmFtZSA9ICdGb3JtYXR0ZWRSZWxhdGl2ZVRpbWUnO1xuRm9ybWF0dGVkUmVsYXRpdmVUaW1lLmRlZmF1bHRQcm9wcyA9IHtcbiAgdmFsdWU6IDAsXG4gIHVuaXQ6ICdzZWNvbmQnXG59O1xuZXhwb3J0IGRlZmF1bHQgRm9ybWF0dGVkUmVsYXRpdmVUaW1lOyIsIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSwgWWFob28gSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBMaWNlbnNlLlxuICogU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHdpdGhJbnRsIGZyb20gJy4vaW5qZWN0SW50bCc7XG5cbnZhciBGb3JtYXR0ZWRQbHVyYWwgPSBmdW5jdGlvbiBGb3JtYXR0ZWRQbHVyYWwocHJvcHMpIHtcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWUsXG4gICAgICBvdGhlciA9IHByb3BzLm90aGVyLFxuICAgICAgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICAgIF9wcm9wcyRpbnRsID0gcHJvcHMuaW50bCxcbiAgICAgIGZvcm1hdFBsdXJhbCA9IF9wcm9wcyRpbnRsLmZvcm1hdFBsdXJhbCxcbiAgICAgIFRleHQgPSBfcHJvcHMkaW50bC50ZXh0Q29tcG9uZW50O1xuICB2YXIgcGx1cmFsQ2F0ZWdvcnkgPSBmb3JtYXRQbHVyYWwodmFsdWUsIHByb3BzKTtcbiAgdmFyIGZvcm1hdHRlZFBsdXJhbCA9IHByb3BzW3BsdXJhbENhdGVnb3J5XSB8fCBvdGhlcjtcblxuICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuKGZvcm1hdHRlZFBsdXJhbCk7XG4gIH1cblxuICBpZiAoVGV4dCkge1xuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFRleHQsIG51bGwsIGZvcm1hdHRlZFBsdXJhbCk7XG4gIH0gLy8gV29yayBhcm91bmQgQHR5cGVzL3JlYWN0IHdoZXJlIFJlYWN0LkZDIGNhbm5vdCByZXR1cm4gc3RyaW5nXG5cblxuICByZXR1cm4gZm9ybWF0dGVkUGx1cmFsO1xufTtcblxuRm9ybWF0dGVkUGx1cmFsLmRlZmF1bHRQcm9wcyA9IHtcbiAgdHlwZTogJ2NhcmRpbmFsJ1xufTtcbkZvcm1hdHRlZFBsdXJhbC5kaXNwbGF5TmFtZSA9ICdGb3JtYXR0ZWRQbHVyYWwnO1xuZXhwb3J0IGRlZmF1bHQgd2l0aEludGwoRm9ybWF0dGVkUGx1cmFsKTsiLCJpbXBvcnQgX3RvQ29uc3VtYWJsZUFycmF5IGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9qdXN0aWNlNDAtdG9vbC9qdXN0aWNlNDAtdG9vbC9jbGllbnQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5XCI7XG5pbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9qdXN0aWNlNDAtdG9vbC9qdXN0aWNlNDAtdG9vbC9jbGllbnQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9qdXN0aWNlNDAtdG9vbC9qdXN0aWNlNDAtdG9vbC9jbGllbnQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9qdXN0aWNlNDAtdG9vbC9qdXN0aWNlNDAtdG9vbC9jbGllbnQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2luaGVyaXRzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIi9ob21lL3J1bm5lci93b3JrL2p1c3RpY2U0MC10b29sL2p1c3RpY2U0MC10b29sL2NsaWVudC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiL2hvbWUvcnVubmVyL3dvcmsvanVzdGljZTQwLXRvb2wvanVzdGljZTQwLXRvb2wvY2xpZW50L25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9nZXRQcm90b3R5cGVPZlwiO1xuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLCBbXSwgZnVuY3Rpb24gKCkge30pKTsgcmV0dXJuIHRydWU7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9IH1cblxuLypcbiAqIENvcHlyaWdodCAyMDE1LCBZYWhvbyBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIExpY2Vuc2UuXG4gKiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG52YXIgX19yZXN0ID0gdGhpcyAmJiB0aGlzLl9fcmVzdCB8fCBmdW5jdGlvbiAocywgZSkge1xuICB2YXIgdCA9IHt9O1xuXG4gIGZvciAodmFyIHAgaW4gcykge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMCkgdFtwXSA9IHNbcF07XG4gIH1cblxuICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpIHRbcFtpXV0gPSBzW3BbaV1dO1xuICB9XG4gIHJldHVybiB0O1xufTtcblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4vaW5qZWN0SW50bCc7XG5pbXBvcnQgeyBmb3JtYXRNZXNzYWdlIH0gZnJvbSAnLi4vZm9ybWF0dGVycy9tZXNzYWdlJztcbmltcG9ydCB7IGludmFyaWFudEludGxDb250ZXh0LCBERUZBVUxUX0lOVExfQ09ORklHLCBjcmVhdGVGb3JtYXR0ZXJzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0ICogYXMgc2hhbGxvd0VxdWFsc18gZnJvbSAnc2hhbGxvdy1lcXVhbC9vYmplY3RzJztcbnZhciBzaGFsbG93RXF1YWxzID0gc2hhbGxvd0VxdWFsc18uZGVmYXVsdCB8fCBzaGFsbG93RXF1YWxzXztcblxudmFyIGRlZmF1bHRGb3JtYXRNZXNzYWdlID0gZnVuY3Rpb24gZGVmYXVsdEZvcm1hdE1lc3NhZ2UoZGVzY3JpcHRvciwgdmFsdWVzKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY29uc29sZS5lcnJvcignW1JlYWN0IEludGxdIENvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGBpbnRsYCBvYmplY3QuIDxJbnRsUHJvdmlkZXI+IG5lZWRzIHRvIGV4aXN0IGluIHRoZSBjb21wb25lbnQgYW5jZXN0cnkuIFVzaW5nIGRlZmF1bHQgbWVzc2FnZSBhcyBmYWxsYmFjay4nKTtcbiAgfVxuXG4gIHJldHVybiBmb3JtYXRNZXNzYWdlKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9JTlRMX0NPTkZJRyksIHtcbiAgICBsb2NhbGU6ICdlbidcbiAgfSksIGNyZWF0ZUZvcm1hdHRlcnMoKSwgZGVzY3JpcHRvciwgdmFsdWVzKTtcbn07XG5cbnZhciBGb3JtYXR0ZWRNZXNzYWdlID0gLyojX19QVVJFX18qL2Z1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhGb3JtYXR0ZWRNZXNzYWdlLCBfUmVhY3QkQ29tcG9uZW50KTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKEZvcm1hdHRlZE1lc3NhZ2UpO1xuXG4gIGZ1bmN0aW9uIEZvcm1hdHRlZE1lc3NhZ2UoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEZvcm1hdHRlZE1lc3NhZ2UpO1xuXG4gICAgcmV0dXJuIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEZvcm1hdHRlZE1lc3NhZ2UsIFt7XG4gICAga2V5OiBcInNob3VsZENvbXBvbmVudFVwZGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICB2YXIgX2EgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIHZhbHVlcyA9IF9hLnZhbHVlcyxcbiAgICAgICAgICBvdGhlclByb3BzID0gX19yZXN0KF9hLCBbXCJ2YWx1ZXNcIl0pO1xuXG4gICAgICB2YXIgbmV4dFZhbHVlcyA9IG5leHRQcm9wcy52YWx1ZXMsXG4gICAgICAgICAgbmV4dE90aGVyUHJvcHMgPSBfX3Jlc3QobmV4dFByb3BzLCBbXCJ2YWx1ZXNcIl0pO1xuXG4gICAgICByZXR1cm4gIXNoYWxsb3dFcXVhbHMobmV4dFZhbHVlcywgdmFsdWVzKSB8fCAhc2hhbGxvd0VxdWFscyhvdGhlclByb3BzLCBuZXh0T3RoZXJQcm9wcyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChDb250ZXh0LkNvbnN1bWVyLCBudWxsLCBmdW5jdGlvbiAoaW50bCkge1xuICAgICAgICBpZiAoIV90aGlzLnByb3BzLmRlZmF1bHRNZXNzYWdlKSB7XG4gICAgICAgICAgaW52YXJpYW50SW50bENvbnRleHQoaW50bCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgX3JlZiA9IGludGwgfHwge30sXG4gICAgICAgICAgICBfcmVmJGZvcm1hdE1lc3NhZ2UgPSBfcmVmLmZvcm1hdE1lc3NhZ2UsXG4gICAgICAgICAgICBmb3JtYXRNZXNzYWdlID0gX3JlZiRmb3JtYXRNZXNzYWdlID09PSB2b2lkIDAgPyBkZWZhdWx0Rm9ybWF0TWVzc2FnZSA6IF9yZWYkZm9ybWF0TWVzc2FnZSxcbiAgICAgICAgICAgIF9yZWYkdGV4dENvbXBvbmVudCA9IF9yZWYudGV4dENvbXBvbmVudCxcbiAgICAgICAgICAgIFRleHQgPSBfcmVmJHRleHRDb21wb25lbnQgPT09IHZvaWQgMCA/IFJlYWN0LkZyYWdtZW50IDogX3JlZiR0ZXh0Q29tcG9uZW50O1xuXG4gICAgICAgIHZhciBfdGhpcyRwcm9wcyA9IF90aGlzLnByb3BzLFxuICAgICAgICAgICAgaWQgPSBfdGhpcyRwcm9wcy5pZCxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gX3RoaXMkcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICBkZWZhdWx0TWVzc2FnZSA9IF90aGlzJHByb3BzLmRlZmF1bHRNZXNzYWdlLFxuICAgICAgICAgICAgdmFsdWVzID0gX3RoaXMkcHJvcHMudmFsdWVzLFxuICAgICAgICAgICAgY2hpbGRyZW4gPSBfdGhpcyRwcm9wcy5jaGlsZHJlbixcbiAgICAgICAgICAgIF90aGlzJHByb3BzJHRhZ05hbWUgPSBfdGhpcyRwcm9wcy50YWdOYW1lLFxuICAgICAgICAgICAgQ29tcG9uZW50ID0gX3RoaXMkcHJvcHMkdGFnTmFtZSA9PT0gdm9pZCAwID8gVGV4dCA6IF90aGlzJHByb3BzJHRhZ05hbWU7XG4gICAgICAgIHZhciBkZXNjcmlwdG9yID0ge1xuICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sXG4gICAgICAgICAgZGVmYXVsdE1lc3NhZ2U6IGRlZmF1bHRNZXNzYWdlXG4gICAgICAgIH07XG4gICAgICAgIHZhciBub2RlcyA9IGZvcm1hdE1lc3NhZ2UoZGVzY3JpcHRvciwgdmFsdWVzKTtcblxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkobm9kZXMpKSB7XG4gICAgICAgICAgbm9kZXMgPSBbbm9kZXNdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiBjaGlsZHJlbi5hcHBseSh2b2lkIDAsIF90b0NvbnN1bWFibGVBcnJheShub2RlcykpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKENvbXBvbmVudCkge1xuICAgICAgICAgIC8vIE5lZWRzIHRvIHVzZSBgY3JlYXRlRWxlbWVudCgpYCBpbnN0ZWFkIG9mIEpTWCwgb3RoZXJ3aXNlIFJlYWN0IHdpbGxcbiAgICAgICAgICAvLyB3YXJuIGFib3V0IGEgbWlzc2luZyBga2V5YCBwcm9wIHdpdGggcmljaC10ZXh0IG1lc3NhZ2UgZm9ybWF0dGluZy5cbiAgICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudC5hcHBseShSZWFjdCwgW0NvbXBvbmVudCwgbnVsbF0uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShub2RlcykpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBub2RlcztcbiAgICAgIH0pO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBGb3JtYXR0ZWRNZXNzYWdlO1xufShSZWFjdC5Db21wb25lbnQpO1xuXG5Gb3JtYXR0ZWRNZXNzYWdlLmRpc3BsYXlOYW1lID0gJ0Zvcm1hdHRlZE1lc3NhZ2UnO1xuRm9ybWF0dGVkTWVzc2FnZS5kZWZhdWx0UHJvcHMgPSB7XG4gIHZhbHVlczoge31cbn07XG5leHBvcnQgZGVmYXVsdCBGb3JtYXR0ZWRNZXNzYWdlOyIsImltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIi9ob21lL3J1bm5lci93b3JrL2p1c3RpY2U0MC10b29sL2p1c3RpY2U0MC10b29sL2NsaWVudC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIi9ob21lL3J1bm5lci93b3JrL2p1c3RpY2U0MC10b29sL2p1c3RpY2U0MC10b29sL2NsaWVudC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIi9ob21lL3J1bm5lci93b3JrL2p1c3RpY2U0MC10b29sL2p1c3RpY2U0MC10b29sL2NsaWVudC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaW5oZXJpdHNcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiL2hvbWUvcnVubmVyL3dvcmsvanVzdGljZTQwLXRvb2wvanVzdGljZTQwLXRvb2wvY2xpZW50L25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9qdXN0aWNlNDAtdG9vbC9qdXN0aWNlNDAtdG9vbC9jbGllbnQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2dldFByb3RvdHlwZU9mXCI7XG5cbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcihEZXJpdmVkKSB7IHZhciBoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0ID0gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpOyByZXR1cm4gZnVuY3Rpb24gX2NyZWF0ZVN1cGVySW50ZXJuYWwoKSB7IHZhciBTdXBlciA9IF9nZXRQcm90b3R5cGVPZihEZXJpdmVkKSwgcmVzdWx0OyBpZiAoaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCkgeyB2YXIgTmV3VGFyZ2V0ID0gX2dldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yOyByZXN1bHQgPSBSZWZsZWN0LmNvbnN0cnVjdChTdXBlciwgYXJndW1lbnRzLCBOZXdUYXJnZXQpOyB9IGVsc2UgeyByZXN1bHQgPSBTdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9IHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCByZXN1bHQpOyB9OyB9XG5cbmZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7IGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhUmVmbGVjdC5jb25zdHJ1Y3QpIHJldHVybiBmYWxzZTsgaWYgKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pIHJldHVybiBmYWxzZTsgaWYgKHR5cGVvZiBQcm94eSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdHJ1ZTsgdHJ5IHsgQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG4vKlxuICogQ29weXJpZ2h0IDIwMTUsIFlhaG9vIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgTGljZW5zZS5cbiAqIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBGb3JtYXR0ZWRNZXNzYWdlIGZyb20gJy4vbWVzc2FnZSc7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi9pbmplY3RJbnRsJztcbmltcG9ydCB7IGludmFyaWFudEludGxDb250ZXh0IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG52YXIgRm9ybWF0dGVkSFRNTE1lc3NhZ2UgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKF9Gb3JtYXR0ZWRNZXNzYWdlKSB7XG4gIF9pbmhlcml0cyhGb3JtYXR0ZWRIVE1MTWVzc2FnZSwgX0Zvcm1hdHRlZE1lc3NhZ2UpO1xuXG4gIHZhciBfc3VwZXIgPSBfY3JlYXRlU3VwZXIoRm9ybWF0dGVkSFRNTE1lc3NhZ2UpO1xuXG4gIGZ1bmN0aW9uIEZvcm1hdHRlZEhUTUxNZXNzYWdlKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBGb3JtYXR0ZWRIVE1MTWVzc2FnZSk7XG5cbiAgICByZXR1cm4gX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRm9ybWF0dGVkSFRNTE1lc3NhZ2UsIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChDb250ZXh0LkNvbnN1bWVyLCBudWxsLCBmdW5jdGlvbiAoaW50bCkge1xuICAgICAgICBpZiAoIV90aGlzLnByb3BzLmRlZmF1bHRNZXNzYWdlKSB7XG4gICAgICAgICAgaW52YXJpYW50SW50bENvbnRleHQoaW50bCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZm9ybWF0SFRNTE1lc3NhZ2UgPSBpbnRsLmZvcm1hdEhUTUxNZXNzYWdlLFxuICAgICAgICAgICAgdGV4dENvbXBvbmVudCA9IGludGwudGV4dENvbXBvbmVudDtcbiAgICAgICAgdmFyIF90aGlzJHByb3BzID0gX3RoaXMucHJvcHMsXG4gICAgICAgICAgICBpZCA9IF90aGlzJHByb3BzLmlkLFxuICAgICAgICAgICAgZGVzY3JpcHRpb24gPSBfdGhpcyRwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIGRlZmF1bHRNZXNzYWdlID0gX3RoaXMkcHJvcHMuZGVmYXVsdE1lc3NhZ2UsXG4gICAgICAgICAgICByYXdWYWx1ZXMgPSBfdGhpcyRwcm9wcy52YWx1ZXMsXG4gICAgICAgICAgICBjaGlsZHJlbiA9IF90aGlzJHByb3BzLmNoaWxkcmVuO1xuICAgICAgICB2YXIgQ29tcG9uZW50ID0gX3RoaXMucHJvcHMudGFnTmFtZTsgLy8gVGhpcyBpcyBiYyBvZiBUUzMuMyBkb2Vzbid0IHJlY29nbml6ZSBgZGVmYXVsdFByb3BzYFxuXG4gICAgICAgIGlmICghQ29tcG9uZW50KSB7XG4gICAgICAgICAgQ29tcG9uZW50ID0gdGV4dENvbXBvbmVudCB8fCAnc3Bhbic7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZGVzY3JpcHRvciA9IHtcbiAgICAgICAgICBpZDogaWQsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxuICAgICAgICAgIGRlZmF1bHRNZXNzYWdlOiBkZWZhdWx0TWVzc2FnZVxuICAgICAgICB9O1xuICAgICAgICB2YXIgZm9ybWF0dGVkSFRNTE1lc3NhZ2UgPSBmb3JtYXRIVE1MTWVzc2FnZShkZXNjcmlwdG9yLCByYXdWYWx1ZXMpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gY2hpbGRyZW4oZm9ybWF0dGVkSFRNTE1lc3NhZ2UpO1xuICAgICAgICB9IC8vIFNpbmNlIHRoZSBtZXNzYWdlIHByZXN1bWFibHkgaGFzIEhUTUwgaW4gaXQsIHdlIG5lZWQgdG8gc2V0XG4gICAgICAgIC8vIGBpbm5lckhUTUxgIGluIG9yZGVyIGZvciBpdCB0byBiZSByZW5kZXJlZCBhbmQgbm90IGVzY2FwZWQgYnkgUmVhY3QuXG4gICAgICAgIC8vIFRvIGJlIHNhZmUsIGFsbCBzdHJpbmcgcHJvcCB2YWx1ZXMgd2VyZSBlc2NhcGVkIHdoZW4gZm9ybWF0dGluZyB0aGVcbiAgICAgICAgLy8gbWVzc2FnZS4gSXQgaXMgYXNzdW1lZCB0aGF0IHRoZSBtZXNzYWdlIGlzIG5vdCBVR0MsIGFuZCBjYW1lIGZyb20gdGhlXG4gICAgICAgIC8vIGRldmVsb3BlciBtYWtpbmcgaXQgbW9yZSBsaWtlIGEgdGVtcGxhdGUuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIE5vdGU6IFRoZXJlJ3MgYSBwZXJmIGltcGFjdCBvZiB1c2luZyB0aGlzIGNvbXBvbmVudCBzaW5jZSB0aGVyZSdzIG5vXG4gICAgICAgIC8vIHdheSBmb3IgUmVhY3QgdG8gZG8gaXRzIHZpcnR1YWwgRE9NIGRpZmZpbmcuXG5cblxuICAgICAgICB2YXIgaHRtbCA9IHtcbiAgICAgICAgICBfX2h0bWw6IGZvcm1hdHRlZEhUTUxNZXNzYWdlXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KENvbXBvbmVudCwge1xuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiBodG1sXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEZvcm1hdHRlZEhUTUxNZXNzYWdlO1xufShGb3JtYXR0ZWRNZXNzYWdlKTtcblxuRm9ybWF0dGVkSFRNTE1lc3NhZ2UuZGlzcGxheU5hbWUgPSAnRm9ybWF0dGVkSFRNTE1lc3NhZ2UnO1xuRm9ybWF0dGVkSFRNTE1lc3NhZ2UuZGVmYXVsdFByb3BzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBGb3JtYXR0ZWRNZXNzYWdlLmRlZmF1bHRQcm9wcyksIHtcbiAgdGFnTmFtZTogJ3NwYW4nXG59KTtcbmV4cG9ydCBkZWZhdWx0IEZvcm1hdHRlZEhUTUxNZXNzYWdlOyIsImV4cG9ydCBmdW5jdGlvbiBkZWZpbmVNZXNzYWdlcyhtc2dzKSB7XG4gIHJldHVybiBtc2dzO1xufVxuaW1wb3J0IHsgY3JlYXRlRm9ybWF0dGVkQ29tcG9uZW50LCBjcmVhdGVGb3JtYXR0ZWREYXRlVGltZVBhcnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NyZWF0ZUZvcm1hdHRlZENvbXBvbmVudCc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGluamVjdEludGwsIFByb3ZpZGVyIGFzIFJhd0ludGxQcm92aWRlciwgQ29udGV4dCBhcyBJbnRsQ29udGV4dCB9IGZyb20gJy4vY29tcG9uZW50cy9pbmplY3RJbnRsJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdXNlSW50bCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VJbnRsJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSW50bFByb3ZpZGVyLCBjcmVhdGVJbnRsIH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb3ZpZGVyJzsgLy8gSU1QT1JUQU5UOiBFeHBsaWNpdCBoZXJlIHRvIHByZXZlbnQgYXBpLWV4dHJhY3RvciBmcm9tIG91dHB1dGluZyBgaW1wb3J0KCcuL3R5cGVzJykuQ3VzdG9tRm9ybWF0Q29uZmlnYFxuXG5leHBvcnQgdmFyIEZvcm1hdHRlZERhdGUgPSBjcmVhdGVGb3JtYXR0ZWRDb21wb25lbnQoJ2Zvcm1hdERhdGUnKTtcbmV4cG9ydCB2YXIgRm9ybWF0dGVkVGltZSA9IGNyZWF0ZUZvcm1hdHRlZENvbXBvbmVudCgnZm9ybWF0VGltZScpO1xuZXhwb3J0IHZhciBGb3JtYXR0ZWROdW1iZXIgPSBjcmVhdGVGb3JtYXR0ZWRDb21wb25lbnQoJ2Zvcm1hdE51bWJlcicpO1xuZXhwb3J0IHZhciBGb3JtYXR0ZWRMaXN0ID0gY3JlYXRlRm9ybWF0dGVkQ29tcG9uZW50KCdmb3JtYXRMaXN0Jyk7XG5leHBvcnQgdmFyIEZvcm1hdHRlZERpc3BsYXlOYW1lID0gY3JlYXRlRm9ybWF0dGVkQ29tcG9uZW50KCdmb3JtYXREaXNwbGF5TmFtZScpO1xuZXhwb3J0IHZhciBGb3JtYXR0ZWREYXRlUGFydHMgPSBjcmVhdGVGb3JtYXR0ZWREYXRlVGltZVBhcnRzQ29tcG9uZW50KCdmb3JtYXREYXRlJyk7XG5leHBvcnQgdmFyIEZvcm1hdHRlZFRpbWVQYXJ0cyA9IGNyZWF0ZUZvcm1hdHRlZERhdGVUaW1lUGFydHNDb21wb25lbnQoJ2Zvcm1hdFRpbWUnKTtcbmV4cG9ydCB7IEZvcm1hdHRlZE51bWJlclBhcnRzIH0gZnJvbSAnLi9jb21wb25lbnRzL2NyZWF0ZUZvcm1hdHRlZENvbXBvbmVudCc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZvcm1hdHRlZFJlbGF0aXZlVGltZSB9IGZyb20gJy4vY29tcG9uZW50cy9yZWxhdGl2ZSc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZvcm1hdHRlZFBsdXJhbCB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVyYWwnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAnLi9jb21wb25lbnRzL21lc3NhZ2UnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGb3JtYXR0ZWRIVE1MTWVzc2FnZSB9IGZyb20gJy4vY29tcG9uZW50cy9odG1sLW1lc3NhZ2UnO1xuZXhwb3J0IHsgY3JlYXRlSW50bENhY2hlIH0gZnJvbSAnLi91dGlscyc7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7616\n")},165:function(__unused_webpack_module,exports){"use strict";eval('/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nvar b = "function" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for("react.element") : 60103,\n d = b ? Symbol.for("react.portal") : 60106,\n e = b ? Symbol.for("react.fragment") : 60107,\n f = b ? Symbol.for("react.strict_mode") : 60108,\n g = b ? Symbol.for("react.profiler") : 60114,\n h = b ? Symbol.for("react.provider") : 60109,\n k = b ? Symbol.for("react.context") : 60110,\n l = b ? Symbol.for("react.async_mode") : 60111,\n m = b ? Symbol.for("react.concurrent_mode") : 60111,\n n = b ? Symbol.for("react.forward_ref") : 60112,\n p = b ? Symbol.for("react.suspense") : 60113,\n q = b ? Symbol.for("react.suspense_list") : 60120,\n r = b ? Symbol.for("react.memo") : 60115,\n t = b ? Symbol.for("react.lazy") : 60116,\n v = b ? Symbol.for("react.block") : 60121,\n w = b ? Symbol.for("react.fundamental") : 60117,\n x = b ? Symbol.for("react.responder") : 60118,\n y = b ? Symbol.for("react.scope") : 60119;\n\nfunction z(a) {\n if ("object" === typeof a && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return "object" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\n\nexports.typeOf = z;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9yZWFjdC1pcy9janMvcmVhY3QtaXMucHJvZHVjdGlvbi5taW4uanM/YWQxMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2E7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGlCQUFpQjtBQUNqQixzQkFBc0I7QUFDdEIsdUJBQXVCO0FBQ3ZCLHVCQUF1QjtBQUN2QixlQUFlO0FBQ2Ysa0JBQWtCO0FBQ2xCLGdCQUFnQjtBQUNoQixZQUFZO0FBQ1osWUFBWTtBQUNaLGNBQWM7QUFDZCxnQkFBZ0I7QUFDaEIsa0JBQWtCO0FBQ2xCLGdCQUFnQjs7QUFFaEIsbUJBQW1CO0FBQ25CO0FBQ0E7O0FBRUEsd0JBQXdCOztBQUV4Qix5QkFBeUI7QUFDekI7QUFDQTs7QUFFQSx5QkFBeUI7QUFDekI7QUFDQTs7QUFFQSxpQkFBaUI7QUFDakI7QUFDQTs7QUFFQSxvQkFBb0I7QUFDcEI7QUFDQTs7QUFFQSxrQkFBa0I7QUFDbEI7QUFDQTs7QUFFQSxjQUFjO0FBQ2Q7QUFDQTs7QUFFQSxjQUFjO0FBQ2Q7QUFDQTs7QUFFQSxnQkFBZ0I7QUFDaEI7QUFDQTs7QUFFQSxrQkFBa0I7QUFDbEI7QUFDQTs7QUFFQSxvQkFBb0I7QUFDcEI7QUFDQTs7QUFFQSxrQkFBa0I7QUFDbEI7QUFDQTs7QUFFQSwwQkFBMEI7QUFDMUI7QUFDQTs7QUFFQSxjQUFjIiwiZmlsZSI6IjE2NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbGljZW5zZSBSZWFjdCB2MTYuMTMuMVxuICogcmVhY3QtaXMucHJvZHVjdGlvbi5taW4uanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgYiA9IFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIFN5bWJvbCAmJiBTeW1ib2wuZm9yLFxuICAgIGMgPSBiID8gU3ltYm9sLmZvcihcInJlYWN0LmVsZW1lbnRcIikgOiA2MDEwMyxcbiAgICBkID0gYiA/IFN5bWJvbC5mb3IoXCJyZWFjdC5wb3J0YWxcIikgOiA2MDEwNixcbiAgICBlID0gYiA/IFN5bWJvbC5mb3IoXCJyZWFjdC5mcmFnbWVudFwiKSA6IDYwMTA3LFxuICAgIGYgPSBiID8gU3ltYm9sLmZvcihcInJlYWN0LnN0cmljdF9tb2RlXCIpIDogNjAxMDgsXG4gICAgZyA9IGIgPyBTeW1ib2wuZm9yKFwicmVhY3QucHJvZmlsZXJcIikgOiA2MDExNCxcbiAgICBoID0gYiA/IFN5bWJvbC5mb3IoXCJyZWFjdC5wcm92aWRlclwiKSA6IDYwMTA5LFxuICAgIGsgPSBiID8gU3ltYm9sLmZvcihcInJlYWN0LmNvbnRleHRcIikgOiA2MDExMCxcbiAgICBsID0gYiA/IFN5bWJvbC5mb3IoXCJyZWFjdC5hc3luY19tb2RlXCIpIDogNjAxMTEsXG4gICAgbSA9IGIgPyBTeW1ib2wuZm9yKFwicmVhY3QuY29uY3VycmVudF9tb2RlXCIpIDogNjAxMTEsXG4gICAgbiA9IGIgPyBTeW1ib2wuZm9yKFwicmVhY3QuZm9yd2FyZF9yZWZcIikgOiA2MDExMixcbiAgICBwID0gYiA/IFN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZVwiKSA6IDYwMTEzLFxuICAgIHEgPSBiID8gU3ltYm9sLmZvcihcInJlYWN0LnN1c3BlbnNlX2xpc3RcIikgOiA2MDEyMCxcbiAgICByID0gYiA/IFN5bWJvbC5mb3IoXCJyZWFjdC5tZW1vXCIpIDogNjAxMTUsXG4gICAgdCA9IGIgPyBTeW1ib2wuZm9yKFwicmVhY3QubGF6eVwiKSA6IDYwMTE2LFxuICAgIHYgPSBiID8gU3ltYm9sLmZvcihcInJlYWN0LmJsb2NrXCIpIDogNjAxMjEsXG4gICAgdyA9IGIgPyBTeW1ib2wuZm9yKFwicmVhY3QuZnVuZGFtZW50YWxcIikgOiA2MDExNyxcbiAgICB4ID0gYiA/IFN5bWJvbC5mb3IoXCJyZWFjdC5yZXNwb25kZXJcIikgOiA2MDExOCxcbiAgICB5ID0gYiA/IFN5bWJvbC5mb3IoXCJyZWFjdC5zY29wZVwiKSA6IDYwMTE5O1xuXG5mdW5jdGlvbiB6KGEpIHtcbiAgaWYgKFwib2JqZWN0XCIgPT09IHR5cGVvZiBhICYmIG51bGwgIT09IGEpIHtcbiAgICB2YXIgdSA9IGEuJCR0eXBlb2Y7XG5cbiAgICBzd2l0Y2ggKHUpIHtcbiAgICAgIGNhc2UgYzpcbiAgICAgICAgc3dpdGNoIChhID0gYS50eXBlLCBhKSB7XG4gICAgICAgICAgY2FzZSBsOlxuICAgICAgICAgIGNhc2UgbTpcbiAgICAgICAgICBjYXNlIGU6XG4gICAgICAgICAgY2FzZSBnOlxuICAgICAgICAgIGNhc2UgZjpcbiAgICAgICAgICBjYXNlIHA6XG4gICAgICAgICAgICByZXR1cm4gYTtcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBzd2l0Y2ggKGEgPSBhICYmIGEuJCR0eXBlb2YsIGEpIHtcbiAgICAgICAgICAgICAgY2FzZSBrOlxuICAgICAgICAgICAgICBjYXNlIG46XG4gICAgICAgICAgICAgIGNhc2UgdDpcbiAgICAgICAgICAgICAgY2FzZSByOlxuICAgICAgICAgICAgICBjYXNlIGg6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGE7XG5cbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIGNhc2UgZDpcbiAgICAgICAgcmV0dXJuIHU7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIEEoYSkge1xuICByZXR1cm4geihhKSA9PT0gbTtcbn1cblxuZXhwb3J0cy5Bc3luY01vZGUgPSBsO1xuZXhwb3J0cy5Db25jdXJyZW50TW9kZSA9IG07XG5leHBvcnRzLkNvbnRleHRDb25zdW1lciA9IGs7XG5leHBvcnRzLkNvbnRleHRQcm92aWRlciA9IGg7XG5leHBvcnRzLkVsZW1lbnQgPSBjO1xuZXhwb3J0cy5Gb3J3YXJkUmVmID0gbjtcbmV4cG9ydHMuRnJhZ21lbnQgPSBlO1xuZXhwb3J0cy5MYXp5ID0gdDtcbmV4cG9ydHMuTWVtbyA9IHI7XG5leHBvcnRzLlBvcnRhbCA9IGQ7XG5leHBvcnRzLlByb2ZpbGVyID0gZztcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IGY7XG5leHBvcnRzLlN1c3BlbnNlID0gcDtcblxuZXhwb3J0cy5pc0FzeW5jTW9kZSA9IGZ1bmN0aW9uIChhKSB7XG4gIHJldHVybiBBKGEpIHx8IHooYSkgPT09IGw7XG59O1xuXG5leHBvcnRzLmlzQ29uY3VycmVudE1vZGUgPSBBO1xuXG5leHBvcnRzLmlzQ29udGV4dENvbnN1bWVyID0gZnVuY3Rpb24gKGEpIHtcbiAgcmV0dXJuIHooYSkgPT09IGs7XG59O1xuXG5leHBvcnRzLmlzQ29udGV4dFByb3ZpZGVyID0gZnVuY3Rpb24gKGEpIHtcbiAgcmV0dXJuIHooYSkgPT09IGg7XG59O1xuXG5leHBvcnRzLmlzRWxlbWVudCA9IGZ1bmN0aW9uIChhKSB7XG4gIHJldHVybiBcIm9iamVjdFwiID09PSB0eXBlb2YgYSAmJiBudWxsICE9PSBhICYmIGEuJCR0eXBlb2YgPT09IGM7XG59O1xuXG5leHBvcnRzLmlzRm9yd2FyZFJlZiA9IGZ1bmN0aW9uIChhKSB7XG4gIHJldHVybiB6KGEpID09PSBuO1xufTtcblxuZXhwb3J0cy5pc0ZyYWdtZW50ID0gZnVuY3Rpb24gKGEpIHtcbiAgcmV0dXJuIHooYSkgPT09IGU7XG59O1xuXG5leHBvcnRzLmlzTGF6eSA9IGZ1bmN0aW9uIChhKSB7XG4gIHJldHVybiB6KGEpID09PSB0O1xufTtcblxuZXhwb3J0cy5pc01lbW8gPSBmdW5jdGlvbiAoYSkge1xuICByZXR1cm4geihhKSA9PT0gcjtcbn07XG5cbmV4cG9ydHMuaXNQb3J0YWwgPSBmdW5jdGlvbiAoYSkge1xuICByZXR1cm4geihhKSA9PT0gZDtcbn07XG5cbmV4cG9ydHMuaXNQcm9maWxlciA9IGZ1bmN0aW9uIChhKSB7XG4gIHJldHVybiB6KGEpID09PSBnO1xufTtcblxuZXhwb3J0cy5pc1N0cmljdE1vZGUgPSBmdW5jdGlvbiAoYSkge1xuICByZXR1cm4geihhKSA9PT0gZjtcbn07XG5cbmV4cG9ydHMuaXNTdXNwZW5zZSA9IGZ1bmN0aW9uIChhKSB7XG4gIHJldHVybiB6KGEpID09PSBwO1xufTtcblxuZXhwb3J0cy5pc1ZhbGlkRWxlbWVudFR5cGUgPSBmdW5jdGlvbiAoYSkge1xuICByZXR1cm4gXCJzdHJpbmdcIiA9PT0gdHlwZW9mIGEgfHwgXCJmdW5jdGlvblwiID09PSB0eXBlb2YgYSB8fCBhID09PSBlIHx8IGEgPT09IG0gfHwgYSA9PT0gZyB8fCBhID09PSBmIHx8IGEgPT09IHAgfHwgYSA9PT0gcSB8fCBcIm9iamVjdFwiID09PSB0eXBlb2YgYSAmJiBudWxsICE9PSBhICYmIChhLiQkdHlwZW9mID09PSB0IHx8IGEuJCR0eXBlb2YgPT09IHIgfHwgYS4kJHR5cGVvZiA9PT0gaCB8fCBhLiQkdHlwZW9mID09PSBrIHx8IGEuJCR0eXBlb2YgPT09IG4gfHwgYS4kJHR5cGVvZiA9PT0gdyB8fCBhLiQkdHlwZW9mID09PSB4IHx8IGEuJCR0eXBlb2YgPT09IHkgfHwgYS4kJHR5cGVvZiA9PT0gdik7XG59O1xuXG5leHBvcnRzLnR5cGVPZiA9IHo7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///165\n')},8812:function(module,__unused_webpack_exports,__webpack_require__){"use strict";eval("\n\nif (true) {\n module.exports = __webpack_require__(165);\n} else {}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9yZWFjdC1pcy9pbmRleC5qcz8zOTgxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksSUFBcUM7QUFDekMsRUFBRSx5Q0FBNEQ7QUFDOUQsQ0FBQyxNQUFNIiwiZmlsZSI6Ijg4MTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtaXMucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanMnKTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///8812\n")},9108:function(module){"use strict";eval("\n\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualObjects;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9zaGFsbG93LWVxdWFsL29iamVjdHMvaW5kZXguanM/MzYxMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsU0FBUztBQUMxQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBIiwiZmlsZSI6IjkxMDguanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIHNoYWxsb3dFcXVhbE9iamVjdHMob2JqQSwgb2JqQikge1xuICBpZiAob2JqQSA9PT0gb2JqQikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKCFvYmpBIHx8ICFvYmpCKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGFLZXlzID0gT2JqZWN0LmtleXMob2JqQSk7XG4gIHZhciBiS2V5cyA9IE9iamVjdC5rZXlzKG9iakIpO1xuICB2YXIgbGVuID0gYUtleXMubGVuZ3RoO1xuXG4gIGlmIChiS2V5cy5sZW5ndGggIT09IGxlbikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICB2YXIga2V5ID0gYUtleXNbaV07XG5cbiAgICBpZiAob2JqQVtrZXldICE9PSBvYmpCW2tleV0gfHwgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmpCLCBrZXkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2hhbGxvd0VxdWFsT2JqZWN0czsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///9108\n")},8037:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('var __webpack_unused_export__;\n\n\nvar _interopRequireDefault = __webpack_require__(5318);\n\n__webpack_unused_export__ = true;\nexports.dq = withPrefix;\nexports.mc = withAssetPrefix;\nexports.c4 = exports.ZP = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(7316));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(1506));\n\nvar _inheritsLoose2 = _interopRequireDefault(__webpack_require__(5354));\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(7154));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(5697));\n\nvar _react = _interopRequireDefault(__webpack_require__(7294));\n\nvar _reachRouter = __webpack_require__(9499);\n\nvar _utils = __webpack_require__(2098);\n\nvar _parsePath = __webpack_require__(1752);\n\nexports.cP = _parsePath.parsePath;\n\nvar isAbsolutePath = function isAbsolutePath(path) {\n return path === null || path === void 0 ? void 0 : path.startsWith("/");\n};\n\nfunction withPrefix(path, prefix) {\n var _ref, _prefix;\n\n if (prefix === void 0) {\n prefix = getGlobalBasePrefix();\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n if (path.startsWith("./") || path.startsWith("../")) {\n return path;\n }\n\n var base = (_ref = (_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : getGlobalPathPrefix()) !== null && _ref !== void 0 ? _ref : "/";\n return "" + (base !== null && base !== void 0 && base.endsWith("/") ? base.slice(0, -1) : base) + (path.startsWith("/") ? path : "/" + path);\n} // These global values are wrapped in typeof clauses to ensure the values exist.\n// This is especially problematic in unit testing of this component.\n\n\nvar getGlobalPathPrefix = function getGlobalPathPrefix() {\n return false ? 0 : "";\n};\n\nvar getGlobalBasePrefix = function getGlobalBasePrefix() {\n return false ? 0 : "";\n};\n\nvar isLocalLink = function isLocalLink(path) {\n return path && !path.startsWith("http://") && !path.startsWith("https://") && !path.startsWith("//");\n};\n\nfunction withAssetPrefix(path) {\n return withPrefix(path, getGlobalPathPrefix());\n}\n\nfunction absolutify(path, current) {\n // If it\'s already absolute, return as-is\n if (isAbsolutePath(path)) {\n return path;\n }\n\n return (0, _utils.resolve)(path, current);\n}\n\nvar rewriteLinkPath = function rewriteLinkPath(path, relativeTo) {\n if (typeof path === "number") {\n return path;\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n return isAbsolutePath(path) ? withPrefix(path) : absolutify(path, relativeTo);\n};\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object,\n partiallyActive: _propTypes.default.bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn\'t currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nfunction GatsbyLinkLocationWrapper(props) {\n return /*#__PURE__*/_react.default.createElement(_reachRouter.Location, null, function (_ref2) {\n var location = _ref2.location;\n return /*#__PURE__*/_react.default.createElement(GatsbyLink, (0, _extends2.default)({}, props, {\n _location: location\n }));\n });\n}\n\nvar GatsbyLink = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n _this.defaultGetProps = function (_ref3) {\n var isPartiallyCurrent = _ref3.isPartiallyCurrent,\n isCurrent = _ref3.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(" "),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n };\n\n var IOSupported = false;\n\n if (typeof window !== "undefined" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto._prefetch = function _prefetch() {\n var currentPath = window.location.pathname; // reach router should have the correct state\n\n if (this.props._location && this.props._location.pathname) {\n currentPath = this.props._location.pathname;\n }\n\n var rewrittenPath = rewriteLinkPath(this.props.to, currentPath);\n var newPathName = (0, _parsePath.parsePath)(rewrittenPath).pathname; // Prefech is used to speed up next navigations. When you use it on the current navigation,\n // there could be a race-condition where Chrome uses the stale data instead of waiting for the network to complete\n\n if (currentPath !== newPathName) {\n ___loader.enqueue(newPathName);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty("current")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n _this2._prefetch();\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n _location = _this$props._location,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["to", "getProps", "onClick", "onMouseEnter", "activeClassName", "activeStyle", "innerRef", "partiallyActive", "state", "replace", "_location"]);\n\n if (false) {}\n\n var prefixedTo = rewriteLinkPath(to, _location.pathname);\n\n if (!isLocalLink(prefixedTo)) {\n return /*#__PURE__*/_react.default.createElement("a", (0, _extends2.default)({\n href: prefixedTo\n }, rest));\n }\n\n return /*#__PURE__*/_react.default.createElement(_reachRouter.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(prefixedTo).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle "target=_blank"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault();\n var shouldReplace = replace;\n\n var isCurrent = encodeURI(prefixedTo) === _location.pathname;\n\n if (typeof replace !== "boolean" && isCurrent) {\n shouldReplace = true;\n } // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n\n window.___navigate(prefixedTo, {\n state: state,\n replace: shouldReplace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool,\n state: _propTypes.default.object\n});\n\nvar _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(GatsbyLinkLocationWrapper, (0, _extends2.default)({\n innerRef: ref\n }, props));\n});\n\nexports.ZP = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(rewriteLinkPath(to, window.location.pathname), options);\n};\n\nexports.c4 = navigate;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9nYXRzYnktbGluay9pbmRleC5qcz9mOTkwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBYTs7QUFFYiw2QkFBNkIsbUJBQU8sQ0FBQyxJQUE4Qzs7QUFFbkYseUJBQWtCO0FBQ2xCLFVBQWtCO0FBQ2xCLFVBQXVCO0FBQ3ZCLFVBQWdCLEdBQUcsVUFBZTs7QUFFbEMsNERBQTRELG1CQUFPLENBQUMsSUFBcUQ7O0FBRXpILHFEQUFxRCxtQkFBTyxDQUFDLElBQThDOztBQUUzRyw2Q0FBNkMsbUJBQU8sQ0FBQyxJQUFzQzs7QUFFM0YsdUNBQXVDLG1CQUFPLENBQUMsSUFBZ0M7O0FBRS9FLHdDQUF3QyxtQkFBTyxDQUFDLElBQVk7O0FBRTVELG9DQUFvQyxtQkFBTyxDQUFDLElBQU87O0FBRW5ELG1CQUFtQixtQkFBTyxDQUFDLElBQXdCOztBQUVuRCxhQUFhLG1CQUFPLENBQUMsSUFBa0M7O0FBRXZELGlCQUFpQixtQkFBTyxDQUFDLElBQWM7O0FBRXZDLFVBQWlCOztBQUVqQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQztBQUNEOzs7QUFHQTtBQUNBLFNBQVMsTUFBcUMsR0FBRyxDQUFvRSxHQUFHLEVBQWU7QUFDdkk7O0FBRUE7QUFDQSxTQUFTLE1BQXFDLEdBQUcsQ0FBZ0UsR0FBRyxFQUFhO0FBQ2pJOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRyxFQUFFOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwwRkFBMEY7QUFDMUY7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx1REFBdUQ7O0FBRXZEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEM7QUFDMUM7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSwrQ0FBK0M7O0FBRS9DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdFQUF3RTtBQUN4RTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLEtBQXlELEVBQUUsRUFFOUQ7O0FBRUw7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVztBQUNYOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBLENBQUM7O0FBRUQsZ0RBQWdEO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFRCxVQUFlOztBQUVmO0FBQ0E7QUFDQTs7QUFFQSxVQUFnQiIsImZpbGUiOiI4MDM3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy53aXRoUHJlZml4ID0gd2l0aFByZWZpeDtcbmV4cG9ydHMud2l0aEFzc2V0UHJlZml4ID0gd2l0aEFzc2V0UHJlZml4O1xuZXhwb3J0cy5uYXZpZ2F0ZSA9IGV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZVwiKSk7XG5cbnZhciBfYXNzZXJ0VGhpc0luaXRpYWxpemVkMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXNzZXJ0VGhpc0luaXRpYWxpemVkXCIpKTtcblxudmFyIF9pbmhlcml0c0xvb3NlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNMb29zZVwiKSk7XG5cbnZhciBfZXh0ZW5kczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIikpO1xuXG52YXIgX3Byb3BUeXBlcyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcInByb3AtdHlwZXNcIikpO1xuXG52YXIgX3JlYWN0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwicmVhY3RcIikpO1xuXG52YXIgX3JlYWNoUm91dGVyID0gcmVxdWlyZShcIkBnYXRzYnlqcy9yZWFjaC1yb3V0ZXJcIik7XG5cbnZhciBfdXRpbHMgPSByZXF1aXJlKFwiQGdhdHNieWpzL3JlYWNoLXJvdXRlci9saWIvdXRpbHNcIik7XG5cbnZhciBfcGFyc2VQYXRoID0gcmVxdWlyZShcIi4vcGFyc2UtcGF0aFwiKTtcblxuZXhwb3J0cy5wYXJzZVBhdGggPSBfcGFyc2VQYXRoLnBhcnNlUGF0aDtcblxudmFyIGlzQWJzb2x1dGVQYXRoID0gZnVuY3Rpb24gaXNBYnNvbHV0ZVBhdGgocGF0aCkge1xuICByZXR1cm4gcGF0aCA9PT0gbnVsbCB8fCBwYXRoID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpO1xufTtcblxuZnVuY3Rpb24gd2l0aFByZWZpeChwYXRoLCBwcmVmaXgpIHtcbiAgdmFyIF9yZWYsIF9wcmVmaXg7XG5cbiAgaWYgKHByZWZpeCA9PT0gdm9pZCAwKSB7XG4gICAgcHJlZml4ID0gZ2V0R2xvYmFsQmFzZVByZWZpeCgpO1xuICB9XG5cbiAgaWYgKCFpc0xvY2FsTGluayhwYXRoKSkge1xuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgaWYgKHBhdGguc3RhcnRzV2l0aChcIi4vXCIpIHx8IHBhdGguc3RhcnRzV2l0aChcIi4uL1wiKSkge1xuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgdmFyIGJhc2UgPSAoX3JlZiA9IChfcHJlZml4ID0gcHJlZml4KSAhPT0gbnVsbCAmJiBfcHJlZml4ICE9PSB2b2lkIDAgPyBfcHJlZml4IDogZ2V0R2xvYmFsUGF0aFByZWZpeCgpKSAhPT0gbnVsbCAmJiBfcmVmICE9PSB2b2lkIDAgPyBfcmVmIDogXCIvXCI7XG4gIHJldHVybiBcIlwiICsgKGJhc2UgIT09IG51bGwgJiYgYmFzZSAhPT0gdm9pZCAwICYmIGJhc2UuZW5kc1dpdGgoXCIvXCIpID8gYmFzZS5zbGljZSgwLCAtMSkgOiBiYXNlKSArIChwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpID8gcGF0aCA6IFwiL1wiICsgcGF0aCk7XG59IC8vIFRoZXNlIGdsb2JhbCB2YWx1ZXMgYXJlIHdyYXBwZWQgaW4gdHlwZW9mIGNsYXVzZXMgdG8gZW5zdXJlIHRoZSB2YWx1ZXMgZXhpc3QuXG4vLyBUaGlzIGlzIGVzcGVjaWFsbHkgcHJvYmxlbWF0aWMgaW4gdW5pdCB0ZXN0aW5nIG9mIHRoaXMgY29tcG9uZW50LlxuXG5cbnZhciBnZXRHbG9iYWxQYXRoUHJlZml4ID0gZnVuY3Rpb24gZ2V0R2xvYmFsUGF0aFByZWZpeCgpIHtcbiAgcmV0dXJuIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHR5cGVvZiBfX1BBVEhfUFJFRklYX18gIT09IFwidW5kZWZpbmVkXCIgPyBfX1BBVEhfUFJFRklYX18gOiB1bmRlZmluZWQgOiBfX1BBVEhfUFJFRklYX187XG59O1xuXG52YXIgZ2V0R2xvYmFsQmFzZVByZWZpeCA9IGZ1bmN0aW9uIGdldEdsb2JhbEJhc2VQcmVmaXgoKSB7XG4gIHJldHVybiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB0eXBlb2YgX19CQVNFX1BBVEhfXyAhPT0gXCJ1bmRlZmluZWRcIiA/IF9fQkFTRV9QQVRIX18gOiB1bmRlZmluZWQgOiBfX0JBU0VfUEFUSF9fO1xufTtcblxudmFyIGlzTG9jYWxMaW5rID0gZnVuY3Rpb24gaXNMb2NhbExpbmsocGF0aCkge1xuICByZXR1cm4gcGF0aCAmJiAhcGF0aC5zdGFydHNXaXRoKFwiaHR0cDovL1wiKSAmJiAhcGF0aC5zdGFydHNXaXRoKFwiaHR0cHM6Ly9cIikgJiYgIXBhdGguc3RhcnRzV2l0aChcIi8vXCIpO1xufTtcblxuZnVuY3Rpb24gd2l0aEFzc2V0UHJlZml4KHBhdGgpIHtcbiAgcmV0dXJuIHdpdGhQcmVmaXgocGF0aCwgZ2V0R2xvYmFsUGF0aFByZWZpeCgpKTtcbn1cblxuZnVuY3Rpb24gYWJzb2x1dGlmeShwYXRoLCBjdXJyZW50KSB7XG4gIC8vIElmIGl0J3MgYWxyZWFkeSBhYnNvbHV0ZSwgcmV0dXJuIGFzLWlzXG4gIGlmIChpc0Fic29sdXRlUGF0aChwYXRoKSkge1xuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgcmV0dXJuICgwLCBfdXRpbHMucmVzb2x2ZSkocGF0aCwgY3VycmVudCk7XG59XG5cbnZhciByZXdyaXRlTGlua1BhdGggPSBmdW5jdGlvbiByZXdyaXRlTGlua1BhdGgocGF0aCwgcmVsYXRpdmVUbykge1xuICBpZiAodHlwZW9mIHBhdGggPT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIGlmICghaXNMb2NhbExpbmsocGF0aCkpIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIHJldHVybiBpc0Fic29sdXRlUGF0aChwYXRoKSA/IHdpdGhQcmVmaXgocGF0aCkgOiBhYnNvbHV0aWZ5KHBhdGgsIHJlbGF0aXZlVG8pO1xufTtcblxudmFyIE5hdkxpbmtQcm9wVHlwZXMgPSB7XG4gIGFjdGl2ZUNsYXNzTmFtZTogX3Byb3BUeXBlcy5kZWZhdWx0LnN0cmluZyxcbiAgYWN0aXZlU3R5bGU6IF9wcm9wVHlwZXMuZGVmYXVsdC5vYmplY3QsXG4gIHBhcnRpYWxseUFjdGl2ZTogX3Byb3BUeXBlcy5kZWZhdWx0LmJvb2xcbn07IC8vIFNldCB1cCBJbnRlcnNlY3Rpb25PYnNlcnZlclxuXG52YXIgY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBmdW5jdGlvbiBjcmVhdGVJbnRlcnNlY3Rpb25PYnNlcnZlcihlbCwgY2IpIHtcbiAgdmFyIGlvID0gbmV3IHdpbmRvdy5JbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbiAoZW50cmllcykge1xuICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbiAoZW50cnkpIHtcbiAgICAgIGlmIChlbCA9PT0gZW50cnkudGFyZ2V0KSB7XG4gICAgICAgIC8vIENoZWNrIGlmIGVsZW1lbnQgaXMgd2l0aGluIHZpZXdwb3J0LCByZW1vdmUgbGlzdGVuZXIsIGRlc3Ryb3kgb2JzZXJ2ZXIsIGFuZCBydW4gbGluayBjYWxsYmFjay5cbiAgICAgICAgLy8gTVNFZGdlIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBvcnQgaXNJbnRlcnNlY3RpbmcsIHNvIGFsc28gdGVzdCBmb3IgIGFuIGludGVyc2VjdGlvblJhdGlvID4gMFxuICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcgfHwgZW50cnkuaW50ZXJzZWN0aW9uUmF0aW8gPiAwKSB7XG4gICAgICAgICAgaW8udW5vYnNlcnZlKGVsKTtcbiAgICAgICAgICBpby5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgY2IoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9KTsgLy8gQWRkIGVsZW1lbnQgdG8gdGhlIG9ic2VydmVyXG5cbiAgaW8ub2JzZXJ2ZShlbCk7XG4gIHJldHVybiB7XG4gICAgaW5zdGFuY2U6IGlvLFxuICAgIGVsOiBlbFxuICB9O1xufTtcblxuZnVuY3Rpb24gR2F0c2J5TGlua0xvY2F0aW9uV3JhcHBlcihwcm9wcykge1xuICByZXR1cm4gLyojX19QVVJFX18qL19yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWNoUm91dGVyLkxvY2F0aW9uLCBudWxsLCBmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICB2YXIgbG9jYXRpb24gPSBfcmVmMi5sb2NhdGlvbjtcbiAgICByZXR1cm4gLyojX19QVVJFX18qL19yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoR2F0c2J5TGluaywgKDAsIF9leHRlbmRzMi5kZWZhdWx0KSh7fSwgcHJvcHMsIHtcbiAgICAgIF9sb2NhdGlvbjogbG9jYXRpb25cbiAgICB9KSk7XG4gIH0pO1xufVxuXG52YXIgR2F0c2J5TGluayA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICAoMCwgX2luaGVyaXRzTG9vc2UyLmRlZmF1bHQpKEdhdHNieUxpbmssIF9SZWFjdCRDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIEdhdHNieUxpbmsocHJvcHMpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfdGhpcyA9IF9SZWFjdCRDb21wb25lbnQuY2FsbCh0aGlzLCBwcm9wcykgfHwgdGhpczsgLy8gRGVmYXVsdCB0byBubyBzdXBwb3J0IGZvciBJbnRlcnNlY3Rpb25PYnNlcnZlclxuXG4gICAgX3RoaXMuZGVmYXVsdEdldFByb3BzID0gZnVuY3Rpb24gKF9yZWYzKSB7XG4gICAgICB2YXIgaXNQYXJ0aWFsbHlDdXJyZW50ID0gX3JlZjMuaXNQYXJ0aWFsbHlDdXJyZW50LFxuICAgICAgICAgIGlzQ3VycmVudCA9IF9yZWYzLmlzQ3VycmVudDtcblxuICAgICAgaWYgKF90aGlzLnByb3BzLnBhcnRpYWxseUFjdGl2ZSA/IGlzUGFydGlhbGx5Q3VycmVudCA6IGlzQ3VycmVudCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNsYXNzTmFtZTogW190aGlzLnByb3BzLmNsYXNzTmFtZSwgX3RoaXMucHJvcHMuYWN0aXZlQ2xhc3NOYW1lXS5maWx0ZXIoQm9vbGVhbikuam9pbihcIiBcIiksXG4gICAgICAgICAgc3R5bGU6ICgwLCBfZXh0ZW5kczIuZGVmYXVsdCkoe30sIF90aGlzLnByb3BzLnN0eWxlLCBfdGhpcy5wcm9wcy5hY3RpdmVTdHlsZSlcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcblxuICAgIHZhciBJT1N1cHBvcnRlZCA9IGZhbHNlO1xuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LkludGVyc2VjdGlvbk9ic2VydmVyKSB7XG4gICAgICBJT1N1cHBvcnRlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgX3RoaXMuc3RhdGUgPSB7XG4gICAgICBJT1N1cHBvcnRlZDogSU9TdXBwb3J0ZWRcbiAgICB9O1xuICAgIF90aGlzLmhhbmRsZVJlZiA9IF90aGlzLmhhbmRsZVJlZi5iaW5kKCgwLCBfYXNzZXJ0VGhpc0luaXRpYWxpemVkMi5kZWZhdWx0KShfdGhpcykpO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBHYXRzYnlMaW5rLnByb3RvdHlwZTtcblxuICBfcHJvdG8uX3ByZWZldGNoID0gZnVuY3Rpb24gX3ByZWZldGNoKCkge1xuICAgIHZhciBjdXJyZW50UGF0aCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsgLy8gcmVhY2ggcm91dGVyIHNob3VsZCBoYXZlIHRoZSBjb3JyZWN0IHN0YXRlXG5cbiAgICBpZiAodGhpcy5wcm9wcy5fbG9jYXRpb24gJiYgdGhpcy5wcm9wcy5fbG9jYXRpb24ucGF0aG5hbWUpIHtcbiAgICAgIGN1cnJlbnRQYXRoID0gdGhpcy5wcm9wcy5fbG9jYXRpb24ucGF0aG5hbWU7XG4gICAgfVxuXG4gICAgdmFyIHJld3JpdHRlblBhdGggPSByZXdyaXRlTGlua1BhdGgodGhpcy5wcm9wcy50bywgY3VycmVudFBhdGgpO1xuICAgIHZhciBuZXdQYXRoTmFtZSA9ICgwLCBfcGFyc2VQYXRoLnBhcnNlUGF0aCkocmV3cml0dGVuUGF0aCkucGF0aG5hbWU7IC8vIFByZWZlY2ggaXMgdXNlZCB0byBzcGVlZCB1cCBuZXh0IG5hdmlnYXRpb25zLiBXaGVuIHlvdSB1c2UgaXQgb24gdGhlIGN1cnJlbnQgbmF2aWdhdGlvbixcbiAgICAvLyB0aGVyZSBjb3VsZCBiZSBhIHJhY2UtY29uZGl0aW9uIHdoZXJlIENocm9tZSB1c2VzIHRoZSBzdGFsZSBkYXRhIGluc3RlYWQgb2Ygd2FpdGluZyBmb3IgdGhlIG5ldHdvcmsgdG8gY29tcGxldGVcblxuICAgIGlmIChjdXJyZW50UGF0aCAhPT0gbmV3UGF0aE5hbWUpIHtcbiAgICAgIF9fX2xvYWRlci5lbnF1ZXVlKG5ld1BhdGhOYW1lKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLmNvbXBvbmVudERpZFVwZGF0ZSA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSkge1xuICAgIC8vIFByZXNlcnZlIG5vbiBJTyBmdW5jdGlvbmFsaXR5IGlmIG5vIHN1cHBvcnRcbiAgICBpZiAodGhpcy5wcm9wcy50byAhPT0gcHJldlByb3BzLnRvICYmICF0aGlzLnN0YXRlLklPU3VwcG9ydGVkKSB7XG4gICAgICB0aGlzLl9wcmVmZXRjaCgpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyBQcmVzZXJ2ZSBub24gSU8gZnVuY3Rpb25hbGl0eSBpZiBubyBzdXBwb3J0XG4gICAgaWYgKCF0aGlzLnN0YXRlLklPU3VwcG9ydGVkKSB7XG4gICAgICB0aGlzLl9wcmVmZXRjaCgpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uY29tcG9uZW50V2lsbFVubW91bnQgPSBmdW5jdGlvbiBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICBpZiAoIXRoaXMuaW8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgX3RoaXMkaW8gPSB0aGlzLmlvLFxuICAgICAgICBpbnN0YW5jZSA9IF90aGlzJGlvLmluc3RhbmNlLFxuICAgICAgICBlbCA9IF90aGlzJGlvLmVsO1xuICAgIGluc3RhbmNlLnVub2JzZXJ2ZShlbCk7XG4gICAgaW5zdGFuY2UuZGlzY29ubmVjdCgpO1xuICB9O1xuXG4gIF9wcm90by5oYW5kbGVSZWYgPSBmdW5jdGlvbiBoYW5kbGVSZWYocmVmKSB7XG4gICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5pbm5lclJlZiAmJiB0aGlzLnByb3BzLmlubmVyUmVmLmhhc093blByb3BlcnR5KFwiY3VycmVudFwiKSkge1xuICAgICAgdGhpcy5wcm9wcy5pbm5lclJlZi5jdXJyZW50ID0gcmVmO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9wcy5pbm5lclJlZikge1xuICAgICAgdGhpcy5wcm9wcy5pbm5lclJlZihyZWYpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0YXRlLklPU3VwcG9ydGVkICYmIHJlZikge1xuICAgICAgLy8gSWYgSU8gc3VwcG9ydGVkIGFuZCBlbGVtZW50IHJlZmVyZW5jZSBmb3VuZCwgc2V0dXAgT2JzZXJ2ZXIgZnVuY3Rpb25hbGl0eVxuICAgICAgdGhpcy5pbyA9IGNyZWF0ZUludGVyc2VjdGlvbk9ic2VydmVyKHJlZiwgZnVuY3Rpb24gKCkge1xuICAgICAgICBfdGhpczIuX3ByZWZldGNoKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgIHRvID0gX3RoaXMkcHJvcHMudG8sXG4gICAgICAgIF90aGlzJHByb3BzJGdldFByb3BzID0gX3RoaXMkcHJvcHMuZ2V0UHJvcHMsXG4gICAgICAgIGdldFByb3BzID0gX3RoaXMkcHJvcHMkZ2V0UHJvcHMgPT09IHZvaWQgMCA/IHRoaXMuZGVmYXVsdEdldFByb3BzIDogX3RoaXMkcHJvcHMkZ2V0UHJvcHMsXG4gICAgICAgIF9vbkNsaWNrID0gX3RoaXMkcHJvcHMub25DbGljayxcbiAgICAgICAgX29uTW91c2VFbnRlciA9IF90aGlzJHByb3BzLm9uTW91c2VFbnRlcixcbiAgICAgICAgJGFjdGl2ZUNsYXNzTmFtZSA9IF90aGlzJHByb3BzLmFjdGl2ZUNsYXNzTmFtZSxcbiAgICAgICAgJGFjdGl2ZVN0eWxlID0gX3RoaXMkcHJvcHMuYWN0aXZlU3R5bGUsXG4gICAgICAgICRpbm5lclJlZiA9IF90aGlzJHByb3BzLmlubmVyUmVmLFxuICAgICAgICBwYXJ0aWFsbHlBY3RpdmUgPSBfdGhpcyRwcm9wcy5wYXJ0aWFsbHlBY3RpdmUsXG4gICAgICAgIHN0YXRlID0gX3RoaXMkcHJvcHMuc3RhdGUsXG4gICAgICAgIHJlcGxhY2UgPSBfdGhpcyRwcm9wcy5yZXBsYWNlLFxuICAgICAgICBfbG9jYXRpb24gPSBfdGhpcyRwcm9wcy5fbG9jYXRpb24sXG4gICAgICAgIHJlc3QgPSAoMCwgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UyLmRlZmF1bHQpKF90aGlzJHByb3BzLCBbXCJ0b1wiLCBcImdldFByb3BzXCIsIFwib25DbGlja1wiLCBcIm9uTW91c2VFbnRlclwiLCBcImFjdGl2ZUNsYXNzTmFtZVwiLCBcImFjdGl2ZVN0eWxlXCIsIFwiaW5uZXJSZWZcIiwgXCJwYXJ0aWFsbHlBY3RpdmVcIiwgXCJzdGF0ZVwiLCBcInJlcGxhY2VcIiwgXCJfbG9jYXRpb25cIl0pO1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiAmJiAhaXNMb2NhbExpbmsodG8pKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJFeHRlcm5hbCBsaW5rIFwiICsgdG8gKyBcIiB3YXMgZGV0ZWN0ZWQgaW4gYSBMaW5rIGNvbXBvbmVudC4gVXNlIHRoZSBMaW5rIGNvbXBvbmVudCBvbmx5IGZvciBpbnRlcm5hbCBsaW5rcy4gU2VlOiBodHRwczovL2dhdHNieS5kZXYvaW50ZXJuYWwtbGlua3NcIik7XG4gICAgfVxuXG4gICAgdmFyIHByZWZpeGVkVG8gPSByZXdyaXRlTGlua1BhdGgodG8sIF9sb2NhdGlvbi5wYXRobmFtZSk7XG5cbiAgICBpZiAoIWlzTG9jYWxMaW5rKHByZWZpeGVkVG8pKSB7XG4gICAgICByZXR1cm4gLyojX19QVVJFX18qL19yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJhXCIsICgwLCBfZXh0ZW5kczIuZGVmYXVsdCkoe1xuICAgICAgICBocmVmOiBwcmVmaXhlZFRvXG4gICAgICB9LCByZXN0KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi9fcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjaFJvdXRlci5MaW5rLCAoMCwgX2V4dGVuZHMyLmRlZmF1bHQpKHtcbiAgICAgIHRvOiBwcmVmaXhlZFRvLFxuICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgZ2V0UHJvcHM6IGdldFByb3BzLFxuICAgICAgaW5uZXJSZWY6IHRoaXMuaGFuZGxlUmVmLFxuICAgICAgb25Nb3VzZUVudGVyOiBmdW5jdGlvbiBvbk1vdXNlRW50ZXIoZSkge1xuICAgICAgICBpZiAoX29uTW91c2VFbnRlcikge1xuICAgICAgICAgIF9vbk1vdXNlRW50ZXIoZSk7XG4gICAgICAgIH1cblxuICAgICAgICBfX19sb2FkZXIuaG92ZXJpbmcoKDAsIF9wYXJzZVBhdGgucGFyc2VQYXRoKShwcmVmaXhlZFRvKS5wYXRobmFtZSk7XG4gICAgICB9LFxuICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljayhlKSB7XG4gICAgICAgIGlmIChfb25DbGljaykge1xuICAgICAgICAgIF9vbkNsaWNrKGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGUuYnV0dG9uID09PSAwICYmIC8vIGlnbm9yZSByaWdodCBjbGlja3NcbiAgICAgICAgIV90aGlzMy5wcm9wcy50YXJnZXQgJiYgLy8gbGV0IGJyb3dzZXIgaGFuZGxlIFwidGFyZ2V0PV9ibGFua1wiXG4gICAgICAgICFlLmRlZmF1bHRQcmV2ZW50ZWQgJiYgLy8gb25DbGljayBwcmV2ZW50ZWQgZGVmYXVsdFxuICAgICAgICAhZS5tZXRhS2V5ICYmIC8vIGlnbm9yZSBjbGlja3Mgd2l0aCBtb2RpZmllciBrZXlzLi4uXG4gICAgICAgICFlLmFsdEtleSAmJiAhZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5KSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHZhciBzaG91bGRSZXBsYWNlID0gcmVwbGFjZTtcblxuICAgICAgICAgIHZhciBpc0N1cnJlbnQgPSBlbmNvZGVVUkkocHJlZml4ZWRUbykgPT09IF9sb2NhdGlvbi5wYXRobmFtZTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgcmVwbGFjZSAhPT0gXCJib29sZWFuXCIgJiYgaXNDdXJyZW50KSB7XG4gICAgICAgICAgICBzaG91bGRSZXBsYWNlID0gdHJ1ZTtcbiAgICAgICAgICB9IC8vIE1ha2Ugc3VyZSB0aGUgbmVjZXNzYXJ5IHNjcmlwdHMgYW5kIGRhdGEgYXJlXG4gICAgICAgICAgLy8gbG9hZGVkIGJlZm9yZSBjb250aW51aW5nLlxuXG5cbiAgICAgICAgICB3aW5kb3cuX19fbmF2aWdhdGUocHJlZml4ZWRUbywge1xuICAgICAgICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgICAgICAgcmVwbGFjZTogc2hvdWxkUmVwbGFjZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSwgcmVzdCkpO1xuICB9O1xuXG4gIHJldHVybiBHYXRzYnlMaW5rO1xufShfcmVhY3QuZGVmYXVsdC5Db21wb25lbnQpO1xuXG5HYXRzYnlMaW5rLnByb3BUeXBlcyA9ICgwLCBfZXh0ZW5kczIuZGVmYXVsdCkoe30sIE5hdkxpbmtQcm9wVHlwZXMsIHtcbiAgb25DbGljazogX3Byb3BUeXBlcy5kZWZhdWx0LmZ1bmMsXG4gIHRvOiBfcHJvcFR5cGVzLmRlZmF1bHQuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHJlcGxhY2U6IF9wcm9wVHlwZXMuZGVmYXVsdC5ib29sLFxuICBzdGF0ZTogX3Byb3BUeXBlcy5kZWZhdWx0Lm9iamVjdFxufSk7XG5cbnZhciBfZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fcmVhY3QuZGVmYXVsdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIChwcm9wcywgcmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChHYXRzYnlMaW5rTG9jYXRpb25XcmFwcGVyLCAoMCwgX2V4dGVuZHMyLmRlZmF1bHQpKHtcbiAgICBpbm5lclJlZjogcmVmXG4gIH0sIHByb3BzKSk7XG59KTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5cbnZhciBuYXZpZ2F0ZSA9IGZ1bmN0aW9uIG5hdmlnYXRlKHRvLCBvcHRpb25zKSB7XG4gIHdpbmRvdy5fX19uYXZpZ2F0ZShyZXdyaXRlTGlua1BhdGgodG8sIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSksIG9wdGlvbnMpO1xufTtcblxuZXhwb3J0cy5uYXZpZ2F0ZSA9IG5hdmlnYXRlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///8037\n')},1752:function(__unused_webpack_module,exports){"use strict";eval('\n\nexports.__esModule = true;\nexports.parsePath = parsePath;\n\nfunction parsePath(path) {\n var pathname = path || "/";\n var search = "";\n var hash = "";\n var hashIndex = pathname.indexOf("#");\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf("?");\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === "?" ? "" : search,\n hash: hash === "#" ? "" : hash\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9nYXRzYnktbGluay9wYXJzZS1wYXRoLmpzPzcyZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsa0JBQWtCO0FBQ2xCLGlCQUFpQjs7QUFFakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMTc1Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5wYXJzZVBhdGggPSBwYXJzZVBhdGg7XG5cbmZ1bmN0aW9uIHBhcnNlUGF0aChwYXRoKSB7XG4gIHZhciBwYXRobmFtZSA9IHBhdGggfHwgXCIvXCI7XG4gIHZhciBzZWFyY2ggPSBcIlwiO1xuICB2YXIgaGFzaCA9IFwiXCI7XG4gIHZhciBoYXNoSW5kZXggPSBwYXRobmFtZS5pbmRleE9mKFwiI1wiKTtcblxuICBpZiAoaGFzaEluZGV4ICE9PSAtMSkge1xuICAgIGhhc2ggPSBwYXRobmFtZS5zdWJzdHIoaGFzaEluZGV4KTtcbiAgICBwYXRobmFtZSA9IHBhdGhuYW1lLnN1YnN0cigwLCBoYXNoSW5kZXgpO1xuICB9XG5cbiAgdmFyIHNlYXJjaEluZGV4ID0gcGF0aG5hbWUuaW5kZXhPZihcIj9cIik7XG5cbiAgaWYgKHNlYXJjaEluZGV4ICE9PSAtMSkge1xuICAgIHNlYXJjaCA9IHBhdGhuYW1lLnN1YnN0cihzZWFyY2hJbmRleCk7XG4gICAgcGF0aG5hbWUgPSBwYXRobmFtZS5zdWJzdHIoMCwgc2VhcmNoSW5kZXgpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRobmFtZTogcGF0aG5hbWUsXG4gICAgc2VhcmNoOiBzZWFyY2ggPT09IFwiP1wiID8gXCJcIiA6IHNlYXJjaCxcbiAgICBoYXNoOiBoYXNoID09PSBcIiNcIiA/IFwiXCIgOiBoYXNoXG4gIH07XG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///1752\n')},9679:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval("var __webpack_unused_export__;\n\n\n__webpack_unused_export__ = true;\nexports.p2 = exports.$C = void 0;\n\nvar _scrollHandler = __webpack_require__(1432);\n\nexports.$C = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = __webpack_require__(4855);\n\nexports.p2 = _useScrollRestoration.useScrollRestoration;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9nYXRzYnktcmVhY3Qtcm91dGVyLXNjcm9sbC9pbmRleC5qcz9lZTEyIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBYTs7QUFFYix5QkFBa0I7QUFDbEIsVUFBNEIsR0FBRyxVQUFxQjs7QUFFcEQscUJBQXFCLG1CQUFPLENBQUMsSUFBa0I7O0FBRS9DLFVBQXFCOztBQUVyQiw0QkFBNEIsbUJBQU8sQ0FBQyxJQUEwQjs7QUFFOUQsVUFBNEIiLCJmaWxlIjoiOTY3OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy51c2VTY3JvbGxSZXN0b3JhdGlvbiA9IGV4cG9ydHMuU2Nyb2xsQ29udGV4dCA9IHZvaWQgMDtcblxudmFyIF9zY3JvbGxIYW5kbGVyID0gcmVxdWlyZShcIi4vc2Nyb2xsLWhhbmRsZXJcIik7XG5cbmV4cG9ydHMuU2Nyb2xsQ29udGV4dCA9IF9zY3JvbGxIYW5kbGVyLlNjcm9sbEhhbmRsZXI7XG5cbnZhciBfdXNlU2Nyb2xsUmVzdG9yYXRpb24gPSByZXF1aXJlKFwiLi91c2Utc2Nyb2xsLXJlc3RvcmF0aW9uXCIpO1xuXG5leHBvcnRzLnVzZVNjcm9sbFJlc3RvcmF0aW9uID0gX3VzZVNjcm9sbFJlc3RvcmF0aW9uLnVzZVNjcm9sbFJlc3RvcmF0aW9uOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///9679\n")},1432:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__(5318);\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(1506));\n\nvar _inheritsLoose2 = _interopRequireDefault(__webpack_require__(5354));\n\nvar React = _interopRequireWildcard(__webpack_require__(7294));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(5697));\n\nvar _sessionStorage = __webpack_require__(1142);\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = "GatsbyScrollContext";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener("scroll", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener("scroll", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9nYXRzYnktcmVhY3Qtcm91dGVyLXNjcm9sbC9zY3JvbGwtaGFuZGxlci5qcz8xMjdjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLDZCQUE2QixtQkFBTyxDQUFDLElBQThDOztBQUVuRixrQkFBa0I7QUFDbEIscUJBQXFCLEdBQUcscUJBQXFCOztBQUU3QyxxREFBcUQsbUJBQU8sQ0FBQyxJQUE4Qzs7QUFFM0csNkNBQTZDLG1CQUFPLENBQUMsSUFBc0M7O0FBRTNGLG9DQUFvQyxtQkFBTyxDQUFDLElBQU87O0FBRW5ELHdDQUF3QyxtQkFBTyxDQUFDLElBQVk7O0FBRTVELHNCQUFzQixtQkFBTyxDQUFDLElBQW1COztBQUVqRCxnREFBZ0QsZ0RBQWdELHVDQUF1QyxzQ0FBc0Msb0ZBQW9GLDJEQUEyRCxFQUFFLGVBQWU7O0FBRTdVLG9EQUFvRCw2Q0FBNkMsWUFBWSxFQUFFLDRFQUE0RSxTQUFTLGdCQUFnQixFQUFFLG1EQUFtRCwrQkFBK0IsdUJBQXVCLEVBQUUsaUJBQWlCLHNGQUFzRix1QkFBdUIsMkVBQTJFLHFGQUFxRixzQ0FBc0MsMENBQTBDLEVBQUUsT0FBTyx3QkFBd0IsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLGFBQWEsd0JBQXdCLEVBQUUsZUFBZTs7QUFFbHlCO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx1RUFBdUUsYUFBYTtBQUNwRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxDQUFDOztBQUVELHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IjE0MzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIik7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLlNjcm9sbEhhbmRsZXIgPSBleHBvcnRzLlNjcm9sbENvbnRleHQgPSB2b2lkIDA7XG5cbnZhciBfYXNzZXJ0VGhpc0luaXRpYWxpemVkMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXNzZXJ0VGhpc0luaXRpYWxpemVkXCIpKTtcblxudmFyIF9pbmhlcml0c0xvb3NlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNMb29zZVwiKSk7XG5cbnZhciBSZWFjdCA9IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5cbnZhciBfcHJvcFR5cGVzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwicHJvcC10eXBlc1wiKSk7XG5cbnZhciBfc2Vzc2lvblN0b3JhZ2UgPSByZXF1aXJlKFwiLi9zZXNzaW9uLXN0b3JhZ2VcIik7XG5cbmZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkgeyBpZiAodHlwZW9mIFdlYWtNYXAgIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIG51bGw7IHZhciBjYWNoZUJhYmVsSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7IHZhciBjYWNoZU5vZGVJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTsgcmV0dXJuIChfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUgPSBmdW5jdGlvbiBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApIHsgcmV0dXJuIG5vZGVJbnRlcm9wID8gY2FjaGVOb2RlSW50ZXJvcCA6IGNhY2hlQmFiZWxJbnRlcm9wOyB9KShub2RlSW50ZXJvcCk7IH1cblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQob2JqLCBub2RlSW50ZXJvcCkgeyBpZiAoIW5vZGVJbnRlcm9wICYmIG9iaiAmJiBvYmouX19lc01vZHVsZSkgeyByZXR1cm4gb2JqOyB9IGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygb2JqICE9PSBcImZ1bmN0aW9uXCIpIHsgcmV0dXJuIHsgZGVmYXVsdDogb2JqIH07IH0gdmFyIGNhY2hlID0gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKTsgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSB7IHJldHVybiBjYWNoZS5nZXQob2JqKTsgfSB2YXIgbmV3T2JqID0ge307IHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjsgZm9yICh2YXIga2V5IGluIG9iaikgeyBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7IHZhciBkZXNjID0gaGFzUHJvcGVydHlEZXNjcmlwdG9yID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSkgOiBudWxsOyBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdPYmosIGtleSwgZGVzYyk7IH0gZWxzZSB7IG5ld09ialtrZXldID0gb2JqW2tleV07IH0gfSB9IG5ld09iai5kZWZhdWx0ID0gb2JqOyBpZiAoY2FjaGUpIHsgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTsgfSByZXR1cm4gbmV3T2JqOyB9XG5cbnZhciBTY3JvbGxDb250ZXh0ID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUNvbnRleHQobmV3IF9zZXNzaW9uU3RvcmFnZS5TZXNzaW9uU3RvcmFnZSgpKTtcbmV4cG9ydHMuU2Nyb2xsQ29udGV4dCA9IFNjcm9sbENvbnRleHQ7XG5TY3JvbGxDb250ZXh0LmRpc3BsYXlOYW1lID0gXCJHYXRzYnlTY3JvbGxDb250ZXh0XCI7XG5cbnZhciBTY3JvbGxIYW5kbGVyID0gLyojX19QVVJFX18qL2Z1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gICgwLCBfaW5oZXJpdHNMb29zZTIuZGVmYXVsdCkoU2Nyb2xsSGFuZGxlciwgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gU2Nyb2xsSGFuZGxlcigpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgX3RoaXMgPSBfUmVhY3QkQ29tcG9uZW50LmNhbGwuYXBwbHkoX1JlYWN0JENvbXBvbmVudCwgW3RoaXNdLmNvbmNhdChhcmdzKSkgfHwgdGhpcztcbiAgICBfdGhpcy5fc3RhdGVTdG9yYWdlID0gbmV3IF9zZXNzaW9uU3RvcmFnZS5TZXNzaW9uU3RvcmFnZSgpO1xuICAgIF90aGlzLl9pc1RpY2tpbmcgPSBmYWxzZTtcbiAgICBfdGhpcy5fbGF0ZXN0S25vd25TY3JvbGxZID0gMDtcblxuICAgIF90aGlzLnNjcm9sbExpc3RlbmVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMuX2xhdGVzdEtub3duU2Nyb2xsWSA9IHdpbmRvdy5zY3JvbGxZO1xuXG4gICAgICBpZiAoIV90aGlzLl9pc1RpY2tpbmcpIHtcbiAgICAgICAgX3RoaXMuX2lzVGlja2luZyA9IHRydWU7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShfdGhpcy5fc2F2ZVNjcm9sbC5iaW5kKCgwLCBfYXNzZXJ0VGhpc0luaXRpYWxpemVkMi5kZWZhdWx0KShfdGhpcykpKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3RoaXMud2luZG93U2Nyb2xsID0gZnVuY3Rpb24gKHBvc2l0aW9uLCBwcmV2UHJvcHMpIHtcbiAgICAgIGlmIChfdGhpcy5zaG91bGRVcGRhdGVTY3JvbGwocHJldlByb3BzLCBfdGhpcy5wcm9wcykpIHtcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIHBvc2l0aW9uKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3RoaXMuc2Nyb2xsVG9IYXNoID0gZnVuY3Rpb24gKGhhc2gsIHByZXZQcm9wcykge1xuICAgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChoYXNoLnN1YnN0cmluZygxKSk7XG5cbiAgICAgIGlmIChub2RlICYmIF90aGlzLnNob3VsZFVwZGF0ZVNjcm9sbChwcmV2UHJvcHMsIF90aGlzLnByb3BzKSkge1xuICAgICAgICBub2RlLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF90aGlzLnNob3VsZFVwZGF0ZVNjcm9sbCA9IGZ1bmN0aW9uIChwcmV2Um91dGVyUHJvcHMsIHJvdXRlclByb3BzKSB7XG4gICAgICB2YXIgc2hvdWxkVXBkYXRlU2Nyb2xsID0gX3RoaXMucHJvcHMuc2hvdWxkVXBkYXRlU2Nyb2xsO1xuXG4gICAgICBpZiAoIXNob3VsZFVwZGF0ZVNjcm9sbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gLy8gSGFjayB0byBhbGxvdyBhY2Nlc3NpbmcgdGhpcy5fc3RhdGVTdG9yYWdlLlxuXG5cbiAgICAgIHJldHVybiBzaG91bGRVcGRhdGVTY3JvbGwuY2FsbCgoMCwgX2Fzc2VydFRoaXNJbml0aWFsaXplZDIuZGVmYXVsdCkoX3RoaXMpLCBwcmV2Um91dGVyUHJvcHMsIHJvdXRlclByb3BzKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IFNjcm9sbEhhbmRsZXIucHJvdG90eXBlO1xuXG4gIF9wcm90by5fc2F2ZVNjcm9sbCA9IGZ1bmN0aW9uIF9zYXZlU2Nyb2xsKCkge1xuICAgIHZhciBrZXkgPSB0aGlzLnByb3BzLmxvY2F0aW9uLmtleSB8fCBudWxsO1xuXG4gICAgaWYgKGtleSkge1xuICAgICAgdGhpcy5fc3RhdGVTdG9yYWdlLnNhdmUodGhpcy5wcm9wcy5sb2NhdGlvbiwga2V5LCB0aGlzLl9sYXRlc3RLbm93blNjcm9sbFkpO1xuICAgIH1cblxuICAgIHRoaXMuX2lzVGlja2luZyA9IGZhbHNlO1xuICB9O1xuXG4gIF9wcm90by5jb21wb25lbnREaWRNb3VudCA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuc2Nyb2xsTGlzdGVuZXIpO1xuICAgIHZhciBzY3JvbGxQb3NpdGlvbjtcbiAgICB2YXIgX3RoaXMkcHJvcHMkbG9jYXRpb24gPSB0aGlzLnByb3BzLmxvY2F0aW9uLFxuICAgICAgICBrZXkgPSBfdGhpcyRwcm9wcyRsb2NhdGlvbi5rZXksXG4gICAgICAgIGhhc2ggPSBfdGhpcyRwcm9wcyRsb2NhdGlvbi5oYXNoO1xuXG4gICAgaWYgKGtleSkge1xuICAgICAgc2Nyb2xsUG9zaXRpb24gPSB0aGlzLl9zdGF0ZVN0b3JhZ2UucmVhZCh0aGlzLnByb3BzLmxvY2F0aW9uLCBrZXkpO1xuICAgIH1cblxuICAgIGlmIChzY3JvbGxQb3NpdGlvbikge1xuICAgICAgdGhpcy53aW5kb3dTY3JvbGwoc2Nyb2xsUG9zaXRpb24sIHVuZGVmaW5lZCk7XG4gICAgfSBlbHNlIGlmIChoYXNoKSB7XG4gICAgICB0aGlzLnNjcm9sbFRvSGFzaChkZWNvZGVVUkkoaGFzaCksIHVuZGVmaW5lZCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5jb21wb25lbnRXaWxsVW5tb3VudCA9IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuc2Nyb2xsTGlzdGVuZXIpO1xuICB9O1xuXG4gIF9wcm90by5jb21wb25lbnREaWRVcGRhdGUgPSBmdW5jdGlvbiBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgdmFyIF90aGlzJHByb3BzJGxvY2F0aW9uMiA9IHRoaXMucHJvcHMubG9jYXRpb24sXG4gICAgICAgIGhhc2ggPSBfdGhpcyRwcm9wcyRsb2NhdGlvbjIuaGFzaCxcbiAgICAgICAga2V5ID0gX3RoaXMkcHJvcHMkbG9jYXRpb24yLmtleTtcbiAgICB2YXIgc2Nyb2xsUG9zaXRpb247XG5cbiAgICBpZiAoa2V5KSB7XG4gICAgICBzY3JvbGxQb3NpdGlvbiA9IHRoaXMuX3N0YXRlU3RvcmFnZS5yZWFkKHRoaXMucHJvcHMubG9jYXRpb24sIGtleSk7XG4gICAgfVxuICAgIC8qKiAgVGhlcmUgYXJlIHR3byBwaWVjZXMgb2Ygc3RhdGU6IHRoZSBicm93c2VyIHVybCBhbmRcbiAgICAgKiBoaXN0b3J5IHN0YXRlIHdoaWNoIGtlZXBzIHRyYWNrIG9mIHNjcm9sbCBwb3NpdGlvblxuICAgICAqIE5hdGl2ZSBiZWhhdmlvdXIgcHJlc2NyaWJlcyB0aGF0IHdlIG91Z2h0IHRvIHJlc3RvcmUgc2Nyb2xsIHBvc2l0aW9uXG4gICAgICogd2hlbiBhIHVzZXIgbmF2aWdhdGVzIGJhY2sgaW4gdGhlaXIgYnJvd3NlciAodGhpcyBpcyB0aGUgYFBPUGAgYWN0aW9uKVxuICAgICAqIEN1cnJlbnRseSwgcmVhY2ggcm91dGVyIGhhcyBhIGJ1ZyB0aGF0IHByZXZlbnRzIHRoaXMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3JlYWNoL3JvdXRlci9pc3N1ZXMvMjI4XG4gICAgICogU28gd2UgX2Fsd2F5c18gc3RpY2sgdG8gdGhlIHVybCBhcyBhIHNvdXJjZSBvZiB0cnV0aCDigJQgaWYgdGhlIHVybFxuICAgICAqIGNvbnRhaW5zIGEgaGFzaCwgd2Ugc2Nyb2xsIHRvIGl0XG4gICAgICovXG5cblxuICAgIGlmIChoYXNoKSB7XG4gICAgICB0aGlzLnNjcm9sbFRvSGFzaChkZWNvZGVVUkkoaGFzaCksIHByZXZQcm9wcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2luZG93U2Nyb2xsKHNjcm9sbFBvc2l0aW9uLCBwcmV2UHJvcHMpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8ucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChTY3JvbGxDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICB2YWx1ZTogdGhpcy5fc3RhdGVTdG9yYWdlXG4gICAgfSwgdGhpcy5wcm9wcy5jaGlsZHJlbik7XG4gIH07XG5cbiAgcmV0dXJuIFNjcm9sbEhhbmRsZXI7XG59KFJlYWN0LkNvbXBvbmVudCk7XG5cbmV4cG9ydHMuU2Nyb2xsSGFuZGxlciA9IFNjcm9sbEhhbmRsZXI7XG5TY3JvbGxIYW5kbGVyLnByb3BUeXBlcyA9IHtcbiAgc2hvdWxkVXBkYXRlU2Nyb2xsOiBfcHJvcFR5cGVzLmRlZmF1bHQuZnVuYyxcbiAgY2hpbGRyZW46IF9wcm9wVHlwZXMuZGVmYXVsdC5lbGVtZW50LmlzUmVxdWlyZWQsXG4gIGxvY2F0aW9uOiBfcHJvcFR5cGVzLmRlZmF1bHQub2JqZWN0LmlzUmVxdWlyZWRcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///1432\n')},1142:function(__unused_webpack_module,exports){"use strict";eval('\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = "@@scroll|";\nvar GATSBY_ROUTER_SCROLL_STATE = "___GATSBY_REACT_ROUTER_SCROLL";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (false) {}\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (false) {}\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = "" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === "undefined" ? stateKeyBase : stateKeyBase + "|" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9nYXRzYnktcmVhY3Qtcm91dGVyLXNjcm9sbC9zZXNzaW9uLXN0b3JhZ2UuanM/ZmUxNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxVQUFVLEtBQXFDLEVBQUUsRUFFMUM7O0FBRVA7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQSxVQUFVLEtBQXFDLEVBQUUsRUFFMUM7QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRCxzQkFBc0IiLCJmaWxlIjoiMTE0Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5TZXNzaW9uU3RvcmFnZSA9IHZvaWQgMDtcbnZhciBTVEFURV9LRVlfUFJFRklYID0gXCJAQHNjcm9sbHxcIjtcbnZhciBHQVRTQllfUk9VVEVSX1NDUk9MTF9TVEFURSA9IFwiX19fR0FUU0JZX1JFQUNUX1JPVVRFUl9TQ1JPTExcIjtcblxudmFyIFNlc3Npb25TdG9yYWdlID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gU2Vzc2lvblN0b3JhZ2UoKSB7fVxuXG4gIHZhciBfcHJvdG8gPSBTZXNzaW9uU3RvcmFnZS5wcm90b3R5cGU7XG5cbiAgX3Byb3RvLnJlYWQgPSBmdW5jdGlvbiByZWFkKGxvY2F0aW9uLCBrZXkpIHtcbiAgICB2YXIgc3RhdGVLZXkgPSB0aGlzLmdldFN0YXRlS2V5KGxvY2F0aW9uLCBrZXkpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHZhciB2YWx1ZSA9IHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHN0YXRlS2V5KTtcbiAgICAgIHJldHVybiB2YWx1ZSA/IEpTT04ucGFyc2UodmFsdWUpIDogMDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIltnYXRzYnktcmVhY3Qtcm91dGVyLXNjcm9sbF0gVW5hYmxlIHRvIGFjY2VzcyBzZXNzaW9uU3RvcmFnZTsgc2Vzc2lvblN0b3JhZ2UgaXMgbm90IGF2YWlsYWJsZS5cIik7XG4gICAgICB9XG5cbiAgICAgIGlmICh3aW5kb3cgJiYgd2luZG93W0dBVFNCWV9ST1VURVJfU0NST0xMX1NUQVRFXSAmJiB3aW5kb3dbR0FUU0JZX1JPVVRFUl9TQ1JPTExfU1RBVEVdW3N0YXRlS2V5XSkge1xuICAgICAgICByZXR1cm4gd2luZG93W0dBVFNCWV9ST1VURVJfU0NST0xMX1NUQVRFXVtzdGF0ZUtleV07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uc2F2ZSA9IGZ1bmN0aW9uIHNhdmUobG9jYXRpb24sIGtleSwgdmFsdWUpIHtcbiAgICB2YXIgc3RhdGVLZXkgPSB0aGlzLmdldFN0YXRlS2V5KGxvY2F0aW9uLCBrZXkpO1xuICAgIHZhciBzdG9yZWRWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcblxuICAgIHRyeSB7XG4gICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShzdGF0ZUtleSwgc3RvcmVkVmFsdWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICh3aW5kb3cgJiYgd2luZG93W0dBVFNCWV9ST1VURVJfU0NST0xMX1NUQVRFXSkge1xuICAgICAgICB3aW5kb3dbR0FUU0JZX1JPVVRFUl9TQ1JPTExfU1RBVEVdW3N0YXRlS2V5XSA9IEpTT04ucGFyc2Uoc3RvcmVkVmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2luZG93W0dBVFNCWV9ST1VURVJfU0NST0xMX1NUQVRFXSA9IHt9O1xuICAgICAgICB3aW5kb3dbR0FUU0JZX1JPVVRFUl9TQ1JPTExfU1RBVEVdW3N0YXRlS2V5XSA9IEpTT04ucGFyc2Uoc3RvcmVkVmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIltnYXRzYnktcmVhY3Qtcm91dGVyLXNjcm9sbF0gVW5hYmxlIHRvIHNhdmUgc3RhdGUgaW4gc2Vzc2lvblN0b3JhZ2U7IHNlc3Npb25TdG9yYWdlIGlzIG5vdCBhdmFpbGFibGUuXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uZ2V0U3RhdGVLZXkgPSBmdW5jdGlvbiBnZXRTdGF0ZUtleShsb2NhdGlvbiwga2V5KSB7XG4gICAgdmFyIHN0YXRlS2V5QmFzZSA9IFwiXCIgKyBTVEFURV9LRVlfUFJFRklYICsgbG9jYXRpb24ucGF0aG5hbWU7XG4gICAgcmV0dXJuIGtleSA9PT0gbnVsbCB8fCB0eXBlb2Yga2V5ID09PSBcInVuZGVmaW5lZFwiID8gc3RhdGVLZXlCYXNlIDogc3RhdGVLZXlCYXNlICsgXCJ8XCIgKyBrZXk7XG4gIH07XG5cbiAgcmV0dXJuIFNlc3Npb25TdG9yYWdlO1xufSgpO1xuXG5leHBvcnRzLlNlc3Npb25TdG9yYWdlID0gU2Vzc2lvblN0b3JhZ2U7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///1142\n')},4855:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval("\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = __webpack_require__(1432);\n\nvar _react = __webpack_require__(7294);\n\nvar _reachRouter = __webpack_require__(9499);\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9nYXRzYnktcmVhY3Qtcm91dGVyLXNjcm9sbC91c2Utc2Nyb2xsLXJlc3RvcmF0aW9uLmpzP2RlZWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsa0JBQWtCO0FBQ2xCLDRCQUE0Qjs7QUFFNUIscUJBQXFCLG1CQUFPLENBQUMsSUFBa0I7O0FBRS9DLGFBQWEsbUJBQU8sQ0FBQyxJQUFPOztBQUU1QixtQkFBbUIsbUJBQU8sQ0FBQyxJQUF3Qjs7QUFFbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiI0ODU1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLnVzZVNjcm9sbFJlc3RvcmF0aW9uID0gdXNlU2Nyb2xsUmVzdG9yYXRpb247XG5cbnZhciBfc2Nyb2xsSGFuZGxlciA9IHJlcXVpcmUoXCIuL3Njcm9sbC1oYW5kbGVyXCIpO1xuXG52YXIgX3JlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpO1xuXG52YXIgX3JlYWNoUm91dGVyID0gcmVxdWlyZShcIkBnYXRzYnlqcy9yZWFjaC1yb3V0ZXJcIik7XG5cbmZ1bmN0aW9uIHVzZVNjcm9sbFJlc3RvcmF0aW9uKGlkZW50aWZpZXIpIHtcbiAgdmFyIGxvY2F0aW9uID0gKDAsIF9yZWFjaFJvdXRlci51c2VMb2NhdGlvbikoKTtcbiAgdmFyIHN0YXRlID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfc2Nyb2xsSGFuZGxlci5TY3JvbGxDb250ZXh0KTtcbiAgdmFyIHJlZiA9ICgwLCBfcmVhY3QudXNlUmVmKShudWxsKTtcbiAgKDAsIF9yZWFjdC51c2VMYXlvdXRFZmZlY3QpKGZ1bmN0aW9uICgpIHtcbiAgICBpZiAocmVmLmN1cnJlbnQpIHtcbiAgICAgIHZhciBwb3NpdGlvbiA9IHN0YXRlLnJlYWQobG9jYXRpb24sIGlkZW50aWZpZXIpO1xuICAgICAgcmVmLmN1cnJlbnQuc2Nyb2xsVG8oMCwgcG9zaXRpb24gfHwgMCk7XG4gICAgfVxuICB9LCBbbG9jYXRpb24ua2V5XSk7XG4gIHJldHVybiB7XG4gICAgcmVmOiByZWYsXG4gICAgb25TY3JvbGw6IGZ1bmN0aW9uIG9uU2Nyb2xsKCkge1xuICAgICAgaWYgKHJlZi5jdXJyZW50KSB7XG4gICAgICAgIHN0YXRlLnNhdmUobG9jYXRpb24sIGlkZW50aWZpZXIsIHJlZi5jdXJyZW50LnNjcm9sbFRvcCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///4855\n")},4999:function(__unused_webpack_module,exports,__webpack_require__){eval('// prefer default export if available\nvar preferDefault=function preferDefault(m){return m&&m.default||m;};exports.components={"component---src-pages-404-tsx":function componentSrcPages404Tsx(){return __webpack_require__.e(/* import() | component---src-pages-404-tsx */ 218).then(__webpack_require__.bind(__webpack_require__, 9786));},"component---src-pages-index-tsx":function componentSrcPagesIndexTsx(){return Promise.all(/* import() | component---src-pages-index-tsx */[__webpack_require__.e(532), __webpack_require__.e(30), __webpack_require__.e(691)]).then(__webpack_require__.bind(__webpack_require__, 1981));}};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9fdGhpc19pc192aXJ0dWFsX2ZzX3BhdGhfLyR2aXJ0dWFsL2FzeW5jLXJlcXVpcmVzLmpzPzM2YzEiXSwibmFtZXMiOlsicHJlZmVyRGVmYXVsdCIsIm0iLCJkZWZhdWx0IiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxHQUFNQSxjQUFhLENBQUcsUUFBaEJBLGNBQWdCLENBQUFDLENBQUMsUUFBS0EsRUFBQyxFQUFJQSxDQUFDLENBQUNDLE9BQVIsRUFBb0JELENBQXhCLEVBQXZCLENBRUFFLGtCQUFBLENBQXFCLENBQ25CLGdDQUFpQyx5Q0FBTSxvSUFBTixFQURkLENBRW5CLGtDQUFtQywyQ0FBTSwyTUFBTixFQUZoQixDQUFyQiIsImZpbGUiOiI0OTk5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcHJlZmVyIGRlZmF1bHQgZXhwb3J0IGlmIGF2YWlsYWJsZVxuY29uc3QgcHJlZmVyRGVmYXVsdCA9IG0gPT4gKG0gJiYgbS5kZWZhdWx0KSB8fCBtXG5cbmV4cG9ydHMuY29tcG9uZW50cyA9IHtcbiAgXCJjb21wb25lbnQtLS1zcmMtcGFnZXMtNDA0LXRzeFwiOiAoKSA9PiBpbXBvcnQoXCIuLy4uLy4uLy4uL3NyYy9wYWdlcy80MDQudHN4XCIgLyogd2VicGFja0NodW5rTmFtZTogXCJjb21wb25lbnQtLS1zcmMtcGFnZXMtNDA0LXRzeFwiICovKSxcbiAgXCJjb21wb25lbnQtLS1zcmMtcGFnZXMtaW5kZXgtdHN4XCI6ICgpID0+IGltcG9ydChcIi4vLi4vLi4vLi4vc3JjL3BhZ2VzL2luZGV4LnRzeFwiIC8qIHdlYnBhY2tDaHVua05hbWU6IFwiY29tcG9uZW50LS0tc3JjLXBhZ2VzLWluZGV4LXRzeFwiICovKVxufVxuXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///4999\n')},5182:function(module,__unused_webpack_exports,__webpack_require__){eval('module.exports=[{plugin:__webpack_require__(5526),options:{"plugins":[],"path":"/home/runner/work/justice40-tool/justice40-tool/client/src/intl","languages":["en","es"],"defaultLanguage":"en","redirect":true}},{plugin:__webpack_require__(9037),options:{"plugins":[]}}];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9hcGktcnVubmVyLWJyb3dzZXItcGx1Z2lucy5qcz8yZGUyIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJwbHVnaW4iLCJyZXF1aXJlIiwib3B0aW9ucyJdLCJtYXBwaW5ncyI6IkFBQUFBLE1BQU0sQ0FBQ0MsT0FBUCxDQUFpQixDQUFDLENBQ1pDLE1BQU0sQ0FBRUMsbUJBQU8sQ0FBQyxJQUFELENBREgsQ0FFWkMsT0FBTyxDQUFFLENBQUMsVUFBVSxFQUFYLENBQWMsT0FBTyxpRUFBckIsQ0FBdUYsWUFBWSxDQUFDLElBQUQsQ0FBTSxJQUFOLENBQW5HLENBQStHLGtCQUFrQixJQUFqSSxDQUFzSSxXQUFXLElBQWpKLENBRkcsQ0FBRCxDQUdYLENBQ0FGLE1BQU0sQ0FBRUMsbUJBQU8sQ0FBQyxJQUFELENBRGYsQ0FFQUMsT0FBTyxDQUFFLENBQUMsVUFBVSxFQUFYLENBRlQsQ0FIVyxDQUFqQiIsImZpbGUiOiI1MTgyLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBbe1xuICAgICAgcGx1Z2luOiByZXF1aXJlKCcuLi9ub2RlX21vZHVsZXMvZ2F0c2J5LXBsdWdpbi1pbnRsL2dhdHNieS1icm93c2VyLmpzJyksXG4gICAgICBvcHRpb25zOiB7XCJwbHVnaW5zXCI6W10sXCJwYXRoXCI6XCIvaG9tZS9ydW5uZXIvd29yay9qdXN0aWNlNDAtdG9vbC9qdXN0aWNlNDAtdG9vbC9jbGllbnQvc3JjL2ludGxcIixcImxhbmd1YWdlc1wiOltcImVuXCIsXCJlc1wiXSxcImRlZmF1bHRMYW5ndWFnZVwiOlwiZW5cIixcInJlZGlyZWN0XCI6dHJ1ZX0sXG4gICAgfSx7XG4gICAgICBwbHVnaW46IHJlcXVpcmUoJy4uL2dhdHNieS1icm93c2VyLmpzJyksXG4gICAgICBvcHRpb25zOiB7XCJwbHVnaW5zXCI6W119LFxuICAgIH1dXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5182\n')},7343:function(__unused_webpack_module,exports,__webpack_require__){eval('var plugins=__webpack_require__(5182);var _require$publicLoader=__webpack_require__(8741)/* .publicLoader */ .jN,getResourceURLsForPathname=_require$publicLoader.getResourceURLsForPathname,loadPage=_require$publicLoader.loadPage,loadPageSync=_require$publicLoader.loadPageSync;exports.h=function(api,args,defaultReturn,argTransform){if(args===void 0){args={};}// Hooks for gatsby-cypress\'s API handler\nif(undefined){if(window.___apiHandler){window.___apiHandler(api);}else if(window.___resolvedAPIs){window.___resolvedAPIs.push(api);}else{window.___resolvedAPIs=[api];}}var results=plugins.map(function(plugin){if(!plugin.plugin[api]){return undefined;}args.getResourceURLsForPathname=getResourceURLsForPathname;args.loadPage=loadPage;args.loadPageSync=loadPageSync;var result=plugin.plugin[api](args,plugin.options);if(result&&argTransform){args=argTransform({args:args,result:result,plugin:plugin});}return result;});// Filter out undefined results.\nresults=results.filter(function(result){return typeof result!=="undefined";});if(results.length>0){return results;}else if(defaultReturn){return[defaultReturn];}else{return[];}};exports.I=function(api,args,defaultReturn){return plugins.reduce(function(previous,next){return next.plugin[api]?previous.then(function(){return next.plugin[api](args,next.options);}):previous;},Promise.resolve());};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9hcGktcnVubmVyLWJyb3dzZXIuanM/YzZkYiJdLCJuYW1lcyI6WyJwbHVnaW5zIiwicmVxdWlyZSIsImdldFJlc291cmNlVVJMc0ZvclBhdGhuYW1lIiwibG9hZFBhZ2UiLCJsb2FkUGFnZVN5bmMiLCJleHBvcnRzIiwiYXBpIiwiYXJncyIsImRlZmF1bHRSZXR1cm4iLCJhcmdUcmFuc2Zvcm0iLCJwcm9jZXNzIiwid2luZG93IiwiX19fYXBpSGFuZGxlciIsIl9fX3Jlc29sdmVkQVBJcyIsInB1c2giLCJyZXN1bHRzIiwibWFwIiwicGx1Z2luIiwidW5kZWZpbmVkIiwicmVzdWx0Iiwib3B0aW9ucyIsImZpbHRlciIsImxlbmd0aCIsInJlZHVjZSIsInByZXZpb3VzIiwibmV4dCIsInRoZW4iLCJQcm9taXNlIiwicmVzb2x2ZSJdLCJtYXBwaW5ncyI6IkFBQUEsR0FBTUEsUUFBTyxDQUFHQyxtQkFBTyxDQUFDLEtBQXhCLENBQ0EsMEJBSUlBLGdEQUpKLENBQ0VDLDBCQURGLHVCQUNFQSwwQkFERixDQUVFQyxRQUZGLHVCQUVFQSxRQUZGLENBR0VDLFlBSEYsdUJBR0VBLFlBSEYsQ0FNQUMsU0FBQSxDQUFvQixTQUFDQyxHQUFELENBQU1DLElBQU4sQ0FBaUJDLGFBQWpCLENBQWdDQyxZQUFoQyxDQUFpRCxJQUEzQ0YsSUFBMkMsV0FBM0NBLElBQTJDLENBQXBDLEVBQW9DLEVBQ25FO0FBQ0EsR0FBSUcsU0FBSixDQUFpQyxDQUMvQixHQUFJQyxNQUFNLENBQUNDLGFBQVgsQ0FBMEIsQ0FDeEJELE1BQU0sQ0FBQ0MsYUFBUCxDQUFxQk4sR0FBckIsRUFDRCxDQUZELElBRU8sSUFBSUssTUFBTSxDQUFDRSxlQUFYLENBQTRCLENBQ2pDRixNQUFNLENBQUNFLGVBQVAsQ0FBdUJDLElBQXZCLENBQTRCUixHQUE1QixFQUNELENBRk0sSUFFQSxDQUNMSyxNQUFNLENBQUNFLGVBQVAsQ0FBeUIsQ0FBQ1AsR0FBRCxDQUF6QixDQUNELENBQ0YsQ0FFRCxHQUFJUyxRQUFPLENBQUdmLE9BQU8sQ0FBQ2dCLEdBQVIsQ0FBWSxTQUFBQyxNQUFNLENBQUksQ0FDbEMsR0FBSSxDQUFDQSxNQUFNLENBQUNBLE1BQVAsQ0FBY1gsR0FBZCxDQUFMLENBQXlCLENBQ3ZCLE1BQU9ZLFVBQVAsQ0FDRCxDQUVEWCxJQUFJLENBQUNMLDBCQUFMLENBQWtDQSwwQkFBbEMsQ0FDQUssSUFBSSxDQUFDSixRQUFMLENBQWdCQSxRQUFoQixDQUNBSSxJQUFJLENBQUNILFlBQUwsQ0FBb0JBLFlBQXBCLENBRUEsR0FBTWUsT0FBTSxDQUFHRixNQUFNLENBQUNBLE1BQVAsQ0FBY1gsR0FBZCxFQUFtQkMsSUFBbkIsQ0FBeUJVLE1BQU0sQ0FBQ0csT0FBaEMsQ0FBZixDQUNBLEdBQUlELE1BQU0sRUFBSVYsWUFBZCxDQUE0QixDQUMxQkYsSUFBSSxDQUFHRSxZQUFZLENBQUMsQ0FBRUYsSUFBSSxDQUFKQSxJQUFGLENBQVFZLE1BQU0sQ0FBTkEsTUFBUixDQUFnQkYsTUFBTSxDQUFOQSxNQUFoQixDQUFELENBQW5CLENBQ0QsQ0FDRCxNQUFPRSxPQUFQLENBQ0QsQ0FkYSxDQUFkLENBZ0JBO0FBQ0FKLE9BQU8sQ0FBR0EsT0FBTyxDQUFDTSxNQUFSLENBQWUsU0FBQUYsTUFBTSxRQUFJLE9BQU9BLE9BQVAsY0FBSixFQUFyQixDQUFWLENBRUEsR0FBSUosT0FBTyxDQUFDTyxNQUFSLENBQWlCLENBQXJCLENBQXdCLENBQ3RCLE1BQU9QLFFBQVAsQ0FDRCxDQUZELElBRU8sSUFBSVAsYUFBSixDQUFtQixDQUN4QixNQUFPLENBQUNBLGFBQUQsQ0FBUCxDQUNELENBRk0sSUFFQSxDQUNMLE1BQU8sRUFBUCxDQUNELENBQ0YsQ0F0Q0QsQ0F3Q0FILFNBQUEsQ0FBeUIsU0FBQ0MsR0FBRCxDQUFNQyxJQUFOLENBQVlDLGFBQVosUUFDdkJSLFFBQU8sQ0FBQ3VCLE1BQVIsQ0FDRSxTQUFDQyxRQUFELENBQVdDLElBQVgsUUFDRUEsS0FBSSxDQUFDUixNQUFMLENBQVlYLEdBQVosRUFDSWtCLFFBQVEsQ0FBQ0UsSUFBVCxDQUFjLGlCQUFNRCxLQUFJLENBQUNSLE1BQUwsQ0FBWVgsR0FBWixFQUFpQkMsSUFBakIsQ0FBdUJrQixJQUFJLENBQUNMLE9BQTVCLENBQU4sRUFBZCxDQURKLENBRUlJLFFBSE4sRUFERixDQUtFRyxPQUFPLENBQUNDLE9BQVIsRUFMRixDQUR1QixFQUF6QiIsImZpbGUiOiI3MzQzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcGx1Z2lucyA9IHJlcXVpcmUoYC4vYXBpLXJ1bm5lci1icm93c2VyLXBsdWdpbnNgKVxuY29uc3Qge1xuICBnZXRSZXNvdXJjZVVSTHNGb3JQYXRobmFtZSxcbiAgbG9hZFBhZ2UsXG4gIGxvYWRQYWdlU3luYyxcbn0gPSByZXF1aXJlKGAuL2xvYWRlcmApLnB1YmxpY0xvYWRlclxuXG5leHBvcnRzLmFwaVJ1bm5lciA9IChhcGksIGFyZ3MgPSB7fSwgZGVmYXVsdFJldHVybiwgYXJnVHJhbnNmb3JtKSA9PiB7XG4gIC8vIEhvb2tzIGZvciBnYXRzYnktY3lwcmVzcydzIEFQSSBoYW5kbGVyXG4gIGlmIChwcm9jZXNzLmVudi5DWVBSRVNTX1NVUFBPUlQpIHtcbiAgICBpZiAod2luZG93Ll9fX2FwaUhhbmRsZXIpIHtcbiAgICAgIHdpbmRvdy5fX19hcGlIYW5kbGVyKGFwaSlcbiAgICB9IGVsc2UgaWYgKHdpbmRvdy5fX19yZXNvbHZlZEFQSXMpIHtcbiAgICAgIHdpbmRvdy5fX19yZXNvbHZlZEFQSXMucHVzaChhcGkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5fX19yZXNvbHZlZEFQSXMgPSBbYXBpXVxuICAgIH1cbiAgfVxuXG4gIGxldCByZXN1bHRzID0gcGx1Z2lucy5tYXAocGx1Z2luID0+IHtcbiAgICBpZiAoIXBsdWdpbi5wbHVnaW5bYXBpXSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGFyZ3MuZ2V0UmVzb3VyY2VVUkxzRm9yUGF0aG5hbWUgPSBnZXRSZXNvdXJjZVVSTHNGb3JQYXRobmFtZVxuICAgIGFyZ3MubG9hZFBhZ2UgPSBsb2FkUGFnZVxuICAgIGFyZ3MubG9hZFBhZ2VTeW5jID0gbG9hZFBhZ2VTeW5jXG5cbiAgICBjb25zdCByZXN1bHQgPSBwbHVnaW4ucGx1Z2luW2FwaV0oYXJncywgcGx1Z2luLm9wdGlvbnMpXG4gICAgaWYgKHJlc3VsdCAmJiBhcmdUcmFuc2Zvcm0pIHtcbiAgICAgIGFyZ3MgPSBhcmdUcmFuc2Zvcm0oeyBhcmdzLCByZXN1bHQsIHBsdWdpbiB9KVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0pXG5cbiAgLy8gRmlsdGVyIG91dCB1bmRlZmluZWQgcmVzdWx0cy5cbiAgcmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKHJlc3VsdCA9PiB0eXBlb2YgcmVzdWx0ICE9PSBgdW5kZWZpbmVkYClcblxuICBpZiAocmVzdWx0cy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHJlc3VsdHNcbiAgfSBlbHNlIGlmIChkZWZhdWx0UmV0dXJuKSB7XG4gICAgcmV0dXJuIFtkZWZhdWx0UmV0dXJuXVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBbXVxuICB9XG59XG5cbmV4cG9ydHMuYXBpUnVubmVyQXN5bmMgPSAoYXBpLCBhcmdzLCBkZWZhdWx0UmV0dXJuKSA9PlxuICBwbHVnaW5zLnJlZHVjZShcbiAgICAocHJldmlvdXMsIG5leHQpID0+XG4gICAgICBuZXh0LnBsdWdpblthcGldXG4gICAgICAgID8gcHJldmlvdXMudGhlbigoKSA9PiBuZXh0LnBsdWdpblthcGldKGFyZ3MsIG5leHQub3B0aW9ucykpXG4gICAgICAgIDogcHJldmlvdXMsXG4gICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgKVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7343\n')},8110:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n "Z": function() { return /* binding */ _cache_emitter; }\n});\n\n;// CONCATENATED MODULE: ./node_modules/mitt/dist/mitt.es.js\n// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `"*"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `"*"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `"*"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all[\'*\'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\n/* harmony default export */ var mitt_es = (mitt);\n//# sourceMappingURL=mitt.es.js.map\n\n;// CONCATENATED MODULE: ./.cache/emitter.js\nvar emitter=mitt_es();/* harmony default export */ var _cache_emitter = (emitter);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9taXR0L2Rpc3QvbWl0dC5lcy5qcz8xNGI3Iiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vLmNhY2hlL2VtaXR0ZXIuanM/ZTcyYSJdLCJuYW1lcyI6WyJlbWl0dGVyIiwibWl0dCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTs7OztBQUlBOzs7QUFHQTs7Ozs7O0FBTUE7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxTQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxTQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsYUFBYSxJQUFJO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCxjQUFjLEVBQUU7QUFDckUsb0RBQW9ELG9CQUFvQixFQUFFO0FBQzFFO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBZSxJQUFJLEVBQUM7QUFDcEI7OztBQzdEQSxHQUFNQSxRQUFPLENBQUdDLE9BQUksRUFBcEIsQ0FDQSxtREFBZUQsT0FBZiIsImZpbGUiOiI4MTEwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gICAgICBcbi8vIEFuIGV2ZW50IGhhbmRsZXIgY2FuIHRha2UgYW4gb3B0aW9uYWwgZXZlbnQgYXJndW1lbnRcbi8vIGFuZCBzaG91bGQgbm90IHJldHVybiBhIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG4vLyBBbiBhcnJheSBvZiBhbGwgY3VycmVudGx5IHJlZ2lzdGVyZWQgZXZlbnQgaGFuZGxlcnMgZm9yIGEgdHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuLy8gQSBtYXAgb2YgZXZlbnQgdHlwZXMgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgZXZlbnQgaGFuZGxlcnMuXG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgXG5cbi8qKiBNaXR0OiBUaW55ICh+MjAwYikgZnVuY3Rpb25hbCBldmVudCBlbWl0dGVyIC8gcHVic3ViLlxuICogIEBuYW1lIG1pdHRcbiAqICBAcmV0dXJucyB7TWl0dH1cbiAqL1xuZnVuY3Rpb24gbWl0dChhbGwgICAgICAgICAgICAgICAgICkge1xuXHRhbGwgPSBhbGwgfHwgT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuXHRyZXR1cm4ge1xuXHRcdC8qKlxuXHRcdCAqIFJlZ2lzdGVyIGFuIGV2ZW50IGhhbmRsZXIgZm9yIHRoZSBnaXZlbiB0eXBlLlxuXHRcdCAqXG5cdFx0ICogQHBhcmFtICB7U3RyaW5nfSB0eXBlXHRUeXBlIG9mIGV2ZW50IHRvIGxpc3RlbiBmb3IsIG9yIGBcIipcImAgZm9yIGFsbCBldmVudHNcblx0XHQgKiBAcGFyYW0gIHtGdW5jdGlvbn0gaGFuZGxlciBGdW5jdGlvbiB0byBjYWxsIGluIHJlc3BvbnNlIHRvIGdpdmVuIGV2ZW50XG5cdFx0ICogQG1lbWJlck9mIG1pdHRcblx0XHQgKi9cblx0XHRvbjogZnVuY3Rpb24gb24odHlwZSAgICAgICAgLCBoYW5kbGVyICAgICAgICAgICAgICApIHtcblx0XHRcdChhbGxbdHlwZV0gfHwgKGFsbFt0eXBlXSA9IFtdKSkucHVzaChoYW5kbGVyKTtcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogUmVtb3ZlIGFuIGV2ZW50IGhhbmRsZXIgZm9yIHRoZSBnaXZlbiB0eXBlLlxuXHRcdCAqXG5cdFx0ICogQHBhcmFtICB7U3RyaW5nfSB0eXBlXHRUeXBlIG9mIGV2ZW50IHRvIHVucmVnaXN0ZXIgYGhhbmRsZXJgIGZyb20sIG9yIGBcIipcImBcblx0XHQgKiBAcGFyYW0gIHtGdW5jdGlvbn0gaGFuZGxlciBIYW5kbGVyIGZ1bmN0aW9uIHRvIHJlbW92ZVxuXHRcdCAqIEBtZW1iZXJPZiBtaXR0XG5cdFx0ICovXG5cdFx0b2ZmOiBmdW5jdGlvbiBvZmYodHlwZSAgICAgICAgLCBoYW5kbGVyICAgICAgICAgICAgICApIHtcblx0XHRcdGlmIChhbGxbdHlwZV0pIHtcblx0XHRcdFx0YWxsW3R5cGVdLnNwbGljZShhbGxbdHlwZV0uaW5kZXhPZihoYW5kbGVyKSA+Pj4gMCwgMSk7XG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEludm9rZSBhbGwgaGFuZGxlcnMgZm9yIHRoZSBnaXZlbiB0eXBlLlxuXHRcdCAqIElmIHByZXNlbnQsIGBcIipcImAgaGFuZGxlcnMgYXJlIGludm9rZWQgYWZ0ZXIgdHlwZS1tYXRjaGVkIGhhbmRsZXJzLlxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtTdHJpbmd9IHR5cGUgIFRoZSBldmVudCB0eXBlIHRvIGludm9rZVxuXHRcdCAqIEBwYXJhbSB7QW55fSBbZXZ0XSAgQW55IHZhbHVlIChvYmplY3QgaXMgcmVjb21tZW5kZWQgYW5kIHBvd2VyZnVsKSwgcGFzc2VkIHRvIGVhY2ggaGFuZGxlclxuXHRcdCAqIEBtZW1iZXJPZiBtaXR0XG5cdFx0ICovXG5cdFx0ZW1pdDogZnVuY3Rpb24gZW1pdCh0eXBlICAgICAgICAsIGV2dCAgICAgKSB7XG5cdFx0XHQoYWxsW3R5cGVdIHx8IFtdKS5zbGljZSgpLm1hcChmdW5jdGlvbiAoaGFuZGxlcikgeyBoYW5kbGVyKGV2dCk7IH0pO1xuXHRcdFx0KGFsbFsnKiddIHx8IFtdKS5zbGljZSgpLm1hcChmdW5jdGlvbiAoaGFuZGxlcikgeyBoYW5kbGVyKHR5cGUsIGV2dCk7IH0pO1xuXHRcdH1cblx0fTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgbWl0dDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1pdHQuZXMuanMubWFwXG4iLCJpbXBvcnQgbWl0dCBmcm9tIFwibWl0dFwiXG5cbmNvbnN0IGVtaXR0ZXIgPSBtaXR0KClcbmV4cG9ydCBkZWZhdWx0IGVtaXR0ZXJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///8110\n')},2257:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n "UD": function() { return /* binding */ findMatchPath; },\n "Cj": function() { return /* binding */ findPath; },\n "GA": function() { return /* binding */ grabMatchParams; },\n "DS": function() { return /* binding */ setMatchPaths; }\n});\n\n// UNUSED EXPORTS: cleanPath\n\n// EXTERNAL MODULE: ./node_modules/@gatsbyjs/reach-router/lib/utils.js\nvar utils = __webpack_require__(2098);\n// EXTERNAL MODULE: ./.cache/strip-prefix.js\nvar strip_prefix = __webpack_require__(1578);\n;// CONCATENATED MODULE: ./.cache/normalize-page-path.js\n/* harmony default export */ var normalize_page_path = (function(path){if(path===undefined){return path;}if(path==="/"){return"/";}if(path.charAt(path.length-1)==="/"){return path.slice(0,-1);}return path;});\n// EXTERNAL MODULE: ./.cache/redirect-utils.js + 1 modules\nvar redirect_utils = __webpack_require__(5166);\n;// CONCATENATED MODULE: ./.cache/find-path.js\nvar pathCache=new Map();var matchPaths=[];var trimPathname=function trimPathname(rawPathname){var pathname=decodeURIComponent(rawPathname);// Remove the pathPrefix from the pathname.\nvar trimmedPathname=(0,strip_prefix/* default */.Z)(pathname,decodeURIComponent(""))// Remove any hashfragment\n.split("#")[0]// Remove search query\n.split("?")[0];return trimmedPathname;};function absolutify(path){// If it\'s already absolute, return as-is\nif(path.startsWith("/")||path.startsWith("https://")||path.startsWith("http://")){return path;}// Calculate path relative to current location, adding a trailing slash to\n// match behavior of @reach/router\nreturn new URL(path,window.location.href+(window.location.href.endsWith("/")?"":"/")).pathname;}/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */var setMatchPaths=function setMatchPaths(value){matchPaths=value;};/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ "/foo*": "/page1", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */var findMatchPath=function findMatchPath(rawPathname){var trimmedPathname=cleanPath(rawPathname);var pickPaths=matchPaths.map(function(_ref){var path=_ref.path,matchPath=_ref.matchPath;return{path:matchPath,originalPath:path};});var path=(0,utils.pick)(pickPaths,trimmedPathname);if(path){return normalize_page_path(path.route.originalPath);}return null;};/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ ":bar/*foo" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */var grabMatchParams=function grabMatchParams(rawPathname){var trimmedPathname=cleanPath(rawPathname);var pickPaths=matchPaths.map(function(_ref2){var path=_ref2.path,matchPath=_ref2.matchPath;return{path:matchPath,originalPath:path};});var path=(0,utils.pick)(pickPaths,trimmedPathname);if(path){return path.params;}return{};};// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ "/foo*": "/page1", ...}`, then\n// `/foo?bar=far` => `/page1`\nvar findPath=function findPath(rawPathname){var trimmedPathname=trimPathname(absolutify(rawPathname));if(pathCache.has(trimmedPathname)){return pathCache.get(trimmedPathname);}var redirect=(0,redirect_utils/* maybeGetBrowserRedirect */.J)(rawPathname);if(redirect){return findPath(redirect.toPath);}var foundPath=findMatchPath(trimmedPathname);if(!foundPath){foundPath=cleanPath(rawPathname);}pathCache.set(trimmedPathname,foundPath);return foundPath;};/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */var cleanPath=function cleanPath(rawPathname){var trimmedPathname=trimPathname(absolutify(rawPathname));var foundPath=trimmedPathname;if(foundPath==="/index.html"){foundPath="/";}foundPath=normalize_page_path(foundPath);return foundPath;};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9ub3JtYWxpemUtcGFnZS1wYXRoLmpzPzY3YjUiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi8uY2FjaGUvZmluZC1wYXRoLmpzP2RmNDQiXSwibmFtZXMiOlsicGF0aCIsInVuZGVmaW5lZCIsImNoYXJBdCIsImxlbmd0aCIsInNsaWNlIiwicGF0aENhY2hlIiwiTWFwIiwibWF0Y2hQYXRocyIsInRyaW1QYXRobmFtZSIsInJhd1BhdGhuYW1lIiwicGF0aG5hbWUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJ0cmltbWVkUGF0aG5hbWUiLCJzdHJpcFByZWZpeCIsIl9fQkFTRV9QQVRIX18iLCJzcGxpdCIsImFic29sdXRpZnkiLCJzdGFydHNXaXRoIiwiVVJMIiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwiZW5kc1dpdGgiLCJzZXRNYXRjaFBhdGhzIiwidmFsdWUiLCJmaW5kTWF0Y2hQYXRoIiwiY2xlYW5QYXRoIiwicGlja1BhdGhzIiwibWFwIiwibWF0Y2hQYXRoIiwib3JpZ2luYWxQYXRoIiwicGljayIsIm5vcm1hbGl6ZVBhZ2VQYXRoIiwicm91dGUiLCJncmFiTWF0Y2hQYXJhbXMiLCJwYXJhbXMiLCJmaW5kUGF0aCIsImhhcyIsImdldCIsInJlZGlyZWN0IiwibWF5YmVHZXRCcm93c2VyUmVkaXJlY3QiLCJ0b1BhdGgiLCJmb3VuZFBhdGgiLCJzZXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3REFBZSxTQUFBQSxJQUFJLENBQUksQ0FDckIsR0FBSUEsSUFBSSxHQUFLQyxTQUFiLENBQXdCLENBQ3RCLE1BQU9ELEtBQVAsQ0FDRCxDQUNELEdBQUlBLElBQUksTUFBUixDQUFrQixDQUNoQixVQUNELENBQ0QsR0FBSUEsSUFBSSxDQUFDRSxNQUFMLENBQVlGLElBQUksQ0FBQ0csTUFBTCxDQUFjLENBQTFCLE9BQUosQ0FBMEMsQ0FDeEMsTUFBT0gsS0FBSSxDQUFDSSxLQUFMLENBQVcsQ0FBWCxDQUFjLENBQUMsQ0FBZixDQUFQLENBQ0QsQ0FDRCxNQUFPSixLQUFQLENBQ0QsQ0FYRCxFOzs7O0FDS0EsR0FBTUssVUFBUyxDQUFHLEdBQUlDLElBQUosRUFBbEIsQ0FDQSxHQUFJQyxXQUFVLENBQUcsRUFBakIsQ0FFQSxHQUFNQyxhQUFZLENBQUcsUUFBZkEsYUFBZSxDQUFBQyxXQUFXLENBQUksQ0FDbEMsR0FBTUMsU0FBUSxDQUFHQyxrQkFBa0IsQ0FBQ0YsV0FBRCxDQUFuQyxDQUNBO0FBQ0EsR0FBTUcsZ0JBQWUsQ0FBR0MsK0JBQVcsQ0FDakNILFFBRGlDLENBRWpDQyxrQkFBa0IsQ0FBQ0csRUFBRCxDQUZlLENBSWpDO0FBSnNCLENBS3JCQyxLQUxxQixNQUtWLENBTFUsQ0FNdEI7QUFOc0IsQ0FPckJBLEtBUHFCLE1BT1YsQ0FQVSxDQUF4QixDQVNBLE1BQU9ILGdCQUFQLENBQ0QsQ0FiRCxDQWVBLFFBQVNJLFdBQVQsQ0FBb0JoQixJQUFwQixDQUEwQixDQUN4QjtBQUNBLEdBQ0VBLElBQUksQ0FBQ2lCLFVBQUwsT0FDQWpCLElBQUksQ0FBQ2lCLFVBQUwsWUFEQSxFQUVBakIsSUFBSSxDQUFDaUIsVUFBTCxXQUhGLENBSUUsQ0FDQSxNQUFPakIsS0FBUCxDQUNELENBQ0Q7QUFDQTtBQUNBLE1BQU8sSUFBSWtCLElBQUosQ0FDTGxCLElBREssQ0FFTG1CLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkMsSUFBaEIsRUFBd0JGLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkMsSUFBaEIsQ0FBcUJDLFFBQXJCLFlBQXhCLENBRkssRUFHTFosUUFIRixDQUlELENBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUNPLEdBQU1hLGNBQWEsQ0FBRyxRQUFoQkEsY0FBZ0IsQ0FBQUMsS0FBSyxDQUFJLENBQ3BDakIsVUFBVSxDQUFHaUIsS0FBYixDQUNELENBRk0sQ0FJUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQ08sR0FBTUMsY0FBYSxDQUFHLFFBQWhCQSxjQUFnQixDQUFBaEIsV0FBVyxDQUFJLENBQzFDLEdBQU1HLGdCQUFlLENBQUdjLFNBQVMsQ0FBQ2pCLFdBQUQsQ0FBakMsQ0FFQSxHQUFNa0IsVUFBUyxDQUFHcEIsVUFBVSxDQUFDcUIsR0FBWCxDQUFlLGNBQXlCLElBQXRCNUIsS0FBc0IsTUFBdEJBLElBQXNCLENBQWhCNkIsU0FBZ0IsTUFBaEJBLFNBQWdCLENBQ3hELE1BQU8sQ0FDTDdCLElBQUksQ0FBRTZCLFNBREQsQ0FFTEMsWUFBWSxDQUFFOUIsSUFGVCxDQUFQLENBSUQsQ0FMaUIsQ0FBbEIsQ0FPQSxHQUFNQSxLQUFJLENBQUcrQixjQUFJLENBQUNKLFNBQUQsQ0FBWWYsZUFBWixDQUFqQixDQUVBLEdBQUlaLElBQUosQ0FBVSxDQUNSLE1BQU9nQyxvQkFBaUIsQ0FBQ2hDLElBQUksQ0FBQ2lDLEtBQUwsQ0FBV0gsWUFBWixDQUF4QixDQUNELENBRUQsTUFBTyxLQUFQLENBQ0QsQ0FqQk0sQ0FtQlA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQ08sR0FBTUksZ0JBQWUsQ0FBRyxRQUFsQkEsZ0JBQWtCLENBQUF6QixXQUFXLENBQUksQ0FDNUMsR0FBTUcsZ0JBQWUsQ0FBR2MsU0FBUyxDQUFDakIsV0FBRCxDQUFqQyxDQUVBLEdBQU1rQixVQUFTLENBQUdwQixVQUFVLENBQUNxQixHQUFYLENBQWUsZUFBeUIsSUFBdEI1QixLQUFzQixPQUF0QkEsSUFBc0IsQ0FBaEI2QixTQUFnQixPQUFoQkEsU0FBZ0IsQ0FDeEQsTUFBTyxDQUNMN0IsSUFBSSxDQUFFNkIsU0FERCxDQUVMQyxZQUFZLENBQUU5QixJQUZULENBQVAsQ0FJRCxDQUxpQixDQUFsQixDQU9BLEdBQU1BLEtBQUksQ0FBRytCLGNBQUksQ0FBQ0osU0FBRCxDQUFZZixlQUFaLENBQWpCLENBRUEsR0FBSVosSUFBSixDQUFVLENBQ1IsTUFBT0EsS0FBSSxDQUFDbUMsTUFBWixDQUNELENBRUQsTUFBTyxFQUFQLENBQ0QsQ0FqQk0sQ0FtQlA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLEdBQU1DLFNBQVEsQ0FBRyxRQUFYQSxTQUFXLENBQUEzQixXQUFXLENBQUksQ0FDckMsR0FBTUcsZ0JBQWUsQ0FBR0osWUFBWSxDQUFDUSxVQUFVLENBQUNQLFdBQUQsQ0FBWCxDQUFwQyxDQUNBLEdBQUlKLFNBQVMsQ0FBQ2dDLEdBQVYsQ0FBY3pCLGVBQWQsQ0FBSixDQUFvQyxDQUNsQyxNQUFPUCxVQUFTLENBQUNpQyxHQUFWLENBQWMxQixlQUFkLENBQVAsQ0FDRCxDQUVELEdBQU0yQixTQUFRLENBQUdDLGlEQUF1QixDQUFDL0IsV0FBRCxDQUF4QyxDQUNBLEdBQUk4QixRQUFKLENBQWMsQ0FDWixNQUFPSCxTQUFRLENBQUNHLFFBQVEsQ0FBQ0UsTUFBVixDQUFmLENBQ0QsQ0FFRCxHQUFJQyxVQUFTLENBQUdqQixhQUFhLENBQUNiLGVBQUQsQ0FBN0IsQ0FFQSxHQUFJLENBQUM4QixTQUFMLENBQWdCLENBQ2RBLFNBQVMsQ0FBR2hCLFNBQVMsQ0FBQ2pCLFdBQUQsQ0FBckIsQ0FDRCxDQUVESixTQUFTLENBQUNzQyxHQUFWLENBQWMvQixlQUFkLENBQStCOEIsU0FBL0IsRUFFQSxNQUFPQSxVQUFQLENBQ0QsQ0FwQk0sQ0FzQlA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FDTyxHQUFNaEIsVUFBUyxDQUFHLFFBQVpBLFVBQVksQ0FBQWpCLFdBQVcsQ0FBSSxDQUN0QyxHQUFNRyxnQkFBZSxDQUFHSixZQUFZLENBQUNRLFVBQVUsQ0FBQ1AsV0FBRCxDQUFYLENBQXBDLENBRUEsR0FBSWlDLFVBQVMsQ0FBRzlCLGVBQWhCLENBQ0EsR0FBSThCLFNBQVMsZ0JBQWIsQ0FBaUMsQ0FDL0JBLFNBQVMsSUFBVCxDQUNELENBRURBLFNBQVMsQ0FBR1YsbUJBQWlCLENBQUNVLFNBQUQsQ0FBN0IsQ0FFQSxNQUFPQSxVQUFQLENBQ0QsQ0FYTSIsImZpbGUiOiIyMjU3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgcGF0aCA9PiB7XG4gIGlmIChwYXRoID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gcGF0aFxuICB9XG4gIGlmIChwYXRoID09PSBgL2ApIHtcbiAgICByZXR1cm4gYC9gXG4gIH1cbiAgaWYgKHBhdGguY2hhckF0KHBhdGgubGVuZ3RoIC0gMSkgPT09IGAvYCkge1xuICAgIHJldHVybiBwYXRoLnNsaWNlKDAsIC0xKVxuICB9XG4gIHJldHVybiBwYXRoXG59XG4iLCJpbXBvcnQgeyBwaWNrIH0gZnJvbSBcIkBnYXRzYnlqcy9yZWFjaC1yb3V0ZXIvbGliL3V0aWxzXCJcbmltcG9ydCBzdHJpcFByZWZpeCBmcm9tIFwiLi9zdHJpcC1wcmVmaXhcIlxuaW1wb3J0IG5vcm1hbGl6ZVBhZ2VQYXRoIGZyb20gXCIuL25vcm1hbGl6ZS1wYWdlLXBhdGhcIlxuaW1wb3J0IHsgbWF5YmVHZXRCcm93c2VyUmVkaXJlY3QgfSBmcm9tIFwiLi9yZWRpcmVjdC11dGlscy5qc1wiXG5cbmNvbnN0IHBhdGhDYWNoZSA9IG5ldyBNYXAoKVxubGV0IG1hdGNoUGF0aHMgPSBbXVxuXG5jb25zdCB0cmltUGF0aG5hbWUgPSByYXdQYXRobmFtZSA9PiB7XG4gIGNvbnN0IHBhdGhuYW1lID0gZGVjb2RlVVJJQ29tcG9uZW50KHJhd1BhdGhuYW1lKVxuICAvLyBSZW1vdmUgdGhlIHBhdGhQcmVmaXggZnJvbSB0aGUgcGF0aG5hbWUuXG4gIGNvbnN0IHRyaW1tZWRQYXRobmFtZSA9IHN0cmlwUHJlZml4KFxuICAgIHBhdGhuYW1lLFxuICAgIGRlY29kZVVSSUNvbXBvbmVudChfX0JBU0VfUEFUSF9fKVxuICApXG4gICAgLy8gUmVtb3ZlIGFueSBoYXNoZnJhZ21lbnRcbiAgICAuc3BsaXQoYCNgKVswXVxuICAgIC8vIFJlbW92ZSBzZWFyY2ggcXVlcnlcbiAgICAuc3BsaXQoYD9gKVswXVxuXG4gIHJldHVybiB0cmltbWVkUGF0aG5hbWVcbn1cblxuZnVuY3Rpb24gYWJzb2x1dGlmeShwYXRoKSB7XG4gIC8vIElmIGl0J3MgYWxyZWFkeSBhYnNvbHV0ZSwgcmV0dXJuIGFzLWlzXG4gIGlmIChcbiAgICBwYXRoLnN0YXJ0c1dpdGgoYC9gKSB8fFxuICAgIHBhdGguc3RhcnRzV2l0aChgaHR0cHM6Ly9gKSB8fFxuICAgIHBhdGguc3RhcnRzV2l0aChgaHR0cDovL2ApXG4gICkge1xuICAgIHJldHVybiBwYXRoXG4gIH1cbiAgLy8gQ2FsY3VsYXRlIHBhdGggcmVsYXRpdmUgdG8gY3VycmVudCBsb2NhdGlvbiwgYWRkaW5nIGEgdHJhaWxpbmcgc2xhc2ggdG9cbiAgLy8gbWF0Y2ggYmVoYXZpb3Igb2YgQHJlYWNoL3JvdXRlclxuICByZXR1cm4gbmV3IFVSTChcbiAgICBwYXRoLFxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmICsgKHdpbmRvdy5sb2NhdGlvbi5ocmVmLmVuZHNXaXRoKGAvYCkgPyBgYCA6IGAvYClcbiAgKS5wYXRobmFtZVxufVxuXG4vKipcbiAqIFNldCBsaXN0IG9mIG1hdGNoUGF0aHNcbiAqXG4gKiBAcGFyYW0ge0FycmF5PHtwYXRoOiBzdHJpbmcsIG1hdGNoUGF0aDogc3RyaW5nfT59IHZhbHVlIGNvbGxlY3Rpb24gb2YgbWF0Y2hQYXRoc1xuICovXG5leHBvcnQgY29uc3Qgc2V0TWF0Y2hQYXRocyA9IHZhbHVlID0+IHtcbiAgbWF0Y2hQYXRocyA9IHZhbHVlXG59XG5cbi8qKlxuICogUmV0dXJuIGEgbWF0Y2hwYXRoIHVybFxuICogaWYgYG1hdGNoLXBhdGhzLmpzb25gIGNvbnRhaW5zIGB7IFwiL2ZvbypcIjogXCIvcGFnZTFcIiwgLi4ufWAsIHRoZW5cbiAqIGAvZm9vP2Jhcj1mYXJgID0+IGAvcGFnZTFgXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJhd1BhdGhuYW1lIEEgcmF3IHBhdGhuYW1lXG4gKiBAcmV0dXJuIHtzdHJpbmd8bnVsbH1cbiAqL1xuZXhwb3J0IGNvbnN0IGZpbmRNYXRjaFBhdGggPSByYXdQYXRobmFtZSA9PiB7XG4gIGNvbnN0IHRyaW1tZWRQYXRobmFtZSA9IGNsZWFuUGF0aChyYXdQYXRobmFtZSlcblxuICBjb25zdCBwaWNrUGF0aHMgPSBtYXRjaFBhdGhzLm1hcCgoeyBwYXRoLCBtYXRjaFBhdGggfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBwYXRoOiBtYXRjaFBhdGgsXG4gICAgICBvcmlnaW5hbFBhdGg6IHBhdGgsXG4gICAgfVxuICB9KVxuXG4gIGNvbnN0IHBhdGggPSBwaWNrKHBpY2tQYXRocywgdHJpbW1lZFBhdGhuYW1lKVxuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZVBhZ2VQYXRoKHBhdGgucm91dGUub3JpZ2luYWxQYXRoKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuLyoqXG4gKiBSZXR1cm4gYSBtYXRjaHBhdGggcGFyYW1zIGZyb20gcmVhY2gvcm91dGVyIHJ1bGVzXG4gKiBpZiBgbWF0Y2gtcGF0aHMuanNvbmAgY29udGFpbnMgYHsgXCI6YmFyLypmb29cIiB9YCwgYW5kIHRoZSBwYXRoIGlzIC9iYXovemF6L3pvb1xuICogdGhlbiBpdCByZXR1cm5zXG4gKiAgeyBiYXI6IGJheiwgZm9vOiB6YXovem9vIH1cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcmF3UGF0aG5hbWUgQSByYXcgcGF0aG5hbWVcbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IGNvbnN0IGdyYWJNYXRjaFBhcmFtcyA9IHJhd1BhdGhuYW1lID0+IHtcbiAgY29uc3QgdHJpbW1lZFBhdGhuYW1lID0gY2xlYW5QYXRoKHJhd1BhdGhuYW1lKVxuXG4gIGNvbnN0IHBpY2tQYXRocyA9IG1hdGNoUGF0aHMubWFwKCh7IHBhdGgsIG1hdGNoUGF0aCB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdGg6IG1hdGNoUGF0aCxcbiAgICAgIG9yaWdpbmFsUGF0aDogcGF0aCxcbiAgICB9XG4gIH0pXG5cbiAgY29uc3QgcGF0aCA9IHBpY2socGlja1BhdGhzLCB0cmltbWVkUGF0aG5hbWUpXG5cbiAgaWYgKHBhdGgpIHtcbiAgICByZXR1cm4gcGF0aC5wYXJhbXNcbiAgfVxuXG4gIHJldHVybiB7fVxufVxuXG4vLyBHaXZlbiBhIHJhdyBVUkwgcGF0aCwgcmV0dXJucyB0aGUgY2xlYW5lZCB2ZXJzaW9uIG9mIGl0ICh0cmltIG9mZlxuLy8gYCNgIGFuZCBxdWVyeSBwYXJhbXMpLCBvciBpZiBpdCBtYXRjaGVzIGFuIGVudHJ5IGluXG4vLyBgbWF0Y2gtcGF0aHMuanNvbmAsIGl0cyBtYXRjaGVkIHBhdGggaXMgcmV0dXJuZWRcbi8vXG4vLyBFLmcuIGAvZm9vP2Jhcj1mYXJgID0+IGAvZm9vYFxuLy9cbi8vIE9yIGlmIGBtYXRjaC1wYXRocy5qc29uYCBjb250YWlucyBgeyBcIi9mb28qXCI6IFwiL3BhZ2UxXCIsIC4uLn1gLCB0aGVuXG4vLyBgL2Zvbz9iYXI9ZmFyYCA9PiBgL3BhZ2UxYFxuZXhwb3J0IGNvbnN0IGZpbmRQYXRoID0gcmF3UGF0aG5hbWUgPT4ge1xuICBjb25zdCB0cmltbWVkUGF0aG5hbWUgPSB0cmltUGF0aG5hbWUoYWJzb2x1dGlmeShyYXdQYXRobmFtZSkpXG4gIGlmIChwYXRoQ2FjaGUuaGFzKHRyaW1tZWRQYXRobmFtZSkpIHtcbiAgICByZXR1cm4gcGF0aENhY2hlLmdldCh0cmltbWVkUGF0aG5hbWUpXG4gIH1cblxuICBjb25zdCByZWRpcmVjdCA9IG1heWJlR2V0QnJvd3NlclJlZGlyZWN0KHJhd1BhdGhuYW1lKVxuICBpZiAocmVkaXJlY3QpIHtcbiAgICByZXR1cm4gZmluZFBhdGgocmVkaXJlY3QudG9QYXRoKVxuICB9XG5cbiAgbGV0IGZvdW5kUGF0aCA9IGZpbmRNYXRjaFBhdGgodHJpbW1lZFBhdGhuYW1lKVxuXG4gIGlmICghZm91bmRQYXRoKSB7XG4gICAgZm91bmRQYXRoID0gY2xlYW5QYXRoKHJhd1BhdGhuYW1lKVxuICB9XG5cbiAgcGF0aENhY2hlLnNldCh0cmltbWVkUGF0aG5hbWUsIGZvdW5kUGF0aClcblxuICByZXR1cm4gZm91bmRQYXRoXG59XG5cbi8qKlxuICogQ2xlYW4gYSB1cmwgYW5kIGNvbnZlcnRzIC9pbmRleC5odG1sID0+IC9cbiAqIEUuZy4gYC9mb28/YmFyPWZhcmAgPT4gYC9mb29gXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJhd1BhdGhuYW1lIEEgcmF3IHBhdGhuYW1lXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBjb25zdCBjbGVhblBhdGggPSByYXdQYXRobmFtZSA9PiB7XG4gIGNvbnN0IHRyaW1tZWRQYXRobmFtZSA9IHRyaW1QYXRobmFtZShhYnNvbHV0aWZ5KHJhd1BhdGhuYW1lKSlcblxuICBsZXQgZm91bmRQYXRoID0gdHJpbW1lZFBhdGhuYW1lXG4gIGlmIChmb3VuZFBhdGggPT09IGAvaW5kZXguaHRtbGApIHtcbiAgICBmb3VuZFBhdGggPSBgL2BcbiAgfVxuXG4gIGZvdW5kUGF0aCA9IG5vcm1hbGl6ZVBhZ2VQYXRoKGZvdW5kUGF0aClcblxuICByZXR1cm4gZm91bmRQYXRoXG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///2257\n')},5444:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Link": function() { return /* reexport safe */ gatsby_link__WEBPACK_IMPORTED_MODULE_1__.ZP; },\n/* harmony export */ "withAssetPrefix": function() { return /* reexport safe */ gatsby_link__WEBPACK_IMPORTED_MODULE_1__.mc; },\n/* harmony export */ "withPrefix": function() { return /* reexport safe */ gatsby_link__WEBPACK_IMPORTED_MODULE_1__.dq; },\n/* harmony export */ "graphql": function() { return /* binding */ graphql; },\n/* harmony export */ "parsePath": function() { return /* reexport safe */ gatsby_link__WEBPACK_IMPORTED_MODULE_1__.cP; },\n/* harmony export */ "navigate": function() { return /* reexport safe */ gatsby_link__WEBPACK_IMPORTED_MODULE_1__.c4; },\n/* harmony export */ "useScrollRestoration": function() { return /* reexport safe */ gatsby_react_router_scroll__WEBPACK_IMPORTED_MODULE_2__.p2; },\n/* harmony export */ "StaticQueryContext": function() { return /* binding */ StaticQueryContext; },\n/* harmony export */ "StaticQuery": function() { return /* binding */ StaticQuery; },\n/* harmony export */ "PageRenderer": function() { return /* reexport default from dynamic */ _public_page_renderer__WEBPACK_IMPORTED_MODULE_3___default.a; },\n/* harmony export */ "useStaticQuery": function() { return /* binding */ useStaticQuery; },\n/* harmony export */ "prefetchPathname": function() { return /* binding */ prefetchPathname; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7294);\n/* harmony import */ var gatsby_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8037);\n/* harmony import */ var gatsby_react_router_scroll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9679);\n/* harmony import */ var _public_page_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(861);\n/* harmony import */ var _public_page_renderer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_public_page_renderer__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _loader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8741);\nvar prefetchPathname=_loader__WEBPACK_IMPORTED_MODULE_4__/* .default.enqueue */ .ZP.enqueue;var StaticQueryContext=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext({});function StaticQueryDataRenderer(_ref){var staticQueryData=_ref.staticQueryData,data=_ref.data,query=_ref.query,render=_ref.render;var finalData=data?data.data:staticQueryData[query]&&staticQueryData[query].data;return/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,finalData&&render(finalData),!finalData&&/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",null,"Loading (StaticQuery)"));}var StaticQuery=function StaticQuery(props){var data=props.data,query=props.query,render=props.render,children=props.children;return/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(StaticQueryContext.Consumer,null,function(staticQueryData){return/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(StaticQueryDataRenderer,{data:data,query:query,render:render||children,staticQueryData:staticQueryData});});};var useStaticQuery=function useStaticQuery(query){var _context$query;if(typeof react__WEBPACK_IMPORTED_MODULE_0__.useContext!=="function"&&"production"==="development"){throw new Error("You\'re likely using a version of React that doesn\'t support Hooks\\n"+"Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.");}var context=react__WEBPACK_IMPORTED_MODULE_0__.useContext(StaticQueryContext);// query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n// to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n// catch the misuse of the API and give proper direction\nif(isNaN(Number(query))){throw new Error("useStaticQuery was called with a string but expects to be called using `graphql`. Try this:\\n\\nimport { useStaticQuery, graphql } from \'gatsby\';\\n\\nuseStaticQuery(graphql`"+query+"`);\\n");}if((_context$query=context[query])!==null&&_context$query!==void 0&&_context$query.data){return context[query].data;}else{throw new Error("The result of this StaticQuery could not be fetched.\\n\\n"+"This is likely a bug in Gatsby and if refreshing the page does not fix it, "+"please open an issue in https://github.com/gatsbyjs/gatsby/issues");}};function graphql(){throw new Error("It appears like Gatsby is misconfigured. Gatsby related `graphql` calls "+"are supposed to only be evaluated at compile time, and then compiled away. "+"Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n"+"Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.");}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9nYXRzYnktYnJvd3Nlci1lbnRyeS5qcz81OWJjIl0sIm5hbWVzIjpbInByZWZldGNoUGF0aG5hbWUiLCJsb2FkZXIiLCJTdGF0aWNRdWVyeUNvbnRleHQiLCJSZWFjdCIsIlN0YXRpY1F1ZXJ5RGF0YVJlbmRlcmVyIiwic3RhdGljUXVlcnlEYXRhIiwiZGF0YSIsInF1ZXJ5IiwicmVuZGVyIiwiZmluYWxEYXRhIiwiU3RhdGljUXVlcnkiLCJwcm9wcyIsImNoaWxkcmVuIiwidXNlU3RhdGljUXVlcnkiLCJwcm9jZXNzIiwiRXJyb3IiLCJjb250ZXh0IiwiaXNOYU4iLCJOdW1iZXIiLCJncmFwaHFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQSxHQUFNQSxpQkFBZ0IsQ0FBR0Msc0VBQXpCLENBRUEsR0FBTUMsbUJBQWtCLGNBQUdDLGdEQUFBLENBQW9CLEVBQXBCLENBQTNCLENBRUEsUUFBU0Msd0JBQVQsTUFBMkUsSUFBeENDLGdCQUF3QyxNQUF4Q0EsZUFBd0MsQ0FBdkJDLElBQXVCLE1BQXZCQSxJQUF1QixDQUFqQkMsS0FBaUIsTUFBakJBLEtBQWlCLENBQVZDLE1BQVUsTUFBVkEsTUFBVSxDQUN6RSxHQUFNQyxVQUFTLENBQUdILElBQUksQ0FDbEJBLElBQUksQ0FBQ0EsSUFEYSxDQUVsQkQsZUFBZSxDQUFDRSxLQUFELENBQWYsRUFBMEJGLGVBQWUsQ0FBQ0UsS0FBRCxDQUFmLENBQXVCRCxJQUZyRCxDQUlBLG1CQUNFLGlEQUFDLDJDQUFELE1BQ0dHLFNBQVMsRUFBSUQsTUFBTSxDQUFDQyxTQUFELENBRHRCLENBRUcsQ0FBQ0EsU0FBRCxlQUFjLG9GQUZqQixDQURGLENBTUQsQ0FFRCxHQUFNQyxZQUFXLENBQUcsUUFBZEEsWUFBYyxDQUFBQyxLQUFLLENBQUksQ0FDM0IsR0FBUUwsS0FBUixDQUEwQ0ssS0FBMUMsQ0FBUUwsSUFBUixDQUFjQyxLQUFkLENBQTBDSSxLQUExQyxDQUFjSixLQUFkLENBQXFCQyxNQUFyQixDQUEwQ0csS0FBMUMsQ0FBcUJILE1BQXJCLENBQTZCSSxRQUE3QixDQUEwQ0QsS0FBMUMsQ0FBNkJDLFFBQTdCLENBRUEsbUJBQ0UsaURBQUMsa0JBQUQsQ0FBb0IsUUFBcEIsTUFDRyxTQUFBUCxlQUFlLHFCQUNkLGlEQUFDLHVCQUFELEVBQ0UsSUFBSSxDQUFFQyxJQURSLENBRUUsS0FBSyxDQUFFQyxLQUZULENBR0UsTUFBTSxDQUFFQyxNQUFNLEVBQUlJLFFBSHBCLENBSUUsZUFBZSxDQUFFUCxlQUpuQixFQURjLEVBRGxCLENBREYsQ0FZRCxDQWZELENBaUJBLEdBQU1RLGVBQWMsQ0FBRyxRQUFqQkEsZUFBaUIsQ0FBQU4sS0FBSyxDQUFJLG9CQUM5QixHQUNFLE1BQU9KLDhDQUFQLGVBQ0FXLFlBQUEsZ0JBRkYsQ0FHRSxDQUNBLEtBQU0sSUFBSUMsTUFBSixDQUNKLDJKQURJLENBQU4sQ0FJRCxDQUNELEdBQU1DLFFBQU8sQ0FBR2IsNkNBQUEsQ0FBaUJELGtCQUFqQixDQUFoQixDQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUllLEtBQUssQ0FBQ0MsTUFBTSxDQUFDWCxLQUFELENBQVAsQ0FBVCxDQUEwQixDQUN4QixLQUFNLElBQUlRLE1BQUosK0tBSWdCUixLQUpoQixTQUFOLENBTUQsQ0FFRCxtQkFBSVMsT0FBTyxDQUFDVCxLQUFELENBQVgsbUNBQUksZUFBZ0JELElBQXBCLENBQTBCLENBQ3hCLE1BQU9VLFFBQU8sQ0FBQ1QsS0FBRCxDQUFQLENBQWVELElBQXRCLENBQ0QsQ0FGRCxJQUVPLENBQ0wsS0FBTSxJQUFJUyxNQUFKLENBQ0osNE1BREksQ0FBTixDQUtELENBQ0YsQ0FqQ0QsQ0EwQ0EsUUFBU0ksUUFBVCxFQUFtQixDQUNqQixLQUFNLElBQUlKLE1BQUosQ0FDSixxVkFESSxDQUFOLENBTUQiLCJmaWxlIjoiNTQ0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgTGluaywge1xuICB3aXRoUHJlZml4LFxuICB3aXRoQXNzZXRQcmVmaXgsXG4gIG5hdmlnYXRlLFxuICBwdXNoLFxuICByZXBsYWNlLFxuICBuYXZpZ2F0ZVRvLFxuICBwYXJzZVBhdGgsXG59IGZyb20gXCJnYXRzYnktbGlua1wiXG5pbXBvcnQgeyB1c2VTY3JvbGxSZXN0b3JhdGlvbiB9IGZyb20gXCJnYXRzYnktcmVhY3Qtcm91dGVyLXNjcm9sbFwiXG5pbXBvcnQgUGFnZVJlbmRlcmVyIGZyb20gXCIuL3B1YmxpYy1wYWdlLXJlbmRlcmVyXCJcbmltcG9ydCBsb2FkZXIgZnJvbSBcIi4vbG9hZGVyXCJcblxuY29uc3QgcHJlZmV0Y2hQYXRobmFtZSA9IGxvYWRlci5lbnF1ZXVlXG5cbmNvbnN0IFN0YXRpY1F1ZXJ5Q29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQoe30pXG5cbmZ1bmN0aW9uIFN0YXRpY1F1ZXJ5RGF0YVJlbmRlcmVyKHsgc3RhdGljUXVlcnlEYXRhLCBkYXRhLCBxdWVyeSwgcmVuZGVyIH0pIHtcbiAgY29uc3QgZmluYWxEYXRhID0gZGF0YVxuICAgID8gZGF0YS5kYXRhXG4gICAgOiBzdGF0aWNRdWVyeURhdGFbcXVlcnldICYmIHN0YXRpY1F1ZXJ5RGF0YVtxdWVyeV0uZGF0YVxuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAge2ZpbmFsRGF0YSAmJiByZW5kZXIoZmluYWxEYXRhKX1cbiAgICAgIHshZmluYWxEYXRhICYmIDxkaXY+TG9hZGluZyAoU3RhdGljUXVlcnkpPC9kaXY+fVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gIClcbn1cblxuY29uc3QgU3RhdGljUXVlcnkgPSBwcm9wcyA9PiB7XG4gIGNvbnN0IHsgZGF0YSwgcXVlcnksIHJlbmRlciwgY2hpbGRyZW4gfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8U3RhdGljUXVlcnlDb250ZXh0LkNvbnN1bWVyPlxuICAgICAge3N0YXRpY1F1ZXJ5RGF0YSA9PiAoXG4gICAgICAgIDxTdGF0aWNRdWVyeURhdGFSZW5kZXJlclxuICAgICAgICAgIGRhdGE9e2RhdGF9XG4gICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgIHJlbmRlcj17cmVuZGVyIHx8IGNoaWxkcmVufVxuICAgICAgICAgIHN0YXRpY1F1ZXJ5RGF0YT17c3RhdGljUXVlcnlEYXRhfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L1N0YXRpY1F1ZXJ5Q29udGV4dC5Db25zdW1lcj5cbiAgKVxufVxuXG5jb25zdCB1c2VTdGF0aWNRdWVyeSA9IHF1ZXJ5ID0+IHtcbiAgaWYgKFxuICAgIHR5cGVvZiBSZWFjdC51c2VDb250ZXh0ICE9PSBgZnVuY3Rpb25gICYmXG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IGBkZXZlbG9wbWVudGBcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFlvdSdyZSBsaWtlbHkgdXNpbmcgYSB2ZXJzaW9uIG9mIFJlYWN0IHRoYXQgZG9lc24ndCBzdXBwb3J0IEhvb2tzXFxuYCArXG4gICAgICAgIGBQbGVhc2UgdXBkYXRlIFJlYWN0IGFuZCBSZWFjdERPTSB0byAxNi44LjAgb3IgbGF0ZXIgdG8gdXNlIHRoZSB1c2VTdGF0aWNRdWVyeSBob29rLmBcbiAgICApXG4gIH1cbiAgY29uc3QgY29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoU3RhdGljUXVlcnlDb250ZXh0KVxuXG4gIC8vIHF1ZXJ5IGlzIGEgc3RyaW5naWZpZWQgbnVtYmVyIGxpa2UgYDMzMDM4ODJgIHdoZW4gd3JhcHBlZCB3aXRoIGdyYXBocWwsIElmIGEgdXNlciBmb3JnZXRzXG4gIC8vIHRvIHdyYXAgdGhlIHF1ZXJ5IGluIGEgZ3JxcGhxbCwgdGhlbiBjYXN0aW5nIGl0IHRvIGEgTnVtYmVyIHJlc3VsdHMgaW4gYE5hTmAgYWxsb3dpbmcgdXMgdG9cbiAgLy8gY2F0Y2ggdGhlIG1pc3VzZSBvZiB0aGUgQVBJIGFuZCBnaXZlIHByb3BlciBkaXJlY3Rpb25cbiAgaWYgKGlzTmFOKE51bWJlcihxdWVyeSkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB1c2VTdGF0aWNRdWVyeSB3YXMgY2FsbGVkIHdpdGggYSBzdHJpbmcgYnV0IGV4cGVjdHMgdG8gYmUgY2FsbGVkIHVzaW5nIFxcYGdyYXBocWxcXGAuIFRyeSB0aGlzOlxuXG5pbXBvcnQgeyB1c2VTdGF0aWNRdWVyeSwgZ3JhcGhxbCB9IGZyb20gJ2dhdHNieSc7XG5cbnVzZVN0YXRpY1F1ZXJ5KGdyYXBocWxcXGAke3F1ZXJ5fVxcYCk7XG5gKVxuICB9XG5cbiAgaWYgKGNvbnRleHRbcXVlcnldPy5kYXRhKSB7XG4gICAgcmV0dXJuIGNvbnRleHRbcXVlcnldLmRhdGFcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIHJlc3VsdCBvZiB0aGlzIFN0YXRpY1F1ZXJ5IGNvdWxkIG5vdCBiZSBmZXRjaGVkLlxcblxcbmAgK1xuICAgICAgICBgVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gR2F0c2J5IGFuZCBpZiByZWZyZXNoaW5nIHRoZSBwYWdlIGRvZXMgbm90IGZpeCBpdCwgYCArXG4gICAgICAgIGBwbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBodHRwczovL2dpdGh1Yi5jb20vZ2F0c2J5anMvZ2F0c2J5L2lzc3Vlc2BcbiAgICApXG4gIH1cbn1cblxuU3RhdGljUXVlcnkucHJvcFR5cGVzID0ge1xuICBkYXRhOiBQcm9wVHlwZXMub2JqZWN0LFxuICBxdWVyeTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICByZW5kZXI6IFByb3BUeXBlcy5mdW5jLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLmZ1bmMsXG59XG5cbmZ1bmN0aW9uIGdyYXBocWwoKSB7XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBgSXQgYXBwZWFycyBsaWtlIEdhdHNieSBpcyBtaXNjb25maWd1cmVkLiBHYXRzYnkgcmVsYXRlZCBcXGBncmFwaHFsXFxgIGNhbGxzIGAgK1xuICAgICAgYGFyZSBzdXBwb3NlZCB0byBvbmx5IGJlIGV2YWx1YXRlZCBhdCBjb21waWxlIHRpbWUsIGFuZCB0aGVuIGNvbXBpbGVkIGF3YXkuIGAgK1xuICAgICAgYFVuZm9ydHVuYXRlbHksIHNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB0aGUgcXVlcnkgd2FzIGxlZnQgaW4gdGhlIGNvbXBpbGVkIGNvZGUuXFxuXFxuYCArXG4gICAgICBgVW5sZXNzIHlvdXIgc2l0ZSBoYXMgYSBjb21wbGV4IG9yIGN1c3RvbSBiYWJlbC9HYXRzYnkgY29uZmlndXJhdGlvbiB0aGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBHYXRzYnkuYFxuICApXG59XG5cbmV4cG9ydCB7XG4gIExpbmssXG4gIHdpdGhBc3NldFByZWZpeCxcbiAgd2l0aFByZWZpeCxcbiAgZ3JhcGhxbCxcbiAgcGFyc2VQYXRoLFxuICBuYXZpZ2F0ZSxcbiAgdXNlU2Nyb2xsUmVzdG9yYXRpb24sXG4gIFN0YXRpY1F1ZXJ5Q29udGV4dCxcbiAgU3RhdGljUXVlcnksXG4gIFBhZ2VSZW5kZXJlcixcbiAgdXNlU3RhdGljUXVlcnksXG4gIHByZWZldGNoUGF0aG5hbWUsXG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5444\n')},8741:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n "uQ": function() { return /* binding */ PageResourceStatus; },\n "kL": function() { return /* binding */ ProdLoader; },\n "ZP": function() { return /* binding */ loader; },\n "hs": function() { return /* binding */ getStaticQueryResults; },\n "jN": function() { return /* binding */ publicLoader; },\n "N1": function() { return /* binding */ setLoader; }\n});\n\n// UNUSED EXPORTS: BaseLoader\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\nvar inheritsLoose = __webpack_require__(1788);\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 5 modules\nvar toConsumableArray = __webpack_require__(18);\n;// CONCATENATED MODULE: ./.cache/prefetch.js\nvar support=function support(feature){if(typeof document==="undefined"){return false;}var fakeLink=document.createElement("link");try{if(fakeLink.relList&&typeof fakeLink.relList.supports==="function"){return fakeLink.relList.supports(feature);}}catch(err){return false;}return false;};var linkPrefetchStrategy=function linkPrefetchStrategy(url,options){return new Promise(function(resolve,reject){if(typeof document==="undefined"){reject();return;}var link=document.createElement("link");link.setAttribute("rel","prefetch");link.setAttribute("href",url);Object.keys(options).forEach(function(key){link.setAttribute(key,options[key]);});link.onload=resolve;link.onerror=reject;var parentElement=document.getElementsByTagName("head")[0]||document.getElementsByName("script")[0].parentNode;parentElement.appendChild(link);});};var xhrPrefetchStrategy=function xhrPrefetchStrategy(url){return new Promise(function(resolve,reject){var req=new XMLHttpRequest();req.open("GET",url,true);req.onload=function(){if(req.status===200){resolve();}else{reject();}};req.send(null);});};var supportedPrefetchStrategy=support("prefetch")?linkPrefetchStrategy:xhrPrefetchStrategy;var preFetched={};var prefetch=function prefetch(url,options){return new Promise(function(resolve){if(preFetched[url]){resolve();return;}supportedPrefetchStrategy(url,options).then(function(){resolve();preFetched[url]=true;}).catch(function(){});// 404s are logged to the console anyway\n});};/* harmony default export */ var _cache_prefetch = (prefetch);\n// EXTERNAL MODULE: ./.cache/emitter.js + 1 modules\nvar emitter = __webpack_require__(8110);\n// EXTERNAL MODULE: ./.cache/find-path.js + 1 modules\nvar find_path = __webpack_require__(2257);\n;// CONCATENATED MODULE: ./.cache/loader.js\n/**\n * Available resource loading statuses\n */var PageResourceStatus={/**\n * At least one of critical resources failed to load\n */Error:"error",/**\n * Resources loaded successfully\n */Success:"success"};var preferDefault=function preferDefault(m){return m&&m.default||m;};var stripSurroundingSlashes=function stripSurroundingSlashes(s){s=s[0]==="/"?s.slice(1):s;s=s.endsWith("/")?s.slice(0,-1):s;return s;};var createPageDataUrl=function createPageDataUrl(path){var fixedPath=path==="/"?"index":stripSurroundingSlashes(path);return ""+"/page-data/"+fixedPath+"/page-data.json";};function doFetch(url,method){if(method===void 0){method="GET";}return new Promise(function(resolve,reject){var req=new XMLHttpRequest();req.open(method,url,true);req.onreadystatechange=function(){if(req.readyState==4){resolve(req);}};req.send(null);});}var doesConnectionSupportPrefetch=function doesConnectionSupportPrefetch(){if("connection"in navigator&&typeof navigator.connection!=="undefined"){if((navigator.connection.effectiveType||"").includes("2g")){return false;}if(navigator.connection.saveData){return false;}}return true;};var toPageResources=function toPageResources(pageData,component){if(component===void 0){component=null;}var page={componentChunkName:pageData.componentChunkName,path:pageData.path,webpackCompilationHash:pageData.webpackCompilationHash,matchPath:pageData.matchPath,staticQueryHashes:pageData.staticQueryHashes};return{component:component,json:pageData.result,page:page};};var BaseLoader=/*#__PURE__*/function(){function BaseLoader(loadComponent,matchPaths){this.inFlightNetworkRequests=new Map();// Map of pagePath -> Page. Where Page is an object with: {\n// status: PageResourceStatus.Success || PageResourceStatus.Error,\n// payload: PageResources, // undefined if PageResourceStatus.Error\n// }\n// PageResources is {\n// component,\n// json: pageData.result,\n// page: {\n// componentChunkName,\n// path,\n// webpackCompilationHash,\n// staticQueryHashes\n// },\n// staticQueryResults\n// }\nthis.pageDb=new Map();this.inFlightDb=new Map();this.staticQueryDb={};this.pageDataDb=new Map();this.prefetchTriggered=new Set();this.prefetchCompleted=new Set();this.loadComponent=loadComponent;(0,find_path/* setMatchPaths */.DS)(matchPaths);}var _proto=BaseLoader.prototype;_proto.memoizedGet=function memoizedGet(url){var _this=this;var inFlightPromise=this.inFlightNetworkRequests.get(url);if(!inFlightPromise){inFlightPromise=doFetch(url,"GET");this.inFlightNetworkRequests.set(url,inFlightPromise);}// Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\nreturn inFlightPromise.then(function(response){_this.inFlightNetworkRequests.delete(url);return response;}).catch(function(err){_this.inFlightNetworkRequests.delete(url);throw err;});};_proto.setApiRunner=function setApiRunner(apiRunner){this.apiRunner=apiRunner;this.prefetchDisabled=apiRunner("disableCorePrefetching").some(function(a){return a;});};_proto.fetchPageDataJson=function fetchPageDataJson(loadObj){var _this2=this;var pagePath=loadObj.pagePath,_loadObj$retries=loadObj.retries,retries=_loadObj$retries===void 0?0:_loadObj$retries;var url=createPageDataUrl(pagePath);return this.memoizedGet(url).then(function(req){var status=req.status,responseText=req.responseText;// Handle 200\nif(status===200){try{var jsonPayload=JSON.parse(responseText);if(jsonPayload.path===undefined){throw new Error("not a valid pageData response");}return Object.assign(loadObj,{status:PageResourceStatus.Success,payload:jsonPayload});}catch(err){// continue regardless of error\n}}// Handle 404\nif(status===404||status===200){// If the request was for a 404 page and it doesn\'t exist, we\'re done\nif(pagePath==="/404.html"){return Object.assign(loadObj,{status:PageResourceStatus.Error});}// Need some code here to cache the 404 request. In case\n// multiple loadPageDataJsons result in 404s\nreturn _this2.fetchPageDataJson(Object.assign(loadObj,{pagePath:"/404.html",notFound:true}));}// handle 500 response (Unrecoverable)\nif(status===500){return Object.assign(loadObj,{status:PageResourceStatus.Error});}// Handle everything else, including status === 0, and 503s. Should retry\nif(retries<3){return _this2.fetchPageDataJson(Object.assign(loadObj,{retries:retries+1}));}// Retried 3 times already, result is an error.\nreturn Object.assign(loadObj,{status:PageResourceStatus.Error});});};_proto.loadPageDataJson=function loadPageDataJson(rawPath){var _this3=this;var pagePath=(0,find_path/* findPath */.Cj)(rawPath);if(this.pageDataDb.has(pagePath)){var pageData=this.pageDataDb.get(pagePath);if(true){return Promise.resolve(pageData);}}return this.fetchPageDataJson({pagePath:pagePath}).then(function(pageData){_this3.pageDataDb.set(pagePath,pageData);return pageData;});};_proto.findMatchPath=function findMatchPath(rawPath){return (0,find_path/* findMatchPath */.UD)(rawPath);}// TODO check all uses of this and whether they use undefined for page resources not exist\n;_proto.loadPage=function loadPage(rawPath){var _this4=this;var pagePath=(0,find_path/* findPath */.Cj)(rawPath);if(this.pageDb.has(pagePath)){var page=this.pageDb.get(pagePath);if(true){if(page.error){return{error:page.error,status:page.status};}return Promise.resolve(page.payload);}}if(this.inFlightDb.has(pagePath)){return this.inFlightDb.get(pagePath);}var inFlightPromise=Promise.all([this.loadAppData(),this.loadPageDataJson(pagePath)]).then(function(allData){var result=allData[1];if(result.status===PageResourceStatus.Error){return{status:PageResourceStatus.Error};}var pageData=result.payload;var _pageData=pageData,componentChunkName=_pageData.componentChunkName,_pageData$staticQuery=_pageData.staticQueryHashes,staticQueryHashes=_pageData$staticQuery===void 0?[]:_pageData$staticQuery;var finalResult={};var componentChunkPromise=_this4.loadComponent(componentChunkName).then(function(component){finalResult.createdAt=new Date();var pageResources;if(!component||component instanceof Error){finalResult.status=PageResourceStatus.Error;finalResult.error=component;}else{finalResult.status=PageResourceStatus.Success;if(result.notFound===true){finalResult.notFound=true;}pageData=Object.assign(pageData,{webpackCompilationHash:allData[0]?allData[0].webpackCompilationHash:""});pageResources=toPageResources(pageData,component);}// undefined if final result is an error\nreturn pageResources;});var staticQueryBatchPromise=Promise.all(staticQueryHashes.map(function(staticQueryHash){// Check for cache in case this static query result has already been loaded\nif(_this4.staticQueryDb[staticQueryHash]){var jsonPayload=_this4.staticQueryDb[staticQueryHash];return{staticQueryHash:staticQueryHash,jsonPayload:jsonPayload};}return _this4.memoizedGet(""+"/page-data/sq/d/"+staticQueryHash+".json").then(function(req){var jsonPayload=JSON.parse(req.responseText);return{staticQueryHash:staticQueryHash,jsonPayload:jsonPayload};}).catch(function(){throw new Error("We couldn\'t load \\""+""+"/page-data/sq/d/"+staticQueryHash+".json\\"");});})).then(function(staticQueryResults){var staticQueryResultsMap={};staticQueryResults.forEach(function(_ref){var staticQueryHash=_ref.staticQueryHash,jsonPayload=_ref.jsonPayload;staticQueryResultsMap[staticQueryHash]=jsonPayload;_this4.staticQueryDb[staticQueryHash]=jsonPayload;});return staticQueryResultsMap;});return Promise.all([componentChunkPromise,staticQueryBatchPromise]).then(function(_ref2){var pageResources=_ref2[0],staticQueryResults=_ref2[1];var payload;if(pageResources){payload=Object.assign({},pageResources,{staticQueryResults:staticQueryResults});finalResult.payload=payload;emitter/* default.emit */.Z.emit("onPostLoadPageResources",{page:payload,pageResources:payload});}_this4.pageDb.set(pagePath,finalResult);if(finalResult.error){return{error:finalResult.error,status:finalResult.status};}return payload;})// when static-query fail to load we throw a better error\n.catch(function(err){return{error:err,status:PageResourceStatus.Error};});});inFlightPromise.then(function(){_this4.inFlightDb.delete(pagePath);}).catch(function(error){_this4.inFlightDb.delete(pagePath);throw error;});this.inFlightDb.set(pagePath,inFlightPromise);return inFlightPromise;}// returns undefined if the page does not exists in cache\n;_proto.loadPageSync=function loadPageSync(rawPath,options){if(options===void 0){options={};}var pagePath=(0,find_path/* findPath */.Cj)(rawPath);if(this.pageDb.has(pagePath)){var _options;var pageData=this.pageDb.get(pagePath);if(pageData.payload){return pageData.payload;}if((_options=options)!==null&&_options!==void 0&&_options.withErrorDetails){return{error:pageData.error,status:pageData.status};}}return undefined;};_proto.shouldPrefetch=function shouldPrefetch(pagePath){// Skip prefetching if we know user is on slow or constrained connection\nif(!doesConnectionSupportPrefetch()){return false;}// Check if the page exists.\nif(this.pageDb.has(pagePath)){return false;}return true;};_proto.prefetch=function prefetch(pagePath){var _this5=this;if(!this.shouldPrefetch(pagePath)){return false;}// Tell plugins with custom prefetching logic that they should start\n// prefetching this path.\nif(!this.prefetchTriggered.has(pagePath)){this.apiRunner("onPrefetchPathname",{pathname:pagePath});this.prefetchTriggered.add(pagePath);}// If a plugin has disabled core prefetching, stop now.\nif(this.prefetchDisabled){return false;}var realPath=(0,find_path/* findPath */.Cj)(pagePath);// Todo make doPrefetch logic cacheable\n// eslint-disable-next-line consistent-return\nthis.doPrefetch(realPath).then(function(){if(!_this5.prefetchCompleted.has(pagePath)){_this5.apiRunner("onPostPrefetchPathname",{pathname:pagePath});_this5.prefetchCompleted.add(pagePath);}});return true;};_proto.doPrefetch=function doPrefetch(pagePath){var _this6=this;var pageDataUrl=createPageDataUrl(pagePath);return _cache_prefetch(pageDataUrl,{crossOrigin:"anonymous",as:"fetch"}).then(function(){return(// This was just prefetched, so will return a response from\n// the cache instead of making another request to the server\n_this6.loadPageDataJson(pagePath));});};_proto.hovering=function hovering(rawPath){this.loadPage(rawPath);};_proto.getResourceURLsForPathname=function getResourceURLsForPathname(rawPath){var pagePath=(0,find_path/* findPath */.Cj)(rawPath);var page=this.pageDataDb.get(pagePath);if(page){var pageResources=toPageResources(page.payload);return[].concat((0,toConsumableArray/* default */.Z)(createComponentUrls(pageResources.page.componentChunkName)),[createPageDataUrl(pagePath)]);}else{return null;}};_proto.isPageNotFound=function isPageNotFound(rawPath){var pagePath=(0,find_path/* findPath */.Cj)(rawPath);var page=this.pageDb.get(pagePath);return!page||page.notFound;};_proto.loadAppData=function loadAppData(retries){var _this7=this;if(retries===void 0){retries=0;}return this.memoizedGet(""+"/page-data/app-data.json").then(function(req){var status=req.status,responseText=req.responseText;var appData;if(status!==200&&retries<3){// Retry 3 times incase of non-200 responses\nreturn _this7.loadAppData(retries+1);}// Handle 200\nif(status===200){try{var jsonPayload=JSON.parse(responseText);if(jsonPayload.webpackCompilationHash===undefined){throw new Error("not a valid app-data response");}appData=jsonPayload;}catch(err){// continue regardless of error\n}}return appData;});};return BaseLoader;}();var createComponentUrls=function createComponentUrls(componentChunkName){return(window.___chunkMapping[componentChunkName]||[]).map(function(chunk){return ""+chunk;});};var ProdLoader=/*#__PURE__*/function(_BaseLoader){(0,inheritsLoose/* default */.Z)(ProdLoader,_BaseLoader);function ProdLoader(asyncRequires,matchPaths){var loadComponent=function loadComponent(chunkName){if(!asyncRequires.components[chunkName]){throw new Error("We couldn\'t find the correct component chunk with the name "+chunkName);}return asyncRequires.components[chunkName]().then(preferDefault)// loader will handle the case when component is error\n.catch(function(err){return err;});};return _BaseLoader.call(this,loadComponent,matchPaths)||this;}var _proto2=ProdLoader.prototype;_proto2.doPrefetch=function doPrefetch(pagePath){return _BaseLoader.prototype.doPrefetch.call(this,pagePath).then(function(result){if(result.status!==PageResourceStatus.Success){return Promise.resolve();}var pageData=result.payload;var chunkName=pageData.componentChunkName;var componentUrls=createComponentUrls(chunkName);return Promise.all(componentUrls.map(_cache_prefetch)).then(function(){return pageData;});});};_proto2.loadPageDataJson=function loadPageDataJson(rawPath){return _BaseLoader.prototype.loadPageDataJson.call(this,rawPath).then(function(data){if(data.notFound){// check if html file exist using HEAD request:\n// if it does we should navigate to it instead of showing 404\nreturn doFetch(rawPath,"HEAD").then(function(req){if(req.status===200){// page (.html file) actually exist (or we asked for 404 )\n// returning page resources status as errored to trigger\n// regular browser navigation to given page\nreturn{status:PageResourceStatus.Error};}// if HEAD request wasn\'t 200, return notFound result\n// and show 404 page\nreturn data;});}return data;});};return ProdLoader;}(BaseLoader);var instance;var setLoader=function setLoader(_loader){instance=_loader;};var publicLoader={enqueue:function enqueue(rawPath){return instance.prefetch(rawPath);},// Real methods\ngetResourceURLsForPathname:function getResourceURLsForPathname(rawPath){return instance.getResourceURLsForPathname(rawPath);},loadPage:function loadPage(rawPath){return instance.loadPage(rawPath);},// TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\nloadPageSync:function loadPageSync(rawPath,options){if(options===void 0){options={};}return instance.loadPageSync(rawPath,options);},prefetch:function prefetch(rawPath){return instance.prefetch(rawPath);},isPageNotFound:function isPageNotFound(rawPath){return instance.isPageNotFound(rawPath);},hovering:function hovering(rawPath){return instance.hovering(rawPath);},loadAppData:function loadAppData(){return instance.loadAppData();}};/* harmony default export */ var loader = (publicLoader);function getStaticQueryResults(){if(instance){return instance.staticQueryDb;}else{return{};}}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9wcmVmZXRjaC5qcz9hOTNiIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vLmNhY2hlL2xvYWRlci5qcz83YTYxIl0sIm5hbWVzIjpbInN1cHBvcnQiLCJmZWF0dXJlIiwiZG9jdW1lbnQiLCJmYWtlTGluayIsImNyZWF0ZUVsZW1lbnQiLCJyZWxMaXN0Iiwic3VwcG9ydHMiLCJlcnIiLCJsaW5rUHJlZmV0Y2hTdHJhdGVneSIsInVybCIsIm9wdGlvbnMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImxpbmsiLCJzZXRBdHRyaWJ1dGUiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsIm9ubG9hZCIsIm9uZXJyb3IiLCJwYXJlbnRFbGVtZW50IiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJnZXRFbGVtZW50c0J5TmFtZSIsInBhcmVudE5vZGUiLCJhcHBlbmRDaGlsZCIsInhoclByZWZldGNoU3RyYXRlZ3kiLCJyZXEiLCJYTUxIdHRwUmVxdWVzdCIsIm9wZW4iLCJzdGF0dXMiLCJzZW5kIiwic3VwcG9ydGVkUHJlZmV0Y2hTdHJhdGVneSIsInByZUZldGNoZWQiLCJwcmVmZXRjaCIsInRoZW4iLCJjYXRjaCIsIlBhZ2VSZXNvdXJjZVN0YXR1cyIsIkVycm9yIiwiU3VjY2VzcyIsInByZWZlckRlZmF1bHQiLCJtIiwiZGVmYXVsdCIsInN0cmlwU3Vycm91bmRpbmdTbGFzaGVzIiwicyIsInNsaWNlIiwiZW5kc1dpdGgiLCJjcmVhdGVQYWdlRGF0YVVybCIsInBhdGgiLCJmaXhlZFBhdGgiLCJfX1BBVEhfUFJFRklYX18iLCJkb0ZldGNoIiwibWV0aG9kIiwib25yZWFkeXN0YXRlY2hhbmdlIiwicmVhZHlTdGF0ZSIsImRvZXNDb25uZWN0aW9uU3VwcG9ydFByZWZldGNoIiwibmF2aWdhdG9yIiwiY29ubmVjdGlvbiIsImVmZmVjdGl2ZVR5cGUiLCJpbmNsdWRlcyIsInNhdmVEYXRhIiwidG9QYWdlUmVzb3VyY2VzIiwicGFnZURhdGEiLCJjb21wb25lbnQiLCJwYWdlIiwiY29tcG9uZW50Q2h1bmtOYW1lIiwid2VicGFja0NvbXBpbGF0aW9uSGFzaCIsIm1hdGNoUGF0aCIsInN0YXRpY1F1ZXJ5SGFzaGVzIiwianNvbiIsInJlc3VsdCIsIkJhc2VMb2FkZXIiLCJsb2FkQ29tcG9uZW50IiwibWF0Y2hQYXRocyIsImluRmxpZ2h0TmV0d29ya1JlcXVlc3RzIiwiTWFwIiwicGFnZURiIiwiaW5GbGlnaHREYiIsInN0YXRpY1F1ZXJ5RGIiLCJwYWdlRGF0YURiIiwicHJlZmV0Y2hUcmlnZ2VyZWQiLCJTZXQiLCJwcmVmZXRjaENvbXBsZXRlZCIsInNldE1hdGNoUGF0aHMiLCJtZW1vaXplZEdldCIsImluRmxpZ2h0UHJvbWlzZSIsImdldCIsInNldCIsInJlc3BvbnNlIiwiZGVsZXRlIiwic2V0QXBpUnVubmVyIiwiYXBpUnVubmVyIiwicHJlZmV0Y2hEaXNhYmxlZCIsInNvbWUiLCJhIiwiZmV0Y2hQYWdlRGF0YUpzb24iLCJsb2FkT2JqIiwicGFnZVBhdGgiLCJyZXRyaWVzIiwicmVzcG9uc2VUZXh0IiwianNvblBheWxvYWQiLCJKU09OIiwicGFyc2UiLCJ1bmRlZmluZWQiLCJhc3NpZ24iLCJwYXlsb2FkIiwibm90Rm91bmQiLCJsb2FkUGFnZURhdGFKc29uIiwicmF3UGF0aCIsImZpbmRQYXRoIiwiaGFzIiwicHJvY2VzcyIsImZpbmRNYXRjaFBhdGgiLCJsb2FkUGFnZSIsImVycm9yIiwiYWxsIiwibG9hZEFwcERhdGEiLCJhbGxEYXRhIiwiZmluYWxSZXN1bHQiLCJjb21wb25lbnRDaHVua1Byb21pc2UiLCJjcmVhdGVkQXQiLCJEYXRlIiwicGFnZVJlc291cmNlcyIsInN0YXRpY1F1ZXJ5QmF0Y2hQcm9taXNlIiwibWFwIiwic3RhdGljUXVlcnlIYXNoIiwic3RhdGljUXVlcnlSZXN1bHRzIiwic3RhdGljUXVlcnlSZXN1bHRzTWFwIiwiZW1pdHRlciIsImxvYWRQYWdlU3luYyIsIndpdGhFcnJvckRldGFpbHMiLCJzaG91bGRQcmVmZXRjaCIsInBhdGhuYW1lIiwiYWRkIiwicmVhbFBhdGgiLCJkb1ByZWZldGNoIiwicGFnZURhdGFVcmwiLCJwcmVmZXRjaEhlbHBlciIsImNyb3NzT3JpZ2luIiwiYXMiLCJob3ZlcmluZyIsImdldFJlc291cmNlVVJMc0ZvclBhdGhuYW1lIiwiY3JlYXRlQ29tcG9uZW50VXJscyIsImlzUGFnZU5vdEZvdW5kIiwiYXBwRGF0YSIsIndpbmRvdyIsIl9fX2NodW5rTWFwcGluZyIsImNodW5rIiwiUHJvZExvYWRlciIsImFzeW5jUmVxdWlyZXMiLCJjaHVua05hbWUiLCJjb21wb25lbnRzIiwiY29tcG9uZW50VXJscyIsImRhdGEiLCJpbnN0YW5jZSIsInNldExvYWRlciIsIl9sb2FkZXIiLCJwdWJsaWNMb2FkZXIiLCJlbnF1ZXVlIiwiZ2V0U3RhdGljUXVlcnlSZXN1bHRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxHQUFNQSxRQUFPLENBQUcsUUFBVkEsUUFBVSxDQUFVQyxPQUFWLENBQW1CLENBQ2pDLEdBQUksTUFBT0MsU0FBUCxjQUFKLENBQXFDLENBQ25DLE1BQU8sTUFBUCxDQUNELENBQ0QsR0FBTUMsU0FBUSxDQUFHRCxRQUFRLENBQUNFLGFBQVQsUUFBakIsQ0FDQSxHQUFJLENBQ0YsR0FBSUQsUUFBUSxDQUFDRSxPQUFULEVBQW9CLE1BQU9GLFNBQVEsQ0FBQ0UsT0FBVCxDQUFpQkMsUUFBeEIsYUFBeEIsQ0FBeUUsQ0FDdkUsTUFBT0gsU0FBUSxDQUFDRSxPQUFULENBQWlCQyxRQUFqQixDQUEwQkwsT0FBMUIsQ0FBUCxDQUNELENBQ0YsQ0FBQyxNQUFPTSxHQUFQLENBQVksQ0FDWixNQUFPLE1BQVAsQ0FDRCxDQUNELE1BQU8sTUFBUCxDQUNELENBYkQsQ0FlQSxHQUFNQyxxQkFBb0IsQ0FBRyxRQUF2QkEscUJBQXVCLENBQVVDLEdBQVYsQ0FBZUMsT0FBZixDQUF3QixDQUNuRCxNQUFPLElBQUlDLFFBQUosQ0FBWSxTQUFDQyxPQUFELENBQVVDLE1BQVYsQ0FBcUIsQ0FDdEMsR0FBSSxNQUFPWCxTQUFQLGNBQUosQ0FBcUMsQ0FDbkNXLE1BQU0sR0FDTixPQUNELENBRUQsR0FBTUMsS0FBSSxDQUFHWixRQUFRLENBQUNFLGFBQVQsUUFBYixDQUNBVSxJQUFJLENBQUNDLFlBQUwsbUJBQ0FELElBQUksQ0FBQ0MsWUFBTCxRQUEwQk4sR0FBMUIsRUFFQU8sTUFBTSxDQUFDQyxJQUFQLENBQVlQLE9BQVosRUFBcUJRLE9BQXJCLENBQTZCLFNBQUFDLEdBQUcsQ0FBSSxDQUNsQ0wsSUFBSSxDQUFDQyxZQUFMLENBQWtCSSxHQUFsQixDQUF1QlQsT0FBTyxDQUFDUyxHQUFELENBQTlCLEVBQ0QsQ0FGRCxFQUlBTCxJQUFJLENBQUNNLE1BQUwsQ0FBY1IsT0FBZCxDQUNBRSxJQUFJLENBQUNPLE9BQUwsQ0FBZVIsTUFBZixDQUVBLEdBQU1TLGNBQWEsQ0FDakJwQixRQUFRLENBQUNxQixvQkFBVCxTQUFzQyxDQUF0QyxHQUNBckIsUUFBUSxDQUFDc0IsaUJBQVQsV0FBcUMsQ0FBckMsRUFBd0NDLFVBRjFDLENBR0FILGFBQWEsQ0FBQ0ksV0FBZCxDQUEwQlosSUFBMUIsRUFDRCxDQXJCTSxDQUFQLENBc0JELENBdkJELENBeUJBLEdBQU1hLG9CQUFtQixDQUFHLFFBQXRCQSxvQkFBc0IsQ0FBVWxCLEdBQVYsQ0FBZSxDQUN6QyxNQUFPLElBQUlFLFFBQUosQ0FBWSxTQUFDQyxPQUFELENBQVVDLE1BQVYsQ0FBcUIsQ0FDdEMsR0FBTWUsSUFBRyxDQUFHLEdBQUlDLGVBQUosRUFBWixDQUNBRCxHQUFHLENBQUNFLElBQUosT0FBZ0JyQixHQUFoQixDQUFxQixJQUFyQixFQUVBbUIsR0FBRyxDQUFDUixNQUFKLENBQWEsVUFBTSxDQUNqQixHQUFJUSxHQUFHLENBQUNHLE1BQUosR0FBZSxHQUFuQixDQUF3QixDQUN0Qm5CLE9BQU8sR0FDUixDQUZELElBRU8sQ0FDTEMsTUFBTSxHQUNQLENBQ0YsQ0FORCxDQVFBZSxHQUFHLENBQUNJLElBQUosQ0FBUyxJQUFULEVBQ0QsQ0FiTSxDQUFQLENBY0QsQ0FmRCxDQWlCQSxHQUFNQywwQkFBeUIsQ0FBR2pDLE9BQU8sWUFBUCxDQUM5QlEsb0JBRDhCLENBRTlCbUIsbUJBRkosQ0FJQSxHQUFNTyxXQUFVLENBQUcsRUFBbkIsQ0FFQSxHQUFNQyxTQUFRLENBQUcsUUFBWEEsU0FBVyxDQUFVMUIsR0FBVixDQUFlQyxPQUFmLENBQXdCLENBQ3ZDLE1BQU8sSUFBSUMsUUFBSixDQUFZLFNBQUFDLE9BQU8sQ0FBSSxDQUM1QixHQUFJc0IsVUFBVSxDQUFDekIsR0FBRCxDQUFkLENBQXFCLENBQ25CRyxPQUFPLEdBQ1AsT0FDRCxDQUVEcUIseUJBQXlCLENBQUN4QixHQUFELENBQU1DLE9BQU4sQ0FBekIsQ0FDRzBCLElBREgsQ0FDUSxVQUFNLENBQ1Z4QixPQUFPLEdBQ1BzQixVQUFVLENBQUN6QixHQUFELENBQVYsQ0FBa0IsSUFBbEIsQ0FDRCxDQUpILEVBS0c0QixLQUxILENBS1MsVUFBTSxDQUFFLENBTGpCLEVBS21CO0FBQ3BCLENBWk0sQ0FBUCxDQWFELENBZEQsQ0FnQkEsb0RBQWVGLFFBQWYsRTs7Ozs7O0FDM0VBO0FBQ0E7QUFDQSxHQUNPLEdBQU1HLG1CQUFrQixDQUFHLENBQ2hDO0FBQ0Y7QUFDQSxLQUNFQyxLQUFLLFFBSjJCLENBS2hDO0FBQ0Y7QUFDQSxLQUNFQyxPQUFPLFVBUnlCLENBQTNCLENBV1AsR0FBTUMsY0FBYSxDQUFHLFFBQWhCQSxjQUFnQixDQUFBQyxDQUFDLFFBQUtBLEVBQUMsRUFBSUEsQ0FBQyxDQUFDQyxPQUFSLEVBQW9CRCxDQUF4QixFQUF2QixDQUVBLEdBQU1FLHdCQUF1QixDQUFHLFFBQTFCQSx3QkFBMEIsQ0FBQUMsQ0FBQyxDQUFJLENBQ25DQSxDQUFDLENBQUdBLENBQUMsQ0FBQyxDQUFELENBQUQsT0FBZUEsQ0FBQyxDQUFDQyxLQUFGLENBQVEsQ0FBUixDQUFmLENBQTRCRCxDQUFoQyxDQUNBQSxDQUFDLENBQUdBLENBQUMsQ0FBQ0UsUUFBRixNQUFrQkYsQ0FBQyxDQUFDQyxLQUFGLENBQVEsQ0FBUixDQUFXLENBQUMsQ0FBWixDQUFsQixDQUFtQ0QsQ0FBdkMsQ0FDQSxNQUFPQSxFQUFQLENBQ0QsQ0FKRCxDQU1BLEdBQU1HLGtCQUFpQixDQUFHLFFBQXBCQSxrQkFBb0IsQ0FBQUMsSUFBSSxDQUFJLENBQ2hDLEdBQU1DLFVBQVMsQ0FBR0QsSUFBSSxNQUFKLFNBQXlCTCx1QkFBdUIsQ0FBQ0ssSUFBRCxDQUFsRSxDQUNBLE1BQVVFLEdBQVYsZUFBdUNELFNBQXZDLG1CQUNELENBSEQsQ0FLQSxRQUFTRSxRQUFULENBQWlCM0MsR0FBakIsQ0FBc0I0QyxNQUF0QixDQUFzQyxJQUFoQkEsTUFBZ0IsV0FBaEJBLE1BQWdCLFFBQ3BDLE1BQU8sSUFBSTFDLFFBQUosQ0FBWSxTQUFDQyxPQUFELENBQVVDLE1BQVYsQ0FBcUIsQ0FDdEMsR0FBTWUsSUFBRyxDQUFHLEdBQUlDLGVBQUosRUFBWixDQUNBRCxHQUFHLENBQUNFLElBQUosQ0FBU3VCLE1BQVQsQ0FBaUI1QyxHQUFqQixDQUFzQixJQUF0QixFQUNBbUIsR0FBRyxDQUFDMEIsa0JBQUosQ0FBeUIsVUFBTSxDQUM3QixHQUFJMUIsR0FBRyxDQUFDMkIsVUFBSixFQUFrQixDQUF0QixDQUF5QixDQUN2QjNDLE9BQU8sQ0FBQ2dCLEdBQUQsQ0FBUCxDQUNELENBQ0YsQ0FKRCxDQUtBQSxHQUFHLENBQUNJLElBQUosQ0FBUyxJQUFULEVBQ0QsQ0FUTSxDQUFQLENBVUQsQ0FFRCxHQUFNd0IsOEJBQTZCLENBQUcsUUFBaENBLDhCQUFnQyxFQUFNLENBQzFDLEdBQ0UsY0FBZ0JDLFVBQWhCLEVBQ0EsTUFBT0EsVUFBUyxDQUFDQyxVQUFqQixjQUZGLENBR0UsQ0FDQSxHQUFJLENBQUNELFNBQVMsQ0FBQ0MsVUFBVixDQUFxQkMsYUFBckIsSUFBRCxFQUEyQ0MsUUFBM0MsTUFBSixDQUErRCxDQUM3RCxNQUFPLE1BQVAsQ0FDRCxDQUNELEdBQUlILFNBQVMsQ0FBQ0MsVUFBVixDQUFxQkcsUUFBekIsQ0FBbUMsQ0FDakMsTUFBTyxNQUFQLENBQ0QsQ0FDRixDQUNELE1BQU8sS0FBUCxDQUNELENBYkQsQ0FlQSxHQUFNQyxnQkFBZSxDQUFHLFFBQWxCQSxnQkFBa0IsQ0FBQ0MsUUFBRCxDQUFXQyxTQUFYLENBQWdDLElBQXJCQSxTQUFxQixXQUFyQkEsU0FBcUIsQ0FBVCxJQUFTLEVBQ3RELEdBQU1DLEtBQUksQ0FBRyxDQUNYQyxrQkFBa0IsQ0FBRUgsUUFBUSxDQUFDRyxrQkFEbEIsQ0FFWGpCLElBQUksQ0FBRWMsUUFBUSxDQUFDZCxJQUZKLENBR1hrQixzQkFBc0IsQ0FBRUosUUFBUSxDQUFDSSxzQkFIdEIsQ0FJWEMsU0FBUyxDQUFFTCxRQUFRLENBQUNLLFNBSlQsQ0FLWEMsaUJBQWlCLENBQUVOLFFBQVEsQ0FBQ00saUJBTGpCLENBQWIsQ0FRQSxNQUFPLENBQ0xMLFNBQVMsQ0FBVEEsU0FESyxDQUVMTSxJQUFJLENBQUVQLFFBQVEsQ0FBQ1EsTUFGVixDQUdMTixJQUFJLENBQUpBLElBSEssQ0FBUCxDQUtELENBZEQsQ0FnQk8sR0FBTU8sV0FBYix5QkFDRSxvQkFBWUMsYUFBWixDQUEyQkMsVUFBM0IsQ0FBdUMsTUEwQnZDQyx1QkExQnVDLENBMEJiLEdBQUlDLElBQUosRUExQmEsQ0FDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBS0MsTUFBTCxDQUFjLEdBQUlELElBQUosRUFBZCxDQUNBLEtBQUtFLFVBQUwsQ0FBa0IsR0FBSUYsSUFBSixFQUFsQixDQUNBLEtBQUtHLGFBQUwsQ0FBcUIsRUFBckIsQ0FDQSxLQUFLQyxVQUFMLENBQWtCLEdBQUlKLElBQUosRUFBbEIsQ0FDQSxLQUFLSyxpQkFBTCxDQUF5QixHQUFJQyxJQUFKLEVBQXpCLENBQ0EsS0FBS0MsaUJBQUwsQ0FBeUIsR0FBSUQsSUFBSixFQUF6QixDQUNBLEtBQUtULGFBQUwsQ0FBcUJBLGFBQXJCLENBQ0FXLG1DQUFhLENBQUNWLFVBQUQsQ0FBYixDQUNELENBekJILHVDQTZCRVcsV0E3QkYsQ0E2QkUscUJBQVk1RSxHQUFaLENBQWlCLGdCQUNmLEdBQUk2RSxnQkFBZSxDQUFHLEtBQUtYLHVCQUFMLENBQTZCWSxHQUE3QixDQUFpQzlFLEdBQWpDLENBQXRCLENBRUEsR0FBSSxDQUFDNkUsZUFBTCxDQUFzQixDQUNwQkEsZUFBZSxDQUFHbEMsT0FBTyxDQUFDM0MsR0FBRCxPQUF6QixDQUNBLEtBQUtrRSx1QkFBTCxDQUE2QmEsR0FBN0IsQ0FBaUMvRSxHQUFqQyxDQUFzQzZFLGVBQXRDLEVBQ0QsQ0FFRDtBQUNBLE1BQU9BLGdCQUFlLENBQ25CbEQsSUFESSxDQUNDLFNBQUFxRCxRQUFRLENBQUksQ0FDaEIsS0FBSSxDQUFDZCx1QkFBTCxDQUE2QmUsTUFBN0IsQ0FBb0NqRixHQUFwQyxFQUNBLE1BQU9nRixTQUFQLENBQ0QsQ0FKSSxFQUtKcEQsS0FMSSxDQUtFLFNBQUE5QixHQUFHLENBQUksQ0FDWixLQUFJLENBQUNvRSx1QkFBTCxDQUE2QmUsTUFBN0IsQ0FBb0NqRixHQUFwQyxFQUNBLEtBQU1GLElBQU4sQ0FDRCxDQVJJLENBQVAsQ0FTRCxDQS9DSCxRQWlERW9GLFlBakRGLENBaURFLHNCQUFhQyxTQUFiLENBQXdCLENBQ3RCLEtBQUtBLFNBQUwsQ0FBaUJBLFNBQWpCLENBQ0EsS0FBS0MsZ0JBQUwsQ0FBd0JELFNBQVMsMEJBQVQsQ0FBb0NFLElBQXBDLENBQXlDLFNBQUFDLENBQUMsUUFBSUEsRUFBSixFQUExQyxDQUF4QixDQUNELENBcERILFFBc0RFQyxpQkF0REYsQ0FzREUsMkJBQWtCQyxPQUFsQixDQUEyQixpQkFDekIsR0FBUUMsU0FBUixDQUFrQ0QsT0FBbEMsQ0FBUUMsUUFBUixrQkFBa0NELE9BQWxDLENBQWtCRSxPQUFsQixDQUFrQkEsT0FBbEIsMkJBQTRCLENBQTVCLGtCQUNBLEdBQU0xRixJQUFHLENBQUd1QyxpQkFBaUIsQ0FBQ2tELFFBQUQsQ0FBN0IsQ0FDQSxNQUFPLE1BQUtiLFdBQUwsQ0FBaUI1RSxHQUFqQixFQUFzQjJCLElBQXRCLENBQTJCLFNBQUFSLEdBQUcsQ0FBSSxDQUN2QyxHQUFRRyxPQUFSLENBQWlDSCxHQUFqQyxDQUFRRyxNQUFSLENBQWdCcUUsWUFBaEIsQ0FBaUN4RSxHQUFqQyxDQUFnQndFLFlBQWhCLENBRUE7QUFDQSxHQUFJckUsTUFBTSxHQUFLLEdBQWYsQ0FBb0IsQ0FDbEIsR0FBSSxDQUNGLEdBQU1zRSxZQUFXLENBQUdDLElBQUksQ0FBQ0MsS0FBTCxDQUFXSCxZQUFYLENBQXBCLENBQ0EsR0FBSUMsV0FBVyxDQUFDcEQsSUFBWixHQUFxQnVELFNBQXpCLENBQW9DLENBQ2xDLEtBQU0sSUFBSWpFLE1BQUosaUNBQU4sQ0FDRCxDQUVELE1BQU92QixPQUFNLENBQUN5RixNQUFQLENBQWNSLE9BQWQsQ0FBdUIsQ0FDNUJsRSxNQUFNLENBQUVPLGtCQUFrQixDQUFDRSxPQURDLENBRTVCa0UsT0FBTyxDQUFFTCxXQUZtQixDQUF2QixDQUFQLENBSUQsQ0FBQyxNQUFPOUYsR0FBUCxDQUFZLENBQ1o7QUFDRCxDQUNGLENBRUQ7QUFDQSxHQUFJd0IsTUFBTSxHQUFLLEdBQVgsRUFBa0JBLE1BQU0sR0FBSyxHQUFqQyxDQUFzQyxDQUNwQztBQUNBLEdBQUltRSxRQUFRLGNBQVosQ0FBOEIsQ0FDNUIsTUFBT2xGLE9BQU0sQ0FBQ3lGLE1BQVAsQ0FBY1IsT0FBZCxDQUF1QixDQUM1QmxFLE1BQU0sQ0FBRU8sa0JBQWtCLENBQUNDLEtBREMsQ0FBdkIsQ0FBUCxDQUdELENBRUQ7QUFDQTtBQUNBLE1BQU8sT0FBSSxDQUFDeUQsaUJBQUwsQ0FDTGhGLE1BQU0sQ0FBQ3lGLE1BQVAsQ0FBY1IsT0FBZCxDQUF1QixDQUFFQyxRQUFRLFlBQVYsQ0FBeUJTLFFBQVEsQ0FBRSxJQUFuQyxDQUF2QixDQURLLENBQVAsQ0FHRCxDQUVEO0FBQ0EsR0FBSTVFLE1BQU0sR0FBSyxHQUFmLENBQW9CLENBQ2xCLE1BQU9mLE9BQU0sQ0FBQ3lGLE1BQVAsQ0FBY1IsT0FBZCxDQUF1QixDQUM1QmxFLE1BQU0sQ0FBRU8sa0JBQWtCLENBQUNDLEtBREMsQ0FBdkIsQ0FBUCxDQUdELENBRUQ7QUFDQSxHQUFJNEQsT0FBTyxDQUFHLENBQWQsQ0FBaUIsQ0FDZixNQUFPLE9BQUksQ0FBQ0gsaUJBQUwsQ0FDTGhGLE1BQU0sQ0FBQ3lGLE1BQVAsQ0FBY1IsT0FBZCxDQUF1QixDQUFFRSxPQUFPLENBQUVBLE9BQU8sQ0FBRyxDQUFyQixDQUF2QixDQURLLENBQVAsQ0FHRCxDQUVEO0FBQ0EsTUFBT25GLE9BQU0sQ0FBQ3lGLE1BQVAsQ0FBY1IsT0FBZCxDQUF1QixDQUM1QmxFLE1BQU0sQ0FBRU8sa0JBQWtCLENBQUNDLEtBREMsQ0FBdkIsQ0FBUCxDQUdELENBdERNLENBQVAsQ0F1REQsQ0FoSEgsUUFrSEVxRSxnQkFsSEYsQ0FrSEUsMEJBQWlCQyxPQUFqQixDQUEwQixpQkFDeEIsR0FBTVgsU0FBUSxDQUFHWSw4QkFBUSxDQUFDRCxPQUFELENBQXpCLENBQ0EsR0FBSSxLQUFLN0IsVUFBTCxDQUFnQitCLEdBQWhCLENBQW9CYixRQUFwQixDQUFKLENBQW1DLENBQ2pDLEdBQU1uQyxTQUFRLENBQUcsS0FBS2lCLFVBQUwsQ0FBZ0JPLEdBQWhCLENBQW9CVyxRQUFwQixDQUFqQixDQUNBLEdBQUljLElBQUosQ0FBOEQsQ0FDNUQsTUFBT3JHLFFBQU8sQ0FBQ0MsT0FBUixDQUFnQm1ELFFBQWhCLENBQVAsQ0FDRCxDQUNGLENBRUQsTUFBTyxNQUFLaUMsaUJBQUwsQ0FBdUIsQ0FBRUUsUUFBUSxDQUFSQSxRQUFGLENBQXZCLEVBQXFDOUQsSUFBckMsQ0FBMEMsU0FBQTJCLFFBQVEsQ0FBSSxDQUMzRCxNQUFJLENBQUNpQixVQUFMLENBQWdCUSxHQUFoQixDQUFvQlUsUUFBcEIsQ0FBOEJuQyxRQUE5QixFQUVBLE1BQU9BLFNBQVAsQ0FDRCxDQUpNLENBQVAsQ0FLRCxDQWhJSCxRQWtJRWtELGFBbElGLENBa0lFLHVCQUFjSixPQUFkLENBQXVCLENBQ3JCLE1BQU9JLG9DQUFhLENBQUNKLE9BQUQsQ0FBcEIsQ0FDRCxDQUVEO0FBdElGLFFBdUlFSyxRQXZJRixDQXVJRSxrQkFBU0wsT0FBVCxDQUFrQixpQkFDaEIsR0FBTVgsU0FBUSxDQUFHWSw4QkFBUSxDQUFDRCxPQUFELENBQXpCLENBQ0EsR0FBSSxLQUFLaEMsTUFBTCxDQUFZa0MsR0FBWixDQUFnQmIsUUFBaEIsQ0FBSixDQUErQixDQUM3QixHQUFNakMsS0FBSSxDQUFHLEtBQUtZLE1BQUwsQ0FBWVUsR0FBWixDQUFnQlcsUUFBaEIsQ0FBYixDQUNBLEdBQUljLElBQUosQ0FBa0UsQ0FDaEUsR0FBSS9DLElBQUksQ0FBQ2tELEtBQVQsQ0FBZ0IsQ0FDZCxNQUFPLENBQ0xBLEtBQUssQ0FBRWxELElBQUksQ0FBQ2tELEtBRFAsQ0FFTHBGLE1BQU0sQ0FBRWtDLElBQUksQ0FBQ2xDLE1BRlIsQ0FBUCxDQUlELENBRUQsTUFBT3BCLFFBQU8sQ0FBQ0MsT0FBUixDQUFnQnFELElBQUksQ0FBQ3lDLE9BQXJCLENBQVAsQ0FDRCxDQUNGLENBRUQsR0FBSSxLQUFLNUIsVUFBTCxDQUFnQmlDLEdBQWhCLENBQW9CYixRQUFwQixDQUFKLENBQW1DLENBQ2pDLE1BQU8sTUFBS3BCLFVBQUwsQ0FBZ0JTLEdBQWhCLENBQW9CVyxRQUFwQixDQUFQLENBQ0QsQ0FFRCxHQUFNWixnQkFBZSxDQUFHM0UsT0FBTyxDQUFDeUcsR0FBUixDQUFZLENBQ2xDLEtBQUtDLFdBQUwsRUFEa0MsQ0FFbEMsS0FBS1QsZ0JBQUwsQ0FBc0JWLFFBQXRCLENBRmtDLENBQVosRUFHckI5RCxJQUhxQixDQUdoQixTQUFBa0YsT0FBTyxDQUFJLENBQ2pCLEdBQU0vQyxPQUFNLENBQUcrQyxPQUFPLENBQUMsQ0FBRCxDQUF0QixDQUNBLEdBQUkvQyxNQUFNLENBQUN4QyxNQUFQLEdBQWtCTyxrQkFBa0IsQ0FBQ0MsS0FBekMsQ0FBZ0QsQ0FDOUMsTUFBTyxDQUNMUixNQUFNLENBQUVPLGtCQUFrQixDQUFDQyxLQUR0QixDQUFQLENBR0QsQ0FFRCxHQUFJd0IsU0FBUSxDQUFHUSxNQUFNLENBQUNtQyxPQUF0QixDQUNBLGNBQXVEM0MsUUFBdkQsQ0FBUUcsa0JBQVIsV0FBUUEsa0JBQVIsaUNBQTRCRyxpQkFBNUIsQ0FBNEJBLGlCQUE1QixnQ0FBZ0QsRUFBaEQsdUJBRUEsR0FBTWtELFlBQVcsQ0FBRyxFQUFwQixDQUVBLEdBQU1DLHNCQUFxQixDQUFHLE1BQUksQ0FBQy9DLGFBQUwsQ0FBbUJQLGtCQUFuQixFQUF1QzlCLElBQXZDLENBQzVCLFNBQUE0QixTQUFTLENBQUksQ0FDWHVELFdBQVcsQ0FBQ0UsU0FBWixDQUF3QixHQUFJQyxLQUFKLEVBQXhCLENBQ0EsR0FBSUMsY0FBSixDQUNBLEdBQUksQ0FBQzNELFNBQUQsRUFBY0EsU0FBUyxXQUFZekIsTUFBdkMsQ0FBOEMsQ0FDNUNnRixXQUFXLENBQUN4RixNQUFaLENBQXFCTyxrQkFBa0IsQ0FBQ0MsS0FBeEMsQ0FDQWdGLFdBQVcsQ0FBQ0osS0FBWixDQUFvQm5ELFNBQXBCLENBQ0QsQ0FIRCxJQUdPLENBQ0x1RCxXQUFXLENBQUN4RixNQUFaLENBQXFCTyxrQkFBa0IsQ0FBQ0UsT0FBeEMsQ0FDQSxHQUFJK0IsTUFBTSxDQUFDb0MsUUFBUCxHQUFvQixJQUF4QixDQUE4QixDQUM1QlksV0FBVyxDQUFDWixRQUFaLENBQXVCLElBQXZCLENBQ0QsQ0FDRDVDLFFBQVEsQ0FBRy9DLE1BQU0sQ0FBQ3lGLE1BQVAsQ0FBYzFDLFFBQWQsQ0FBd0IsQ0FDakNJLHNCQUFzQixDQUFFbUQsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUNwQkEsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXbkQsc0JBRFMsR0FEUyxDQUF4QixDQUFYLENBS0F3RCxhQUFhLENBQUc3RCxlQUFlLENBQUNDLFFBQUQsQ0FBV0MsU0FBWCxDQUEvQixDQUNELENBQ0Q7QUFDQSxNQUFPMkQsY0FBUCxDQUNELENBckIyQixDQUE5QixDQXdCQSxHQUFNQyx3QkFBdUIsQ0FBR2pILE9BQU8sQ0FBQ3lHLEdBQVIsQ0FDOUIvQyxpQkFBaUIsQ0FBQ3dELEdBQWxCLENBQXNCLFNBQUFDLGVBQWUsQ0FBSSxDQUN2QztBQUNBLEdBQUksTUFBSSxDQUFDL0MsYUFBTCxDQUFtQitDLGVBQW5CLENBQUosQ0FBeUMsQ0FDdkMsR0FBTXpCLFlBQVcsQ0FBRyxNQUFJLENBQUN0QixhQUFMLENBQW1CK0MsZUFBbkIsQ0FBcEIsQ0FDQSxNQUFPLENBQUVBLGVBQWUsQ0FBZkEsZUFBRixDQUFtQnpCLFdBQVcsQ0FBWEEsV0FBbkIsQ0FBUCxDQUNELENBRUQsTUFBTyxPQUFJLENBQUNoQixXQUFMLENBQ0ZsQyxFQURFLG9CQUNnQzJFLGVBRGhDLFVBR0oxRixJQUhJLENBR0MsU0FBQVIsR0FBRyxDQUFJLENBQ1gsR0FBTXlFLFlBQVcsQ0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVczRSxHQUFHLENBQUN3RSxZQUFmLENBQXBCLENBQ0EsTUFBTyxDQUFFMEIsZUFBZSxDQUFmQSxlQUFGLENBQW1CekIsV0FBVyxDQUFYQSxXQUFuQixDQUFQLENBQ0QsQ0FOSSxFQU9KaEUsS0FQSSxDQU9FLFVBQU0sQ0FDWCxLQUFNLElBQUlFLE1BQUosdUJBQ2lCWSxFQURqQixvQkFDbUQyRSxlQURuRCxXQUFOLENBR0QsQ0FYSSxDQUFQLENBWUQsQ0FuQkQsQ0FEOEIsRUFxQjlCMUYsSUFyQjhCLENBcUJ6QixTQUFBMkYsa0JBQWtCLENBQUksQ0FDM0IsR0FBTUMsc0JBQXFCLENBQUcsRUFBOUIsQ0FFQUQsa0JBQWtCLENBQUM3RyxPQUFuQixDQUEyQixjQUFzQyxJQUFuQzRHLGdCQUFtQyxNQUFuQ0EsZUFBbUMsQ0FBbEJ6QixXQUFrQixNQUFsQkEsV0FBa0IsQ0FDL0QyQixxQkFBcUIsQ0FBQ0YsZUFBRCxDQUFyQixDQUF5Q3pCLFdBQXpDLENBQ0EsTUFBSSxDQUFDdEIsYUFBTCxDQUFtQitDLGVBQW5CLEVBQXNDekIsV0FBdEMsQ0FDRCxDQUhELEVBS0EsTUFBTzJCLHNCQUFQLENBQ0QsQ0E5QitCLENBQWhDLENBZ0NBLE1BQ0VySCxRQUFPLENBQUN5RyxHQUFSLENBQVksQ0FBQ0kscUJBQUQsQ0FBd0JJLHVCQUF4QixDQUFaLEVBQ0d4RixJQURILENBQ1EsZUFBeUMsSUFBdkN1RixjQUF1QyxVQUF4Qkksa0JBQXdCLFVBQzdDLEdBQUlyQixRQUFKLENBQ0EsR0FBSWlCLGFBQUosQ0FBbUIsQ0FDakJqQixPQUFPLGtCQUFRaUIsYUFBUixFQUF1Qkksa0JBQWtCLENBQWxCQSxrQkFBdkIsRUFBUCxDQUNBUixXQUFXLENBQUNiLE9BQVosQ0FBc0JBLE9BQXRCLENBQ0F1QixnQ0FBQSwyQkFBd0MsQ0FDdENoRSxJQUFJLENBQUV5QyxPQURnQyxDQUV0Q2lCLGFBQWEsQ0FBRWpCLE9BRnVCLENBQXhDLEVBSUQsQ0FFRCxNQUFJLENBQUM3QixNQUFMLENBQVlXLEdBQVosQ0FBZ0JVLFFBQWhCLENBQTBCcUIsV0FBMUIsRUFFQSxHQUFJQSxXQUFXLENBQUNKLEtBQWhCLENBQXVCLENBQ3JCLE1BQU8sQ0FDTEEsS0FBSyxDQUFFSSxXQUFXLENBQUNKLEtBRGQsQ0FFTHBGLE1BQU0sQ0FBRXdGLFdBQVcsQ0FBQ3hGLE1BRmYsQ0FBUCxDQUlELENBRUQsTUFBTzJFLFFBQVAsQ0FDRCxDQXRCSCxDQXVCRTtBQXZCRixDQXdCR3JFLEtBeEJILENBd0JTLFNBQUE5QixHQUFHLENBQUksQ0FDWixNQUFPLENBQ0w0RyxLQUFLLENBQUU1RyxHQURGLENBRUx3QixNQUFNLENBQUVPLGtCQUFrQixDQUFDQyxLQUZ0QixDQUFQLENBSUQsQ0E3QkgsQ0FERixDQWdDRCxDQXhHdUIsQ0FBeEIsQ0EwR0ErQyxlQUFlLENBQ1psRCxJQURILENBQ1EsVUFBTSxDQUNWLE1BQUksQ0FBQzBDLFVBQUwsQ0FBZ0JZLE1BQWhCLENBQXVCUSxRQUF2QixFQUNELENBSEgsRUFJRzdELEtBSkgsQ0FJUyxTQUFBOEUsS0FBSyxDQUFJLENBQ2QsTUFBSSxDQUFDckMsVUFBTCxDQUFnQlksTUFBaEIsQ0FBdUJRLFFBQXZCLEVBQ0EsS0FBTWlCLE1BQU4sQ0FDRCxDQVBILEVBU0EsS0FBS3JDLFVBQUwsQ0FBZ0JVLEdBQWhCLENBQW9CVSxRQUFwQixDQUE4QlosZUFBOUIsRUFFQSxNQUFPQSxnQkFBUCxDQUNELENBRUQ7QUFuUkYsUUFvUkU0QyxZQXBSRixDQW9SRSxzQkFBYXJCLE9BQWIsQ0FBc0JuRyxPQUF0QixDQUFvQyxJQUFkQSxPQUFjLFdBQWRBLE9BQWMsQ0FBSixFQUFJLEVBQ2xDLEdBQU13RixTQUFRLENBQUdZLDhCQUFRLENBQUNELE9BQUQsQ0FBekIsQ0FDQSxHQUFJLEtBQUtoQyxNQUFMLENBQVlrQyxHQUFaLENBQWdCYixRQUFoQixDQUFKLENBQStCLGNBQzdCLEdBQU1uQyxTQUFRLENBQUcsS0FBS2MsTUFBTCxDQUFZVSxHQUFaLENBQWdCVyxRQUFoQixDQUFqQixDQUVBLEdBQUluQyxRQUFRLENBQUMyQyxPQUFiLENBQXNCLENBQ3BCLE1BQU8zQyxTQUFRLENBQUMyQyxPQUFoQixDQUNELENBRUQsYUFBSWhHLE9BQUosNkJBQUksU0FBU3lILGdCQUFiLENBQStCLENBQzdCLE1BQU8sQ0FDTGhCLEtBQUssQ0FBRXBELFFBQVEsQ0FBQ29ELEtBRFgsQ0FFTHBGLE1BQU0sQ0FBRWdDLFFBQVEsQ0FBQ2hDLE1BRlosQ0FBUCxDQUlELENBQ0YsQ0FDRCxNQUFPeUUsVUFBUCxDQUNELENBclNILFFBdVNFNEIsY0F2U0YsQ0F1U0Usd0JBQWVsQyxRQUFmLENBQXlCLENBQ3ZCO0FBQ0EsR0FBSSxDQUFDMUMsNkJBQTZCLEVBQWxDLENBQXNDLENBQ3BDLE1BQU8sTUFBUCxDQUNELENBRUQ7QUFDQSxHQUFJLEtBQUtxQixNQUFMLENBQVlrQyxHQUFaLENBQWdCYixRQUFoQixDQUFKLENBQStCLENBQzdCLE1BQU8sTUFBUCxDQUNELENBRUQsTUFBTyxLQUFQLENBQ0QsQ0FuVEgsUUFxVEUvRCxRQXJURixDQXFURSxrQkFBUytELFFBQVQsQ0FBbUIsaUJBQ2pCLEdBQUksQ0FBQyxLQUFLa0MsY0FBTCxDQUFvQmxDLFFBQXBCLENBQUwsQ0FBb0MsQ0FDbEMsTUFBTyxNQUFQLENBQ0QsQ0FFRDtBQUNBO0FBQ0EsR0FBSSxDQUFDLEtBQUtqQixpQkFBTCxDQUF1QjhCLEdBQXZCLENBQTJCYixRQUEzQixDQUFMLENBQTJDLENBQ3pDLEtBQUtOLFNBQUwsc0JBQXFDLENBQUV5QyxRQUFRLENBQUVuQyxRQUFaLENBQXJDLEVBQ0EsS0FBS2pCLGlCQUFMLENBQXVCcUQsR0FBdkIsQ0FBMkJwQyxRQUEzQixFQUNELENBRUQ7QUFDQSxHQUFJLEtBQUtMLGdCQUFULENBQTJCLENBQ3pCLE1BQU8sTUFBUCxDQUNELENBRUQsR0FBTTBDLFNBQVEsQ0FBR3pCLDhCQUFRLENBQUNaLFFBQUQsQ0FBekIsQ0FDQTtBQUNBO0FBQ0EsS0FBS3NDLFVBQUwsQ0FBZ0JELFFBQWhCLEVBQTBCbkcsSUFBMUIsQ0FBK0IsVUFBTSxDQUNuQyxHQUFJLENBQUMsTUFBSSxDQUFDK0MsaUJBQUwsQ0FBdUI0QixHQUF2QixDQUEyQmIsUUFBM0IsQ0FBTCxDQUEyQyxDQUN6QyxNQUFJLENBQUNOLFNBQUwsMEJBQXlDLENBQUV5QyxRQUFRLENBQUVuQyxRQUFaLENBQXpDLEVBQ0EsTUFBSSxDQUFDZixpQkFBTCxDQUF1Qm1ELEdBQXZCLENBQTJCcEMsUUFBM0IsRUFDRCxDQUNGLENBTEQsRUFPQSxNQUFPLEtBQVAsQ0FDRCxDQWpWSCxRQW1WRXNDLFVBblZGLENBbVZFLG9CQUFXdEMsUUFBWCxDQUFxQixpQkFDbkIsR0FBTXVDLFlBQVcsQ0FBR3pGLGlCQUFpQixDQUFDa0QsUUFBRCxDQUFyQyxDQUNBLE1BQU93QyxnQkFBYyxDQUFDRCxXQUFELENBQWMsQ0FDakNFLFdBQVcsWUFEc0IsQ0FFakNDLEVBQUUsUUFGK0IsQ0FBZCxDQUFkLENBR0p4RyxJQUhJLENBR0MsaUJBQ047QUFDQTtBQUNBLE1BQUksQ0FBQ3dFLGdCQUFMLENBQXNCVixRQUF0QixDQUhNLEdBSEQsQ0FBUCxDQVFELENBN1ZILFFBK1ZFMkMsUUEvVkYsQ0ErVkUsa0JBQVNoQyxPQUFULENBQWtCLENBQ2hCLEtBQUtLLFFBQUwsQ0FBY0wsT0FBZCxFQUNELENBaldILFFBbVdFaUMsMEJBbldGLENBbVdFLG9DQUEyQmpDLE9BQTNCLENBQW9DLENBQ2xDLEdBQU1YLFNBQVEsQ0FBR1ksOEJBQVEsQ0FBQ0QsT0FBRCxDQUF6QixDQUNBLEdBQU01QyxLQUFJLENBQUcsS0FBS2UsVUFBTCxDQUFnQk8sR0FBaEIsQ0FBb0JXLFFBQXBCLENBQWIsQ0FDQSxHQUFJakMsSUFBSixDQUFVLENBQ1IsR0FBTTBELGNBQWEsQ0FBRzdELGVBQWUsQ0FBQ0csSUFBSSxDQUFDeUMsT0FBTixDQUFyQyxDQUVBLHFEQUNLcUMsbUJBQW1CLENBQUNwQixhQUFhLENBQUMxRCxJQUFkLENBQW1CQyxrQkFBcEIsQ0FEeEIsR0FFRWxCLGlCQUFpQixDQUFDa0QsUUFBRCxDQUZuQixHQUlELENBUEQsSUFPTyxDQUNMLE1BQU8sS0FBUCxDQUNELENBQ0YsQ0FoWEgsUUFrWEU4QyxjQWxYRixDQWtYRSx3QkFBZW5DLE9BQWYsQ0FBd0IsQ0FDdEIsR0FBTVgsU0FBUSxDQUFHWSw4QkFBUSxDQUFDRCxPQUFELENBQXpCLENBQ0EsR0FBTTVDLEtBQUksQ0FBRyxLQUFLWSxNQUFMLENBQVlVLEdBQVosQ0FBZ0JXLFFBQWhCLENBQWIsQ0FDQSxNQUFPLENBQUNqQyxJQUFELEVBQVNBLElBQUksQ0FBQzBDLFFBQXJCLENBQ0QsQ0F0WEgsUUF3WEVVLFdBeFhGLENBd1hFLHFCQUFZbEIsT0FBWixDQUF5QixvQkFBYkEsT0FBYSxXQUFiQSxPQUFhLENBQUgsQ0FBRyxFQUN2QixNQUFPLE1BQUtkLFdBQUwsQ0FBb0JsQyxFQUFwQiw2QkFBK0RmLElBQS9ELENBQ0wsU0FBQVIsR0FBRyxDQUFJLENBQ0wsR0FBUUcsT0FBUixDQUFpQ0gsR0FBakMsQ0FBUUcsTUFBUixDQUFnQnFFLFlBQWhCLENBQWlDeEUsR0FBakMsQ0FBZ0J3RSxZQUFoQixDQUVBLEdBQUk2QyxRQUFKLENBRUEsR0FBSWxILE1BQU0sR0FBSyxHQUFYLEVBQWtCb0UsT0FBTyxDQUFHLENBQWhDLENBQW1DLENBQ2pDO0FBQ0EsTUFBTyxPQUFJLENBQUNrQixXQUFMLENBQWlCbEIsT0FBTyxDQUFHLENBQTNCLENBQVAsQ0FDRCxDQUVEO0FBQ0EsR0FBSXBFLE1BQU0sR0FBSyxHQUFmLENBQW9CLENBQ2xCLEdBQUksQ0FDRixHQUFNc0UsWUFBVyxDQUFHQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0gsWUFBWCxDQUFwQixDQUNBLEdBQUlDLFdBQVcsQ0FBQ2xDLHNCQUFaLEdBQXVDcUMsU0FBM0MsQ0FBc0QsQ0FDcEQsS0FBTSxJQUFJakUsTUFBSixpQ0FBTixDQUNELENBRUQwRyxPQUFPLENBQUc1QyxXQUFWLENBQ0QsQ0FBQyxNQUFPOUYsR0FBUCxDQUFZLENBQ1o7QUFDRCxDQUNGLENBRUQsTUFBTzBJLFFBQVAsQ0FDRCxDQTFCSSxDQUFQLENBNEJELENBclpILHVCQXdaQSxHQUFNRixvQkFBbUIsQ0FBRyxRQUF0QkEsb0JBQXNCLENBQUE3RSxrQkFBa0IsUUFDNUMsQ0FBQ2dGLE1BQU0sQ0FBQ0MsZUFBUCxDQUF1QmpGLGtCQUF2QixHQUE4QyxFQUEvQyxFQUFtRDJELEdBQW5ELENBQ0UsU0FBQXVCLEtBQUssUUFBSWpHLEdBQWUsQ0FBR2lHLEtBQXRCLEVBRFAsQ0FENEMsRUFBOUMsQ0FLTyxHQUFNQyxXQUFiLDZGQUNFLG9CQUFZQyxhQUFaLENBQTJCNUUsVUFBM0IsQ0FBdUMsQ0FDckMsR0FBTUQsY0FBYSxDQUFHLFFBQWhCQSxjQUFnQixDQUFBOEUsU0FBUyxDQUFJLENBQ2pDLEdBQUksQ0FBQ0QsYUFBYSxDQUFDRSxVQUFkLENBQXlCRCxTQUF6QixDQUFMLENBQTBDLENBQ3hDLEtBQU0sSUFBSWhILE1BQUosK0RBQzBEZ0gsU0FEMUQsQ0FBTixDQUdELENBRUQsTUFDRUQsY0FBYSxDQUFDRSxVQUFkLENBQXlCRCxTQUF6QixJQUNHbkgsSUFESCxDQUNRSyxhQURSLENBRUU7QUFGRixDQUdHSixLQUhILENBR1MsU0FBQTlCLEdBQUcsUUFBSUEsSUFBSixFQUhaLENBREYsQ0FNRCxDQWJELENBRHFDLE1BZ0JyQyx1QkFBTWtFLGFBQU4sQ0FBcUJDLFVBQXJCLENBaEJxQyxPQWlCdEMsQ0FsQkgseUNBb0JFOEQsVUFwQkYsQ0FvQkUsb0JBQVd0QyxRQUFYLENBQXFCLENBQ25CLE1BQU8sdUJBQU1zQyxVQUFOLFdBQWlCdEMsUUFBakIsRUFBMkI5RCxJQUEzQixDQUFnQyxTQUFBbUMsTUFBTSxDQUFJLENBQy9DLEdBQUlBLE1BQU0sQ0FBQ3hDLE1BQVAsR0FBa0JPLGtCQUFrQixDQUFDRSxPQUF6QyxDQUFrRCxDQUNoRCxNQUFPN0IsUUFBTyxDQUFDQyxPQUFSLEVBQVAsQ0FDRCxDQUNELEdBQU1tRCxTQUFRLENBQUdRLE1BQU0sQ0FBQ21DLE9BQXhCLENBQ0EsR0FBTTZDLFVBQVMsQ0FBR3hGLFFBQVEsQ0FBQ0csa0JBQTNCLENBQ0EsR0FBTXVGLGNBQWEsQ0FBR1YsbUJBQW1CLENBQUNRLFNBQUQsQ0FBekMsQ0FDQSxNQUFPNUksUUFBTyxDQUFDeUcsR0FBUixDQUFZcUMsYUFBYSxDQUFDNUIsR0FBZCxDQUFrQmEsZUFBbEIsQ0FBWixFQUErQ3RHLElBQS9DLENBQW9ELGlCQUFNMkIsU0FBTixFQUFwRCxDQUFQLENBQ0QsQ0FSTSxDQUFQLENBU0QsQ0E5QkgsU0FnQ0U2QyxnQkFoQ0YsQ0FnQ0UsMEJBQWlCQyxPQUFqQixDQUEwQixDQUN4QixNQUFPLHVCQUFNRCxnQkFBTixXQUF1QkMsT0FBdkIsRUFBZ0N6RSxJQUFoQyxDQUFxQyxTQUFBc0gsSUFBSSxDQUFJLENBQ2xELEdBQUlBLElBQUksQ0FBQy9DLFFBQVQsQ0FBbUIsQ0FDakI7QUFDQTtBQUNBLE1BQU92RCxRQUFPLENBQUN5RCxPQUFELFFBQVAsQ0FBeUJ6RSxJQUF6QixDQUE4QixTQUFBUixHQUFHLENBQUksQ0FDMUMsR0FBSUEsR0FBRyxDQUFDRyxNQUFKLEdBQWUsR0FBbkIsQ0FBd0IsQ0FDdEI7QUFDQTtBQUNBO0FBQ0EsTUFBTyxDQUNMQSxNQUFNLENBQUVPLGtCQUFrQixDQUFDQyxLQUR0QixDQUFQLENBR0QsQ0FFRDtBQUNBO0FBQ0EsTUFBT21ILEtBQVAsQ0FDRCxDQWJNLENBQVAsQ0FjRCxDQUNELE1BQU9BLEtBQVAsQ0FDRCxDQXBCTSxDQUFQLENBcUJELENBdERILHFCQUFnQ2xGLFVBQWhDLEVBeURBLEdBQUltRixTQUFKLENBRU8sR0FBTUMsVUFBUyxDQUFHLFFBQVpBLFVBQVksQ0FBQUMsT0FBTyxDQUFJLENBQ2xDRixRQUFRLENBQUdFLE9BQVgsQ0FDRCxDQUZNLENBSUEsR0FBTUMsYUFBWSxDQUFHLENBQzFCQyxPQUFPLENBQUUsaUJBQUFsRCxPQUFPLFFBQUk4QyxTQUFRLENBQUN4SCxRQUFULENBQWtCMEUsT0FBbEIsQ0FBSixFQURVLENBRzFCO0FBQ0FpQywwQkFBMEIsQ0FBRSxvQ0FBQWpDLE9BQU8sUUFDakM4QyxTQUFRLENBQUNiLDBCQUFULENBQW9DakMsT0FBcEMsQ0FEaUMsRUFKVCxDQU0xQkssUUFBUSxDQUFFLGtCQUFBTCxPQUFPLFFBQUk4QyxTQUFRLENBQUN6QyxRQUFULENBQWtCTCxPQUFsQixDQUFKLEVBTlMsQ0FPMUI7QUFDQXFCLFlBQVksQ0FBRSxzQkFBQ3JCLE9BQUQsQ0FBVW5HLE9BQVYsS0FBVUEsT0FBVixXQUFVQSxPQUFWLENBQW9CLEVBQXBCLFFBQ1ppSixTQUFRLENBQUN6QixZQUFULENBQXNCckIsT0FBdEIsQ0FBK0JuRyxPQUEvQixDQURZLEVBUlksQ0FVMUJ5QixRQUFRLENBQUUsa0JBQUEwRSxPQUFPLFFBQUk4QyxTQUFRLENBQUN4SCxRQUFULENBQWtCMEUsT0FBbEIsQ0FBSixFQVZTLENBVzFCbUMsY0FBYyxDQUFFLHdCQUFBbkMsT0FBTyxRQUFJOEMsU0FBUSxDQUFDWCxjQUFULENBQXdCbkMsT0FBeEIsQ0FBSixFQVhHLENBWTFCZ0MsUUFBUSxDQUFFLGtCQUFBaEMsT0FBTyxRQUFJOEMsU0FBUSxDQUFDZCxRQUFULENBQWtCaEMsT0FBbEIsQ0FBSixFQVpTLENBYTFCUSxXQUFXLENBQUUsNkJBQU1zQyxTQUFRLENBQUN0QyxXQUFULEVBQU4sRUFiYSxDQUFyQixDQWdCUCwyQ0FBZXlDLFlBQWYsRUFFTyxRQUFTRSxzQkFBVCxFQUFpQyxDQUN0QyxHQUFJTCxRQUFKLENBQWMsQ0FDWixNQUFPQSxTQUFRLENBQUM1RSxhQUFoQixDQUNELENBRkQsSUFFTyxDQUNMLE1BQU8sRUFBUCxDQUNELENBQ0YiLCJmaWxlIjoiODc0MS5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHN1cHBvcnQgPSBmdW5jdGlvbiAoZmVhdHVyZSkge1xuICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSBgdW5kZWZpbmVkYCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGNvbnN0IGZha2VMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgbGlua2ApXG4gIHRyeSB7XG4gICAgaWYgKGZha2VMaW5rLnJlbExpc3QgJiYgdHlwZW9mIGZha2VMaW5rLnJlbExpc3Quc3VwcG9ydHMgPT09IGBmdW5jdGlvbmApIHtcbiAgICAgIHJldHVybiBmYWtlTGluay5yZWxMaXN0LnN1cHBvcnRzKGZlYXR1cmUpXG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuY29uc3QgbGlua1ByZWZldGNoU3RyYXRlZ3kgPSBmdW5jdGlvbiAodXJsLCBvcHRpb25zKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gYHVuZGVmaW5lZGApIHtcbiAgICAgIHJlamVjdCgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgbGlua2ApXG4gICAgbGluay5zZXRBdHRyaWJ1dGUoYHJlbGAsIGBwcmVmZXRjaGApXG4gICAgbGluay5zZXRBdHRyaWJ1dGUoYGhyZWZgLCB1cmwpXG5cbiAgICBPYmplY3Qua2V5cyhvcHRpb25zKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZShrZXksIG9wdGlvbnNba2V5XSlcbiAgICB9KVxuXG4gICAgbGluay5vbmxvYWQgPSByZXNvbHZlXG4gICAgbGluay5vbmVycm9yID0gcmVqZWN0XG5cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID1cbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKGBoZWFkYClbMF0gfHxcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKGBzY3JpcHRgKVswXS5wYXJlbnROb2RlXG4gICAgcGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZChsaW5rKVxuICB9KVxufVxuXG5jb25zdCB4aHJQcmVmZXRjaFN0cmF0ZWd5ID0gZnVuY3Rpb24gKHVybCkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpXG4gICAgcmVxLm9wZW4oYEdFVGAsIHVybCwgdHJ1ZSlcblxuICAgIHJlcS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBpZiAocmVxLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIHJlc29sdmUoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVqZWN0KClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXEuc2VuZChudWxsKVxuICB9KVxufVxuXG5jb25zdCBzdXBwb3J0ZWRQcmVmZXRjaFN0cmF0ZWd5ID0gc3VwcG9ydChgcHJlZmV0Y2hgKVxuICA/IGxpbmtQcmVmZXRjaFN0cmF0ZWd5XG4gIDogeGhyUHJlZmV0Y2hTdHJhdGVneVxuXG5jb25zdCBwcmVGZXRjaGVkID0ge31cblxuY29uc3QgcHJlZmV0Y2ggPSBmdW5jdGlvbiAodXJsLCBvcHRpb25zKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICBpZiAocHJlRmV0Y2hlZFt1cmxdKSB7XG4gICAgICByZXNvbHZlKClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHN1cHBvcnRlZFByZWZldGNoU3RyYXRlZ3kodXJsLCBvcHRpb25zKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICByZXNvbHZlKClcbiAgICAgICAgcHJlRmV0Y2hlZFt1cmxdID0gdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoKSA9PiB7fSkgLy8gNDA0cyBhcmUgbG9nZ2VkIHRvIHRoZSBjb25zb2xlIGFueXdheVxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBwcmVmZXRjaFxuIiwiaW1wb3J0IHByZWZldGNoSGVscGVyIGZyb20gXCIuL3ByZWZldGNoXCJcbmltcG9ydCBlbWl0dGVyIGZyb20gXCIuL2VtaXR0ZXJcIlxuaW1wb3J0IHsgc2V0TWF0Y2hQYXRocywgZmluZFBhdGgsIGZpbmRNYXRjaFBhdGggfSBmcm9tIFwiLi9maW5kLXBhdGhcIlxuXG4vKipcbiAqIEF2YWlsYWJsZSByZXNvdXJjZSBsb2FkaW5nIHN0YXR1c2VzXG4gKi9cbmV4cG9ydCBjb25zdCBQYWdlUmVzb3VyY2VTdGF0dXMgPSB7XG4gIC8qKlxuICAgKiBBdCBsZWFzdCBvbmUgb2YgY3JpdGljYWwgcmVzb3VyY2VzIGZhaWxlZCB0byBsb2FkXG4gICAqL1xuICBFcnJvcjogYGVycm9yYCxcbiAgLyoqXG4gICAqIFJlc291cmNlcyBsb2FkZWQgc3VjY2Vzc2Z1bGx5XG4gICAqL1xuICBTdWNjZXNzOiBgc3VjY2Vzc2AsXG59XG5cbmNvbnN0IHByZWZlckRlZmF1bHQgPSBtID0+IChtICYmIG0uZGVmYXVsdCkgfHwgbVxuXG5jb25zdCBzdHJpcFN1cnJvdW5kaW5nU2xhc2hlcyA9IHMgPT4ge1xuICBzID0gc1swXSA9PT0gYC9gID8gcy5zbGljZSgxKSA6IHNcbiAgcyA9IHMuZW5kc1dpdGgoYC9gKSA/IHMuc2xpY2UoMCwgLTEpIDogc1xuICByZXR1cm4gc1xufVxuXG5jb25zdCBjcmVhdGVQYWdlRGF0YVVybCA9IHBhdGggPT4ge1xuICBjb25zdCBmaXhlZFBhdGggPSBwYXRoID09PSBgL2AgPyBgaW5kZXhgIDogc3RyaXBTdXJyb3VuZGluZ1NsYXNoZXMocGF0aClcbiAgcmV0dXJuIGAke19fUEFUSF9QUkVGSVhfX30vcGFnZS1kYXRhLyR7Zml4ZWRQYXRofS9wYWdlLWRhdGEuanNvbmBcbn1cblxuZnVuY3Rpb24gZG9GZXRjaCh1cmwsIG1ldGhvZCA9IGBHRVRgKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KClcbiAgICByZXEub3BlbihtZXRob2QsIHVybCwgdHJ1ZSlcbiAgICByZXEub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgICAgaWYgKHJlcS5yZWFkeVN0YXRlID09IDQpIHtcbiAgICAgICAgcmVzb2x2ZShyZXEpXG4gICAgICB9XG4gICAgfVxuICAgIHJlcS5zZW5kKG51bGwpXG4gIH0pXG59XG5cbmNvbnN0IGRvZXNDb25uZWN0aW9uU3VwcG9ydFByZWZldGNoID0gKCkgPT4ge1xuICBpZiAoXG4gICAgYGNvbm5lY3Rpb25gIGluIG5hdmlnYXRvciAmJlxuICAgIHR5cGVvZiBuYXZpZ2F0b3IuY29ubmVjdGlvbiAhPT0gYHVuZGVmaW5lZGBcbiAgKSB7XG4gICAgaWYgKChuYXZpZ2F0b3IuY29ubmVjdGlvbi5lZmZlY3RpdmVUeXBlIHx8IGBgKS5pbmNsdWRlcyhgMmdgKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGlmIChuYXZpZ2F0b3IuY29ubmVjdGlvbi5zYXZlRGF0YSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlXG59XG5cbmNvbnN0IHRvUGFnZVJlc291cmNlcyA9IChwYWdlRGF0YSwgY29tcG9uZW50ID0gbnVsbCkgPT4ge1xuICBjb25zdCBwYWdlID0ge1xuICAgIGNvbXBvbmVudENodW5rTmFtZTogcGFnZURhdGEuY29tcG9uZW50Q2h1bmtOYW1lLFxuICAgIHBhdGg6IHBhZ2VEYXRhLnBhdGgsXG4gICAgd2VicGFja0NvbXBpbGF0aW9uSGFzaDogcGFnZURhdGEud2VicGFja0NvbXBpbGF0aW9uSGFzaCxcbiAgICBtYXRjaFBhdGg6IHBhZ2VEYXRhLm1hdGNoUGF0aCxcbiAgICBzdGF0aWNRdWVyeUhhc2hlczogcGFnZURhdGEuc3RhdGljUXVlcnlIYXNoZXMsXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNvbXBvbmVudCxcbiAgICBqc29uOiBwYWdlRGF0YS5yZXN1bHQsXG4gICAgcGFnZSxcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQmFzZUxvYWRlciB7XG4gIGNvbnN0cnVjdG9yKGxvYWRDb21wb25lbnQsIG1hdGNoUGF0aHMpIHtcbiAgICAvLyBNYXAgb2YgcGFnZVBhdGggLT4gUGFnZS4gV2hlcmUgUGFnZSBpcyBhbiBvYmplY3Qgd2l0aDoge1xuICAgIC8vICAgc3RhdHVzOiBQYWdlUmVzb3VyY2VTdGF0dXMuU3VjY2VzcyB8fCBQYWdlUmVzb3VyY2VTdGF0dXMuRXJyb3IsXG4gICAgLy8gICBwYXlsb2FkOiBQYWdlUmVzb3VyY2VzLCAvLyB1bmRlZmluZWQgaWYgUGFnZVJlc291cmNlU3RhdHVzLkVycm9yXG4gICAgLy8gfVxuICAgIC8vIFBhZ2VSZXNvdXJjZXMgaXMge1xuICAgIC8vICAgY29tcG9uZW50LFxuICAgIC8vICAganNvbjogcGFnZURhdGEucmVzdWx0LFxuICAgIC8vICAgcGFnZToge1xuICAgIC8vICAgICBjb21wb25lbnRDaHVua05hbWUsXG4gICAgLy8gICAgIHBhdGgsXG4gICAgLy8gICAgIHdlYnBhY2tDb21waWxhdGlvbkhhc2gsXG4gICAgLy8gICAgIHN0YXRpY1F1ZXJ5SGFzaGVzXG4gICAgLy8gICB9LFxuICAgIC8vICAgc3RhdGljUXVlcnlSZXN1bHRzXG4gICAgLy8gfVxuICAgIHRoaXMucGFnZURiID0gbmV3IE1hcCgpXG4gICAgdGhpcy5pbkZsaWdodERiID0gbmV3IE1hcCgpXG4gICAgdGhpcy5zdGF0aWNRdWVyeURiID0ge31cbiAgICB0aGlzLnBhZ2VEYXRhRGIgPSBuZXcgTWFwKClcbiAgICB0aGlzLnByZWZldGNoVHJpZ2dlcmVkID0gbmV3IFNldCgpXG4gICAgdGhpcy5wcmVmZXRjaENvbXBsZXRlZCA9IG5ldyBTZXQoKVxuICAgIHRoaXMubG9hZENvbXBvbmVudCA9IGxvYWRDb21wb25lbnRcbiAgICBzZXRNYXRjaFBhdGhzKG1hdGNoUGF0aHMpXG4gIH1cblxuICBpbkZsaWdodE5ldHdvcmtSZXF1ZXN0cyA9IG5ldyBNYXAoKVxuXG4gIG1lbW9pemVkR2V0KHVybCkge1xuICAgIGxldCBpbkZsaWdodFByb21pc2UgPSB0aGlzLmluRmxpZ2h0TmV0d29ya1JlcXVlc3RzLmdldCh1cmwpXG5cbiAgICBpZiAoIWluRmxpZ2h0UHJvbWlzZSkge1xuICAgICAgaW5GbGlnaHRQcm9taXNlID0gZG9GZXRjaCh1cmwsIGBHRVRgKVxuICAgICAgdGhpcy5pbkZsaWdodE5ldHdvcmtSZXF1ZXN0cy5zZXQodXJsLCBpbkZsaWdodFByb21pc2UpXG4gICAgfVxuXG4gICAgLy8gUHJlZmVyIGR1cGxpY2F0aW9uIHdpdGggdGhlbiArIGNhdGNoIG92ZXIgLmZpbmFsbHkgdG8gcHJldmVudCBwcm9ibGVtcyBpbiBpZTExICsgZmlyZWZveFxuICAgIHJldHVybiBpbkZsaWdodFByb21pc2VcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgdGhpcy5pbkZsaWdodE5ldHdvcmtSZXF1ZXN0cy5kZWxldGUodXJsKVxuICAgICAgICByZXR1cm4gcmVzcG9uc2VcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgdGhpcy5pbkZsaWdodE5ldHdvcmtSZXF1ZXN0cy5kZWxldGUodXJsKVxuICAgICAgICB0aHJvdyBlcnJcbiAgICAgIH0pXG4gIH1cblxuICBzZXRBcGlSdW5uZXIoYXBpUnVubmVyKSB7XG4gICAgdGhpcy5hcGlSdW5uZXIgPSBhcGlSdW5uZXJcbiAgICB0aGlzLnByZWZldGNoRGlzYWJsZWQgPSBhcGlSdW5uZXIoYGRpc2FibGVDb3JlUHJlZmV0Y2hpbmdgKS5zb21lKGEgPT4gYSlcbiAgfVxuXG4gIGZldGNoUGFnZURhdGFKc29uKGxvYWRPYmopIHtcbiAgICBjb25zdCB7IHBhZ2VQYXRoLCByZXRyaWVzID0gMCB9ID0gbG9hZE9ialxuICAgIGNvbnN0IHVybCA9IGNyZWF0ZVBhZ2VEYXRhVXJsKHBhZ2VQYXRoKVxuICAgIHJldHVybiB0aGlzLm1lbW9pemVkR2V0KHVybCkudGhlbihyZXEgPT4ge1xuICAgICAgY29uc3QgeyBzdGF0dXMsIHJlc3BvbnNlVGV4dCB9ID0gcmVxXG5cbiAgICAgIC8vIEhhbmRsZSAyMDBcbiAgICAgIGlmIChzdGF0dXMgPT09IDIwMCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGpzb25QYXlsb2FkID0gSlNPTi5wYXJzZShyZXNwb25zZVRleHQpXG4gICAgICAgICAgaWYgKGpzb25QYXlsb2FkLnBhdGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBub3QgYSB2YWxpZCBwYWdlRGF0YSByZXNwb25zZWApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obG9hZE9iaiwge1xuICAgICAgICAgICAgc3RhdHVzOiBQYWdlUmVzb3VyY2VTdGF0dXMuU3VjY2VzcyxcbiAgICAgICAgICAgIHBheWxvYWQ6IGpzb25QYXlsb2FkLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIC8vIGNvbnRpbnVlIHJlZ2FyZGxlc3Mgb2YgZXJyb3JcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgNDA0XG4gICAgICBpZiAoc3RhdHVzID09PSA0MDQgfHwgc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgLy8gSWYgdGhlIHJlcXVlc3Qgd2FzIGZvciBhIDQwNCBwYWdlIGFuZCBpdCBkb2Vzbid0IGV4aXN0LCB3ZSdyZSBkb25lXG4gICAgICAgIGlmIChwYWdlUGF0aCA9PT0gYC80MDQuaHRtbGApIHtcbiAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihsb2FkT2JqLCB7XG4gICAgICAgICAgICBzdGF0dXM6IFBhZ2VSZXNvdXJjZVN0YXR1cy5FcnJvcixcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTmVlZCBzb21lIGNvZGUgaGVyZSB0byBjYWNoZSB0aGUgNDA0IHJlcXVlc3QuIEluIGNhc2VcbiAgICAgICAgLy8gbXVsdGlwbGUgbG9hZFBhZ2VEYXRhSnNvbnMgcmVzdWx0IGluIDQwNHNcbiAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hQYWdlRGF0YUpzb24oXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihsb2FkT2JqLCB7IHBhZ2VQYXRoOiBgLzQwNC5odG1sYCwgbm90Rm91bmQ6IHRydWUgfSlcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICAvLyBoYW5kbGUgNTAwIHJlc3BvbnNlIChVbnJlY292ZXJhYmxlKVxuICAgICAgaWYgKHN0YXR1cyA9PT0gNTAwKSB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGxvYWRPYmosIHtcbiAgICAgICAgICBzdGF0dXM6IFBhZ2VSZXNvdXJjZVN0YXR1cy5FcnJvcixcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIGV2ZXJ5dGhpbmcgZWxzZSwgaW5jbHVkaW5nIHN0YXR1cyA9PT0gMCwgYW5kIDUwM3MuIFNob3VsZCByZXRyeVxuICAgICAgaWYgKHJldHJpZXMgPCAzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZldGNoUGFnZURhdGFKc29uKFxuICAgICAgICAgIE9iamVjdC5hc3NpZ24obG9hZE9iaiwgeyByZXRyaWVzOiByZXRyaWVzICsgMSB9KVxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIC8vIFJldHJpZWQgMyB0aW1lcyBhbHJlYWR5LCByZXN1bHQgaXMgYW4gZXJyb3IuXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihsb2FkT2JqLCB7XG4gICAgICAgIHN0YXR1czogUGFnZVJlc291cmNlU3RhdHVzLkVycm9yLFxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgbG9hZFBhZ2VEYXRhSnNvbihyYXdQYXRoKSB7XG4gICAgY29uc3QgcGFnZVBhdGggPSBmaW5kUGF0aChyYXdQYXRoKVxuICAgIGlmICh0aGlzLnBhZ2VEYXRhRGIuaGFzKHBhZ2VQYXRoKSkge1xuICAgICAgY29uc3QgcGFnZURhdGEgPSB0aGlzLnBhZ2VEYXRhRGIuZ2V0KHBhZ2VQYXRoKVxuICAgICAgaWYgKHByb2Nlc3MuZW52LkJVSUxEX1NUQUdFICE9PSBgZGV2ZWxvcGAgfHwgIXBhZ2VEYXRhLnN0YWxlKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocGFnZURhdGEpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hQYWdlRGF0YUpzb24oeyBwYWdlUGF0aCB9KS50aGVuKHBhZ2VEYXRhID0+IHtcbiAgICAgIHRoaXMucGFnZURhdGFEYi5zZXQocGFnZVBhdGgsIHBhZ2VEYXRhKVxuXG4gICAgICByZXR1cm4gcGFnZURhdGFcbiAgICB9KVxuICB9XG5cbiAgZmluZE1hdGNoUGF0aChyYXdQYXRoKSB7XG4gICAgcmV0dXJuIGZpbmRNYXRjaFBhdGgocmF3UGF0aClcbiAgfVxuXG4gIC8vIFRPRE8gY2hlY2sgYWxsIHVzZXMgb2YgdGhpcyBhbmQgd2hldGhlciB0aGV5IHVzZSB1bmRlZmluZWQgZm9yIHBhZ2UgcmVzb3VyY2VzIG5vdCBleGlzdFxuICBsb2FkUGFnZShyYXdQYXRoKSB7XG4gICAgY29uc3QgcGFnZVBhdGggPSBmaW5kUGF0aChyYXdQYXRoKVxuICAgIGlmICh0aGlzLnBhZ2VEYi5oYXMocGFnZVBhdGgpKSB7XG4gICAgICBjb25zdCBwYWdlID0gdGhpcy5wYWdlRGIuZ2V0KHBhZ2VQYXRoKVxuICAgICAgaWYgKHByb2Nlc3MuZW52LkJVSUxEX1NUQUdFICE9PSBgZGV2ZWxvcGAgfHwgIXBhZ2UucGF5bG9hZC5zdGFsZSkge1xuICAgICAgICBpZiAocGFnZS5lcnJvcikge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlcnJvcjogcGFnZS5lcnJvcixcbiAgICAgICAgICAgIHN0YXR1czogcGFnZS5zdGF0dXMsXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwYWdlLnBheWxvYWQpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5GbGlnaHREYi5oYXMocGFnZVBhdGgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbkZsaWdodERiLmdldChwYWdlUGF0aClcbiAgICB9XG5cbiAgICBjb25zdCBpbkZsaWdodFByb21pc2UgPSBQcm9taXNlLmFsbChbXG4gICAgICB0aGlzLmxvYWRBcHBEYXRhKCksXG4gICAgICB0aGlzLmxvYWRQYWdlRGF0YUpzb24ocGFnZVBhdGgpLFxuICAgIF0pLnRoZW4oYWxsRGF0YSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhbGxEYXRhWzFdXG4gICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gUGFnZVJlc291cmNlU3RhdHVzLkVycm9yKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3RhdHVzOiBQYWdlUmVzb3VyY2VTdGF0dXMuRXJyb3IsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGV0IHBhZ2VEYXRhID0gcmVzdWx0LnBheWxvYWRcbiAgICAgIGNvbnN0IHsgY29tcG9uZW50Q2h1bmtOYW1lLCBzdGF0aWNRdWVyeUhhc2hlcyA9IFtdIH0gPSBwYWdlRGF0YVxuXG4gICAgICBjb25zdCBmaW5hbFJlc3VsdCA9IHt9XG5cbiAgICAgIGNvbnN0IGNvbXBvbmVudENodW5rUHJvbWlzZSA9IHRoaXMubG9hZENvbXBvbmVudChjb21wb25lbnRDaHVua05hbWUpLnRoZW4oXG4gICAgICAgIGNvbXBvbmVudCA9PiB7XG4gICAgICAgICAgZmluYWxSZXN1bHQuY3JlYXRlZEF0ID0gbmV3IERhdGUoKVxuICAgICAgICAgIGxldCBwYWdlUmVzb3VyY2VzXG4gICAgICAgICAgaWYgKCFjb21wb25lbnQgfHwgY29tcG9uZW50IGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIGZpbmFsUmVzdWx0LnN0YXR1cyA9IFBhZ2VSZXNvdXJjZVN0YXR1cy5FcnJvclxuICAgICAgICAgICAgZmluYWxSZXN1bHQuZXJyb3IgPSBjb21wb25lbnRcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmluYWxSZXN1bHQuc3RhdHVzID0gUGFnZVJlc291cmNlU3RhdHVzLlN1Y2Nlc3NcbiAgICAgICAgICAgIGlmIChyZXN1bHQubm90Rm91bmQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgZmluYWxSZXN1bHQubm90Rm91bmQgPSB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYWdlRGF0YSA9IE9iamVjdC5hc3NpZ24ocGFnZURhdGEsIHtcbiAgICAgICAgICAgICAgd2VicGFja0NvbXBpbGF0aW9uSGFzaDogYWxsRGF0YVswXVxuICAgICAgICAgICAgICAgID8gYWxsRGF0YVswXS53ZWJwYWNrQ29tcGlsYXRpb25IYXNoXG4gICAgICAgICAgICAgICAgOiBgYCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBwYWdlUmVzb3VyY2VzID0gdG9QYWdlUmVzb3VyY2VzKHBhZ2VEYXRhLCBjb21wb25lbnQpXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHVuZGVmaW5lZCBpZiBmaW5hbCByZXN1bHQgaXMgYW4gZXJyb3JcbiAgICAgICAgICByZXR1cm4gcGFnZVJlc291cmNlc1xuICAgICAgICB9XG4gICAgICApXG5cbiAgICAgIGNvbnN0IHN0YXRpY1F1ZXJ5QmF0Y2hQcm9taXNlID0gUHJvbWlzZS5hbGwoXG4gICAgICAgIHN0YXRpY1F1ZXJ5SGFzaGVzLm1hcChzdGF0aWNRdWVyeUhhc2ggPT4ge1xuICAgICAgICAgIC8vIENoZWNrIGZvciBjYWNoZSBpbiBjYXNlIHRoaXMgc3RhdGljIHF1ZXJ5IHJlc3VsdCBoYXMgYWxyZWFkeSBiZWVuIGxvYWRlZFxuICAgICAgICAgIGlmICh0aGlzLnN0YXRpY1F1ZXJ5RGJbc3RhdGljUXVlcnlIYXNoXSkge1xuICAgICAgICAgICAgY29uc3QganNvblBheWxvYWQgPSB0aGlzLnN0YXRpY1F1ZXJ5RGJbc3RhdGljUXVlcnlIYXNoXVxuICAgICAgICAgICAgcmV0dXJuIHsgc3RhdGljUXVlcnlIYXNoLCBqc29uUGF5bG9hZCB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHRoaXMubWVtb2l6ZWRHZXQoXG4gICAgICAgICAgICBgJHtfX1BBVEhfUFJFRklYX199L3BhZ2UtZGF0YS9zcS9kLyR7c3RhdGljUXVlcnlIYXNofS5qc29uYFxuICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlcSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb25QYXlsb2FkID0gSlNPTi5wYXJzZShyZXEucmVzcG9uc2VUZXh0KVxuICAgICAgICAgICAgICByZXR1cm4geyBzdGF0aWNRdWVyeUhhc2gsIGpzb25QYXlsb2FkIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYFdlIGNvdWxkbid0IGxvYWQgXCIke19fUEFUSF9QUkVGSVhfX30vcGFnZS1kYXRhL3NxL2QvJHtzdGF0aWNRdWVyeUhhc2h9Lmpzb25cImBcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgICkudGhlbihzdGF0aWNRdWVyeVJlc3VsdHMgPT4ge1xuICAgICAgICBjb25zdCBzdGF0aWNRdWVyeVJlc3VsdHNNYXAgPSB7fVxuXG4gICAgICAgIHN0YXRpY1F1ZXJ5UmVzdWx0cy5mb3JFYWNoKCh7IHN0YXRpY1F1ZXJ5SGFzaCwganNvblBheWxvYWQgfSkgPT4ge1xuICAgICAgICAgIHN0YXRpY1F1ZXJ5UmVzdWx0c01hcFtzdGF0aWNRdWVyeUhhc2hdID0ganNvblBheWxvYWRcbiAgICAgICAgICB0aGlzLnN0YXRpY1F1ZXJ5RGJbc3RhdGljUXVlcnlIYXNoXSA9IGpzb25QYXlsb2FkXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHN0YXRpY1F1ZXJ5UmVzdWx0c01hcFxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgUHJvbWlzZS5hbGwoW2NvbXBvbmVudENodW5rUHJvbWlzZSwgc3RhdGljUXVlcnlCYXRjaFByb21pc2VdKVxuICAgICAgICAgIC50aGVuKChbcGFnZVJlc291cmNlcywgc3RhdGljUXVlcnlSZXN1bHRzXSkgPT4ge1xuICAgICAgICAgICAgbGV0IHBheWxvYWRcbiAgICAgICAgICAgIGlmIChwYWdlUmVzb3VyY2VzKSB7XG4gICAgICAgICAgICAgIHBheWxvYWQgPSB7IC4uLnBhZ2VSZXNvdXJjZXMsIHN0YXRpY1F1ZXJ5UmVzdWx0cyB9XG4gICAgICAgICAgICAgIGZpbmFsUmVzdWx0LnBheWxvYWQgPSBwYXlsb2FkXG4gICAgICAgICAgICAgIGVtaXR0ZXIuZW1pdChgb25Qb3N0TG9hZFBhZ2VSZXNvdXJjZXNgLCB7XG4gICAgICAgICAgICAgICAgcGFnZTogcGF5bG9hZCxcbiAgICAgICAgICAgICAgICBwYWdlUmVzb3VyY2VzOiBwYXlsb2FkLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnBhZ2VEYi5zZXQocGFnZVBhdGgsIGZpbmFsUmVzdWx0KVxuXG4gICAgICAgICAgICBpZiAoZmluYWxSZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBlcnJvcjogZmluYWxSZXN1bHQuZXJyb3IsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBmaW5hbFJlc3VsdC5zdGF0dXMsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHBheWxvYWRcbiAgICAgICAgICB9KVxuICAgICAgICAgIC8vIHdoZW4gc3RhdGljLXF1ZXJ5IGZhaWwgdG8gbG9hZCB3ZSB0aHJvdyBhIGJldHRlciBlcnJvclxuICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZXJyb3I6IGVycixcbiAgICAgICAgICAgICAgc3RhdHVzOiBQYWdlUmVzb3VyY2VTdGF0dXMuRXJyb3IsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgIClcbiAgICB9KVxuXG4gICAgaW5GbGlnaHRQcm9taXNlXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5GbGlnaHREYi5kZWxldGUocGFnZVBhdGgpXG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5pbkZsaWdodERiLmRlbGV0ZShwYWdlUGF0aClcbiAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgIH0pXG5cbiAgICB0aGlzLmluRmxpZ2h0RGIuc2V0KHBhZ2VQYXRoLCBpbkZsaWdodFByb21pc2UpXG5cbiAgICByZXR1cm4gaW5GbGlnaHRQcm9taXNlXG4gIH1cblxuICAvLyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgcGFnZSBkb2VzIG5vdCBleGlzdHMgaW4gY2FjaGVcbiAgbG9hZFBhZ2VTeW5jKHJhd1BhdGgsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHBhZ2VQYXRoID0gZmluZFBhdGgocmF3UGF0aClcbiAgICBpZiAodGhpcy5wYWdlRGIuaGFzKHBhZ2VQYXRoKSkge1xuICAgICAgY29uc3QgcGFnZURhdGEgPSB0aGlzLnBhZ2VEYi5nZXQocGFnZVBhdGgpXG5cbiAgICAgIGlmIChwYWdlRGF0YS5wYXlsb2FkKSB7XG4gICAgICAgIHJldHVybiBwYWdlRGF0YS5wYXlsb2FkXG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zPy53aXRoRXJyb3JEZXRhaWxzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZXJyb3I6IHBhZ2VEYXRhLmVycm9yLFxuICAgICAgICAgIHN0YXR1czogcGFnZURhdGEuc3RhdHVzLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIHNob3VsZFByZWZldGNoKHBhZ2VQYXRoKSB7XG4gICAgLy8gU2tpcCBwcmVmZXRjaGluZyBpZiB3ZSBrbm93IHVzZXIgaXMgb24gc2xvdyBvciBjb25zdHJhaW5lZCBjb25uZWN0aW9uXG4gICAgaWYgKCFkb2VzQ29ubmVjdGlvblN1cHBvcnRQcmVmZXRjaCgpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgcGFnZSBleGlzdHMuXG4gICAgaWYgKHRoaXMucGFnZURiLmhhcyhwYWdlUGF0aCkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBwcmVmZXRjaChwYWdlUGF0aCkge1xuICAgIGlmICghdGhpcy5zaG91bGRQcmVmZXRjaChwYWdlUGF0aCkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIC8vIFRlbGwgcGx1Z2lucyB3aXRoIGN1c3RvbSBwcmVmZXRjaGluZyBsb2dpYyB0aGF0IHRoZXkgc2hvdWxkIHN0YXJ0XG4gICAgLy8gcHJlZmV0Y2hpbmcgdGhpcyBwYXRoLlxuICAgIGlmICghdGhpcy5wcmVmZXRjaFRyaWdnZXJlZC5oYXMocGFnZVBhdGgpKSB7XG4gICAgICB0aGlzLmFwaVJ1bm5lcihgb25QcmVmZXRjaFBhdGhuYW1lYCwgeyBwYXRobmFtZTogcGFnZVBhdGggfSlcbiAgICAgIHRoaXMucHJlZmV0Y2hUcmlnZ2VyZWQuYWRkKHBhZ2VQYXRoKVxuICAgIH1cblxuICAgIC8vIElmIGEgcGx1Z2luIGhhcyBkaXNhYmxlZCBjb3JlIHByZWZldGNoaW5nLCBzdG9wIG5vdy5cbiAgICBpZiAodGhpcy5wcmVmZXRjaERpc2FibGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjb25zdCByZWFsUGF0aCA9IGZpbmRQYXRoKHBhZ2VQYXRoKVxuICAgIC8vIFRvZG8gbWFrZSBkb1ByZWZldGNoIGxvZ2ljIGNhY2hlYWJsZVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXJldHVyblxuICAgIHRoaXMuZG9QcmVmZXRjaChyZWFsUGF0aCkudGhlbigoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMucHJlZmV0Y2hDb21wbGV0ZWQuaGFzKHBhZ2VQYXRoKSkge1xuICAgICAgICB0aGlzLmFwaVJ1bm5lcihgb25Qb3N0UHJlZmV0Y2hQYXRobmFtZWAsIHsgcGF0aG5hbWU6IHBhZ2VQYXRoIH0pXG4gICAgICAgIHRoaXMucHJlZmV0Y2hDb21wbGV0ZWQuYWRkKHBhZ2VQYXRoKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgZG9QcmVmZXRjaChwYWdlUGF0aCkge1xuICAgIGNvbnN0IHBhZ2VEYXRhVXJsID0gY3JlYXRlUGFnZURhdGFVcmwocGFnZVBhdGgpXG4gICAgcmV0dXJuIHByZWZldGNoSGVscGVyKHBhZ2VEYXRhVXJsLCB7XG4gICAgICBjcm9zc09yaWdpbjogYGFub255bW91c2AsXG4gICAgICBhczogYGZldGNoYCxcbiAgICB9KS50aGVuKCgpID0+XG4gICAgICAvLyBUaGlzIHdhcyBqdXN0IHByZWZldGNoZWQsIHNvIHdpbGwgcmV0dXJuIGEgcmVzcG9uc2UgZnJvbVxuICAgICAgLy8gdGhlIGNhY2hlIGluc3RlYWQgb2YgbWFraW5nIGFub3RoZXIgcmVxdWVzdCB0byB0aGUgc2VydmVyXG4gICAgICB0aGlzLmxvYWRQYWdlRGF0YUpzb24ocGFnZVBhdGgpXG4gICAgKVxuICB9XG5cbiAgaG92ZXJpbmcocmF3UGF0aCkge1xuICAgIHRoaXMubG9hZFBhZ2UocmF3UGF0aClcbiAgfVxuXG4gIGdldFJlc291cmNlVVJMc0ZvclBhdGhuYW1lKHJhd1BhdGgpIHtcbiAgICBjb25zdCBwYWdlUGF0aCA9IGZpbmRQYXRoKHJhd1BhdGgpXG4gICAgY29uc3QgcGFnZSA9IHRoaXMucGFnZURhdGFEYi5nZXQocGFnZVBhdGgpXG4gICAgaWYgKHBhZ2UpIHtcbiAgICAgIGNvbnN0IHBhZ2VSZXNvdXJjZXMgPSB0b1BhZ2VSZXNvdXJjZXMocGFnZS5wYXlsb2FkKVxuXG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5jcmVhdGVDb21wb25lbnRVcmxzKHBhZ2VSZXNvdXJjZXMucGFnZS5jb21wb25lbnRDaHVua05hbWUpLFxuICAgICAgICBjcmVhdGVQYWdlRGF0YVVybChwYWdlUGF0aCksXG4gICAgICBdXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICB9XG5cbiAgaXNQYWdlTm90Rm91bmQocmF3UGF0aCkge1xuICAgIGNvbnN0IHBhZ2VQYXRoID0gZmluZFBhdGgocmF3UGF0aClcbiAgICBjb25zdCBwYWdlID0gdGhpcy5wYWdlRGIuZ2V0KHBhZ2VQYXRoKVxuICAgIHJldHVybiAhcGFnZSB8fCBwYWdlLm5vdEZvdW5kXG4gIH1cblxuICBsb2FkQXBwRGF0YShyZXRyaWVzID0gMCkge1xuICAgIHJldHVybiB0aGlzLm1lbW9pemVkR2V0KGAke19fUEFUSF9QUkVGSVhfX30vcGFnZS1kYXRhL2FwcC1kYXRhLmpzb25gKS50aGVuKFxuICAgICAgcmVxID0+IHtcbiAgICAgICAgY29uc3QgeyBzdGF0dXMsIHJlc3BvbnNlVGV4dCB9ID0gcmVxXG5cbiAgICAgICAgbGV0IGFwcERhdGFcblxuICAgICAgICBpZiAoc3RhdHVzICE9PSAyMDAgJiYgcmV0cmllcyA8IDMpIHtcbiAgICAgICAgICAvLyBSZXRyeSAzIHRpbWVzIGluY2FzZSBvZiBub24tMjAwIHJlc3BvbnNlc1xuICAgICAgICAgIHJldHVybiB0aGlzLmxvYWRBcHBEYXRhKHJldHJpZXMgKyAxKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGFuZGxlIDIwMFxuICAgICAgICBpZiAoc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QganNvblBheWxvYWQgPSBKU09OLnBhcnNlKHJlc3BvbnNlVGV4dClcbiAgICAgICAgICAgIGlmIChqc29uUGF5bG9hZC53ZWJwYWNrQ29tcGlsYXRpb25IYXNoID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBub3QgYSB2YWxpZCBhcHAtZGF0YSByZXNwb25zZWApXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGFwcERhdGEgPSBqc29uUGF5bG9hZFxuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgLy8gY29udGludWUgcmVnYXJkbGVzcyBvZiBlcnJvclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhcHBEYXRhXG4gICAgICB9XG4gICAgKVxuICB9XG59XG5cbmNvbnN0IGNyZWF0ZUNvbXBvbmVudFVybHMgPSBjb21wb25lbnRDaHVua05hbWUgPT5cbiAgKHdpbmRvdy5fX19jaHVua01hcHBpbmdbY29tcG9uZW50Q2h1bmtOYW1lXSB8fCBbXSkubWFwKFxuICAgIGNodW5rID0+IF9fUEFUSF9QUkVGSVhfXyArIGNodW5rXG4gIClcblxuZXhwb3J0IGNsYXNzIFByb2RMb2FkZXIgZXh0ZW5kcyBCYXNlTG9hZGVyIHtcbiAgY29uc3RydWN0b3IoYXN5bmNSZXF1aXJlcywgbWF0Y2hQYXRocykge1xuICAgIGNvbnN0IGxvYWRDb21wb25lbnQgPSBjaHVua05hbWUgPT4ge1xuICAgICAgaWYgKCFhc3luY1JlcXVpcmVzLmNvbXBvbmVudHNbY2h1bmtOYW1lXSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFdlIGNvdWxkbid0IGZpbmQgdGhlIGNvcnJlY3QgY29tcG9uZW50IGNodW5rIHdpdGggdGhlIG5hbWUgJHtjaHVua05hbWV9YFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIGFzeW5jUmVxdWlyZXMuY29tcG9uZW50c1tjaHVua05hbWVdKClcbiAgICAgICAgICAudGhlbihwcmVmZXJEZWZhdWx0KVxuICAgICAgICAgIC8vIGxvYWRlciB3aWxsIGhhbmRsZSB0aGUgY2FzZSB3aGVuIGNvbXBvbmVudCBpcyBlcnJvclxuICAgICAgICAgIC5jYXRjaChlcnIgPT4gZXJyKVxuICAgICAgKVxuICAgIH1cblxuICAgIHN1cGVyKGxvYWRDb21wb25lbnQsIG1hdGNoUGF0aHMpXG4gIH1cblxuICBkb1ByZWZldGNoKHBhZ2VQYXRoKSB7XG4gICAgcmV0dXJuIHN1cGVyLmRvUHJlZmV0Y2gocGFnZVBhdGgpLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQuc3RhdHVzICE9PSBQYWdlUmVzb3VyY2VTdGF0dXMuU3VjY2Vzcykge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhZ2VEYXRhID0gcmVzdWx0LnBheWxvYWRcbiAgICAgIGNvbnN0IGNodW5rTmFtZSA9IHBhZ2VEYXRhLmNvbXBvbmVudENodW5rTmFtZVxuICAgICAgY29uc3QgY29tcG9uZW50VXJscyA9IGNyZWF0ZUNvbXBvbmVudFVybHMoY2h1bmtOYW1lKVxuICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGNvbXBvbmVudFVybHMubWFwKHByZWZldGNoSGVscGVyKSkudGhlbigoKSA9PiBwYWdlRGF0YSlcbiAgICB9KVxuICB9XG5cbiAgbG9hZFBhZ2VEYXRhSnNvbihyYXdQYXRoKSB7XG4gICAgcmV0dXJuIHN1cGVyLmxvYWRQYWdlRGF0YUpzb24ocmF3UGF0aCkudGhlbihkYXRhID0+IHtcbiAgICAgIGlmIChkYXRhLm5vdEZvdW5kKSB7XG4gICAgICAgIC8vIGNoZWNrIGlmIGh0bWwgZmlsZSBleGlzdCB1c2luZyBIRUFEIHJlcXVlc3Q6XG4gICAgICAgIC8vIGlmIGl0IGRvZXMgd2Ugc2hvdWxkIG5hdmlnYXRlIHRvIGl0IGluc3RlYWQgb2Ygc2hvd2luZyA0MDRcbiAgICAgICAgcmV0dXJuIGRvRmV0Y2gocmF3UGF0aCwgYEhFQURgKS50aGVuKHJlcSA9PiB7XG4gICAgICAgICAgaWYgKHJlcS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgLy8gcGFnZSAoLmh0bWwgZmlsZSkgYWN0dWFsbHkgZXhpc3QgKG9yIHdlIGFza2VkIGZvciA0MDQgKVxuICAgICAgICAgICAgLy8gcmV0dXJuaW5nIHBhZ2UgcmVzb3VyY2VzIHN0YXR1cyBhcyBlcnJvcmVkIHRvIHRyaWdnZXJcbiAgICAgICAgICAgIC8vIHJlZ3VsYXIgYnJvd3NlciBuYXZpZ2F0aW9uIHRvIGdpdmVuIHBhZ2VcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHN0YXR1czogUGFnZVJlc291cmNlU3RhdHVzLkVycm9yLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGlmIEhFQUQgcmVxdWVzdCB3YXNuJ3QgMjAwLCByZXR1cm4gbm90Rm91bmQgcmVzdWx0XG4gICAgICAgICAgLy8gYW5kIHNob3cgNDA0IHBhZ2VcbiAgICAgICAgICByZXR1cm4gZGF0YVxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9KVxuICB9XG59XG5cbmxldCBpbnN0YW5jZVxuXG5leHBvcnQgY29uc3Qgc2V0TG9hZGVyID0gX2xvYWRlciA9PiB7XG4gIGluc3RhbmNlID0gX2xvYWRlclxufVxuXG5leHBvcnQgY29uc3QgcHVibGljTG9hZGVyID0ge1xuICBlbnF1ZXVlOiByYXdQYXRoID0+IGluc3RhbmNlLnByZWZldGNoKHJhd1BhdGgpLFxuXG4gIC8vIFJlYWwgbWV0aG9kc1xuICBnZXRSZXNvdXJjZVVSTHNGb3JQYXRobmFtZTogcmF3UGF0aCA9PlxuICAgIGluc3RhbmNlLmdldFJlc291cmNlVVJMc0ZvclBhdGhuYW1lKHJhd1BhdGgpLFxuICBsb2FkUGFnZTogcmF3UGF0aCA9PiBpbnN0YW5jZS5sb2FkUGFnZShyYXdQYXRoKSxcbiAgLy8gVE9ETyBhZGQgZGVwcmVjYXRpb24gdG8gdjQgc28gcGVvcGxlIHVzZSB3aXRoRXJyb3JEZXRhaWxzIGFuZCB0aGVuIHdlIGNhbiByZW1vdmUgaW4gdjUgYW5kIGNoYW5nZSBkZWZhdWx0IGJlaGF2aW91clxuICBsb2FkUGFnZVN5bmM6IChyYXdQYXRoLCBvcHRpb25zID0ge30pID0+XG4gICAgaW5zdGFuY2UubG9hZFBhZ2VTeW5jKHJhd1BhdGgsIG9wdGlvbnMpLFxuICBwcmVmZXRjaDogcmF3UGF0aCA9PiBpbnN0YW5jZS5wcmVmZXRjaChyYXdQYXRoKSxcbiAgaXNQYWdlTm90Rm91bmQ6IHJhd1BhdGggPT4gaW5zdGFuY2UuaXNQYWdlTm90Rm91bmQocmF3UGF0aCksXG4gIGhvdmVyaW5nOiByYXdQYXRoID0+IGluc3RhbmNlLmhvdmVyaW5nKHJhd1BhdGgpLFxuICBsb2FkQXBwRGF0YTogKCkgPT4gaW5zdGFuY2UubG9hZEFwcERhdGEoKSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgcHVibGljTG9hZGVyXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0aWNRdWVyeVJlc3VsdHMoKSB7XG4gIGlmIChpbnN0YW5jZSkge1xuICAgIHJldHVybiBpbnN0YW5jZS5zdGF0aWNRdWVyeURiXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHt9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///8741\n')},804:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1788);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7294);\n/* harmony import */ var _api_runner_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7343);\n/* harmony import */ var _find_path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2257);\n// Renders page\nvar PageRenderer=/*#__PURE__*/function(_React$Component){(0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__/* .default */ .Z)(PageRenderer,_React$Component);function PageRenderer(){return _React$Component.apply(this,arguments)||this;}var _proto=PageRenderer.prototype;_proto.render=function render(){var props=Object.assign({},this.props,{params:Object.assign({},(0,_find_path__WEBPACK_IMPORTED_MODULE_2__/* .grabMatchParams */ .GA)(this.props.location.pathname),this.props.pageResources.json.pageContext.__params)});var pageElement=/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(this.props.pageResources.component,Object.assign({},props,{key:this.props.path||this.props.pageResources.page.path}));var wrappedPage=(0,_api_runner_browser__WEBPACK_IMPORTED_MODULE_1__/* .apiRunner */ .h)("wrapPageElement",{element:pageElement,props:props},pageElement,function(_ref){var result=_ref.result;return{element:result,props:props};}).pop();return wrappedPage;};return PageRenderer;}(react__WEBPACK_IMPORTED_MODULE_0__.Component);/* harmony default export */ __webpack_exports__["Z"] = (PageRenderer);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9wYWdlLXJlbmRlcmVyLmpzPzIwZTUiXSwibmFtZXMiOlsiUGFnZVJlbmRlcmVyIiwicmVuZGVyIiwicHJvcHMiLCJwYXJhbXMiLCJncmFiTWF0Y2hQYXJhbXMiLCJsb2NhdGlvbiIsInBhdGhuYW1lIiwicGFnZVJlc291cmNlcyIsImpzb24iLCJwYWdlQ29udGV4dCIsIl9fcGFyYW1zIiwicGFnZUVsZW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY29tcG9uZW50Iiwia2V5IiwicGF0aCIsInBhZ2UiLCJ3cmFwcGVkUGFnZSIsImFwaVJ1bm5lciIsImVsZW1lbnQiLCJyZXN1bHQiLCJwb3AiLCJSZWFjdCJdLCJtYXBwaW5ncyI6Ijs7OztBQUtBO0dBQ01BLGEseVJBQ0pDLE0sQ0FBQSxpQkFBUyxDQUNQLEdBQU1DLE1BQUssa0JBQ04sS0FBS0EsS0FEQyxFQUVUQyxNQUFNLGtCQUNEQyxxRUFBZSxDQUFDLEtBQUtGLEtBQUwsQ0FBV0csUUFBWCxDQUFvQkMsUUFBckIsQ0FEZCxDQUVELEtBQUtKLEtBQUwsQ0FBV0ssYUFBWCxDQUF5QkMsSUFBekIsQ0FBOEJDLFdBQTlCLENBQTBDQyxRQUZ6QyxDQUZHLEVBQVgsQ0FRQSxHQUFNQyxZQUFXLGNBQUdDLG9EQUFhLENBQUMsS0FBS1YsS0FBTCxDQUFXSyxhQUFYLENBQXlCTSxTQUExQixrQkFDNUJYLEtBRDRCLEVBRS9CWSxHQUFHLENBQUUsS0FBS1osS0FBTCxDQUFXYSxJQUFYLEVBQW1CLEtBQUtiLEtBQUwsQ0FBV0ssYUFBWCxDQUF5QlMsSUFBekIsQ0FBOEJELElBRnZCLEdBQWpDLENBS0EsR0FBTUUsWUFBVyxDQUFHQyx1RUFBUyxtQkFFM0IsQ0FBRUMsT0FBTyxDQUFFUixXQUFYLENBQXdCVCxLQUFLLENBQUxBLEtBQXhCLENBRjJCLENBRzNCUyxXQUgyQixDQUkzQixjQUFnQixJQUFiUyxPQUFhLE1BQWJBLE1BQWEsQ0FDZCxNQUFPLENBQUVELE9BQU8sQ0FBRUMsTUFBWCxDQUFtQmxCLEtBQUssQ0FBTEEsS0FBbkIsQ0FBUCxDQUNELENBTjBCLENBQVQsQ0FPbEJtQixHQVBrQixFQUFwQixDQVNBLE1BQU9KLFlBQVAsQ0FDRCxDLHVCQXpCd0JLLDRDLEVBbUMzQix5REFBZXRCLFlBQWYiLCJmaWxlIjoiODA0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUVsZW1lbnQgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgeyBhcGlSdW5uZXIgfSBmcm9tIFwiLi9hcGktcnVubmVyLWJyb3dzZXJcIlxuaW1wb3J0IHsgZ3JhYk1hdGNoUGFyYW1zIH0gZnJvbSBcIi4vZmluZC1wYXRoXCJcblxuLy8gUmVuZGVycyBwYWdlXG5jbGFzcyBQYWdlUmVuZGVyZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIC4uLmdyYWJNYXRjaFBhcmFtcyh0aGlzLnByb3BzLmxvY2F0aW9uLnBhdGhuYW1lKSxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5wYWdlUmVzb3VyY2VzLmpzb24ucGFnZUNvbnRleHQuX19wYXJhbXMsXG4gICAgICB9LFxuICAgIH1cblxuICAgIGNvbnN0IHBhZ2VFbGVtZW50ID0gY3JlYXRlRWxlbWVudCh0aGlzLnByb3BzLnBhZ2VSZXNvdXJjZXMuY29tcG9uZW50LCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGtleTogdGhpcy5wcm9wcy5wYXRoIHx8IHRoaXMucHJvcHMucGFnZVJlc291cmNlcy5wYWdlLnBhdGgsXG4gICAgfSlcblxuICAgIGNvbnN0IHdyYXBwZWRQYWdlID0gYXBpUnVubmVyKFxuICAgICAgYHdyYXBQYWdlRWxlbWVudGAsXG4gICAgICB7IGVsZW1lbnQ6IHBhZ2VFbGVtZW50LCBwcm9wcyB9LFxuICAgICAgcGFnZUVsZW1lbnQsXG4gICAgICAoeyByZXN1bHQgfSkgPT4ge1xuICAgICAgICByZXR1cm4geyBlbGVtZW50OiByZXN1bHQsIHByb3BzIH1cbiAgICAgIH1cbiAgICApLnBvcCgpXG5cbiAgICByZXR1cm4gd3JhcHBlZFBhZ2VcbiAgfVxufVxuXG5QYWdlUmVuZGVyZXIucHJvcFR5cGVzID0ge1xuICBsb2NhdGlvbjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBwYWdlUmVzb3VyY2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gIHBhZ2VDb250ZXh0OiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG59XG5cbmV4cG9ydCBkZWZhdWx0IFBhZ2VSZW5kZXJlclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///804\n')},2871:function(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\nvar inheritsLoose = __webpack_require__(1788);\n// EXTERNAL MODULE: ./.cache/api-runner-browser.js\nvar api_runner_browser = __webpack_require__(7343);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(7294);\n// EXTERNAL MODULE: ./node_modules/react-dom/index.js\nvar react_dom = __webpack_require__(3935);\n// EXTERNAL MODULE: ./node_modules/@gatsbyjs/reach-router/es/index.js + 2 modules\nvar es = __webpack_require__(9499);\n// EXTERNAL MODULE: ./node_modules/gatsby-react-router-scroll/index.js\nvar gatsby_react_router_scroll = __webpack_require__(9679);\n// EXTERNAL MODULE: ./node_modules/@mikaelkristiansson/domready/ready.js\nvar ready = __webpack_require__(9228);\nvar ready_default = /*#__PURE__*/__webpack_require__.n(ready);\n// EXTERNAL MODULE: ./.cache/gatsby-browser-entry.js\nvar gatsby_browser_entry = __webpack_require__(5444);\n// EXTERNAL MODULE: ./.cache/loader.js + 1 modules\nvar loader = __webpack_require__(8741);\n// EXTERNAL MODULE: ./.cache/redirect-utils.js + 1 modules\nvar redirect_utils = __webpack_require__(5166);\n// EXTERNAL MODULE: ./.cache/emitter.js + 1 modules\nvar emitter = __webpack_require__(8110);\n;// CONCATENATED MODULE: ./.cache/route-announcer-props.js\n// This is extracted to separate module because it\'s shared\n// between browser and SSR code\nvar RouteAnnouncerProps={id:"gatsby-announcer",style:{position:"absolute",top:0,width:1,height:1,padding:0,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},"aria-live":"assertive","aria-atomic":"true"};\n// EXTERNAL MODULE: ./node_modules/@gatsbyjs/reach-router/lib/history.js\nvar lib_history = __webpack_require__(2393);\n// EXTERNAL MODULE: ./node_modules/gatsby-link/index.js\nvar gatsby_link = __webpack_require__(8037);\n;// CONCATENATED MODULE: ./.cache/navigation.js\nfunction maybeRedirect(pathname){var redirect=(0,redirect_utils/* maybeGetBrowserRedirect */.J)(pathname);if(redirect!=null){window.___replace(redirect.toPath);return true;}else{return false;}}var onPreRouteUpdate=function onPreRouteUpdate(location,prevLocation){if(!maybeRedirect(location.pathname)){(0,api_runner_browser/* apiRunner */.h)("onPreRouteUpdate",{location:location,prevLocation:prevLocation});}};var onRouteUpdate=function onRouteUpdate(location,prevLocation){if(!maybeRedirect(location.pathname)){(0,api_runner_browser/* apiRunner */.h)("onRouteUpdate",{location:location,prevLocation:prevLocation});if(false){}}};var navigation_navigate=function navigate(to,options){if(options===void 0){options={};}// Support forward/backward navigation with numbers\n// navigate(-2) (jumps back 2 history steps)\n// navigate(2) (jumps forward 2 history steps)\nif(typeof to==="number"){lib_history/* globalHistory.navigate */.V5.navigate(to);return;}var _parsePath=(0,gatsby_link/* parsePath */.cP)(to),pathname=_parsePath.pathname;var redirect=(0,redirect_utils/* maybeGetBrowserRedirect */.J)(pathname);// If we\'re redirecting, just replace the passed in pathname\n// to the one we want to redirect to.\nif(redirect){to=redirect.toPath;pathname=(0,gatsby_link/* parsePath */.cP)(to).pathname;}// If we had a service worker update, no matter the path, reload window and\n// reset the pathname whitelist\nif(window.___swUpdated){window.location=pathname;return;}// Start a timer to wait for a second before transitioning and showing a\n// loader in case resources aren\'t around yet.\nvar timeoutId=setTimeout(function(){emitter/* default.emit */.Z.emit("onDelayedLoadPageResources",{pathname:pathname});(0,api_runner_browser/* apiRunner */.h)("onRouteUpdateDelayed",{location:window.location});},1000);loader/* default.loadPage */.ZP.loadPage(pathname).then(function(pageResources){// If no page resources, then refresh the page\n// Do this, rather than simply `window.location.reload()`, so that\n// pressing the back/forward buttons work - otherwise when pressing\n// back, the browser will just change the URL and expect JS to handle\n// the change, which won\'t always work since it might not be a Gatsby\n// page.\nif(!pageResources||pageResources.status===loader/* PageResourceStatus.Error */.uQ.Error){window.history.replaceState({},"",location.href);window.location=pathname;clearTimeout(timeoutId);return;}// If the loaded page has a different compilation hash to the\n// window, then a rebuild has occurred on the server. Reload.\nif( true&&pageResources){if(pageResources.page.webpackCompilationHash!==window.___webpackCompilationHash){// Purge plugin-offline cache\nif("serviceWorker"in navigator&&navigator.serviceWorker.controller!==null&&navigator.serviceWorker.controller.state==="activated"){navigator.serviceWorker.controller.postMessage({gatsbyApi:"clearPathResources"});}window.location=pathname;}}(0,es.navigate)(to,options);clearTimeout(timeoutId);});};function shouldUpdateScroll(prevRouterProps,_ref){var _this=this;var location=_ref.location;var pathname=location.pathname,hash=location.hash;var results=(0,api_runner_browser/* apiRunner */.h)("shouldUpdateScroll",{prevRouterProps:prevRouterProps,// `pathname` for backwards compatibility\npathname:pathname,routerProps:{location:location},getSavedScrollPosition:function getSavedScrollPosition(args){return[0,// FIXME this is actually a big code smell, we should fix this\n// eslint-disable-next-line @babel/no-invalid-this\n_this._stateStorage.read(args,args.key)];}});if(results.length>0){// Use the latest registered shouldUpdateScroll result, this allows users to override plugin\'s configuration\n// @see https://github.com/gatsbyjs/gatsby/issues/12038\nreturn results[results.length-1];}if(prevRouterProps){var oldPathname=prevRouterProps.location.pathname;if(oldPathname===pathname){// Scroll to element if it exists, if it doesn\'t, or no hash is provided,\n// scroll to top.\nreturn hash?decodeURI(hash.slice(1)):[0,0];}}return true;}function init(){// The "scroll-behavior" package expects the "action" to be on the location\n// object so let\'s copy it over.\nlib_history/* globalHistory.listen */.V5.listen(function(args){args.location.action=args.action;});window.___push=function(to){return navigation_navigate(to,{replace:false});};window.___replace=function(to){return navigation_navigate(to,{replace:true});};window.___navigate=function(to,options){return navigation_navigate(to,options);};// Check for initial page-load redirect\nmaybeRedirect(window.location.pathname);}var RouteAnnouncer=/*#__PURE__*/function(_React$Component){(0,inheritsLoose/* default */.Z)(RouteAnnouncer,_React$Component);function RouteAnnouncer(props){var _this2;_this2=_React$Component.call(this,props)||this;_this2.announcementRef=/*#__PURE__*/react.createRef();return _this2;}var _proto=RouteAnnouncer.prototype;_proto.componentDidUpdate=function componentDidUpdate(prevProps,nextProps){var _this3=this;requestAnimationFrame(function(){var pageName="new page at "+_this3.props.location.pathname;if(document.title){pageName=document.title;}var pageHeadings=document.querySelectorAll("#gatsby-focus-wrapper h1");if(pageHeadings&&pageHeadings.length){pageName=pageHeadings[0].textContent;}var newAnnouncement="Navigated to "+pageName;if(_this3.announcementRef.current){var oldAnnouncement=_this3.announcementRef.current.innerText;if(oldAnnouncement!==newAnnouncement){_this3.announcementRef.current.innerText=newAnnouncement;}}});};_proto.render=function render(){return/*#__PURE__*/react.createElement("div",Object.assign({},RouteAnnouncerProps,{ref:this.announcementRef}));};return RouteAnnouncer;}(react.Component);var compareLocationProps=function compareLocationProps(prevLocation,nextLocation){var _prevLocation$state,_nextLocation$state;if(prevLocation.href!==nextLocation.href){return true;}if((prevLocation===null||prevLocation===void 0?void 0:(_prevLocation$state=prevLocation.state)===null||_prevLocation$state===void 0?void 0:_prevLocation$state.key)!==(nextLocation===null||nextLocation===void 0?void 0:(_nextLocation$state=nextLocation.state)===null||_nextLocation$state===void 0?void 0:_nextLocation$state.key)){return true;}return false;};// Fire on(Pre)RouteUpdate APIs\nvar RouteUpdates=/*#__PURE__*/function(_React$Component2){(0,inheritsLoose/* default */.Z)(RouteUpdates,_React$Component2);function RouteUpdates(props){var _this4;_this4=_React$Component2.call(this,props)||this;onPreRouteUpdate(props.location,null);return _this4;}var _proto2=RouteUpdates.prototype;_proto2.componentDidMount=function componentDidMount(){onRouteUpdate(this.props.location,null);};_proto2.shouldComponentUpdate=function shouldComponentUpdate(prevProps){if(compareLocationProps(prevProps.location,this.props.location)){onPreRouteUpdate(this.props.location,prevProps.location);return true;}return false;};_proto2.componentDidUpdate=function componentDidUpdate(prevProps){if(compareLocationProps(prevProps.location,this.props.location)){onRouteUpdate(this.props.location,prevProps.location);}};_proto2.render=function render(){return/*#__PURE__*/react.createElement(react.Fragment,null,this.props.children,/*#__PURE__*/react.createElement(RouteAnnouncer,{location:location}));};return RouteUpdates;}(react.Component);\n// EXTERNAL MODULE: ./.cache/page-renderer.js\nvar page_renderer = __webpack_require__(804);\n// EXTERNAL MODULE: ./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js\nvar async_requires = __webpack_require__(4999);\n;// CONCATENATED MODULE: ./node_modules/shallow-compare/es/index.js\n// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\n/* harmony default export */ var shallow_compare_es = (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});\n;// CONCATENATED MODULE: ./.cache/ensure-resources.js\nvar EnsureResources=/*#__PURE__*/function(_React$Component){(0,inheritsLoose/* default */.Z)(EnsureResources,_React$Component);function EnsureResources(props){var _this;_this=_React$Component.call(this)||this;var location=props.location,pageResources=props.pageResources;_this.state={location:Object.assign({},location),pageResources:pageResources||loader/* default.loadPageSync */.ZP.loadPageSync(location.pathname,{withErrorDetails:true})};return _this;}EnsureResources.getDerivedStateFromProps=function getDerivedStateFromProps(_ref,prevState){var location=_ref.location;if(prevState.location.href!==location.href){var pageResources=loader/* default.loadPageSync */.ZP.loadPageSync(location.pathname,{withErrorDetails:true});return{pageResources:pageResources,location:Object.assign({},location)};}return{location:Object.assign({},location)};};var _proto=EnsureResources.prototype;_proto.loadResources=function loadResources(rawPath){var _this2=this;loader/* default.loadPage */.ZP.loadPage(rawPath).then(function(pageResources){if(pageResources&&pageResources.status!==loader/* PageResourceStatus.Error */.uQ.Error){_this2.setState({location:Object.assign({},window.location),pageResources:pageResources});}else{window.history.replaceState({},"",location.href);window.location=rawPath;}});};_proto.shouldComponentUpdate=function shouldComponentUpdate(nextProps,nextState){// Always return false if we\'re missing resources.\nif(!nextState.pageResources){this.loadResources(nextProps.location.pathname);return false;}if(false){}// Check if the component or json have changed.\nif(this.state.pageResources!==nextState.pageResources){return true;}if(this.state.pageResources.component!==nextState.pageResources.component){return true;}if(this.state.pageResources.json!==nextState.pageResources.json){return true;}// Check if location has changed on a page using internal routing\n// via matchPath configuration.\nif(this.state.location.key!==nextState.location.key&&nextState.pageResources.page&&(nextState.pageResources.page.matchPath||nextState.pageResources.page.path)){return true;}return shallow_compare_es(this,nextProps,nextState);};_proto.render=function render(){if(false){ var message, _this$state$pageResou; }return this.props.children(this.state);};return EnsureResources;}(react.Component);/* harmony default export */ var ensure_resources = (EnsureResources);\n// EXTERNAL MODULE: ./.cache/strip-prefix.js\nvar strip_prefix = __webpack_require__(1578);\n;// CONCATENATED MODULE: ./.cache/_this_is_virtual_fs_path_/$virtual/match-paths.json\nvar match_paths_namespaceObject = JSON.parse(\'[{"path":"/en/404.html","matchPath":"/en/404.html"},{"path":"/es/404.html","matchPath":"/es/404.html"},{"path":"/en/","matchPath":"/en/"},{"path":"/es/","matchPath":"/es/"},{"path":"/en/404/","matchPath":"/en/*"},{"path":"/es/404/","matchPath":"/es/*"}]\');\n;// CONCATENATED MODULE: ./.cache/production-app.js\n// Generated during bootstrap\nvar production_app_loader=new loader/* ProdLoader */.kL(async_requires,match_paths_namespaceObject);(0,loader/* setLoader */.N1)(production_app_loader);production_app_loader.setApiRunner(api_runner_browser/* apiRunner */.h);window.asyncRequires=async_requires;window.___emitter=emitter/* default */.Z;window.___loader=loader/* publicLoader */.jN;init();(0,api_runner_browser/* apiRunnerAsync */.I)("onClientEntry").then(function(){// Let plugins register a service worker. The plugin just needs\n// to return true.\nif((0,api_runner_browser/* apiRunner */.h)("registerServiceWorker").filter(Boolean).length>0){__webpack_require__(154);}// In gatsby v2 if Router is used in page using matchPaths\n// paths need to contain full path.\n// For example:\n// - page have `/app/*` matchPath\n// - inside template user needs to use `/app/xyz` as path\n// Resetting `basepath`/`baseuri` keeps current behaviour\n// to not introduce breaking change.\n// Remove this in v3\nvar RouteHandler=function RouteHandler(props){return/*#__PURE__*/react.createElement(es.BaseContext.Provider,{value:{baseuri:"/",basepath:"/"}},/*#__PURE__*/react.createElement(page_renderer/* default */.Z,props));};var DataContext=/*#__PURE__*/react.createContext({});var GatsbyRoot=/*#__PURE__*/function(_React$Component){(0,inheritsLoose/* default */.Z)(GatsbyRoot,_React$Component);function GatsbyRoot(){return _React$Component.apply(this,arguments)||this;}var _proto=GatsbyRoot.prototype;_proto.render=function render(){var children=this.props.children;return/*#__PURE__*/react.createElement(es.Location,null,function(_ref){var location=_ref.location;return/*#__PURE__*/react.createElement(ensure_resources,{location:location},function(_ref2){var pageResources=_ref2.pageResources,location=_ref2.location;var staticQueryResults=(0,loader/* getStaticQueryResults */.hs)();return/*#__PURE__*/react.createElement(gatsby_browser_entry.StaticQueryContext.Provider,{value:staticQueryResults},/*#__PURE__*/react.createElement(DataContext.Provider,{value:{pageResources:pageResources,location:location}},children));});});};return GatsbyRoot;}(react.Component);var LocationHandler=/*#__PURE__*/function(_React$Component2){(0,inheritsLoose/* default */.Z)(LocationHandler,_React$Component2);function LocationHandler(){return _React$Component2.apply(this,arguments)||this;}var _proto2=LocationHandler.prototype;_proto2.render=function render(){var _this=this;return/*#__PURE__*/react.createElement(DataContext.Consumer,null,function(_ref3){var pageResources=_ref3.pageResources,location=_ref3.location;return/*#__PURE__*/react.createElement(RouteUpdates,{location:location},/*#__PURE__*/react.createElement(gatsby_react_router_scroll/* ScrollContext */.$C,{location:location,shouldUpdateScroll:shouldUpdateScroll},/*#__PURE__*/react.createElement(es.Router,{basepath:"",location:location,id:"gatsby-focus-wrapper"},/*#__PURE__*/react.createElement(RouteHandler,Object.assign({path:pageResources.page.path==="/404.html"?(0,strip_prefix/* default */.Z)(location.pathname,""):encodeURI(pageResources.page.matchPath||pageResources.page.path)},_this.props,{location:location,pageResources:pageResources},pageResources.json)))));});};return LocationHandler;}(react.Component);var _window=window,pagePath=_window.pagePath,browserLoc=_window.location;// Explicitly call navigate if the canonical path (window.pagePath)\n// is different to the browser path (window.location.pathname). But\n// only if NONE of the following conditions hold:\n//\n// - The url matches a client side route (page.matchPath)\n// - it\'s a 404 page\n// - it\'s the offline plugin shell (/offline-plugin-app-shell-fallback/)\nif(pagePath&&""+pagePath!==browserLoc.pathname&&!(production_app_loader.findMatchPath((0,strip_prefix/* default */.Z)(browserLoc.pathname,""))||pagePath==="/404.html"||pagePath.match(/^\\/404\\/?$/)||pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/))){(0,es.navigate)(""+pagePath+browserLoc.search+browserLoc.hash,{replace:true});}loader/* publicLoader.loadPage */.jN.loadPage(browserLoc.pathname).then(function(page){if(!page||page.status===loader/* PageResourceStatus.Error */.uQ.Error){var message="page resources for "+browserLoc.pathname+" not found. Not rendering React";// if the chunk throws an error we want to capture the real error\n// This should help with https://github.com/gatsbyjs/gatsby/issues/19618\nif(page&&page.error){console.error(message);throw page.error;}throw new Error(message);}window.___webpackCompilationHash=page.page.webpackCompilationHash;var SiteRoot=(0,api_runner_browser/* apiRunner */.h)("wrapRootElement",{element:/*#__PURE__*/react.createElement(LocationHandler,null)},/*#__PURE__*/react.createElement(LocationHandler,null),function(_ref4){var result=_ref4.result;return{element:result};}).pop();var App=function App(){return/*#__PURE__*/react.createElement(GatsbyRoot,null,SiteRoot);};var renderer=(0,api_runner_browser/* apiRunner */.h)("replaceHydrateFunction",undefined,react_dom.hydrate)[0];ready_default()(function(){renderer(/*#__PURE__*/react.createElement(App,null),typeof window!=="undefined"?document.getElementById("___gatsby"):void 0,function(){(0,api_runner_browser/* apiRunner */.h)("onInitialClientRender");});});});});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9yb3V0ZS1hbm5vdW5jZXItcHJvcHMuanM/ZWIwZiIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9uYXZpZ2F0aW9uLmpzP2M5ZWUiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi9ub2RlX21vZHVsZXMvc2hhbGxvdy1jb21wYXJlL2VzL2luZGV4LmpzPzExY2EiLCJ3ZWJwYWNrOi8vanVzdGljZTQwLXRvb2wvLi8uY2FjaGUvZW5zdXJlLXJlc291cmNlcy5qcz9mZjRlIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vLmNhY2hlL3Byb2R1Y3Rpb24tYXBwLmpzPzUzMTUiXSwibmFtZXMiOlsiUm91dGVBbm5vdW5jZXJQcm9wcyIsImlkIiwic3R5bGUiLCJwb3NpdGlvbiIsInRvcCIsIndpZHRoIiwiaGVpZ2h0IiwicGFkZGluZyIsIm92ZXJmbG93IiwiY2xpcCIsIndoaXRlU3BhY2UiLCJib3JkZXIiLCJtYXliZVJlZGlyZWN0IiwicGF0aG5hbWUiLCJyZWRpcmVjdCIsIm1heWJlR2V0QnJvd3NlclJlZGlyZWN0Iiwid2luZG93IiwiX19fcmVwbGFjZSIsInRvUGF0aCIsIm9uUHJlUm91dGVVcGRhdGUiLCJsb2NhdGlvbiIsInByZXZMb2NhdGlvbiIsImFwaVJ1bm5lciIsIm9uUm91dGVVcGRhdGUiLCJwcm9jZXNzIiwibmF2aWdhdGUiLCJ0byIsIm9wdGlvbnMiLCJnbG9iYWxIaXN0b3J5IiwicGFyc2VQYXRoIiwiX19fc3dVcGRhdGVkIiwidGltZW91dElkIiwic2V0VGltZW91dCIsImVtaXR0ZXIiLCJsb2FkZXIiLCJ0aGVuIiwicGFnZVJlc291cmNlcyIsInN0YXR1cyIsIlBhZ2VSZXNvdXJjZVN0YXR1cyIsImhpc3RvcnkiLCJyZXBsYWNlU3RhdGUiLCJocmVmIiwiY2xlYXJUaW1lb3V0IiwicGFnZSIsIndlYnBhY2tDb21waWxhdGlvbkhhc2giLCJfX193ZWJwYWNrQ29tcGlsYXRpb25IYXNoIiwibmF2aWdhdG9yIiwic2VydmljZVdvcmtlciIsImNvbnRyb2xsZXIiLCJzdGF0ZSIsInBvc3RNZXNzYWdlIiwiZ2F0c2J5QXBpIiwicmVhY2hOYXZpZ2F0ZSIsInNob3VsZFVwZGF0ZVNjcm9sbCIsInByZXZSb3V0ZXJQcm9wcyIsImhhc2giLCJyZXN1bHRzIiwicm91dGVyUHJvcHMiLCJnZXRTYXZlZFNjcm9sbFBvc2l0aW9uIiwiYXJncyIsIl9zdGF0ZVN0b3JhZ2UiLCJyZWFkIiwia2V5IiwibGVuZ3RoIiwib2xkUGF0aG5hbWUiLCJkZWNvZGVVUkkiLCJzbGljZSIsImluaXQiLCJhY3Rpb24iLCJfX19wdXNoIiwicmVwbGFjZSIsIl9fX25hdmlnYXRlIiwiUm91dGVBbm5vdW5jZXIiLCJwcm9wcyIsImFubm91bmNlbWVudFJlZiIsIlJlYWN0IiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwibmV4dFByb3BzIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwicGFnZU5hbWUiLCJkb2N1bWVudCIsInRpdGxlIiwicGFnZUhlYWRpbmdzIiwicXVlcnlTZWxlY3RvckFsbCIsInRleHRDb250ZW50IiwibmV3QW5ub3VuY2VtZW50IiwiY3VycmVudCIsIm9sZEFubm91bmNlbWVudCIsImlubmVyVGV4dCIsInJlbmRlciIsImNvbXBhcmVMb2NhdGlvblByb3BzIiwibmV4dExvY2F0aW9uIiwiUm91dGVVcGRhdGVzIiwiY29tcG9uZW50RGlkTW91bnQiLCJzaG91bGRDb21wb25lbnRVcGRhdGUiLCJjaGlsZHJlbiIsIkVuc3VyZVJlc291cmNlcyIsIndpdGhFcnJvckRldGFpbHMiLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJwcmV2U3RhdGUiLCJsb2FkUmVzb3VyY2VzIiwicmF3UGF0aCIsInNldFN0YXRlIiwibmV4dFN0YXRlIiwiY29tcG9uZW50IiwianNvbiIsIm1hdGNoUGF0aCIsInBhdGgiLCJzaGFsbG93Q29tcGFyZSIsIlByb2RMb2FkZXIiLCJhc3luY1JlcXVpcmVzIiwibWF0Y2hQYXRocyIsInNldExvYWRlciIsInNldEFwaVJ1bm5lciIsIl9fX2VtaXR0ZXIiLCJfX19sb2FkZXIiLCJwdWJsaWNMb2FkZXIiLCJuYXZpZ2F0aW9uSW5pdCIsImFwaVJ1bm5lckFzeW5jIiwiZmlsdGVyIiwiQm9vbGVhbiIsInJlcXVpcmUiLCJSb3V0ZUhhbmRsZXIiLCJiYXNldXJpIiwiYmFzZXBhdGgiLCJEYXRhQ29udGV4dCIsIkdhdHNieVJvb3QiLCJzdGF0aWNRdWVyeVJlc3VsdHMiLCJnZXRTdGF0aWNRdWVyeVJlc3VsdHMiLCJMb2NhdGlvbkhhbmRsZXIiLCJfX0JBU0VfUEFUSF9fIiwic3RyaXBQcmVmaXgiLCJlbmNvZGVVUkkiLCJwYWdlUGF0aCIsImJyb3dzZXJMb2MiLCJmaW5kTWF0Y2hQYXRoIiwibWF0Y2giLCJzZWFyY2giLCJtZXNzYWdlIiwiZXJyb3IiLCJjb25zb2xlIiwiRXJyb3IiLCJTaXRlUm9vdCIsImVsZW1lbnQiLCJyZXN1bHQiLCJwb3AiLCJBcHAiLCJyZW5kZXJlciIsInVuZGVmaW5lZCIsIlJlYWN0RE9NIiwiZG9tUmVhZHkiLCJnZXRFbGVtZW50QnlJZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDTyxHQUFNQSxvQkFBbUIsQ0FBRyxDQUNqQ0MsRUFBRSxtQkFEK0IsQ0FFakNDLEtBQUssQ0FBRSxDQUNMQyxRQUFRLFdBREgsQ0FFTEMsR0FBRyxDQUFFLENBRkEsQ0FHTEMsS0FBSyxDQUFFLENBSEYsQ0FJTEMsTUFBTSxDQUFFLENBSkgsQ0FLTEMsT0FBTyxDQUFFLENBTEosQ0FNTEMsUUFBUSxTQU5ILENBT0xDLElBQUksbUJBUEMsQ0FRTEMsVUFBVSxTQVJMLENBU0xDLE1BQU0sQ0FBRSxDQVRILENBRjBCLENBYWpDLHVCQWJpQyxDQWNqQyxvQkFkaUMsQ0FBNUIsQzs7Ozs7O0FDU1AsUUFBU0MsY0FBVCxDQUF1QkMsUUFBdkIsQ0FBaUMsQ0FDL0IsR0FBTUMsU0FBUSxDQUFHQyxpREFBdUIsQ0FBQ0YsUUFBRCxDQUF4QyxDQUVBLEdBQUlDLFFBQVEsRUFBSSxJQUFoQixDQUFzQixDQUNwQkUsTUFBTSxDQUFDQyxVQUFQLENBQWtCSCxRQUFRLENBQUNJLE1BQTNCLEVBQ0EsTUFBTyxLQUFQLENBQ0QsQ0FIRCxJQUdPLENBQ0wsTUFBTyxNQUFQLENBQ0QsQ0FDRixDQUVELEdBQU1DLGlCQUFnQixDQUFHLFFBQW5CQSxpQkFBbUIsQ0FBQ0MsUUFBRCxDQUFXQyxZQUFYLENBQTRCLENBQ25ELEdBQUksQ0FBQ1QsYUFBYSxDQUFDUSxRQUFRLENBQUNQLFFBQVYsQ0FBbEIsQ0FBdUMsQ0FDckNTLHVDQUFTLG9CQUFxQixDQUFFRixRQUFRLENBQVJBLFFBQUYsQ0FBWUMsWUFBWSxDQUFaQSxZQUFaLENBQXJCLENBQVQsQ0FDRCxDQUNGLENBSkQsQ0FNQSxHQUFNRSxjQUFhLENBQUcsUUFBaEJBLGNBQWdCLENBQUNILFFBQUQsQ0FBV0MsWUFBWCxDQUE0QixDQUNoRCxHQUFJLENBQUNULGFBQWEsQ0FBQ1EsUUFBUSxDQUFDUCxRQUFWLENBQWxCLENBQXVDLENBQ3JDUyx1Q0FBUyxpQkFBa0IsQ0FBRUYsUUFBUSxDQUFSQSxRQUFGLENBQVlDLFlBQVksQ0FBWkEsWUFBWixDQUFsQixDQUFULENBQ0EsR0FDRUcsS0FERixDQUdFLEVBR0gsQ0FDRixDQVZELENBWUEsR0FBTUMsb0JBQVEsQ0FBRyxRQUFYQSxTQUFXLENBQUNDLEVBQUQsQ0FBS0MsT0FBTCxDQUFzQixJQUFqQkEsT0FBaUIsV0FBakJBLE9BQWlCLENBQVAsRUFBTyxFQUNyQztBQUNBO0FBQ0E7QUFDQSxHQUFJLE1BQU9ELEdBQVAsV0FBSixDQUE0QixDQUMxQkUsbURBQUEsQ0FBdUJGLEVBQXZCLEVBQ0EsT0FDRCxDQUVELGVBQW1CRyxpQ0FBUyxDQUFDSCxFQUFELENBQTVCLENBQU1iLFFBQU4sWUFBTUEsUUFBTixDQUNBLEdBQU1DLFNBQVEsQ0FBR0MsaURBQXVCLENBQUNGLFFBQUQsQ0FBeEMsQ0FFQTtBQUNBO0FBQ0EsR0FBSUMsUUFBSixDQUFjLENBQ1pZLEVBQUUsQ0FBR1osUUFBUSxDQUFDSSxNQUFkLENBQ0FMLFFBQVEsQ0FBR2dCLGlDQUFTLENBQUNILEVBQUQsQ0FBVCxDQUFjYixRQUF6QixDQUNELENBRUQ7QUFDQTtBQUNBLEdBQUlHLE1BQU0sQ0FBQ2MsWUFBWCxDQUF5QixDQUN2QmQsTUFBTSxDQUFDSSxRQUFQLENBQWtCUCxRQUFsQixDQUNBLE9BQ0QsQ0FFRDtBQUNBO0FBQ0EsR0FBTWtCLFVBQVMsQ0FBR0MsVUFBVSxDQUFDLFVBQU0sQ0FDakNDLGdDQUFBLDhCQUEyQyxDQUFFcEIsUUFBUSxDQUFSQSxRQUFGLENBQTNDLEVBQ0FTLHVDQUFTLHdCQUF5QixDQUNoQ0YsUUFBUSxDQUFFSixNQUFNLENBQUNJLFFBRGUsQ0FBekIsQ0FBVCxDQUdELENBTDJCLENBS3pCLElBTHlCLENBQTVCLENBT0FjLHdDQUFBLENBQWdCckIsUUFBaEIsRUFBMEJzQixJQUExQixDQUErQixTQUFBQyxhQUFhLENBQUksQ0FDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBSSxDQUFDQSxhQUFELEVBQWtCQSxhQUFhLENBQUNDLE1BQWQsR0FBeUJDLDZDQUEvQyxDQUF5RSxDQUN2RXRCLE1BQU0sQ0FBQ3VCLE9BQVAsQ0FBZUMsWUFBZixDQUE0QixFQUE1QixJQUFvQ3BCLFFBQVEsQ0FBQ3FCLElBQTdDLEVBQ0F6QixNQUFNLENBQUNJLFFBQVAsQ0FBa0JQLFFBQWxCLENBQ0E2QixZQUFZLENBQUNYLFNBQUQsQ0FBWixDQUNBLE9BQ0QsQ0FFRDtBQUNBO0FBQ0EsR0FBSVAsS0FBQSxFQUF5Q1ksYUFBN0MsQ0FBNEQsQ0FDMUQsR0FDRUEsYUFBYSxDQUFDTyxJQUFkLENBQW1CQyxzQkFBbkIsR0FDQTVCLE1BQU0sQ0FBQzZCLHlCQUZULENBR0UsQ0FDQTtBQUNBLEdBQ0UsaUJBQW1CQyxVQUFuQixFQUNBQSxTQUFTLENBQUNDLGFBQVYsQ0FBd0JDLFVBQXhCLEdBQXVDLElBRHZDLEVBRUFGLFNBQVMsQ0FBQ0MsYUFBVixDQUF3QkMsVUFBeEIsQ0FBbUNDLEtBQW5DLGNBSEYsQ0FJRSxDQUNBSCxTQUFTLENBQUNDLGFBQVYsQ0FBd0JDLFVBQXhCLENBQW1DRSxXQUFuQyxDQUErQyxDQUM3Q0MsU0FBUyxxQkFEb0MsQ0FBL0MsRUFHRCxDQUVEbkMsTUFBTSxDQUFDSSxRQUFQLENBQWtCUCxRQUFsQixDQUNELENBQ0YsQ0FDRHVDLGVBQWEsQ0FBQzFCLEVBQUQsQ0FBS0MsT0FBTCxDQUFiLENBQ0FlLFlBQVksQ0FBQ1gsU0FBRCxDQUFaLENBQ0QsQ0FyQ0QsRUFzQ0QsQ0F6RUQsQ0EyRUEsUUFBU3NCLG1CQUFULENBQTRCQyxlQUE1QixNQUEyRCxtQkFBWmxDLFNBQVksTUFBWkEsUUFBWSxDQUN6RCxHQUFRUCxTQUFSLENBQTJCTyxRQUEzQixDQUFRUCxRQUFSLENBQWtCMEMsSUFBbEIsQ0FBMkJuQyxRQUEzQixDQUFrQm1DLElBQWxCLENBQ0EsR0FBTUMsUUFBTyxDQUFHbEMsdUNBQVMsc0JBQXVCLENBQzlDZ0MsZUFBZSxDQUFmQSxlQUQ4QyxDQUU5QztBQUNBekMsUUFBUSxDQUFSQSxRQUg4QyxDQUk5QzRDLFdBQVcsQ0FBRSxDQUFFckMsUUFBUSxDQUFSQSxRQUFGLENBSmlDLENBSzlDc0Msc0JBQXNCLENBQUUsZ0NBQUFDLElBQUksUUFBSSxDQUM5QixDQUQ4QixDQUU5QjtBQUNBO0FBQ0EsS0FBSSxDQUFDQyxhQUFMLENBQW1CQyxJQUFuQixDQUF3QkYsSUFBeEIsQ0FBOEJBLElBQUksQ0FBQ0csR0FBbkMsQ0FKOEIsQ0FBSixFQUxrQixDQUF2QixDQUF6QixDQVlBLEdBQUlOLE9BQU8sQ0FBQ08sTUFBUixDQUFpQixDQUFyQixDQUF3QixDQUN0QjtBQUNBO0FBQ0EsTUFBT1AsUUFBTyxDQUFDQSxPQUFPLENBQUNPLE1BQVIsQ0FBaUIsQ0FBbEIsQ0FBZCxDQUNELENBRUQsR0FBSVQsZUFBSixDQUFxQixDQUNuQixHQUN3QlUsWUFEeEIsQ0FFSVYsZUFGSixDQUNFbEMsUUFERixDQUNjUCxRQURkLENBR0EsR0FBSW1ELFdBQVcsR0FBS25ELFFBQXBCLENBQThCLENBQzVCO0FBQ0E7QUFDQSxNQUFPMEMsS0FBSSxDQUFHVSxTQUFTLENBQUNWLElBQUksQ0FBQ1csS0FBTCxDQUFXLENBQVgsQ0FBRCxDQUFaLENBQThCLENBQUMsQ0FBRCxDQUFJLENBQUosQ0FBekMsQ0FDRCxDQUNGLENBQ0QsTUFBTyxLQUFQLENBQ0QsQ0FFRCxRQUFTQyxLQUFULEVBQWdCLENBQ2Q7QUFDQTtBQUNBdkMsK0NBQUEsQ0FBcUIsU0FBQStCLElBQUksQ0FBSSxDQUMzQkEsSUFBSSxDQUFDdkMsUUFBTCxDQUFjZ0QsTUFBZCxDQUF1QlQsSUFBSSxDQUFDUyxNQUE1QixDQUNELENBRkQsRUFJQXBELE1BQU0sQ0FBQ3FELE9BQVAsQ0FBaUIsU0FBQTNDLEVBQUUsUUFBSUQsb0JBQVEsQ0FBQ0MsRUFBRCxDQUFLLENBQUU0QyxPQUFPLENBQUUsS0FBWCxDQUFMLENBQVosRUFBbkIsQ0FDQXRELE1BQU0sQ0FBQ0MsVUFBUCxDQUFvQixTQUFBUyxFQUFFLFFBQUlELG9CQUFRLENBQUNDLEVBQUQsQ0FBSyxDQUFFNEMsT0FBTyxDQUFFLElBQVgsQ0FBTCxDQUFaLEVBQXRCLENBQ0F0RCxNQUFNLENBQUN1RCxXQUFQLENBQXFCLFNBQUM3QyxFQUFELENBQUtDLE9BQUwsUUFBaUJGLG9CQUFRLENBQUNDLEVBQUQsQ0FBS0MsT0FBTCxDQUF6QixFQUFyQixDQUVBO0FBQ0FmLGFBQWEsQ0FBQ0ksTUFBTSxDQUFDSSxRQUFQLENBQWdCUCxRQUFqQixDQUFiLENBQ0QsQyxHQUVLMkQsZSwyR0FDSix3QkFBWUMsS0FBWixDQUFtQixZQUNqQixrQ0FBTUEsS0FBTixRQUNBLE9BQUtDLGVBQUwsY0FBdUJDLGVBQUEsRUFBdkIsQ0FGaUIsY0FHbEIsQywyQ0FFREMsa0IsQ0FBQSw0QkFBbUJDLFNBQW5CLENBQThCQyxTQUE5QixDQUF5QyxpQkFDdkNDLHFCQUFxQixDQUFDLFVBQU0sQ0FDMUIsR0FBSUMsU0FBUSxnQkFBa0IsTUFBSSxDQUFDUCxLQUFMLENBQVdyRCxRQUFYLENBQW9CUCxRQUFsRCxDQUNBLEdBQUlvRSxRQUFRLENBQUNDLEtBQWIsQ0FBb0IsQ0FDbEJGLFFBQVEsQ0FBR0MsUUFBUSxDQUFDQyxLQUFwQixDQUNELENBQ0QsR0FBTUMsYUFBWSxDQUFHRixRQUFRLENBQUNHLGdCQUFULDRCQUFyQixDQUNBLEdBQUlELFlBQVksRUFBSUEsWUFBWSxDQUFDcEIsTUFBakMsQ0FBeUMsQ0FDdkNpQixRQUFRLENBQUdHLFlBQVksQ0FBQyxDQUFELENBQVosQ0FBZ0JFLFdBQTNCLENBQ0QsQ0FDRCxHQUFNQyxnQkFBZSxpQkFBbUJOLFFBQXhDLENBQ0EsR0FBSSxNQUFJLENBQUNOLGVBQUwsQ0FBcUJhLE9BQXpCLENBQWtDLENBQ2hDLEdBQU1DLGdCQUFlLENBQUcsTUFBSSxDQUFDZCxlQUFMLENBQXFCYSxPQUFyQixDQUE2QkUsU0FBckQsQ0FDQSxHQUFJRCxlQUFlLEdBQUtGLGVBQXhCLENBQXlDLENBQ3ZDLE1BQUksQ0FBQ1osZUFBTCxDQUFxQmEsT0FBckIsQ0FBNkJFLFNBQTdCLENBQXlDSCxlQUF6QyxDQUNELENBQ0YsQ0FDRixDQWhCb0IsQ0FBckIsQ0FpQkQsQyxRQUVESSxNLENBQUEsaUJBQVMsQ0FDUCxtQkFBTywyQ0FBUzFGLG1CQUFULEVBQThCLEdBQUcsQ0FBRSxLQUFLMEUsZUFBeEMsR0FBUCxDQUNELEMseUJBNUIwQkMsZSxFQStCN0IsR0FBTWdCLHFCQUFvQixDQUFHLFFBQXZCQSxxQkFBdUIsQ0FBQ3RFLFlBQUQsQ0FBZXVFLFlBQWYsQ0FBZ0MsNkNBQzNELEdBQUl2RSxZQUFZLENBQUNvQixJQUFiLEdBQXNCbUQsWUFBWSxDQUFDbkQsSUFBdkMsQ0FBNkMsQ0FDM0MsTUFBTyxLQUFQLENBQ0QsQ0FFRCxHQUFJLENBQUFwQixZQUFZLE9BQVosRUFBQUEsWUFBWSxTQUFaLDZCQUFBQSxZQUFZLENBQUU0QixLQUFkLGtFQUFxQmEsR0FBckIsS0FBNkI4QixZQUE3QixTQUE2QkEsWUFBN0Isc0NBQTZCQSxZQUFZLENBQUUzQyxLQUEzQyw4Q0FBNkIsb0JBQXFCYSxHQUFsRCxDQUFKLENBQTJELENBQ3pELE1BQU8sS0FBUCxDQUNELENBRUQsTUFBTyxNQUFQLENBQ0QsQ0FWRCxDQVlBO0dBQ00rQixhLDJHQUNKLHNCQUFZcEIsS0FBWixDQUFtQixZQUNqQixtQ0FBTUEsS0FBTixRQUNBdEQsZ0JBQWdCLENBQUNzRCxLQUFLLENBQUNyRCxRQUFQLENBQWlCLElBQWpCLENBQWhCLENBRmlCLGNBR2xCLEMsMkNBRUQwRSxpQixDQUFBLDRCQUFvQixDQUNsQnZFLGFBQWEsQ0FBQyxLQUFLa0QsS0FBTCxDQUFXckQsUUFBWixDQUFzQixJQUF0QixDQUFiLENBQ0QsQyxTQUVEMkUscUIsQ0FBQSwrQkFBc0JsQixTQUF0QixDQUFpQyxDQUMvQixHQUFJYyxvQkFBb0IsQ0FBQ2QsU0FBUyxDQUFDekQsUUFBWCxDQUFxQixLQUFLcUQsS0FBTCxDQUFXckQsUUFBaEMsQ0FBeEIsQ0FBbUUsQ0FDakVELGdCQUFnQixDQUFDLEtBQUtzRCxLQUFMLENBQVdyRCxRQUFaLENBQXNCeUQsU0FBUyxDQUFDekQsUUFBaEMsQ0FBaEIsQ0FDQSxNQUFPLEtBQVAsQ0FDRCxDQUNELE1BQU8sTUFBUCxDQUNELEMsU0FFRHdELGtCLENBQUEsNEJBQW1CQyxTQUFuQixDQUE4QixDQUM1QixHQUFJYyxvQkFBb0IsQ0FBQ2QsU0FBUyxDQUFDekQsUUFBWCxDQUFxQixLQUFLcUQsS0FBTCxDQUFXckQsUUFBaEMsQ0FBeEIsQ0FBbUUsQ0FDakVHLGFBQWEsQ0FBQyxLQUFLa0QsS0FBTCxDQUFXckQsUUFBWixDQUFzQnlELFNBQVMsQ0FBQ3pELFFBQWhDLENBQWIsQ0FDRCxDQUNGLEMsU0FFRHNFLE0sQ0FBQSxpQkFBUyxDQUNQLG1CQUNFLG9CQUFDLGNBQUQsTUFDRyxLQUFLakIsS0FBTCxDQUFXdUIsUUFEZCxjQUVFLG9CQUFDLGNBQUQsRUFBZ0IsUUFBUSxDQUFFNUUsUUFBMUIsRUFGRixDQURGLENBTUQsQyx1QkEvQndCdUQsZTs7Ozs7O0FDL00zQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIOztBQUVBLHVEQUFnQjtBQUNoQjtBQUNBLENBQUMsRTs7R0NSS3NCLGdCLDRHQUNKLHlCQUFZeEIsS0FBWixDQUFtQixXQUNqQix3Q0FDQSxHQUFRckQsU0FBUixDQUFvQ3FELEtBQXBDLENBQVFyRCxRQUFSLENBQWtCZ0IsYUFBbEIsQ0FBb0NxQyxLQUFwQyxDQUFrQnJDLGFBQWxCLENBQ0EsTUFBS2EsS0FBTCxDQUFhLENBQ1g3QixRQUFRLGtCQUFPQSxRQUFQLENBREcsQ0FFWGdCLGFBQWEsQ0FDWEEsYUFBYSxFQUNiRixnREFBQSxDQUFvQmQsUUFBUSxDQUFDUCxRQUE3QixDQUF1QyxDQUFFcUYsZ0JBQWdCLENBQUUsSUFBcEIsQ0FBdkMsQ0FKUyxDQUFiLENBSGlCLGFBU2xCLEMsZ0JBRU1DLHdCLENBQVAsdUNBQThDQyxTQUE5QyxDQUF5RCxJQUF2QmhGLFNBQXVCLE1BQXZCQSxRQUF1QixDQUN2RCxHQUFJZ0YsU0FBUyxDQUFDaEYsUUFBVixDQUFtQnFCLElBQW5CLEdBQTRCckIsUUFBUSxDQUFDcUIsSUFBekMsQ0FBK0MsQ0FDN0MsR0FBTUwsY0FBYSxDQUFHRixnREFBQSxDQUFvQmQsUUFBUSxDQUFDUCxRQUE3QixDQUF1QyxDQUMzRHFGLGdCQUFnQixDQUFFLElBRHlDLENBQXZDLENBQXRCLENBSUEsTUFBTyxDQUNMOUQsYUFBYSxDQUFiQSxhQURLLENBRUxoQixRQUFRLGtCQUFPQSxRQUFQLENBRkgsQ0FBUCxDQUlELENBRUQsTUFBTyxDQUNMQSxRQUFRLGtCQUFPQSxRQUFQLENBREgsQ0FBUCxDQUdELEMsNkNBRURpRixhLENBQUEsdUJBQWNDLE9BQWQsQ0FBdUIsaUJBQ3JCcEUsd0NBQUEsQ0FBZ0JvRSxPQUFoQixFQUF5Qm5FLElBQXpCLENBQThCLFNBQUFDLGFBQWEsQ0FBSSxDQUM3QyxHQUFJQSxhQUFhLEVBQUlBLGFBQWEsQ0FBQ0MsTUFBZCxHQUF5QkMsNkNBQTlDLENBQXdFLENBQ3RFLE1BQUksQ0FBQ2lFLFFBQUwsQ0FBYyxDQUNabkYsUUFBUSxrQkFBT0osTUFBTSxDQUFDSSxRQUFkLENBREksQ0FFWmdCLGFBQWEsQ0FBYkEsYUFGWSxDQUFkLEVBSUQsQ0FMRCxJQUtPLENBQ0xwQixNQUFNLENBQUN1QixPQUFQLENBQWVDLFlBQWYsQ0FBNEIsRUFBNUIsSUFBb0NwQixRQUFRLENBQUNxQixJQUE3QyxFQUNBekIsTUFBTSxDQUFDSSxRQUFQLENBQWtCa0YsT0FBbEIsQ0FDRCxDQUNGLENBVkQsRUFXRCxDLFFBRURQLHFCLENBQUEsK0JBQXNCakIsU0FBdEIsQ0FBaUMwQixTQUFqQyxDQUE0QyxDQUMxQztBQUNBLEdBQUksQ0FBQ0EsU0FBUyxDQUFDcEUsYUFBZixDQUE4QixDQUM1QixLQUFLaUUsYUFBTCxDQUFtQnZCLFNBQVMsQ0FBQzFELFFBQVYsQ0FBbUJQLFFBQXRDLEVBQ0EsTUFBTyxNQUFQLENBQ0QsQ0FFRCxHQUNFVyxLQURGLENBR0UsRUFLRjtBQUNBLEdBQUksS0FBS3lCLEtBQUwsQ0FBV2IsYUFBWCxHQUE2Qm9FLFNBQVMsQ0FBQ3BFLGFBQTNDLENBQTBELENBQ3hELE1BQU8sS0FBUCxDQUNELENBQ0QsR0FDRSxLQUFLYSxLQUFMLENBQVdiLGFBQVgsQ0FBeUJxRSxTQUF6QixHQUF1Q0QsU0FBUyxDQUFDcEUsYUFBVixDQUF3QnFFLFNBRGpFLENBRUUsQ0FDQSxNQUFPLEtBQVAsQ0FDRCxDQUVELEdBQUksS0FBS3hELEtBQUwsQ0FBV2IsYUFBWCxDQUF5QnNFLElBQXpCLEdBQWtDRixTQUFTLENBQUNwRSxhQUFWLENBQXdCc0UsSUFBOUQsQ0FBb0UsQ0FDbEUsTUFBTyxLQUFQLENBQ0QsQ0FDRDtBQUNBO0FBQ0EsR0FDRSxLQUFLekQsS0FBTCxDQUFXN0IsUUFBWCxDQUFvQjBDLEdBQXBCLEdBQTRCMEMsU0FBUyxDQUFDcEYsUUFBVixDQUFtQjBDLEdBQS9DLEVBQ0EwQyxTQUFTLENBQUNwRSxhQUFWLENBQXdCTyxJQUR4QixHQUVDNkQsU0FBUyxDQUFDcEUsYUFBVixDQUF3Qk8sSUFBeEIsQ0FBNkJnRSxTQUE3QixFQUNDSCxTQUFTLENBQUNwRSxhQUFWLENBQXdCTyxJQUF4QixDQUE2QmlFLElBSC9CLENBREYsQ0FLRSxDQUNBLE1BQU8sS0FBUCxDQUNELENBQ0QsTUFBT0MsbUJBQWMsQ0FBQyxJQUFELENBQU8vQixTQUFQLENBQWtCMEIsU0FBbEIsQ0FBckIsQ0FDRCxDLFFBRURkLE0sQ0FBQSxpQkFBUyxDQUNQLEdBQ0VsRSxLQURGLENBSUUsdUNBWUYsTUFBTyxNQUFLaUQsS0FBTCxDQUFXdUIsUUFBWCxDQUFvQixLQUFLL0MsS0FBekIsQ0FBUCxDQUNELEMsMEJBdEcyQjBCLGUsRUF5RzlCLHFEQUFlc0IsZUFBZixFOzs7Ozs7QUNwRkE7QUFHQSxHQUFNL0Qsc0JBQU0sQ0FBRyxHQUFJNEUsMEJBQUosQ0FBZUMsY0FBZixDQUE4QkMsMkJBQTlCLENBQWYsQ0FDQUMsNEJBQVMsQ0FBQy9FLHFCQUFELENBQVQsQ0FDQUEscUJBQU0sQ0FBQ2dGLFlBQVAsQ0FBb0I1RixtQ0FBcEIsRUFFQU4sTUFBTSxDQUFDK0YsYUFBUCxDQUF1QkEsY0FBdkIsQ0FDQS9GLE1BQU0sQ0FBQ21HLFVBQVAsQ0FBb0JsRixzQkFBcEIsQ0FDQWpCLE1BQU0sQ0FBQ29HLFNBQVAsQ0FBbUJDLDJCQUFuQixDQUVBQyxJQUFjLEdBRWRDLDRDQUFjLGlCQUFkLENBQWdDcEYsSUFBaEMsQ0FBcUMsVUFBTSxDQUN6QztBQUNBO0FBQ0EsR0FBSWIsdUNBQVMseUJBQVQsQ0FBbUNrRyxNQUFuQyxDQUEwQ0MsT0FBMUMsRUFBbUQxRCxNQUFuRCxDQUE0RCxDQUFoRSxDQUFtRSxDQUNqRTJELG1CQUFPLENBQUMsSUFBUixDQUNELENBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQU1DLGFBQVksQ0FBRyxRQUFmQSxhQUFlLENBQUFsRCxLQUFLLHFCQUN4QixvQkFBQyx1QkFBRCxFQUNFLEtBQUssQ0FBRSxDQUNMbUQsT0FBTyxJQURGLENBRUxDLFFBQVEsSUFGSCxDQURULGVBTUUsb0JBQUMsNEJBQUQsQ0FBa0JwRCxLQUFsQixDQU5GLENBRHdCLEVBQTFCLENBV0EsR0FBTXFELFlBQVcsY0FBR25ELG1CQUFBLENBQW9CLEVBQXBCLENBQXBCLENBMUJ5QyxHQTRCbkNvRCxXQTVCbUMseU5BNkJ2Q3JDLE1BN0J1QyxDQTZCdkMsaUJBQVMsQ0FDUCxHQUFRTSxTQUFSLENBQXFCLEtBQUt2QixLQUExQixDQUFRdUIsUUFBUixDQUNBLG1CQUNFLG9CQUFDLFdBQUQsTUFDRyxrQkFBRzVFLFNBQUgsTUFBR0EsUUFBSCxvQkFDQyxvQkFBQyxnQkFBRCxFQUFpQixRQUFRLENBQUVBLFFBQTNCLEVBQ0csZUFBaUMsSUFBOUJnQixjQUE4QixPQUE5QkEsYUFBOEIsQ0FBZmhCLFFBQWUsT0FBZkEsUUFBZSxDQUNoQyxHQUFNNEcsbUJBQWtCLENBQUdDLHdDQUFxQixFQUFoRCxDQUNBLG1CQUNFLG9CQUFDLGdEQUFELEVBQTZCLEtBQUssQ0FBRUQsa0JBQXBDLGVBQ0Usb0JBQUMsV0FBRCxDQUFhLFFBQWIsRUFBc0IsS0FBSyxDQUFFLENBQUU1RixhQUFhLENBQWJBLGFBQUYsQ0FBaUJoQixRQUFRLENBQVJBLFFBQWpCLENBQTdCLEVBQ0c0RSxRQURILENBREYsQ0FERixDQU9ELENBVkgsQ0FERCxFQURILENBREYsQ0FrQkQsQ0FqRHNDLHFCQTRCaEJyQixlQTVCZ0IsS0FvRG5DdUQsZ0JBcERtQyw2T0FxRHZDeEMsTUFyRHVDLENBcUR2QyxpQkFBUyxnQkFDUCxtQkFDRSxvQkFBQyxXQUFELENBQWEsUUFBYixNQUNHLG1CQUFHdEQsY0FBSCxPQUFHQSxhQUFILENBQWtCaEIsUUFBbEIsT0FBa0JBLFFBQWxCLG9CQUNDLG9CQUFDLFlBQUQsRUFBYyxRQUFRLENBQUVBLFFBQXhCLGVBQ0Usb0JBQUMsZ0RBQUQsRUFDRSxRQUFRLENBQUVBLFFBRFosQ0FFRSxrQkFBa0IsQ0FBRWlDLGtCQUZ0QixlQUlFLG9CQUFDLFNBQUQsRUFDRSxRQUFRLENBQUU4RSxFQURaLENBRUUsUUFBUSxDQUFFL0csUUFGWixDQUdFLEVBQUUsQ0FBQyxzQkFITCxlQUtFLG9CQUFDLFlBQUQsZ0JBQ0UsSUFBSSxDQUNGZ0IsYUFBYSxDQUFDTyxJQUFkLENBQW1CaUUsSUFBbkIsZUFDSXdCLCtCQUFXLENBQUNoSCxRQUFRLENBQUNQLFFBQVYsQ0FBb0JzSCxFQUFwQixDQURmLENBRUlFLFNBQVMsQ0FDUGpHLGFBQWEsQ0FBQ08sSUFBZCxDQUFtQmdFLFNBQW5CLEVBQ0V2RSxhQUFhLENBQUNPLElBQWQsQ0FBbUJpRSxJQUZkLENBSmpCLEVBU00sS0FBSSxDQUFDbkMsS0FUWCxFQVVFLFFBQVEsQ0FBRXJELFFBVlosQ0FXRSxhQUFhLENBQUVnQixhQVhqQixFQVlNQSxhQUFhLENBQUNzRSxJQVpwQixFQUxGLENBSkYsQ0FERixDQURELEVBREgsQ0FERixDQWlDRCxDQXZGc0MsMEJBb0RYL0IsZUFwRFcsRUEwRnpDLFlBQTJDM0QsTUFBM0MsQ0FBUXNILFFBQVIsU0FBUUEsUUFBUixDQUE0QkMsVUFBNUIsU0FBa0JuSCxRQUFsQixDQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FDRWtILFFBQVEsRUFDUkgsRUFBYSxDQUFHRyxRQUFoQixHQUE2QkMsVUFBVSxDQUFDMUgsUUFEeEMsRUFFQSxFQUNFcUIscUJBQU0sQ0FBQ3NHLGFBQVAsQ0FBcUJKLCtCQUFXLENBQUNHLFVBQVUsQ0FBQzFILFFBQVosQ0FBc0JzSCxFQUF0QixDQUFoQyxHQUNBRyxRQUFRLGNBRFIsRUFFQUEsUUFBUSxDQUFDRyxLQUFULENBQWUsWUFBZixDQUZBLEVBR0FILFFBQVEsQ0FBQ0csS0FBVCxDQUFlLDBDQUFmLENBSkYsQ0FIRixDQVNFLENBQ0FoSCxlQUFRLENBQUMwRyxFQUFhLENBQUdHLFFBQWhCLENBQTJCQyxVQUFVLENBQUNHLE1BQXRDLENBQStDSCxVQUFVLENBQUNoRixJQUEzRCxDQUFpRSxDQUN2RWUsT0FBTyxDQUFFLElBRDhELENBQWpFLENBQVIsQ0FHRCxDQUVEK0MsNkNBQUEsQ0FBc0JrQixVQUFVLENBQUMxSCxRQUFqQyxFQUEyQ3NCLElBQTNDLENBQWdELFNBQUFRLElBQUksQ0FBSSxDQUN0RCxHQUFJLENBQUNBLElBQUQsRUFBU0EsSUFBSSxDQUFDTixNQUFMLEdBQWdCQyw2Q0FBN0IsQ0FBdUQsQ0FDckQsR0FBTXFHLFFBQU8sdUJBQXlCSixVQUFVLENBQUMxSCxRQUFwQyxrQ0FBYixDQUVBO0FBQ0E7QUFDQSxHQUFJOEIsSUFBSSxFQUFJQSxJQUFJLENBQUNpRyxLQUFqQixDQUF3QixDQUN0QkMsT0FBTyxDQUFDRCxLQUFSLENBQWNELE9BQWQsRUFDQSxLQUFNaEcsS0FBSSxDQUFDaUcsS0FBWCxDQUNELENBRUQsS0FBTSxJQUFJRSxNQUFKLENBQVVILE9BQVYsQ0FBTixDQUNELENBRUQzSCxNQUFNLENBQUM2Qix5QkFBUCxDQUFtQ0YsSUFBSSxDQUFDQSxJQUFMLENBQVVDLHNCQUE3QyxDQUVBLEdBQU1tRyxTQUFRLENBQUd6SCx1Q0FBUyxtQkFFeEIsQ0FBRTBILE9BQU8sY0FBRSxvQkFBQyxlQUFELE1BQVgsQ0FGd0IsY0FHeEIsb0JBQUMsZUFBRCxNQUh3QixDQUl4QixlQUFnQixJQUFiQyxPQUFhLE9BQWJBLE1BQWEsQ0FDZCxNQUFPLENBQUVELE9BQU8sQ0FBRUMsTUFBWCxDQUFQLENBQ0QsQ0FOdUIsQ0FBVCxDQU9mQyxHQVBlLEVBQWpCLENBU0EsR0FBTUMsSUFBRyxDQUFHLFFBQU5BLElBQU0sc0JBQU0sb0JBQUMsVUFBRCxNQUFhSixRQUFiLENBQU4sRUFBWixDQUVBLEdBQU1LLFNBQVEsQ0FBRzlILHVDQUFTLDBCQUV4QitILFNBRndCLENBR3hCQyxpQkFId0IsQ0FBVCxDQUlmLENBSmUsQ0FBakIsQ0FNQUMsZUFBUSxDQUFDLFVBQU0sQ0FDYkgsUUFBUSxjQUNOLG9CQUFDLEdBQUQsTUFETSxDQUVOLE1BQU9wSSxPQUFQLGVBQ0lpRSxRQUFRLENBQUN1RSxjQUFULGFBREosQ0FFSSxJQUFLLEVBSkgsQ0FLTixVQUFNLENBQ0psSSx1Q0FBUyx5QkFBVCxDQUNELENBUEssQ0FBUixDQVNELENBVk8sQ0FBUixDQVdELENBNUNELEVBNkNELENBL0pEIiwiZmlsZSI6IjI4NzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGlzIGV4dHJhY3RlZCB0byBzZXBhcmF0ZSBtb2R1bGUgYmVjYXVzZSBpdCdzIHNoYXJlZFxuLy8gYmV0d2VlbiBicm93c2VyIGFuZCBTU1IgY29kZVxuZXhwb3J0IGNvbnN0IFJvdXRlQW5ub3VuY2VyUHJvcHMgPSB7XG4gIGlkOiBgZ2F0c2J5LWFubm91bmNlcmAsXG4gIHN0eWxlOiB7XG4gICAgcG9zaXRpb246IGBhYnNvbHV0ZWAsXG4gICAgdG9wOiAwLFxuICAgIHdpZHRoOiAxLFxuICAgIGhlaWdodDogMSxcbiAgICBwYWRkaW5nOiAwLFxuICAgIG92ZXJmbG93OiBgaGlkZGVuYCxcbiAgICBjbGlwOiBgcmVjdCgwLCAwLCAwLCAwKWAsXG4gICAgd2hpdGVTcGFjZTogYG5vd3JhcGAsXG4gICAgYm9yZGVyOiAwLFxuICB9LFxuICBcImFyaWEtbGl2ZVwiOiBgYXNzZXJ0aXZlYCxcbiAgXCJhcmlhLWF0b21pY1wiOiBgdHJ1ZWAsXG59XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IGxvYWRlciwgeyBQYWdlUmVzb3VyY2VTdGF0dXMgfSBmcm9tIFwiLi9sb2FkZXJcIlxuaW1wb3J0IHsgbWF5YmVHZXRCcm93c2VyUmVkaXJlY3QgfSBmcm9tIFwiLi9yZWRpcmVjdC11dGlscy5qc1wiXG5pbXBvcnQgeyBhcGlSdW5uZXIgfSBmcm9tIFwiLi9hcGktcnVubmVyLWJyb3dzZXJcIlxuaW1wb3J0IGVtaXR0ZXIgZnJvbSBcIi4vZW1pdHRlclwiXG5pbXBvcnQgeyBSb3V0ZUFubm91bmNlclByb3BzIH0gZnJvbSBcIi4vcm91dGUtYW5ub3VuY2VyLXByb3BzXCJcbmltcG9ydCB7IG5hdmlnYXRlIGFzIHJlYWNoTmF2aWdhdGUgfSBmcm9tIFwiQGdhdHNieWpzL3JlYWNoLXJvdXRlclwiXG5pbXBvcnQgeyBnbG9iYWxIaXN0b3J5IH0gZnJvbSBcIkBnYXRzYnlqcy9yZWFjaC1yb3V0ZXIvbGliL2hpc3RvcnlcIlxuaW1wb3J0IHsgcGFyc2VQYXRoIH0gZnJvbSBcImdhdHNieS1saW5rXCJcblxuZnVuY3Rpb24gbWF5YmVSZWRpcmVjdChwYXRobmFtZSkge1xuICBjb25zdCByZWRpcmVjdCA9IG1heWJlR2V0QnJvd3NlclJlZGlyZWN0KHBhdGhuYW1lKVxuXG4gIGlmIChyZWRpcmVjdCAhPSBudWxsKSB7XG4gICAgd2luZG93Ll9fX3JlcGxhY2UocmVkaXJlY3QudG9QYXRoKVxuICAgIHJldHVybiB0cnVlXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuY29uc3Qgb25QcmVSb3V0ZVVwZGF0ZSA9IChsb2NhdGlvbiwgcHJldkxvY2F0aW9uKSA9PiB7XG4gIGlmICghbWF5YmVSZWRpcmVjdChsb2NhdGlvbi5wYXRobmFtZSkpIHtcbiAgICBhcGlSdW5uZXIoYG9uUHJlUm91dGVVcGRhdGVgLCB7IGxvY2F0aW9uLCBwcmV2TG9jYXRpb24gfSlcbiAgfVxufVxuXG5jb25zdCBvblJvdXRlVXBkYXRlID0gKGxvY2F0aW9uLCBwcmV2TG9jYXRpb24pID0+IHtcbiAgaWYgKCFtYXliZVJlZGlyZWN0KGxvY2F0aW9uLnBhdGhuYW1lKSkge1xuICAgIGFwaVJ1bm5lcihgb25Sb3V0ZVVwZGF0ZWAsIHsgbG9jYXRpb24sIHByZXZMb2NhdGlvbiB9KVxuICAgIGlmIChcbiAgICAgIHByb2Nlc3MuZW52LkdBVFNCWV9FWFBFUklNRU5UQUxfUVVFUllfT05fREVNQU5EICYmXG4gICAgICBwcm9jZXNzLmVudi5HQVRTQllfUVVFUllfT05fREVNQU5EX0xPQURJTkdfSU5ESUNBVE9SID09PSBgdHJ1ZWBcbiAgICApIHtcbiAgICAgIGVtaXR0ZXIuZW1pdChgb25Sb3V0ZVVwZGF0ZWAsIHsgbG9jYXRpb24sIHByZXZMb2NhdGlvbiB9KVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBuYXZpZ2F0ZSA9ICh0bywgb3B0aW9ucyA9IHt9KSA9PiB7XG4gIC8vIFN1cHBvcnQgZm9yd2FyZC9iYWNrd2FyZCBuYXZpZ2F0aW9uIHdpdGggbnVtYmVyc1xuICAvLyBuYXZpZ2F0ZSgtMikgKGp1bXBzIGJhY2sgMiBoaXN0b3J5IHN0ZXBzKVxuICAvLyBuYXZpZ2F0ZSgyKSAgKGp1bXBzIGZvcndhcmQgMiBoaXN0b3J5IHN0ZXBzKVxuICBpZiAodHlwZW9mIHRvID09PSBgbnVtYmVyYCkge1xuICAgIGdsb2JhbEhpc3RvcnkubmF2aWdhdGUodG8pXG4gICAgcmV0dXJuXG4gIH1cblxuICBsZXQgeyBwYXRobmFtZSB9ID0gcGFyc2VQYXRoKHRvKVxuICBjb25zdCByZWRpcmVjdCA9IG1heWJlR2V0QnJvd3NlclJlZGlyZWN0KHBhdGhuYW1lKVxuXG4gIC8vIElmIHdlJ3JlIHJlZGlyZWN0aW5nLCBqdXN0IHJlcGxhY2UgdGhlIHBhc3NlZCBpbiBwYXRobmFtZVxuICAvLyB0byB0aGUgb25lIHdlIHdhbnQgdG8gcmVkaXJlY3QgdG8uXG4gIGlmIChyZWRpcmVjdCkge1xuICAgIHRvID0gcmVkaXJlY3QudG9QYXRoXG4gICAgcGF0aG5hbWUgPSBwYXJzZVBhdGgodG8pLnBhdGhuYW1lXG4gIH1cblxuICAvLyBJZiB3ZSBoYWQgYSBzZXJ2aWNlIHdvcmtlciB1cGRhdGUsIG5vIG1hdHRlciB0aGUgcGF0aCwgcmVsb2FkIHdpbmRvdyBhbmRcbiAgLy8gcmVzZXQgdGhlIHBhdGhuYW1lIHdoaXRlbGlzdFxuICBpZiAod2luZG93Ll9fX3N3VXBkYXRlZCkge1xuICAgIHdpbmRvdy5sb2NhdGlvbiA9IHBhdGhuYW1lXG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBTdGFydCBhIHRpbWVyIHRvIHdhaXQgZm9yIGEgc2Vjb25kIGJlZm9yZSB0cmFuc2l0aW9uaW5nIGFuZCBzaG93aW5nIGFcbiAgLy8gbG9hZGVyIGluIGNhc2UgcmVzb3VyY2VzIGFyZW4ndCBhcm91bmQgeWV0LlxuICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICBlbWl0dGVyLmVtaXQoYG9uRGVsYXllZExvYWRQYWdlUmVzb3VyY2VzYCwgeyBwYXRobmFtZSB9KVxuICAgIGFwaVJ1bm5lcihgb25Sb3V0ZVVwZGF0ZURlbGF5ZWRgLCB7XG4gICAgICBsb2NhdGlvbjogd2luZG93LmxvY2F0aW9uLFxuICAgIH0pXG4gIH0sIDEwMDApXG5cbiAgbG9hZGVyLmxvYWRQYWdlKHBhdGhuYW1lKS50aGVuKHBhZ2VSZXNvdXJjZXMgPT4ge1xuICAgIC8vIElmIG5vIHBhZ2UgcmVzb3VyY2VzLCB0aGVuIHJlZnJlc2ggdGhlIHBhZ2VcbiAgICAvLyBEbyB0aGlzLCByYXRoZXIgdGhhbiBzaW1wbHkgYHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKWAsIHNvIHRoYXRcbiAgICAvLyBwcmVzc2luZyB0aGUgYmFjay9mb3J3YXJkIGJ1dHRvbnMgd29yayAtIG90aGVyd2lzZSB3aGVuIHByZXNzaW5nXG4gICAgLy8gYmFjaywgdGhlIGJyb3dzZXIgd2lsbCBqdXN0IGNoYW5nZSB0aGUgVVJMIGFuZCBleHBlY3QgSlMgdG8gaGFuZGxlXG4gICAgLy8gdGhlIGNoYW5nZSwgd2hpY2ggd29uJ3QgYWx3YXlzIHdvcmsgc2luY2UgaXQgbWlnaHQgbm90IGJlIGEgR2F0c2J5XG4gICAgLy8gcGFnZS5cbiAgICBpZiAoIXBhZ2VSZXNvdXJjZXMgfHwgcGFnZVJlc291cmNlcy5zdGF0dXMgPT09IFBhZ2VSZXNvdXJjZVN0YXR1cy5FcnJvcikge1xuICAgICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCBgYCwgbG9jYXRpb24uaHJlZilcbiAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IHBhdGhuYW1lXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGxvYWRlZCBwYWdlIGhhcyBhIGRpZmZlcmVudCBjb21waWxhdGlvbiBoYXNoIHRvIHRoZVxuICAgIC8vIHdpbmRvdywgdGhlbiBhIHJlYnVpbGQgaGFzIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIuIFJlbG9hZC5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IGBwcm9kdWN0aW9uYCAmJiBwYWdlUmVzb3VyY2VzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHBhZ2VSZXNvdXJjZXMucGFnZS53ZWJwYWNrQ29tcGlsYXRpb25IYXNoICE9PVxuICAgICAgICB3aW5kb3cuX19fd2VicGFja0NvbXBpbGF0aW9uSGFzaFxuICAgICAgKSB7XG4gICAgICAgIC8vIFB1cmdlIHBsdWdpbi1vZmZsaW5lIGNhY2hlXG4gICAgICAgIGlmIChcbiAgICAgICAgICBgc2VydmljZVdvcmtlcmAgaW4gbmF2aWdhdG9yICYmXG4gICAgICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciAhPT0gbnVsbCAmJlxuICAgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIuc3RhdGUgPT09IGBhY3RpdmF0ZWRgXG4gICAgICAgICkge1xuICAgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgZ2F0c2J5QXBpOiBgY2xlYXJQYXRoUmVzb3VyY2VzYCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gcGF0aG5hbWVcbiAgICAgIH1cbiAgICB9XG4gICAgcmVhY2hOYXZpZ2F0ZSh0bywgb3B0aW9ucylcbiAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICB9KVxufVxuXG5mdW5jdGlvbiBzaG91bGRVcGRhdGVTY3JvbGwocHJldlJvdXRlclByb3BzLCB7IGxvY2F0aW9uIH0pIHtcbiAgY29uc3QgeyBwYXRobmFtZSwgaGFzaCB9ID0gbG9jYXRpb25cbiAgY29uc3QgcmVzdWx0cyA9IGFwaVJ1bm5lcihgc2hvdWxkVXBkYXRlU2Nyb2xsYCwge1xuICAgIHByZXZSb3V0ZXJQcm9wcyxcbiAgICAvLyBgcGF0aG5hbWVgIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIHBhdGhuYW1lLFxuICAgIHJvdXRlclByb3BzOiB7IGxvY2F0aW9uIH0sXG4gICAgZ2V0U2F2ZWRTY3JvbGxQb3NpdGlvbjogYXJncyA9PiBbXG4gICAgICAwLFxuICAgICAgLy8gRklYTUUgdGhpcyBpcyBhY3R1YWxseSBhIGJpZyBjb2RlIHNtZWxsLCB3ZSBzaG91bGQgZml4IHRoaXNcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYmFiZWwvbm8taW52YWxpZC10aGlzXG4gICAgICB0aGlzLl9zdGF0ZVN0b3JhZ2UucmVhZChhcmdzLCBhcmdzLmtleSksXG4gICAgXSxcbiAgfSlcbiAgaWYgKHJlc3VsdHMubGVuZ3RoID4gMCkge1xuICAgIC8vIFVzZSB0aGUgbGF0ZXN0IHJlZ2lzdGVyZWQgc2hvdWxkVXBkYXRlU2Nyb2xsIHJlc3VsdCwgdGhpcyBhbGxvd3MgdXNlcnMgdG8gb3ZlcnJpZGUgcGx1Z2luJ3MgY29uZmlndXJhdGlvblxuICAgIC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2dhdHNieWpzL2dhdHNieS9pc3N1ZXMvMTIwMzhcbiAgICByZXR1cm4gcmVzdWx0c1tyZXN1bHRzLmxlbmd0aCAtIDFdXG4gIH1cblxuICBpZiAocHJldlJvdXRlclByb3BzKSB7XG4gICAgY29uc3Qge1xuICAgICAgbG9jYXRpb246IHsgcGF0aG5hbWU6IG9sZFBhdGhuYW1lIH0sXG4gICAgfSA9IHByZXZSb3V0ZXJQcm9wc1xuICAgIGlmIChvbGRQYXRobmFtZSA9PT0gcGF0aG5hbWUpIHtcbiAgICAgIC8vIFNjcm9sbCB0byBlbGVtZW50IGlmIGl0IGV4aXN0cywgaWYgaXQgZG9lc24ndCwgb3Igbm8gaGFzaCBpcyBwcm92aWRlZCxcbiAgICAgIC8vIHNjcm9sbCB0byB0b3AuXG4gICAgICByZXR1cm4gaGFzaCA/IGRlY29kZVVSSShoYXNoLnNsaWNlKDEpKSA6IFswLCAwXVxuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZVxufVxuXG5mdW5jdGlvbiBpbml0KCkge1xuICAvLyBUaGUgXCJzY3JvbGwtYmVoYXZpb3JcIiBwYWNrYWdlIGV4cGVjdHMgdGhlIFwiYWN0aW9uXCIgdG8gYmUgb24gdGhlIGxvY2F0aW9uXG4gIC8vIG9iamVjdCBzbyBsZXQncyBjb3B5IGl0IG92ZXIuXG4gIGdsb2JhbEhpc3RvcnkubGlzdGVuKGFyZ3MgPT4ge1xuICAgIGFyZ3MubG9jYXRpb24uYWN0aW9uID0gYXJncy5hY3Rpb25cbiAgfSlcblxuICB3aW5kb3cuX19fcHVzaCA9IHRvID0+IG5hdmlnYXRlKHRvLCB7IHJlcGxhY2U6IGZhbHNlIH0pXG4gIHdpbmRvdy5fX19yZXBsYWNlID0gdG8gPT4gbmF2aWdhdGUodG8sIHsgcmVwbGFjZTogdHJ1ZSB9KVxuICB3aW5kb3cuX19fbmF2aWdhdGUgPSAodG8sIG9wdGlvbnMpID0+IG5hdmlnYXRlKHRvLCBvcHRpb25zKVxuXG4gIC8vIENoZWNrIGZvciBpbml0aWFsIHBhZ2UtbG9hZCByZWRpcmVjdFxuICBtYXliZVJlZGlyZWN0KHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSlcbn1cblxuY2xhc3MgUm91dGVBbm5vdW5jZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIHRoaXMuYW5ub3VuY2VtZW50UmVmID0gUmVhY3QuY3JlYXRlUmVmKClcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIG5leHRQcm9wcykge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBsZXQgcGFnZU5hbWUgPSBgbmV3IHBhZ2UgYXQgJHt0aGlzLnByb3BzLmxvY2F0aW9uLnBhdGhuYW1lfWBcbiAgICAgIGlmIChkb2N1bWVudC50aXRsZSkge1xuICAgICAgICBwYWdlTmFtZSA9IGRvY3VtZW50LnRpdGxlXG4gICAgICB9XG4gICAgICBjb25zdCBwYWdlSGVhZGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGAjZ2F0c2J5LWZvY3VzLXdyYXBwZXIgaDFgKVxuICAgICAgaWYgKHBhZ2VIZWFkaW5ncyAmJiBwYWdlSGVhZGluZ3MubGVuZ3RoKSB7XG4gICAgICAgIHBhZ2VOYW1lID0gcGFnZUhlYWRpbmdzWzBdLnRleHRDb250ZW50XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdBbm5vdW5jZW1lbnQgPSBgTmF2aWdhdGVkIHRvICR7cGFnZU5hbWV9YFxuICAgICAgaWYgKHRoaXMuYW5ub3VuY2VtZW50UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3Qgb2xkQW5ub3VuY2VtZW50ID0gdGhpcy5hbm5vdW5jZW1lbnRSZWYuY3VycmVudC5pbm5lclRleHRcbiAgICAgICAgaWYgKG9sZEFubm91bmNlbWVudCAhPT0gbmV3QW5ub3VuY2VtZW50KSB7XG4gICAgICAgICAgdGhpcy5hbm5vdW5jZW1lbnRSZWYuY3VycmVudC5pbm5lclRleHQgPSBuZXdBbm5vdW5jZW1lbnRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIDxkaXYgey4uLlJvdXRlQW5ub3VuY2VyUHJvcHN9IHJlZj17dGhpcy5hbm5vdW5jZW1lbnRSZWZ9PjwvZGl2PlxuICB9XG59XG5cbmNvbnN0IGNvbXBhcmVMb2NhdGlvblByb3BzID0gKHByZXZMb2NhdGlvbiwgbmV4dExvY2F0aW9uKSA9PiB7XG4gIGlmIChwcmV2TG9jYXRpb24uaHJlZiAhPT0gbmV4dExvY2F0aW9uLmhyZWYpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKHByZXZMb2NhdGlvbj8uc3RhdGU/LmtleSAhPT0gbmV4dExvY2F0aW9uPy5zdGF0ZT8ua2V5KSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuXG4vLyBGaXJlIG9uKFByZSlSb3V0ZVVwZGF0ZSBBUElzXG5jbGFzcyBSb3V0ZVVwZGF0ZXMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIG9uUHJlUm91dGVVcGRhdGUocHJvcHMubG9jYXRpb24sIG51bGwpXG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBvblJvdXRlVXBkYXRlKHRoaXMucHJvcHMubG9jYXRpb24sIG51bGwpXG4gIH1cblxuICBzaG91bGRDb21wb25lbnRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgaWYgKGNvbXBhcmVMb2NhdGlvblByb3BzKHByZXZQcm9wcy5sb2NhdGlvbiwgdGhpcy5wcm9wcy5sb2NhdGlvbikpIHtcbiAgICAgIG9uUHJlUm91dGVVcGRhdGUodGhpcy5wcm9wcy5sb2NhdGlvbiwgcHJldlByb3BzLmxvY2F0aW9uKVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgaWYgKGNvbXBhcmVMb2NhdGlvblByb3BzKHByZXZQcm9wcy5sb2NhdGlvbiwgdGhpcy5wcm9wcy5sb2NhdGlvbikpIHtcbiAgICAgIG9uUm91dGVVcGRhdGUodGhpcy5wcm9wcy5sb2NhdGlvbiwgcHJldlByb3BzLmxvY2F0aW9uKVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPFJvdXRlQW5ub3VuY2VyIGxvY2F0aW9uPXtsb2NhdGlvbn0gLz5cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKVxuICB9XG59XG5cblJvdXRlVXBkYXRlcy5wcm9wVHlwZXMgPSB7XG4gIGxvY2F0aW9uOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG59XG5cbmV4cG9ydCB7IGluaXQsIHNob3VsZFVwZGF0ZVNjcm9sbCwgUm91dGVVcGRhdGVzLCBtYXliZUdldEJyb3dzZXJSZWRpcmVjdCB9XG4iLCIvLyBQdWxsZWQgZnJvbSByZWFjdC1jb21wYXRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9kZXZlbG9waXQvcHJlYWN0LWNvbXBhdC9ibG9iLzdjNWRlMDBlN2M4NWUyZmZkMDExYmYzYWYwMjg5OWI2M2Y2OTlkM2Evc3JjL2luZGV4LmpzI0wzNDlcbmZ1bmN0aW9uIHNoYWxsb3dEaWZmZXJzKGEsIGIpIHtcbiAgZm9yICh2YXIgaSBpbiBhKSB7XG4gICAgaWYgKCEoaSBpbiBiKSkgcmV0dXJuIHRydWU7XG4gIH1mb3IgKHZhciBfaSBpbiBiKSB7XG4gICAgaWYgKGFbX2ldICE9PSBiW19pXSkgcmV0dXJuIHRydWU7XG4gIH1yZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBkZWZhdWx0IChmdW5jdGlvbiAoaW5zdGFuY2UsIG5leHRQcm9wcywgbmV4dFN0YXRlKSB7XG4gIHJldHVybiBzaGFsbG93RGlmZmVycyhpbnN0YW5jZS5wcm9wcywgbmV4dFByb3BzKSB8fCBzaGFsbG93RGlmZmVycyhpbnN0YW5jZS5zdGF0ZSwgbmV4dFN0YXRlKTtcbn0pOyIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IGxvYWRlciwgeyBQYWdlUmVzb3VyY2VTdGF0dXMgfSBmcm9tIFwiLi9sb2FkZXJcIlxuaW1wb3J0IHNoYWxsb3dDb21wYXJlIGZyb20gXCJzaGFsbG93LWNvbXBhcmVcIlxuXG5jbGFzcyBFbnN1cmVSZXNvdXJjZXMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKClcbiAgICBjb25zdCB7IGxvY2F0aW9uLCBwYWdlUmVzb3VyY2VzIH0gPSBwcm9wc1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBsb2NhdGlvbjogeyAuLi5sb2NhdGlvbiB9LFxuICAgICAgcGFnZVJlc291cmNlczpcbiAgICAgICAgcGFnZVJlc291cmNlcyB8fFxuICAgICAgICBsb2FkZXIubG9hZFBhZ2VTeW5jKGxvY2F0aW9uLnBhdGhuYW1lLCB7IHdpdGhFcnJvckRldGFpbHM6IHRydWUgfSksXG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyh7IGxvY2F0aW9uIH0sIHByZXZTdGF0ZSkge1xuICAgIGlmIChwcmV2U3RhdGUubG9jYXRpb24uaHJlZiAhPT0gbG9jYXRpb24uaHJlZikge1xuICAgICAgY29uc3QgcGFnZVJlc291cmNlcyA9IGxvYWRlci5sb2FkUGFnZVN5bmMobG9jYXRpb24ucGF0aG5hbWUsIHtcbiAgICAgICAgd2l0aEVycm9yRGV0YWlsczogdHJ1ZSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2VSZXNvdXJjZXMsXG4gICAgICAgIGxvY2F0aW9uOiB7IC4uLmxvY2F0aW9uIH0sXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2F0aW9uOiB7IC4uLmxvY2F0aW9uIH0sXG4gICAgfVxuICB9XG5cbiAgbG9hZFJlc291cmNlcyhyYXdQYXRoKSB7XG4gICAgbG9hZGVyLmxvYWRQYWdlKHJhd1BhdGgpLnRoZW4ocGFnZVJlc291cmNlcyA9PiB7XG4gICAgICBpZiAocGFnZVJlc291cmNlcyAmJiBwYWdlUmVzb3VyY2VzLnN0YXR1cyAhPT0gUGFnZVJlc291cmNlU3RhdHVzLkVycm9yKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGxvY2F0aW9uOiB7IC4uLndpbmRvdy5sb2NhdGlvbiB9LFxuICAgICAgICAgIHBhZ2VSZXNvdXJjZXMsXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sIGBgLCBsb2NhdGlvbi5ocmVmKVxuICAgICAgICB3aW5kb3cubG9jYXRpb24gPSByYXdQYXRoXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMsIG5leHRTdGF0ZSkge1xuICAgIC8vIEFsd2F5cyByZXR1cm4gZmFsc2UgaWYgd2UncmUgbWlzc2luZyByZXNvdXJjZXMuXG4gICAgaWYgKCFuZXh0U3RhdGUucGFnZVJlc291cmNlcykge1xuICAgICAgdGhpcy5sb2FkUmVzb3VyY2VzKG5leHRQcm9wcy5sb2NhdGlvbi5wYXRobmFtZSlcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb2Nlc3MuZW52LkJVSUxEX1NUQUdFID09PSBgZGV2ZWxvcGAgJiZcbiAgICAgIG5leHRTdGF0ZS5wYWdlUmVzb3VyY2VzLnN0YWxlXG4gICAgKSB7XG4gICAgICB0aGlzLmxvYWRSZXNvdXJjZXMobmV4dFByb3BzLmxvY2F0aW9uLnBhdGhuYW1lKVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGNvbXBvbmVudCBvciBqc29uIGhhdmUgY2hhbmdlZC5cbiAgICBpZiAodGhpcy5zdGF0ZS5wYWdlUmVzb3VyY2VzICE9PSBuZXh0U3RhdGUucGFnZVJlc291cmNlcykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgaWYgKFxuICAgICAgdGhpcy5zdGF0ZS5wYWdlUmVzb3VyY2VzLmNvbXBvbmVudCAhPT0gbmV4dFN0YXRlLnBhZ2VSZXNvdXJjZXMuY29tcG9uZW50XG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmICh0aGlzLnN0YXRlLnBhZ2VSZXNvdXJjZXMuanNvbiAhPT0gbmV4dFN0YXRlLnBhZ2VSZXNvdXJjZXMuanNvbikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgLy8gQ2hlY2sgaWYgbG9jYXRpb24gaGFzIGNoYW5nZWQgb24gYSBwYWdlIHVzaW5nIGludGVybmFsIHJvdXRpbmdcbiAgICAvLyB2aWEgbWF0Y2hQYXRoIGNvbmZpZ3VyYXRpb24uXG4gICAgaWYgKFxuICAgICAgdGhpcy5zdGF0ZS5sb2NhdGlvbi5rZXkgIT09IG5leHRTdGF0ZS5sb2NhdGlvbi5rZXkgJiZcbiAgICAgIG5leHRTdGF0ZS5wYWdlUmVzb3VyY2VzLnBhZ2UgJiZcbiAgICAgIChuZXh0U3RhdGUucGFnZVJlc291cmNlcy5wYWdlLm1hdGNoUGF0aCB8fFxuICAgICAgICBuZXh0U3RhdGUucGFnZVJlc291cmNlcy5wYWdlLnBhdGgpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gc2hhbGxvd0NvbXBhcmUodGhpcywgbmV4dFByb3BzLCBuZXh0U3RhdGUpXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgaWYgKFxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IGBwcm9kdWN0aW9uYCAmJlxuICAgICAgKCF0aGlzLnN0YXRlLnBhZ2VSZXNvdXJjZXMgfHxcbiAgICAgICAgdGhpcy5zdGF0ZS5wYWdlUmVzb3VyY2VzLnN0YXR1cyA9PT0gUGFnZVJlc291cmNlU3RhdHVzLkVycm9yKVxuICAgICkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBFbnN1cmVSZXNvdXJjZXMgd2FzIG5vdCBhYmxlIHRvIGZpbmQgcmVzb3VyY2VzIGZvciBwYXRoOiBcIiR7dGhpcy5wcm9wcy5sb2NhdGlvbi5wYXRobmFtZX1cIlxuVGhpcyB0eXBpY2FsbHkgbWVhbnMgdGhhdCBhbiBpc3N1ZSBvY2N1cnJlZCBidWlsZGluZyBjb21wb25lbnRzIGZvciB0aGF0IHBhdGguXG5SdW4gXFxgZ2F0c2J5IGNsZWFuXFxgIHRvIHJlbW92ZSBhbnkgY2FjaGVkIGVsZW1lbnRzLmBcbiAgICAgIGlmICh0aGlzLnN0YXRlLnBhZ2VSZXNvdXJjZXM/LmVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSlcbiAgICAgICAgdGhyb3cgdGhpcy5zdGF0ZS5wYWdlUmVzb3VyY2VzLmVycm9yXG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuKHRoaXMuc3RhdGUpXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRW5zdXJlUmVzb3VyY2VzXG4iLCJpbXBvcnQgeyBhcGlSdW5uZXIsIGFwaVJ1bm5lckFzeW5jIH0gZnJvbSBcIi4vYXBpLXJ1bm5lci1icm93c2VyXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFJlYWN0RE9NIGZyb20gXCJyZWFjdC1kb21cIlxuaW1wb3J0IHsgUm91dGVyLCBuYXZpZ2F0ZSwgTG9jYXRpb24sIEJhc2VDb250ZXh0IH0gZnJvbSBcIkBnYXRzYnlqcy9yZWFjaC1yb3V0ZXJcIlxuaW1wb3J0IHsgU2Nyb2xsQ29udGV4dCB9IGZyb20gXCJnYXRzYnktcmVhY3Qtcm91dGVyLXNjcm9sbFwiXG5pbXBvcnQgZG9tUmVhZHkgZnJvbSBcIkBtaWthZWxrcmlzdGlhbnNzb24vZG9tcmVhZHlcIlxuaW1wb3J0IHsgU3RhdGljUXVlcnlDb250ZXh0IH0gZnJvbSBcImdhdHNieVwiXG5pbXBvcnQge1xuICBzaG91bGRVcGRhdGVTY3JvbGwsXG4gIGluaXQgYXMgbmF2aWdhdGlvbkluaXQsXG4gIFJvdXRlVXBkYXRlcyxcbn0gZnJvbSBcIi4vbmF2aWdhdGlvblwiXG5pbXBvcnQgZW1pdHRlciBmcm9tIFwiLi9lbWl0dGVyXCJcbmltcG9ydCBQYWdlUmVuZGVyZXIgZnJvbSBcIi4vcGFnZS1yZW5kZXJlclwiXG5pbXBvcnQgYXN5bmNSZXF1aXJlcyBmcm9tIFwiJHZpcnR1YWwvYXN5bmMtcmVxdWlyZXNcIlxuaW1wb3J0IHtcbiAgc2V0TG9hZGVyLFxuICBQcm9kTG9hZGVyLFxuICBwdWJsaWNMb2FkZXIsXG4gIFBhZ2VSZXNvdXJjZVN0YXR1cyxcbiAgZ2V0U3RhdGljUXVlcnlSZXN1bHRzLFxufSBmcm9tIFwiLi9sb2FkZXJcIlxuaW1wb3J0IEVuc3VyZVJlc291cmNlcyBmcm9tIFwiLi9lbnN1cmUtcmVzb3VyY2VzXCJcbmltcG9ydCBzdHJpcFByZWZpeCBmcm9tIFwiLi9zdHJpcC1wcmVmaXhcIlxuXG4vLyBHZW5lcmF0ZWQgZHVyaW5nIGJvb3RzdHJhcFxuaW1wb3J0IG1hdGNoUGF0aHMgZnJvbSBcIiR2aXJ0dWFsL21hdGNoLXBhdGhzLmpzb25cIlxuXG5jb25zdCBsb2FkZXIgPSBuZXcgUHJvZExvYWRlcihhc3luY1JlcXVpcmVzLCBtYXRjaFBhdGhzKVxuc2V0TG9hZGVyKGxvYWRlcilcbmxvYWRlci5zZXRBcGlSdW5uZXIoYXBpUnVubmVyKVxuXG53aW5kb3cuYXN5bmNSZXF1aXJlcyA9IGFzeW5jUmVxdWlyZXNcbndpbmRvdy5fX19lbWl0dGVyID0gZW1pdHRlclxud2luZG93Ll9fX2xvYWRlciA9IHB1YmxpY0xvYWRlclxuXG5uYXZpZ2F0aW9uSW5pdCgpXG5cbmFwaVJ1bm5lckFzeW5jKGBvbkNsaWVudEVudHJ5YCkudGhlbigoKSA9PiB7XG4gIC8vIExldCBwbHVnaW5zIHJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIuIFRoZSBwbHVnaW4ganVzdCBuZWVkc1xuICAvLyB0byByZXR1cm4gdHJ1ZS5cbiAgaWYgKGFwaVJ1bm5lcihgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyYCkuZmlsdGVyKEJvb2xlYW4pLmxlbmd0aCA+IDApIHtcbiAgICByZXF1aXJlKGAuL3JlZ2lzdGVyLXNlcnZpY2Utd29ya2VyYClcbiAgfVxuXG4gIC8vIEluIGdhdHNieSB2MiBpZiBSb3V0ZXIgaXMgdXNlZCBpbiBwYWdlIHVzaW5nIG1hdGNoUGF0aHNcbiAgLy8gcGF0aHMgbmVlZCB0byBjb250YWluIGZ1bGwgcGF0aC5cbiAgLy8gRm9yIGV4YW1wbGU6XG4gIC8vICAgLSBwYWdlIGhhdmUgYC9hcHAvKmAgbWF0Y2hQYXRoXG4gIC8vICAgLSBpbnNpZGUgdGVtcGxhdGUgdXNlciBuZWVkcyB0byB1c2UgYC9hcHAveHl6YCBhcyBwYXRoXG4gIC8vIFJlc2V0dGluZyBgYmFzZXBhdGhgL2BiYXNldXJpYCBrZWVwcyBjdXJyZW50IGJlaGF2aW91clxuICAvLyB0byBub3QgaW50cm9kdWNlIGJyZWFraW5nIGNoYW5nZS5cbiAgLy8gUmVtb3ZlIHRoaXMgaW4gdjNcbiAgY29uc3QgUm91dGVIYW5kbGVyID0gcHJvcHMgPT4gKFxuICAgIDxCYXNlQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgYmFzZXVyaTogYC9gLFxuICAgICAgICBiYXNlcGF0aDogYC9gLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8UGFnZVJlbmRlcmVyIHsuLi5wcm9wc30gLz5cbiAgICA8L0Jhc2VDb250ZXh0LlByb3ZpZGVyPlxuICApXG5cbiAgY29uc3QgRGF0YUNvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0KHt9KVxuXG4gIGNsYXNzIEdhdHNieVJvb3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHNcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxMb2NhdGlvbj5cbiAgICAgICAgICB7KHsgbG9jYXRpb24gfSkgPT4gKFxuICAgICAgICAgICAgPEVuc3VyZVJlc291cmNlcyBsb2NhdGlvbj17bG9jYXRpb259PlxuICAgICAgICAgICAgICB7KHsgcGFnZVJlc291cmNlcywgbG9jYXRpb24gfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRpY1F1ZXJ5UmVzdWx0cyA9IGdldFN0YXRpY1F1ZXJ5UmVzdWx0cygpXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxTdGF0aWNRdWVyeUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3N0YXRpY1F1ZXJ5UmVzdWx0c30+XG4gICAgICAgICAgICAgICAgICAgIDxEYXRhQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17eyBwYWdlUmVzb3VyY2VzLCBsb2NhdGlvbiB9fT5cbiAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgIDwvRGF0YUNvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICA8L1N0YXRpY1F1ZXJ5Q29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L0Vuc3VyZVJlc291cmNlcz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0xvY2F0aW9uPlxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIGNsYXNzIExvY2F0aW9uSGFuZGxlciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgcmVuZGVyKCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPERhdGFDb250ZXh0LkNvbnN1bWVyPlxuICAgICAgICAgIHsoeyBwYWdlUmVzb3VyY2VzLCBsb2NhdGlvbiB9KSA9PiAoXG4gICAgICAgICAgICA8Um91dGVVcGRhdGVzIGxvY2F0aW9uPXtsb2NhdGlvbn0+XG4gICAgICAgICAgICAgIDxTY3JvbGxDb250ZXh0XG4gICAgICAgICAgICAgICAgbG9jYXRpb249e2xvY2F0aW9ufVxuICAgICAgICAgICAgICAgIHNob3VsZFVwZGF0ZVNjcm9sbD17c2hvdWxkVXBkYXRlU2Nyb2xsfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJvdXRlclxuICAgICAgICAgICAgICAgICAgYmFzZXBhdGg9e19fQkFTRV9QQVRIX199XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvbj17bG9jYXRpb259XG4gICAgICAgICAgICAgICAgICBpZD1cImdhdHNieS1mb2N1cy13cmFwcGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8Um91dGVIYW5kbGVyXG4gICAgICAgICAgICAgICAgICAgIHBhdGg9e1xuICAgICAgICAgICAgICAgICAgICAgIHBhZ2VSZXNvdXJjZXMucGFnZS5wYXRoID09PSBgLzQwNC5odG1sYFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBzdHJpcFByZWZpeChsb2NhdGlvbi5wYXRobmFtZSwgX19CQVNFX1BBVEhfXylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZW5jb2RlVVJJKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VSZXNvdXJjZXMucGFnZS5tYXRjaFBhdGggfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VSZXNvdXJjZXMucGFnZS5wYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB7Li4udGhpcy5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgbG9jYXRpb249e2xvY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgICBwYWdlUmVzb3VyY2VzPXtwYWdlUmVzb3VyY2VzfVxuICAgICAgICAgICAgICAgICAgICB7Li4ucGFnZVJlc291cmNlcy5qc29ufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JvdXRlcj5cbiAgICAgICAgICAgICAgPC9TY3JvbGxDb250ZXh0PlxuICAgICAgICAgICAgPC9Sb3V0ZVVwZGF0ZXM+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9EYXRhQ29udGV4dC5Db25zdW1lcj5cbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBjb25zdCB7IHBhZ2VQYXRoLCBsb2NhdGlvbjogYnJvd3NlckxvYyB9ID0gd2luZG93XG5cbiAgLy8gRXhwbGljaXRseSBjYWxsIG5hdmlnYXRlIGlmIHRoZSBjYW5vbmljYWwgcGF0aCAod2luZG93LnBhZ2VQYXRoKVxuICAvLyBpcyBkaWZmZXJlbnQgdG8gdGhlIGJyb3dzZXIgcGF0aCAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS4gQnV0XG4gIC8vIG9ubHkgaWYgTk9ORSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgaG9sZDpcbiAgLy9cbiAgLy8gLSBUaGUgdXJsIG1hdGNoZXMgYSBjbGllbnQgc2lkZSByb3V0ZSAocGFnZS5tYXRjaFBhdGgpXG4gIC8vIC0gaXQncyBhIDQwNCBwYWdlXG4gIC8vIC0gaXQncyB0aGUgb2ZmbGluZSBwbHVnaW4gc2hlbGwgKC9vZmZsaW5lLXBsdWdpbi1hcHAtc2hlbGwtZmFsbGJhY2svKVxuICBpZiAoXG4gICAgcGFnZVBhdGggJiZcbiAgICBfX0JBU0VfUEFUSF9fICsgcGFnZVBhdGggIT09IGJyb3dzZXJMb2MucGF0aG5hbWUgJiZcbiAgICAhKFxuICAgICAgbG9hZGVyLmZpbmRNYXRjaFBhdGgoc3RyaXBQcmVmaXgoYnJvd3NlckxvYy5wYXRobmFtZSwgX19CQVNFX1BBVEhfXykpIHx8XG4gICAgICBwYWdlUGF0aCA9PT0gYC80MDQuaHRtbGAgfHxcbiAgICAgIHBhZ2VQYXRoLm1hdGNoKC9eXFwvNDA0XFwvPyQvKSB8fFxuICAgICAgcGFnZVBhdGgubWF0Y2goL15cXC9vZmZsaW5lLXBsdWdpbi1hcHAtc2hlbGwtZmFsbGJhY2tcXC8/JC8pXG4gICAgKVxuICApIHtcbiAgICBuYXZpZ2F0ZShfX0JBU0VfUEFUSF9fICsgcGFnZVBhdGggKyBicm93c2VyTG9jLnNlYXJjaCArIGJyb3dzZXJMb2MuaGFzaCwge1xuICAgICAgcmVwbGFjZTogdHJ1ZSxcbiAgICB9KVxuICB9XG5cbiAgcHVibGljTG9hZGVyLmxvYWRQYWdlKGJyb3dzZXJMb2MucGF0aG5hbWUpLnRoZW4ocGFnZSA9PiB7XG4gICAgaWYgKCFwYWdlIHx8IHBhZ2Uuc3RhdHVzID09PSBQYWdlUmVzb3VyY2VTdGF0dXMuRXJyb3IpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgcGFnZSByZXNvdXJjZXMgZm9yICR7YnJvd3NlckxvYy5wYXRobmFtZX0gbm90IGZvdW5kLiBOb3QgcmVuZGVyaW5nIFJlYWN0YFxuXG4gICAgICAvLyBpZiB0aGUgY2h1bmsgdGhyb3dzIGFuIGVycm9yIHdlIHdhbnQgdG8gY2FwdHVyZSB0aGUgcmVhbCBlcnJvclxuICAgICAgLy8gVGhpcyBzaG91bGQgaGVscCB3aXRoIGh0dHBzOi8vZ2l0aHViLmNvbS9nYXRzYnlqcy9nYXRzYnkvaXNzdWVzLzE5NjE4XG4gICAgICBpZiAocGFnZSAmJiBwYWdlLmVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSlcbiAgICAgICAgdGhyb3cgcGFnZS5lcnJvclxuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSlcbiAgICB9XG5cbiAgICB3aW5kb3cuX19fd2VicGFja0NvbXBpbGF0aW9uSGFzaCA9IHBhZ2UucGFnZS53ZWJwYWNrQ29tcGlsYXRpb25IYXNoXG5cbiAgICBjb25zdCBTaXRlUm9vdCA9IGFwaVJ1bm5lcihcbiAgICAgIGB3cmFwUm9vdEVsZW1lbnRgLFxuICAgICAgeyBlbGVtZW50OiA8TG9jYXRpb25IYW5kbGVyIC8+IH0sXG4gICAgICA8TG9jYXRpb25IYW5kbGVyIC8+LFxuICAgICAgKHsgcmVzdWx0IH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHsgZWxlbWVudDogcmVzdWx0IH1cbiAgICAgIH1cbiAgICApLnBvcCgpXG5cbiAgICBjb25zdCBBcHAgPSAoKSA9PiA8R2F0c2J5Um9vdD57U2l0ZVJvb3R9PC9HYXRzYnlSb290PlxuXG4gICAgY29uc3QgcmVuZGVyZXIgPSBhcGlSdW5uZXIoXG4gICAgICBgcmVwbGFjZUh5ZHJhdGVGdW5jdGlvbmAsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBSZWFjdERPTS5oeWRyYXRlXG4gICAgKVswXVxuXG4gICAgZG9tUmVhZHkoKCkgPT4ge1xuICAgICAgcmVuZGVyZXIoXG4gICAgICAgIDxBcHAgLz4sXG4gICAgICAgIHR5cGVvZiB3aW5kb3cgIT09IGB1bmRlZmluZWRgXG4gICAgICAgICAgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgX19fZ2F0c2J5YClcbiAgICAgICAgICA6IHZvaWQgMCxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGFwaVJ1bm5lcihgb25Jbml0aWFsQ2xpZW50UmVuZGVyYClcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0pXG4gIH0pXG59KVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///2871\n')},6947:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7294);\n/* harmony import */ var _loader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8741);\n/* harmony import */ var _page_renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(804);\nvar ProdPageRenderer=function ProdPageRenderer(_ref){var location=_ref.location;var pageResources=_loader__WEBPACK_IMPORTED_MODULE_1__/* .default.loadPageSync */ .ZP.loadPageSync(location.pathname);if(!pageResources){return null;}return/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_page_renderer__WEBPACK_IMPORTED_MODULE_2__/* .default */ .Z,Object.assign({location:location,pageResources:pageResources},pageResources.json));};/* harmony default export */ __webpack_exports__["default"] = (ProdPageRenderer);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9wdWJsaWMtcGFnZS1yZW5kZXJlci1wcm9kLmpzP2FmMzkiXSwibmFtZXMiOlsiUHJvZFBhZ2VSZW5kZXJlciIsImxvY2F0aW9uIiwicGFnZVJlc291cmNlcyIsImxvYWRlciIsInBhdGhuYW1lIiwiUmVhY3QiLCJJbnRlcm5hbFBhZ2VSZW5kZXJlciIsImpzb24iXSwibWFwcGluZ3MiOiI7Ozs7QUFNQSxHQUFNQSxpQkFBZ0IsQ0FBRyxRQUFuQkEsaUJBQW1CLE1BQWtCLElBQWZDLFNBQWUsTUFBZkEsUUFBZSxDQUN6QyxHQUFNQyxjQUFhLENBQUdDLGdGQUFBLENBQW9CRixRQUFRLENBQUNHLFFBQTdCLENBQXRCLENBQ0EsR0FBSSxDQUFDRixhQUFMLENBQW9CLENBQ2xCLE1BQU8sS0FBUCxDQUNELENBQ0QsbUJBQU9HLGdEQUFBLENBQW9CQyw0REFBcEIsZ0JBQ0xMLFFBQVEsQ0FBUkEsUUFESyxDQUVMQyxhQUFhLENBQWJBLGFBRkssRUFHRkEsYUFBYSxDQUFDSyxJQUhaLEVBQVAsQ0FLRCxDQVZELENBa0JBLCtEQUFlUCxnQkFBZiIsImZpbGUiOiI2OTQ3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcblxuaW1wb3J0IGxvYWRlciBmcm9tIFwiLi9sb2FkZXJcIlxuaW1wb3J0IEludGVybmFsUGFnZVJlbmRlcmVyIGZyb20gXCIuL3BhZ2UtcmVuZGVyZXJcIlxuXG5jb25zdCBQcm9kUGFnZVJlbmRlcmVyID0gKHsgbG9jYXRpb24gfSkgPT4ge1xuICBjb25zdCBwYWdlUmVzb3VyY2VzID0gbG9hZGVyLmxvYWRQYWdlU3luYyhsb2NhdGlvbi5wYXRobmFtZSlcbiAgaWYgKCFwYWdlUmVzb3VyY2VzKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChJbnRlcm5hbFBhZ2VSZW5kZXJlciwge1xuICAgIGxvY2F0aW9uLFxuICAgIHBhZ2VSZXNvdXJjZXMsXG4gICAgLi4ucGFnZVJlc291cmNlcy5qc29uLFxuICB9KVxufVxuXG5Qcm9kUGFnZVJlbmRlcmVyLnByb3BUeXBlcyA9IHtcbiAgbG9jYXRpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgcGF0aG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfSkuaXNSZXF1aXJlZCxcbn1cblxuZXhwb3J0IGRlZmF1bHQgUHJvZFBhZ2VSZW5kZXJlclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///6947\n')},861:function(module,__unused_webpack_exports,__webpack_require__){eval("var preferDefault=function preferDefault(m){return m&&m.default||m;};if(false){}else if(true){module.exports=preferDefault(__webpack_require__(6947));}else{}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9wdWJsaWMtcGFnZS1yZW5kZXJlci5qcz85NzBkIl0sIm5hbWVzIjpbInByZWZlckRlZmF1bHQiLCJtIiwiZGVmYXVsdCIsInByb2Nlc3MiLCJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSJdLCJtYXBwaW5ncyI6IkFBQUEsR0FBTUEsY0FBYSxDQUFHLFFBQWhCQSxjQUFnQixDQUFBQyxDQUFDLFFBQUtBLEVBQUMsRUFBSUEsQ0FBQyxDQUFDQyxPQUFSLEVBQW9CRCxDQUF4QixFQUF2QixDQUVBLEdBQUlFLEtBQUosQ0FBMkMsRUFBM0MsSUFFTyxJQUFJQSxJQUFKLENBQW9ELENBQ3pEQyxNQUFNLENBQUNDLE9BQVAsQ0FBaUJMLGFBQWEsQ0FBQ00sbUJBQU8sQ0FBQyxLQUFULENBQTlCLENBQ0QsQ0FGTSxJQUVBIiwiZmlsZSI6Ijg2MS5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHByZWZlckRlZmF1bHQgPSBtID0+IChtICYmIG0uZGVmYXVsdCkgfHwgbVxuXG5pZiAocHJvY2Vzcy5lbnYuQlVJTERfU1RBR0UgPT09IGBkZXZlbG9wYCkge1xuICBtb2R1bGUuZXhwb3J0cyA9IHByZWZlckRlZmF1bHQocmVxdWlyZShgLi9wdWJsaWMtcGFnZS1yZW5kZXJlci1kZXZgKSlcbn0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuQlVJTERfU1RBR0UgPT09IGBidWlsZC1qYXZhc2NyaXB0YCkge1xuICBtb2R1bGUuZXhwb3J0cyA9IHByZWZlckRlZmF1bHQocmVxdWlyZShgLi9wdWJsaWMtcGFnZS1yZW5kZXJlci1wcm9kYCkpXG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9ICgpID0+IG51bGxcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///861\n")},3639:function(__unused_webpack_module,exports){eval("exports.O=function(Component){return Component;};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9yZWFjdC1saWZlY3ljbGVzLWNvbXBhdC5qcz9mNzg1Il0sIm5hbWVzIjpbImV4cG9ydHMiLCJDb21wb25lbnQiXSwibWFwcGluZ3MiOiJBQUFBQSxTQUFBLENBQW1CLFNBQUFDLFNBQVMsUUFBSUEsVUFBSixFQUE1QiIsImZpbGUiOiIzNjM5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cy5wb2x5ZmlsbCA9IENvbXBvbmVudCA9PiBDb21wb25lbnRcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///3639\n")},5166:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n "J": function() { return /* binding */ maybeGetBrowserRedirect; }\n});\n\n;// CONCATENATED MODULE: ./.cache/redirects.json\nvar redirects_namespaceObject = [];\n;// CONCATENATED MODULE: ./.cache/redirect-utils.js\n// Convert to a map for faster lookup in maybeRedirect()\nvar redirectMap=new Map();var redirectIgnoreCaseMap=new Map();redirects_namespaceObject.forEach(function(redirect){if(redirect.ignoreCase){redirectIgnoreCaseMap.set(redirect.fromPath,redirect);}else{redirectMap.set(redirect.fromPath,redirect);}});function maybeGetBrowserRedirect(pathname){var redirect=redirectMap.get(pathname);if(!redirect){redirect=redirectIgnoreCaseMap.get(pathname.toLowerCase());}return redirect;}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9yZWRpcmVjdC11dGlscy5qcz84OWI4Il0sIm5hbWVzIjpbInJlZGlyZWN0TWFwIiwiTWFwIiwicmVkaXJlY3RJZ25vcmVDYXNlTWFwIiwicmVkaXJlY3RzIiwicmVkaXJlY3QiLCJpZ25vcmVDYXNlIiwic2V0IiwiZnJvbVBhdGgiLCJtYXliZUdldEJyb3dzZXJSZWRpcmVjdCIsInBhdGhuYW1lIiwiZ2V0IiwidG9Mb3dlckNhc2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBO0FBRUEsR0FBTUEsWUFBVyxDQUFHLEdBQUlDLElBQUosRUFBcEIsQ0FDQSxHQUFNQyxzQkFBcUIsQ0FBRyxHQUFJRCxJQUFKLEVBQTlCLENBRUFFLGlDQUFBLENBQWtCLFNBQUFDLFFBQVEsQ0FBSSxDQUM1QixHQUFJQSxRQUFRLENBQUNDLFVBQWIsQ0FBeUIsQ0FDdkJILHFCQUFxQixDQUFDSSxHQUF0QixDQUEwQkYsUUFBUSxDQUFDRyxRQUFuQyxDQUE2Q0gsUUFBN0MsRUFDRCxDQUZELElBRU8sQ0FDTEosV0FBVyxDQUFDTSxHQUFaLENBQWdCRixRQUFRLENBQUNHLFFBQXpCLENBQW1DSCxRQUFuQyxFQUNELENBQ0YsQ0FORCxFQVFPLFFBQVNJLHdCQUFULENBQWlDQyxRQUFqQyxDQUEyQyxDQUNoRCxHQUFJTCxTQUFRLENBQUdKLFdBQVcsQ0FBQ1UsR0FBWixDQUFnQkQsUUFBaEIsQ0FBZixDQUNBLEdBQUksQ0FBQ0wsUUFBTCxDQUFlLENBQ2JBLFFBQVEsQ0FBR0YscUJBQXFCLENBQUNRLEdBQXRCLENBQTBCRCxRQUFRLENBQUNFLFdBQVQsRUFBMUIsQ0FBWCxDQUNELENBQ0QsTUFBT1AsU0FBUCxDQUNEIiwiZmlsZSI6IjUxNjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcmVkaXJlY3RzIGZyb20gXCIuL3JlZGlyZWN0cy5qc29uXCJcblxuLy8gQ29udmVydCB0byBhIG1hcCBmb3IgZmFzdGVyIGxvb2t1cCBpbiBtYXliZVJlZGlyZWN0KClcblxuY29uc3QgcmVkaXJlY3RNYXAgPSBuZXcgTWFwKClcbmNvbnN0IHJlZGlyZWN0SWdub3JlQ2FzZU1hcCA9IG5ldyBNYXAoKVxuXG5yZWRpcmVjdHMuZm9yRWFjaChyZWRpcmVjdCA9PiB7XG4gIGlmIChyZWRpcmVjdC5pZ25vcmVDYXNlKSB7XG4gICAgcmVkaXJlY3RJZ25vcmVDYXNlTWFwLnNldChyZWRpcmVjdC5mcm9tUGF0aCwgcmVkaXJlY3QpXG4gIH0gZWxzZSB7XG4gICAgcmVkaXJlY3RNYXAuc2V0KHJlZGlyZWN0LmZyb21QYXRoLCByZWRpcmVjdClcbiAgfVxufSlcblxuZXhwb3J0IGZ1bmN0aW9uIG1heWJlR2V0QnJvd3NlclJlZGlyZWN0KHBhdGhuYW1lKSB7XG4gIGxldCByZWRpcmVjdCA9IHJlZGlyZWN0TWFwLmdldChwYXRobmFtZSlcbiAgaWYgKCFyZWRpcmVjdCkge1xuICAgIHJlZGlyZWN0ID0gcmVkaXJlY3RJZ25vcmVDYXNlTWFwLmdldChwYXRobmFtZS50b0xvd2VyQ2FzZSgpKVxuICB9XG4gIHJldHVybiByZWRpcmVjdFxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///5166\n')},154:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api_runner_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7343);\nif(window.location.protocol!=="https:"&&window.location.hostname!=="localhost"){console.error("Service workers can only be used over HTTPS, or on localhost for development");}else if("serviceWorker"in navigator){navigator.serviceWorker.register(""+"/sw.js").then(function(reg){reg.addEventListener("updatefound",function(){(0,_api_runner_browser__WEBPACK_IMPORTED_MODULE_0__/* .apiRunner */ .h)("onServiceWorkerUpdateFound",{serviceWorker:reg});// The updatefound event implies that reg.installing is set; see\n// https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\nvar installingWorker=reg.installing;console.log("installingWorker",installingWorker);installingWorker.addEventListener("statechange",function(){switch(installingWorker.state){case"installed":if(navigator.serviceWorker.controller){// At this point, the old content will have been purged and the fresh content will\n// have been added to the cache.\n// We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\nwindow.___swUpdated=true;// We call the onServiceWorkerUpdateReady API so users can show update prompts.\n(0,_api_runner_browser__WEBPACK_IMPORTED_MODULE_0__/* .apiRunner */ .h)("onServiceWorkerUpdateReady",{serviceWorker:reg});// If resources failed for the current page, reload.\nif(window.___failedResources){console.log("resources failed, SW updated - reloading");window.location.reload();}}else{// At this point, everything has been precached.\n// It\'s the perfect time to display a "Content is cached for offline use." message.\nconsole.log("Content is now available offline!");// Post to service worker that install is complete.\n// Delay to allow time for the event listener to be added --\n// otherwise fetch is called too soon and resources aren\'t cached.\n(0,_api_runner_browser__WEBPACK_IMPORTED_MODULE_0__/* .apiRunner */ .h)("onServiceWorkerInstalled",{serviceWorker:reg});}break;case"redundant":console.error("The installing service worker became redundant.");(0,_api_runner_browser__WEBPACK_IMPORTED_MODULE_0__/* .apiRunner */ .h)("onServiceWorkerRedundant",{serviceWorker:reg});break;case"activated":(0,_api_runner_browser__WEBPACK_IMPORTED_MODULE_0__/* .apiRunner */ .h)("onServiceWorkerActive",{serviceWorker:reg});break;}});});}).catch(function(e){console.error("Error during service worker registration:",e);});}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9yZWdpc3Rlci1zZXJ2aWNlLXdvcmtlci5qcz8zNTI1Il0sIm5hbWVzIjpbIndpbmRvdyIsImxvY2F0aW9uIiwicHJvdG9jb2wiLCJob3N0bmFtZSIsImNvbnNvbGUiLCJlcnJvciIsIm5hdmlnYXRvciIsInNlcnZpY2VXb3JrZXIiLCJyZWdpc3RlciIsIl9fQkFTRV9QQVRIX18iLCJ0aGVuIiwicmVnIiwiYWRkRXZlbnRMaXN0ZW5lciIsImFwaVJ1bm5lciIsImluc3RhbGxpbmdXb3JrZXIiLCJpbnN0YWxsaW5nIiwibG9nIiwic3RhdGUiLCJjb250cm9sbGVyIiwiX19fc3dVcGRhdGVkIiwiX19fZmFpbGVkUmVzb3VyY2VzIiwicmVsb2FkIiwiY2F0Y2giLCJlIl0sIm1hcHBpbmdzIjoiOztBQUVBLEdBQ0VBLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkMsUUFBaEIsYUFDQUYsTUFBTSxDQUFDQyxRQUFQLENBQWdCRSxRQUFoQixjQUZGLENBR0UsQ0FDQUMsT0FBTyxDQUFDQyxLQUFSLGlGQUdELENBUEQsSUFPTyxJQUFJLGlCQUFtQkMsVUFBdkIsQ0FBa0MsQ0FDdkNBLFNBQVMsQ0FBQ0MsYUFBVixDQUNHQyxRQURILENBQ2VDLEVBRGYsV0FFR0MsSUFGSCxDQUVRLFNBQVVDLEdBQVYsQ0FBZSxDQUNuQkEsR0FBRyxDQUFDQyxnQkFBSixlQUFvQyxVQUFNLENBQ3hDQyx1RUFBUyw4QkFBK0IsQ0FBRU4sYUFBYSxDQUFFSSxHQUFqQixDQUEvQixDQUFULENBQ0E7QUFDQTtBQUNBLEdBQU1HLGlCQUFnQixDQUFHSCxHQUFHLENBQUNJLFVBQTdCLENBQ0FYLE9BQU8sQ0FBQ1ksR0FBUixvQkFBZ0NGLGdCQUFoQyxFQUNBQSxnQkFBZ0IsQ0FBQ0YsZ0JBQWpCLGVBQWlELFVBQU0sQ0FDckQsT0FBUUUsZ0JBQWdCLENBQUNHLEtBQXpCLEVBQ0UsZ0JBQ0UsR0FBSVgsU0FBUyxDQUFDQyxhQUFWLENBQXdCVyxVQUE1QixDQUF3QyxDQUN0QztBQUNBO0FBRUE7QUFDQWxCLE1BQU0sQ0FBQ21CLFlBQVAsQ0FBc0IsSUFBdEIsQ0FDQTtBQUNBTix1RUFBUyw4QkFBK0IsQ0FBRU4sYUFBYSxDQUFFSSxHQUFqQixDQUEvQixDQUFULENBRUE7QUFDQSxHQUFJWCxNQUFNLENBQUNvQixrQkFBWCxDQUErQixDQUM3QmhCLE9BQU8sQ0FBQ1ksR0FBUiw2Q0FDQWhCLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQm9CLE1BQWhCLEdBQ0QsQ0FDRixDQWRELElBY08sQ0FDTDtBQUNBO0FBQ0FqQixPQUFPLENBQUNZLEdBQVIsc0NBRUE7QUFDQTtBQUNBO0FBQ0FILHVFQUFTLDRCQUE2QixDQUFFTixhQUFhLENBQUVJLEdBQWpCLENBQTdCLENBQVQsQ0FDRCxDQUNELE1BRUYsZ0JBQ0VQLE9BQU8sQ0FBQ0MsS0FBUixvREFDQVEsdUVBQVMsNEJBQTZCLENBQUVOLGFBQWEsQ0FBRUksR0FBakIsQ0FBN0IsQ0FBVCxDQUNBLE1BRUYsZ0JBQ0VFLHVFQUFTLHlCQUEwQixDQUFFTixhQUFhLENBQUVJLEdBQWpCLENBQTFCLENBQVQsQ0FDQSxNQW5DSixDQXFDRCxDQXRDRCxFQXVDRCxDQTdDRCxFQThDRCxDQWpESCxFQWtER1csS0FsREgsQ0FrRFMsU0FBVUMsQ0FBVixDQUFhLENBQ2xCbkIsT0FBTyxDQUFDQyxLQUFSLDZDQUEyRGtCLENBQTNELEVBQ0QsQ0FwREgsRUFxREQiLCJmaWxlIjoiMTU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBpUnVubmVyIH0gZnJvbSBcIi4vYXBpLXJ1bm5lci1icm93c2VyXCJcblxuaWYgKFxuICB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgIT09IGBodHRwczpgICYmXG4gIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSAhPT0gYGxvY2FsaG9zdGBcbikge1xuICBjb25zb2xlLmVycm9yKFxuICAgIGBTZXJ2aWNlIHdvcmtlcnMgY2FuIG9ubHkgYmUgdXNlZCBvdmVyIEhUVFBTLCBvciBvbiBsb2NhbGhvc3QgZm9yIGRldmVsb3BtZW50YFxuICApXG59IGVsc2UgaWYgKGBzZXJ2aWNlV29ya2VyYCBpbiBuYXZpZ2F0b3IpIHtcbiAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXJcbiAgICAucmVnaXN0ZXIoYCR7X19CQVNFX1BBVEhfX30vc3cuanNgKVxuICAgIC50aGVuKGZ1bmN0aW9uIChyZWcpIHtcbiAgICAgIHJlZy5hZGRFdmVudExpc3RlbmVyKGB1cGRhdGVmb3VuZGAsICgpID0+IHtcbiAgICAgICAgYXBpUnVubmVyKGBvblNlcnZpY2VXb3JrZXJVcGRhdGVGb3VuZGAsIHsgc2VydmljZVdvcmtlcjogcmVnIH0pXG4gICAgICAgIC8vIFRoZSB1cGRhdGVmb3VuZCBldmVudCBpbXBsaWVzIHRoYXQgcmVnLmluc3RhbGxpbmcgaXMgc2V0OyBzZWVcbiAgICAgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3NlcnZpY2Utd29ya2VyLXJlZ2lzdHJhdGlvbi11cGRhdGVmb3VuZC1ldmVudFxuICAgICAgICBjb25zdCBpbnN0YWxsaW5nV29ya2VyID0gcmVnLmluc3RhbGxpbmdcbiAgICAgICAgY29uc29sZS5sb2coYGluc3RhbGxpbmdXb3JrZXJgLCBpbnN0YWxsaW5nV29ya2VyKVxuICAgICAgICBpbnN0YWxsaW5nV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoYHN0YXRlY2hhbmdlYCwgKCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoaW5zdGFsbGluZ1dvcmtlci5zdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSBgaW5zdGFsbGVkYDpcbiAgICAgICAgICAgICAgaWYgKG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50LCB0aGUgb2xkIGNvbnRlbnQgd2lsbCBoYXZlIGJlZW4gcHVyZ2VkIGFuZCB0aGUgZnJlc2ggY29udGVudCB3aWxsXG4gICAgICAgICAgICAgICAgLy8gaGF2ZSBiZWVuIGFkZGVkIHRvIHRoZSBjYWNoZS5cblxuICAgICAgICAgICAgICAgIC8vIFdlIHNldCBhIGZsYWcgc28gR2F0c2J5IExpbmsga25vd3MgdG8gcmVmcmVzaCB0aGUgcGFnZSBvbiBuZXh0IG5hdmlnYXRpb24gYXR0ZW1wdFxuICAgICAgICAgICAgICAgIHdpbmRvdy5fX19zd1VwZGF0ZWQgPSB0cnVlXG4gICAgICAgICAgICAgICAgLy8gV2UgY2FsbCB0aGUgb25TZXJ2aWNlV29ya2VyVXBkYXRlUmVhZHkgQVBJIHNvIHVzZXJzIGNhbiBzaG93IHVwZGF0ZSBwcm9tcHRzLlxuICAgICAgICAgICAgICAgIGFwaVJ1bm5lcihgb25TZXJ2aWNlV29ya2VyVXBkYXRlUmVhZHlgLCB7IHNlcnZpY2VXb3JrZXI6IHJlZyB9KVxuXG4gICAgICAgICAgICAgICAgLy8gSWYgcmVzb3VyY2VzIGZhaWxlZCBmb3IgdGhlIGN1cnJlbnQgcGFnZSwgcmVsb2FkLlxuICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuX19fZmFpbGVkUmVzb3VyY2VzKSB7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcmVzb3VyY2VzIGZhaWxlZCwgU1cgdXBkYXRlZCAtIHJlbG9hZGluZ2ApXG4gICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gQXQgdGhpcyBwb2ludCwgZXZlcnl0aGluZyBoYXMgYmVlbiBwcmVjYWNoZWQuXG4gICAgICAgICAgICAgICAgLy8gSXQncyB0aGUgcGVyZmVjdCB0aW1lIHRvIGRpc3BsYXkgYSBcIkNvbnRlbnQgaXMgY2FjaGVkIGZvciBvZmZsaW5lIHVzZS5cIiBtZXNzYWdlLlxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDb250ZW50IGlzIG5vdyBhdmFpbGFibGUgb2ZmbGluZSFgKVxuXG4gICAgICAgICAgICAgICAgLy8gUG9zdCB0byBzZXJ2aWNlIHdvcmtlciB0aGF0IGluc3RhbGwgaXMgY29tcGxldGUuXG4gICAgICAgICAgICAgICAgLy8gRGVsYXkgdG8gYWxsb3cgdGltZSBmb3IgdGhlIGV2ZW50IGxpc3RlbmVyIHRvIGJlIGFkZGVkIC0tXG4gICAgICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIGZldGNoIGlzIGNhbGxlZCB0b28gc29vbiBhbmQgcmVzb3VyY2VzIGFyZW4ndCBjYWNoZWQuXG4gICAgICAgICAgICAgICAgYXBpUnVubmVyKGBvblNlcnZpY2VXb3JrZXJJbnN0YWxsZWRgLCB7IHNlcnZpY2VXb3JrZXI6IHJlZyB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgICAgIGNhc2UgYHJlZHVuZGFudGA6XG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFRoZSBpbnN0YWxsaW5nIHNlcnZpY2Ugd29ya2VyIGJlY2FtZSByZWR1bmRhbnQuYClcbiAgICAgICAgICAgICAgYXBpUnVubmVyKGBvblNlcnZpY2VXb3JrZXJSZWR1bmRhbnRgLCB7IHNlcnZpY2VXb3JrZXI6IHJlZyB9KVxuICAgICAgICAgICAgICBicmVha1xuXG4gICAgICAgICAgICBjYXNlIGBhY3RpdmF0ZWRgOlxuICAgICAgICAgICAgICBhcGlSdW5uZXIoYG9uU2VydmljZVdvcmtlckFjdGl2ZWAsIHsgc2VydmljZVdvcmtlcjogcmVnIH0pXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9KVxuICAgIC5jYXRjaChmdW5jdGlvbiAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgZHVyaW5nIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbjpgLCBlKVxuICAgIH0pXG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///154\n')},1578:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "Z": function() { return /* binding */ stripPrefix; }\n/* harmony export */ });\n/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn\'t found.\n */function stripPrefix(str,prefix){if(prefix===void 0){prefix="";}if(!prefix){return str;}if(str===prefix){return"/";}if(str.startsWith(prefix+"/")){return str.slice(prefix.length);}return str;}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uLy5jYWNoZS9zdHJpcC1wcmVmaXguanM/NzEyMiJdLCJuYW1lcyI6WyJzdHJpcFByZWZpeCIsInN0ciIsInByZWZpeCIsInN0YXJ0c1dpdGgiLCJzbGljZSIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDQTtBQUNBO0FBQ0EsR0FFZSxRQUFTQSxZQUFULENBQXFCQyxHQUFyQixDQUEwQkMsTUFBMUIsQ0FBdUMsSUFBYkEsTUFBYSxXQUFiQSxNQUFhLEtBQ3BELEdBQUksQ0FBQ0EsTUFBTCxDQUFhLENBQ1gsTUFBT0QsSUFBUCxDQUNELENBRUQsR0FBSUEsR0FBRyxHQUFLQyxNQUFaLENBQW9CLENBQ2xCLFVBQ0QsQ0FFRCxHQUFJRCxHQUFHLENBQUNFLFVBQUosQ0FBa0JELE1BQWxCLEtBQUosQ0FBa0MsQ0FDaEMsTUFBT0QsSUFBRyxDQUFDRyxLQUFKLENBQVVGLE1BQU0sQ0FBQ0csTUFBakIsQ0FBUCxDQUNELENBRUQsTUFBT0osSUFBUCxDQUNEIiwiZmlsZSI6IjE1NzguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlbW92ZSBhIHByZWZpeCBmcm9tIGEgc3RyaW5nLiBSZXR1cm4gdGhlIGlucHV0IHN0cmluZyBpZiB0aGUgZ2l2ZW4gcHJlZml4XG4gKiBpc24ndCBmb3VuZC5cbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdHJpcFByZWZpeChzdHIsIHByZWZpeCA9IGBgKSB7XG4gIGlmICghcHJlZml4KSB7XG4gICAgcmV0dXJuIHN0clxuICB9XG5cbiAgaWYgKHN0ciA9PT0gcHJlZml4KSB7XG4gICAgcmV0dXJuIGAvYFxuICB9XG5cbiAgaWYgKHN0ci5zdGFydHNXaXRoKGAke3ByZWZpeH0vYCkpIHtcbiAgICByZXR1cm4gc3RyLnNsaWNlKHByZWZpeC5sZW5ndGgpXG4gIH1cblxuICByZXR1cm4gc3RyXG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///1578\n')},9037:function(I,g,n){"use strict";n.r(g)},5526:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval("var _interopRequireDefault=__webpack_require__(5318);exports.__esModule=true;exports.wrapPageElement=void 0;var _wrapPage=_interopRequireDefault(__webpack_require__(6604));var wrapPageElement=_wrapPage.default;exports.wrapPageElement=wrapPageElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9nYXRzYnktcGx1Z2luLWludGwvZ2F0c2J5LWJyb3dzZXIuanM/ZjRiYSJdLCJuYW1lcyI6WyJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImV4cG9ydHMiLCJfd3JhcFBhZ2UiLCJ3cmFwUGFnZUVsZW1lbnQiLCJkZWZhdWx0Il0sIm1hcHBpbmdzIjoiQUFFQSxHQUFJQSx1QkFBc0IsQ0FBR0MsbUJBQU8sQ0FBQyxJQUFELENBQXBDLENBRUFDLGtCQUFBLENBQXFCLElBQXJCLENBQ0FBLHVCQUFBLENBQTBCLElBQUssRUFBL0IsQ0FFQSxHQUFJQyxVQUFTLENBQUdILHNCQUFzQixDQUFDQyxtQkFBTyxDQUFDLElBQUQsQ0FBUixDQUF0QyxDQUVBLEdBQUlHLGdCQUFlLENBQUdELFNBQVMsQ0FBQ0UsT0FBaEMsQ0FDQUgsdUJBQUEsQ0FBMEJFLGVBQTFCIiwiZmlsZSI6IjU1MjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIik7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLndyYXBQYWdlRWxlbWVudCA9IHZvaWQgMDtcblxudmFyIF93cmFwUGFnZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vd3JhcC1wYWdlXCIpKTtcblxudmFyIHdyYXBQYWdlRWxlbWVudCA9IF93cmFwUGFnZS5kZWZhdWx0O1xuZXhwb3J0cy53cmFwUGFnZUVsZW1lbnQgPSB3cmFwUGFnZUVsZW1lbnQ7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///5526\n")},8368:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval("var _interopRequireDefault=__webpack_require__(5318);exports.__esModule=true;exports.IntlContextConsumer=exports.IntlContextProvider=void 0;var _react=_interopRequireDefault(__webpack_require__(7294));var IntlContext=_react.default.createContext();var IntlContextProvider=IntlContext.Provider;exports.IntlContextProvider=IntlContextProvider;var IntlContextConsumer=IntlContext.Consumer;exports.IntlContextConsumer=IntlContextConsumer;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9nYXRzYnktcGx1Z2luLWludGwvaW50bC1jb250ZXh0LmpzPzlmY2QiXSwibmFtZXMiOlsiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJleHBvcnRzIiwiX3JlYWN0IiwiSW50bENvbnRleHQiLCJkZWZhdWx0IiwiY3JlYXRlQ29udGV4dCIsIkludGxDb250ZXh0UHJvdmlkZXIiLCJQcm92aWRlciIsIkludGxDb250ZXh0Q29uc3VtZXIiLCJDb25zdW1lciJdLCJtYXBwaW5ncyI6IkFBRUEsR0FBSUEsdUJBQXNCLENBQUdDLG1CQUFPLENBQUMsSUFBRCxDQUFwQyxDQUVBQyxrQkFBQSxDQUFxQixJQUFyQixDQUNBQSwyQkFBQSxDQUE4QkEsMkJBQUEsQ0FBOEIsSUFBSyxFQUFqRSxDQUVBLEdBQUlDLE9BQU0sQ0FBR0gsc0JBQXNCLENBQUNDLG1CQUFPLENBQUMsSUFBRCxDQUFSLENBQW5DLENBRUEsR0FBSUcsWUFBVyxDQUFHRCxNQUFNLENBQUNFLE9BQVAsQ0FBZUMsYUFBZixFQUFsQixDQUVBLEdBQUlDLG9CQUFtQixDQUFHSCxXQUFXLENBQUNJLFFBQXRDLENBQ0FOLDJCQUFBLENBQThCSyxtQkFBOUIsQ0FDQSxHQUFJRSxvQkFBbUIsQ0FBR0wsV0FBVyxDQUFDTSxRQUF0QyxDQUNBUiwyQkFBQSxDQUE4Qk8sbUJBQTlCIiwiZmlsZSI6IjgzNjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIik7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLkludGxDb250ZXh0Q29uc3VtZXIgPSBleHBvcnRzLkludGxDb250ZXh0UHJvdmlkZXIgPSB2b2lkIDA7XG5cbnZhciBfcmVhY3QgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5cbnZhciBJbnRsQ29udGV4dCA9IF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUNvbnRleHQoKTtcblxudmFyIEludGxDb250ZXh0UHJvdmlkZXIgPSBJbnRsQ29udGV4dC5Qcm92aWRlcjtcbmV4cG9ydHMuSW50bENvbnRleHRQcm92aWRlciA9IEludGxDb250ZXh0UHJvdmlkZXI7XG52YXIgSW50bENvbnRleHRDb25zdW1lciA9IEludGxDb250ZXh0LkNvbnN1bWVyO1xuZXhwb3J0cy5JbnRsQ29udGV4dENvbnN1bWVyID0gSW50bENvbnRleHRDb25zdW1lcjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///8368\n")},6604:function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('var _interopRequireDefault=__webpack_require__(5318);exports.__esModule=true;exports.default=void 0;var _react=_interopRequireDefault(__webpack_require__(7294));var _browserLang=_interopRequireDefault(__webpack_require__(9771));var _gatsby=__webpack_require__(5444);var _reactIntl=__webpack_require__(7616);var _intlContext=__webpack_require__(8368);var preferDefault=function preferDefault(m){return m&&m.default||m;};var polyfillIntl=function polyfillIntl(language){var locale=language.split("-")[0];try{if(!Intl.PluralRules){__webpack_require__(3228);__webpack_require__(7625)("./"+locale);}if(!Intl.RelativeTimeFormat){__webpack_require__(5316);__webpack_require__(1666)("./"+locale);}}catch(e){throw new Error("Cannot find react-intl/locale-data/"+language);}};var withIntlProvider=function withIntlProvider(intl){return function(children){polyfillIntl(intl.language);return _react.default.createElement(_reactIntl.IntlProvider,{locale:intl.language,defaultLocale:intl.defaultLanguage,messages:intl.messages},_react.default.createElement(_intlContext.IntlContextProvider,{value:intl},children));};};var _default=function _default(_ref,pluginOptions){var element=_ref.element,props=_ref.props;if(!props){return;}var pageContext=props.pageContext,location=props.location;var defaultLanguage=pluginOptions.defaultLanguage;var intl=pageContext.intl;var language=intl.language,languages=intl.languages,redirect=intl.redirect,routed=intl.routed,originalPath=intl.originalPath;if(typeof window!=="undefined"){window.___gatsbyIntl=intl;}/* eslint-disable no-undef */var isRedirect=redirect&&!routed;if(isRedirect){var search=location.search;// Skip build, Browsers only\nif(typeof window!=="undefined"){var detected=window.localStorage.getItem("gatsby-intl-language")||(0,_browserLang.default)({languages:languages,fallback:language});if(!languages.includes(detected)){detected=language;}var queryParams=search||"";var newUrl=(0,_gatsby.withPrefix)("/"+detected+originalPath+queryParams);window.localStorage.setItem("gatsby-intl-language",detected);window.location.replace(newUrl);}}var renderElement=isRedirect?null&&0:element;return withIntlProvider(intl)(renderElement);};exports.default=_default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9nYXRzYnktcGx1Z2luLWludGwvd3JhcC1wYWdlLmpzPzhhMGQiXSwibmFtZXMiOlsiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJleHBvcnRzIiwiX3JlYWN0IiwiX2Jyb3dzZXJMYW5nIiwiX2dhdHNieSIsIl9yZWFjdEludGwiLCJfaW50bENvbnRleHQiLCJwcmVmZXJEZWZhdWx0IiwibSIsImRlZmF1bHQiLCJwb2x5ZmlsbEludGwiLCJsYW5ndWFnZSIsImxvY2FsZSIsInNwbGl0IiwiSW50bCIsIlBsdXJhbFJ1bGVzIiwiUmVsYXRpdmVUaW1lRm9ybWF0IiwiZSIsIkVycm9yIiwid2l0aEludGxQcm92aWRlciIsImludGwiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJJbnRsUHJvdmlkZXIiLCJkZWZhdWx0TG9jYWxlIiwiZGVmYXVsdExhbmd1YWdlIiwibWVzc2FnZXMiLCJJbnRsQ29udGV4dFByb3ZpZGVyIiwidmFsdWUiLCJfZGVmYXVsdCIsIl9yZWYiLCJwbHVnaW5PcHRpb25zIiwiZWxlbWVudCIsInByb3BzIiwicGFnZUNvbnRleHQiLCJsb2NhdGlvbiIsImxhbmd1YWdlcyIsInJlZGlyZWN0Iiwicm91dGVkIiwib3JpZ2luYWxQYXRoIiwid2luZG93IiwiX19fZ2F0c2J5SW50bCIsImlzUmVkaXJlY3QiLCJzZWFyY2giLCJkZXRlY3RlZCIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJmYWxsYmFjayIsImluY2x1ZGVzIiwicXVlcnlQYXJhbXMiLCJuZXdVcmwiLCJ3aXRoUHJlZml4Iiwic2V0SXRlbSIsInJlcGxhY2UiLCJyZW5kZXJFbGVtZW50IiwiR0FUU0JZX0lOVExfUkVESVJFQ1RfQ09NUE9ORU5UX1BBVEgiXSwibWFwcGluZ3MiOiJBQUVBLEdBQUlBLHVCQUFzQixDQUFHQyxtQkFBTyxDQUFDLElBQUQsQ0FBcEMsQ0FFQUMsa0JBQUEsQ0FBcUIsSUFBckIsQ0FDQUEsZUFBQSxDQUFrQixJQUFLLEVBQXZCLENBRUEsR0FBSUMsT0FBTSxDQUFHSCxzQkFBc0IsQ0FBQ0MsbUJBQU8sQ0FBQyxJQUFELENBQVIsQ0FBbkMsQ0FFQSxHQUFJRyxhQUFZLENBQUdKLHNCQUFzQixDQUFDQyxtQkFBTyxDQUFDLElBQUQsQ0FBUixDQUF6QyxDQUVBLEdBQUlJLFFBQU8sQ0FBR0osbUJBQU8sQ0FBQyxJQUFELENBQXJCLENBRUEsR0FBSUssV0FBVSxDQUFHTCxtQkFBTyxDQUFDLElBQUQsQ0FBeEIsQ0FFQSxHQUFJTSxhQUFZLENBQUdOLG1CQUFPLENBQUMsSUFBRCxDQUExQixDQUVBLEdBQUlPLGNBQWEsQ0FBRyxRQUFTQSxjQUFULENBQXVCQyxDQUF2QixDQUEwQixDQUM1QyxNQUFPQSxFQUFDLEVBQUlBLENBQUMsQ0FBQ0MsT0FBUCxFQUFrQkQsQ0FBekIsQ0FDRCxDQUZELENBSUEsR0FBSUUsYUFBWSxDQUFHLFFBQVNBLGFBQVQsQ0FBc0JDLFFBQXRCLENBQWdDLENBQ2pELEdBQUlDLE9BQU0sQ0FBR0QsUUFBUSxDQUFDRSxLQUFULENBQWUsR0FBZixFQUFvQixDQUFwQixDQUFiLENBRUEsR0FBSSxDQUNGLEdBQUksQ0FBQ0MsSUFBSSxDQUFDQyxXQUFWLENBQXVCLENBQ3JCZixtQkFBTyxDQUFDLElBQUQsQ0FBUCxDQUVBQSwwQkFBUSxJQUE4QyxDQUFHWSxNQUFsRCxDQUFQLENBQ0QsQ0FFRCxHQUFJLENBQUNFLElBQUksQ0FBQ0Usa0JBQVYsQ0FBOEIsQ0FDNUJoQixtQkFBTyxDQUFDLElBQUQsQ0FBUCxDQUVBQSwwQkFBUSxJQUFxRCxDQUFHWSxNQUF6RCxDQUFQLENBQ0QsQ0FDRixDQUFDLE1BQU9LLENBQVAsQ0FBVSxDQUNWLEtBQU0sSUFBSUMsTUFBSixDQUFVLHNDQUF3Q1AsUUFBbEQsQ0FBTixDQUNELENBQ0YsQ0FsQkQsQ0FvQkEsR0FBSVEsaUJBQWdCLENBQUcsUUFBU0EsaUJBQVQsQ0FBMEJDLElBQTFCLENBQWdDLENBQ3JELE1BQU8sVUFBVUMsUUFBVixDQUFvQixDQUN6QlgsWUFBWSxDQUFDVSxJQUFJLENBQUNULFFBQU4sQ0FBWixDQUNBLE1BQU9ULE9BQU0sQ0FBQ08sT0FBUCxDQUFlYSxhQUFmLENBQTZCakIsVUFBVSxDQUFDa0IsWUFBeEMsQ0FBc0QsQ0FDM0RYLE1BQU0sQ0FBRVEsSUFBSSxDQUFDVCxRQUQ4QyxDQUUzRGEsYUFBYSxDQUFFSixJQUFJLENBQUNLLGVBRnVDLENBRzNEQyxRQUFRLENBQUVOLElBQUksQ0FBQ00sUUFINEMsQ0FBdEQsQ0FJSnhCLE1BQU0sQ0FBQ08sT0FBUCxDQUFlYSxhQUFmLENBQTZCaEIsWUFBWSxDQUFDcUIsbUJBQTFDLENBQStELENBQ2hFQyxLQUFLLENBQUVSLElBRHlELENBQS9ELENBRUFDLFFBRkEsQ0FKSSxDQUFQLENBT0QsQ0FURCxDQVVELENBWEQsQ0FhQSxHQUFJUSxTQUFRLENBQUcsUUFBU0EsU0FBVCxDQUFrQkMsSUFBbEIsQ0FBd0JDLGFBQXhCLENBQXVDLENBQ3BELEdBQUlDLFFBQU8sQ0FBR0YsSUFBSSxDQUFDRSxPQUFuQixDQUNJQyxLQUFLLENBQUdILElBQUksQ0FBQ0csS0FEakIsQ0FHQSxHQUFJLENBQUNBLEtBQUwsQ0FBWSxDQUNWLE9BQ0QsQ0FFRCxHQUFJQyxZQUFXLENBQUdELEtBQUssQ0FBQ0MsV0FBeEIsQ0FDSUMsUUFBUSxDQUFHRixLQUFLLENBQUNFLFFBRHJCLENBRUEsR0FBSVYsZ0JBQWUsQ0FBR00sYUFBYSxDQUFDTixlQUFwQyxDQUNBLEdBQUlMLEtBQUksQ0FBR2MsV0FBVyxDQUFDZCxJQUF2QixDQUNBLEdBQUlULFNBQVEsQ0FBR1MsSUFBSSxDQUFDVCxRQUFwQixDQUNJeUIsU0FBUyxDQUFHaEIsSUFBSSxDQUFDZ0IsU0FEckIsQ0FFSUMsUUFBUSxDQUFHakIsSUFBSSxDQUFDaUIsUUFGcEIsQ0FHSUMsTUFBTSxDQUFHbEIsSUFBSSxDQUFDa0IsTUFIbEIsQ0FJSUMsWUFBWSxDQUFHbkIsSUFBSSxDQUFDbUIsWUFKeEIsQ0FNQSxHQUFJLE1BQU9DLE9BQVAsR0FBa0IsV0FBdEIsQ0FBbUMsQ0FDakNBLE1BQU0sQ0FBQ0MsYUFBUCxDQUF1QnJCLElBQXZCLENBQ0QsQ0FDRCw2QkFHQSxHQUFJc0IsV0FBVSxDQUFHTCxRQUFRLEVBQUksQ0FBQ0MsTUFBOUIsQ0FFQSxHQUFJSSxVQUFKLENBQWdCLENBQ2QsR0FBSUMsT0FBTSxDQUFHUixRQUFRLENBQUNRLE1BQXRCLENBQThCO0FBRTlCLEdBQUksTUFBT0gsT0FBUCxHQUFrQixXQUF0QixDQUFtQyxDQUNqQyxHQUFJSSxTQUFRLENBQUdKLE1BQU0sQ0FBQ0ssWUFBUCxDQUFvQkMsT0FBcEIsQ0FBNEIsc0JBQTVCLEdBQXVELENBQUMsRUFBRzNDLFlBQVksQ0FBQ00sT0FBakIsRUFBMEIsQ0FDOUYyQixTQUFTLENBQUVBLFNBRG1GLENBRTlGVyxRQUFRLENBQUVwQyxRQUZvRixDQUExQixDQUF0RSxDQUtBLEdBQUksQ0FBQ3lCLFNBQVMsQ0FBQ1ksUUFBVixDQUFtQkosUUFBbkIsQ0FBTCxDQUFtQyxDQUNqQ0EsUUFBUSxDQUFHakMsUUFBWCxDQUNELENBRUQsR0FBSXNDLFlBQVcsQ0FBR04sTUFBTSxFQUFJLEVBQTVCLENBQ0EsR0FBSU8sT0FBTSxDQUFHLENBQUMsRUFBRzlDLE9BQU8sQ0FBQytDLFVBQVosRUFBd0IsSUFBTVAsUUFBTixDQUFpQkwsWUFBakIsQ0FBZ0NVLFdBQXhELENBQWIsQ0FDQVQsTUFBTSxDQUFDSyxZQUFQLENBQW9CTyxPQUFwQixDQUE0QixzQkFBNUIsQ0FBb0RSLFFBQXBELEVBQ0FKLE1BQU0sQ0FBQ0wsUUFBUCxDQUFnQmtCLE9BQWhCLENBQXdCSCxNQUF4QixFQUNELENBQ0YsQ0FFRCxHQUFJSSxjQUFhLENBQUdaLFVBQVUsQ0FBR2EsSUFBbUMsRUFBSXJELENBQTFDLENBQXNJOEIsT0FBcEssQ0FDQSxNQUFPYixpQkFBZ0IsQ0FBQ0MsSUFBRCxDQUFoQixDQUF1QmtDLGFBQXZCLENBQVAsQ0FDRCxDQWhERCxDQWtEQXJELGVBQUEsQ0FBa0I0QixRQUFsQiIsImZpbGUiOiI2NjA0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0ID0gcmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX3JlYWN0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwicmVhY3RcIikpO1xuXG52YXIgX2Jyb3dzZXJMYW5nID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiYnJvd3Nlci1sYW5nXCIpKTtcblxudmFyIF9nYXRzYnkgPSByZXF1aXJlKFwiZ2F0c2J5XCIpO1xuXG52YXIgX3JlYWN0SW50bCA9IHJlcXVpcmUoXCJyZWFjdC1pbnRsXCIpO1xuXG52YXIgX2ludGxDb250ZXh0ID0gcmVxdWlyZShcIi4vaW50bC1jb250ZXh0XCIpO1xuXG52YXIgcHJlZmVyRGVmYXVsdCA9IGZ1bmN0aW9uIHByZWZlckRlZmF1bHQobSkge1xuICByZXR1cm4gbSAmJiBtLmRlZmF1bHQgfHwgbTtcbn07XG5cbnZhciBwb2x5ZmlsbEludGwgPSBmdW5jdGlvbiBwb2x5ZmlsbEludGwobGFuZ3VhZ2UpIHtcbiAgdmFyIGxvY2FsZSA9IGxhbmd1YWdlLnNwbGl0KFwiLVwiKVswXTtcblxuICB0cnkge1xuICAgIGlmICghSW50bC5QbHVyYWxSdWxlcykge1xuICAgICAgcmVxdWlyZShcIkBmb3JtYXRqcy9pbnRsLXBsdXJhbHJ1bGVzL3BvbHlmaWxsXCIpO1xuXG4gICAgICByZXF1aXJlKFwiQGZvcm1hdGpzL2ludGwtcGx1cmFscnVsZXMvZGlzdC9sb2NhbGUtZGF0YS9cIiArIGxvY2FsZSk7XG4gICAgfVxuXG4gICAgaWYgKCFJbnRsLlJlbGF0aXZlVGltZUZvcm1hdCkge1xuICAgICAgcmVxdWlyZShcIkBmb3JtYXRqcy9pbnRsLXJlbGF0aXZldGltZWZvcm1hdC9wb2x5ZmlsbFwiKTtcblxuICAgICAgcmVxdWlyZShcIkBmb3JtYXRqcy9pbnRsLXJlbGF0aXZldGltZWZvcm1hdC9kaXN0L2xvY2FsZS1kYXRhL1wiICsgbG9jYWxlKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCByZWFjdC1pbnRsL2xvY2FsZS1kYXRhL1wiICsgbGFuZ3VhZ2UpO1xuICB9XG59O1xuXG52YXIgd2l0aEludGxQcm92aWRlciA9IGZ1bmN0aW9uIHdpdGhJbnRsUHJvdmlkZXIoaW50bCkge1xuICByZXR1cm4gZnVuY3Rpb24gKGNoaWxkcmVuKSB7XG4gICAgcG9seWZpbGxJbnRsKGludGwubGFuZ3VhZ2UpO1xuICAgIHJldHVybiBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdEludGwuSW50bFByb3ZpZGVyLCB7XG4gICAgICBsb2NhbGU6IGludGwubGFuZ3VhZ2UsXG4gICAgICBkZWZhdWx0TG9jYWxlOiBpbnRsLmRlZmF1bHRMYW5ndWFnZSxcbiAgICAgIG1lc3NhZ2VzOiBpbnRsLm1lc3NhZ2VzXG4gICAgfSwgX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfaW50bENvbnRleHQuSW50bENvbnRleHRQcm92aWRlciwge1xuICAgICAgdmFsdWU6IGludGxcbiAgICB9LCBjaGlsZHJlbikpO1xuICB9O1xufTtcblxudmFyIF9kZWZhdWx0ID0gZnVuY3Rpb24gX2RlZmF1bHQoX3JlZiwgcGx1Z2luT3B0aW9ucykge1xuICB2YXIgZWxlbWVudCA9IF9yZWYuZWxlbWVudCxcbiAgICAgIHByb3BzID0gX3JlZi5wcm9wcztcblxuICBpZiAoIXByb3BzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHBhZ2VDb250ZXh0ID0gcHJvcHMucGFnZUNvbnRleHQsXG4gICAgICBsb2NhdGlvbiA9IHByb3BzLmxvY2F0aW9uO1xuICB2YXIgZGVmYXVsdExhbmd1YWdlID0gcGx1Z2luT3B0aW9ucy5kZWZhdWx0TGFuZ3VhZ2U7XG4gIHZhciBpbnRsID0gcGFnZUNvbnRleHQuaW50bDtcbiAgdmFyIGxhbmd1YWdlID0gaW50bC5sYW5ndWFnZSxcbiAgICAgIGxhbmd1YWdlcyA9IGludGwubGFuZ3VhZ2VzLFxuICAgICAgcmVkaXJlY3QgPSBpbnRsLnJlZGlyZWN0LFxuICAgICAgcm91dGVkID0gaW50bC5yb3V0ZWQsXG4gICAgICBvcmlnaW5hbFBhdGggPSBpbnRsLm9yaWdpbmFsUGF0aDtcblxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHdpbmRvdy5fX19nYXRzYnlJbnRsID0gaW50bDtcbiAgfVxuICAvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuXG5cbiAgdmFyIGlzUmVkaXJlY3QgPSByZWRpcmVjdCAmJiAhcm91dGVkO1xuXG4gIGlmIChpc1JlZGlyZWN0KSB7XG4gICAgdmFyIHNlYXJjaCA9IGxvY2F0aW9uLnNlYXJjaDsgLy8gU2tpcCBidWlsZCwgQnJvd3NlcnMgb25seVxuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHZhciBkZXRlY3RlZCA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImdhdHNieS1pbnRsLWxhbmd1YWdlXCIpIHx8ICgwLCBfYnJvd3NlckxhbmcuZGVmYXVsdCkoe1xuICAgICAgICBsYW5ndWFnZXM6IGxhbmd1YWdlcyxcbiAgICAgICAgZmFsbGJhY2s6IGxhbmd1YWdlXG4gICAgICB9KTtcblxuICAgICAgaWYgKCFsYW5ndWFnZXMuaW5jbHVkZXMoZGV0ZWN0ZWQpKSB7XG4gICAgICAgIGRldGVjdGVkID0gbGFuZ3VhZ2U7XG4gICAgICB9XG5cbiAgICAgIHZhciBxdWVyeVBhcmFtcyA9IHNlYXJjaCB8fCBcIlwiO1xuICAgICAgdmFyIG5ld1VybCA9ICgwLCBfZ2F0c2J5LndpdGhQcmVmaXgpKFwiL1wiICsgZGV0ZWN0ZWQgKyBvcmlnaW5hbFBhdGggKyBxdWVyeVBhcmFtcyk7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJnYXRzYnktaW50bC1sYW5ndWFnZVwiLCBkZXRlY3RlZCk7XG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVwbGFjZShuZXdVcmwpO1xuICAgIH1cbiAgfVxuXG4gIHZhciByZW5kZXJFbGVtZW50ID0gaXNSZWRpcmVjdCA/IEdBVFNCWV9JTlRMX1JFRElSRUNUX0NPTVBPTkVOVF9QQVRIICYmIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQocHJlZmVyRGVmYXVsdChyZXF1aXJlKEdBVFNCWV9JTlRMX1JFRElSRUNUX0NPTVBPTkVOVF9QQVRIKSkpIDogZWxlbWVudDtcbiAgcmV0dXJuIHdpdGhJbnRsUHJvdmlkZXIoaW50bCkocmVuZGVyRWxlbWVudCk7XG59O1xuXG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///6604\n')},9499:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n "BaseContext": function() { return /* binding */ BaseContext; },\n "Link": function() { return /* binding */ Link; },\n "Location": function() { return /* binding */ Location; },\n "LocationProvider": function() { return /* binding */ LocationProvider; },\n "Match": function() { return /* binding */ Match; },\n "Redirect": function() { return /* binding */ Redirect; },\n "Router": function() { return /* binding */ Router; },\n "ServerLocation": function() { return /* binding */ ServerLocation; },\n "createHistory": function() { return /* reexport */ createHistory; },\n "createMemorySource": function() { return /* reexport */ createMemorySource; },\n "globalHistory": function() { return /* reexport */ globalHistory; },\n "isRedirect": function() { return /* binding */ isRedirect; },\n "matchPath": function() { return /* reexport */ match; },\n "navigate": function() { return /* reexport */ history_navigate; },\n "redirectTo": function() { return /* binding */ redirectTo; },\n "useLocation": function() { return /* binding */ useLocation; },\n "useMatch": function() { return /* binding */ useMatch; },\n "useNavigate": function() { return /* binding */ useNavigate; },\n "useParams": function() { return /* binding */ useParams; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(7294);\n// EXTERNAL MODULE: ./node_modules/invariant/browser.js\nvar browser = __webpack_require__(1143);\nvar browser_default = /*#__PURE__*/__webpack_require__.n(browser);\n// EXTERNAL MODULE: ./.cache/react-lifecycles-compat.js\nvar react_lifecycles_compat = __webpack_require__(3639);\n;// CONCATENATED MODULE: ./node_modules/@gatsbyjs/reach-router/es/lib/utils.js\n ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don\'t have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split("?"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === "";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || "*";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join("/");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? false ? 0 : browser_default()(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don\'t match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: "/" + uriSegments.slice(0, index).join("/")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be "in a directory"\n// you can be "at a file", too. For example\n//\n// browserSpecResolve(\'foo\', \'/bar/\') => /bar/foo\n// browserSpecResolve(\'foo\', \'/bar\') => /foo\n//\n// But on the command line of a file system, it\'s not as complicated, you can\'t\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, "/")) {\n return to;\n }\n\n var _to$split = to.split("?"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split("?"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === "") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], ".")) {\n var pathname = baseSegments.concat(toSegments).join("/");\n return addQuery((basePathname === "/" ? "" : "/") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === "..") segments.pop();else if (segment !== ".") segments.push(segment);\n }\n\n return addQuery("/" + segments.join("/"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split("?"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? "" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = "/" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join("/");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? "" : _params$location$sear;\n var searchSplit = search.split("?")[1] || "";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join("/");\n var toString = segmentize(to).filter(filter).sort().join("/");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === "";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === "*";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, "").split("/");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? "?" + query.join("&") : "");\n};\n\nvar reservedNames = ["uri", "path"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\n\n;// CONCATENATED MODULE: ./node_modules/@gatsbyjs/reach-router/es/lib/history.js\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || "initial"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: "POP"\n });\n };\n\n source.addEventListener("popstate", popstateListener);\n return function () {\n source.removeEventListener("popstate", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === "number") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + ""\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? "replace" : "assign"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: "PUSH"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "/";\n var searchIndex = initialPath.indexOf("?");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : ""\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split("?"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? "" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? "?" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split("?"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? "" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar history_navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\n\n;// CONCATENATED MODULE: ./node_modules/@gatsbyjs/reach-router/es/index.js\nvar es_extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called");\n }\n\n return call && (typeof call === "object" || typeof call === "function") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== "function" && superClass !== null) {\n throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n/* eslint-disable jsx-a11y/anchor-has-content */\n\n\n\n\n\n\n ////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = (0,react.createContext)(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\n\n\nvar LocationContext = createNamedContext("Location"); // sets up a listener if there isn\'t one already so apps don\'t need to be\n// wrapped in some top level provider\n\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return react.createElement(LocationContext.Consumer, null, function (context) {\n return context ? children(context) : react.createElement(LocationProvider, null, children);\n });\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: {\n unlisten: null\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n return {\n navigate: navigate,\n location: location\n };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, {\n replace: true\n });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it\'s ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return {\n context: _this2.getContext()\n };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n return react.createElement(LocationContext.Provider, {\n value: context\n }, typeof children === "function" ? children(context) : children || null);\n };\n\n return LocationProvider;\n}(react.Component); ////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\n false ? 0 : void 0;\n\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n var searchIndex = url.indexOf("?");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = "";\n var hash = "";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return react.createElement(LocationContext.Provider, {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error("You can\'t call navigate on the server.");\n }\n }\n }, children);\n}; ////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\n\n\nvar BaseContext = createNamedContext("Base", {\n baseuri: "/",\n basepath: "/",\n navigate: globalHistory.navigate\n}); ////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\n\nvar Router = function Router(props) {\n return react.createElement(BaseContext.Consumer, null, function (baseContext) {\n return react.createElement(Location, null, function (locationContext) {\n return react.createElement(RouterImpl, es_extends({}, baseContext, locationContext, props));\n });\n });\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? "div" : _props$component,\n domProps = _objectWithoutProperties(_props, ["location", "navigate", "basepath", "primary", "children", "baseuri", "component"]);\n\n var routes = react.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value; // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, "");\n\n var props = es_extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = react.cloneElement(element, props, element.props.children ? react.createElement(Router, {\n location: location,\n primary: primary\n }, element.props.children) : undefined); // using \'div\' for < 16.3 support\n\n var FocusWrapper = primary ? FocusHandler : component; // don\'t pass any props to \'div\'\n\n var wrapperProps = primary ? es_extends({\n uri: uri,\n location: location,\n component: component\n }, domProps) : domProps;\n return react.createElement(BaseContext.Provider, {\n value: {\n baseuri: uri,\n basepath: basepath,\n navigate: props.navigate\n }\n }, react.createElement(FocusWrapper, wrapperProps, clone));\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // "\\n\\t"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(react.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\nvar FocusContext = createNamedContext("Focus");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, ["uri", "location", "component"]);\n\n return react.createElement(FocusContext.Consumer, null, function (requestFocus) {\n return react.createElement(FocusHandlerImpl, es_extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n });\n}; // don\'t focus on initial render\n\n\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n\n if (initial) {\n return es_extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return es_extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (false) {}\n\n var requestFocus = this.props.requestFocus;\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? "div" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, ["children", "style", "requestFocus", "component", "uri", "location"]);\n\n return react.createElement(Comp, es_extends({\n style: es_extends({\n outline: "none"\n }, style),\n tabIndex: "-1",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps), react.createElement(FocusContext.Provider, {\n value: this.requestFocus\n }, this.props.children));\n };\n\n return FocusHandlerImpl;\n}(react.Component);\n\n(0,react_lifecycles_compat/* polyfill */.O)(FocusHandlerImpl);\n\nvar k = function k() {}; ////////////////////////////////////////////////////////////////////////////////\n\n\nvar forwardRef = react.forwardRef;\n\nif (typeof forwardRef === "undefined") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, ["innerRef"]);\n\n return react.createElement(BaseContext.Consumer, null, function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return react.createElement(Location, null, function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, ["to", "state", "replace", "getProps"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n return react.createElement("a", es_extends({\n ref: ref || innerRef,\n "aria-current": isCurrent ? "page" : undefined\n }, anchorProps, getProps({\n isCurrent: isCurrent,\n isPartiallyCurrent: isPartiallyCurrent,\n href: href,\n location: location\n }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n\n if (typeof replace !== "boolean" && isCurrent) {\n var _location$state = es_extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, ["key"]);\n\n shouldReplace = shallowCompare(es_extends({}, state), restState);\n }\n\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n });\n });\n});\nLink.displayName = "Link";\n false ? 0 : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n } // Support React < 16 with this hook\n\n\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, ["navigate", "to", "from", "replace", "state", "noThrow", "baseuri"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), {\n replace: replace,\n state: state\n });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, ["navigate", "to", "from", "replace", "state", "noThrow", "baseuri"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(react.Component);\n\nvar Redirect = function Redirect(props) {\n return react.createElement(BaseContext.Consumer, null, function (_ref7) {\n var baseuri = _ref7.baseuri;\n return react.createElement(Location, null, function (locationContext) {\n return react.createElement(RedirectImpl, es_extends({}, locationContext, {\n baseuri: baseuri\n }, props));\n });\n });\n};\n\n false ? 0 : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return react.createElement(BaseContext.Consumer, null, function (_ref9) {\n var baseuri = _ref9.baseuri;\n return react.createElement(Location, null, function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? es_extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n });\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\n\nvar useLocation = function useLocation() {\n var context = (0,react.useContext)(LocationContext);\n\n if (!context) {\n throw new Error("useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = (0,react.useContext)(BaseContext);\n\n if (!context) {\n throw new Error("useNavigate hook was used but a BaseContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = (0,react.useContext)(BaseContext);\n\n if (!context) {\n throw new Error("useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");\n }\n\n var location = useLocation();\n var results = match(context.basepath, location.pathname);\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error("useMatch(path: string) requires an argument of a string to match against");\n }\n\n var context = (0,react.useContext)(BaseContext);\n\n if (!context) {\n throw new Error("useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");\n }\n\n var location = useLocation();\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? es_extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, "");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === react.Fragment && element.props.children) {\n return react.Children.map(element.props.children, createRoute(basepath));\n }\n\n !(element.props.path || element.props.default || element.type === Redirect) ? false ? 0 : browser_default()(false) : void 0;\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? false ? 0 : browser_default()(false) : void 0;\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? false ? 0 : browser_default()(false) : void 0;\n\n if (element.props.default) {\n return {\n value: element,\n default: true\n };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n var path = elementPath === "/" ? basepath : stripSlashes(basepath) + "/" + stripSlashes(elementPath);\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + "/*" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}; ////////////////////////////////////////////////////////////////////////\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZ2F0c2J5anMvcmVhY2gtcm91dGVyL2VzL2xpYi91dGlscy5qcz8zNDNiIiwid2VicGFjazovL2p1c3RpY2U0MC10b29sLy4vbm9kZV9tb2R1bGVzL0BnYXRzYnlqcy9yZWFjaC1yb3V0ZXIvZXMvbGliL2hpc3RvcnkuanM/YmEyNCIsIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9AZ2F0c2J5anMvcmVhY2gtcm91dGVyL2VzL2luZGV4LmpzPzc0MWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFrQztBQUNsQzs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsb0NBQW9DLE9BQU87QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsVUFBVSxhQUFhO0FBQ3ZCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsOEJBQThCLE1BQXFDLEdBQUcsQ0FBd0osR0FBRyxpQkFBUztBQUMxTztBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsRUFBRSxVQUFVLFFBQVE7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsOENBQThDOztBQUU5QztBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBLHlDQUF5QyxPQUFPO0FBQ2hEO0FBQ0EseUNBQXlDO0FBQ3pDOztBQUVBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0Esd0RBQXdEO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQscURBQXFELG1FQUFtRTtBQUM3SztBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUZBQXFGLGFBQWE7QUFDbEc7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFOzs7OztBQzNSRjtBQUNBLGlCQUFpQixzQkFBc0I7QUFDdkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0EsdUZBQXVGO0FBQ3ZGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQLDJCQUEyQjtBQUMzQjtBQUNBLFNBQVMsRUFBRTs7QUFFWDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMLDREQUE0RDtBQUM1RCxrRUFBa0U7QUFDbEU7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLGdCQUFRLDBCQUEwQjs7OztBQzdNdEMsSUFBSSxVQUFRO0FBQ1osaUJBQWlCLHNCQUFzQjtBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOzs7QUFHeUQ7QUFDdkI7QUFDaUI7QUFDNEQ7QUFDcEI7O0FBRTNGO0FBQ0EsWUFBWSx1QkFBYTtBQUN6QjtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQSxxREFBcUQ7QUFDckQ7O0FBRUE7QUFDQTtBQUNBLFNBQVMsbUJBQW1CO0FBQzVCLHlDQUF5QyxtQkFBbUI7QUFDNUQsR0FBRztBQUNIOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQSxtRUFBbUUsYUFBYTtBQUNoRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUCxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLG1CQUFtQjtBQUM5QjtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBLENBQUMsQ0FBQyxlQUFlLEVBQUU7OztBQUduQjtBQUNBLFdBQVcsYUFBYTtBQUN4QjtBQUNBLE1BQXFDLEdBQUcsQ0FBTTs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQSxTQUFTLG1CQUFtQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxzQkFBc0I7QUFDbEMsQ0FBQyxFQUFFO0FBQ0g7O0FBRUE7QUFDQSxTQUFTLG1CQUFtQjtBQUM1QixXQUFXLG1CQUFtQjtBQUM5QixhQUFhLG1CQUFtQixhQUFhLFVBQVEsR0FBRztBQUN4RCxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLHNCQUFzQjtBQUN2QztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsZ0JBQWdCLElBQUk7O0FBRXBCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDOztBQUV0Qzs7QUFFQSxrQkFBa0IsVUFBUSxHQUFHO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixPQUFPO0FBQ25DO0FBQ0EsT0FBTzs7QUFFUCxrQkFBa0Isa0JBQWtCLDBDQUEwQyxtQkFBbUI7QUFDakc7QUFDQTtBQUNBLE9BQU8sdUNBQXVDOztBQUU5Qyw0REFBNEQ7O0FBRTVELG1DQUFtQyxVQUFRO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxhQUFhLG1CQUFtQjtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxFQUFFLG1CQUFtQjtBQUM1QixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLFNBQVM7QUFDekM7QUFDQSxZQUFZLHlCQUF5QjtBQUNyQztBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQSx1REFBdUQsVUFBVTtBQUNqRTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUMsQ0FBQyxtQkFBbUI7O0FBRXJCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsU0FBUyxtQkFBbUI7QUFDNUIsV0FBVyxtQkFBbUIsbUJBQW1CLFVBQVEsR0FBRztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0gsRUFBRTs7O0FBR0Y7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUEsc0VBQXNFLGVBQWU7QUFDckY7QUFDQTs7QUFFQSx5S0FBeUs7QUFDeks7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhLFVBQVE7QUFDckI7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQSxhQUFhLFVBQVE7QUFDckI7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLEtBQStCLEVBQUUsRUFLcEM7O0FBRUw7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVyxtQkFBbUIsT0FBTyxVQUFRO0FBQzdDLGFBQWEsVUFBUTtBQUNyQjtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssYUFBYSxtQkFBbUI7QUFDckM7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxDQUFDLENBQUMsZUFBZTs7QUFFakIsMkNBQVE7O0FBRVIsd0JBQXdCOzs7QUFHeEIsaUJBQWlCLGdCQUFnQjs7QUFFakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsU0FBUyxtQkFBbUI7QUFDNUI7QUFDQTtBQUNBLFdBQVcsbUJBQW1CO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQSwrQkFBK0IsVUFBVTtBQUN6QyxhQUFhLG1CQUFtQixNQUFNLFVBQVE7QUFDOUM7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0NBQW9DLFVBQVEsR0FBRztBQUMvQztBQUNBOztBQUVBLDhCQUE4QixjQUFjLENBQUMsVUFBUSxHQUFHO0FBQ3hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTCxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0EsTUFBcUMsR0FBRyxDQUFNLFVBQVU7O0FBRXhEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1QkFBdUIsT0FBTztBQUM5QixlQUFlLFlBQVk7QUFDM0I7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLE9BQU87QUFDNUIsNkJBQTZCLFlBQVk7QUFDekM7QUFDQTs7QUFFQTtBQUNBLENBQUMsQ0FBQyxlQUFlOztBQUVqQjtBQUNBLFNBQVMsbUJBQW1CO0FBQzVCO0FBQ0EsV0FBVyxtQkFBbUI7QUFDOUIsYUFBYSxtQkFBbUIsZUFBZSxVQUFRLEdBQUc7QUFDMUQ7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQSxNQUFxQyxHQUFHLENBQU0sVUFBVTs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0EsU0FBUyxtQkFBbUI7QUFDNUI7QUFDQSxXQUFXLG1CQUFtQjtBQUM5QjtBQUNBO0FBQ0EseUJBQXlCLE9BQU87QUFDaEMsbUJBQW1CLEtBQUs7QUFDeEI7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLFVBQVEsR0FBRztBQUNuQztBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUCxLQUFLO0FBQ0wsR0FBRztBQUNILEVBQUU7QUFDRjs7O0FBR0E7QUFDQSxnQkFBZ0Isb0JBQVU7O0FBRTFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCLG9CQUFVOztBQUUxQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGdCQUFnQixvQkFBVTs7QUFFMUI7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCLEtBQUs7QUFDckI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnQkFBZ0Isb0JBQVU7O0FBRTFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQixPQUFPO0FBQzVCLGVBQWUsS0FBSztBQUNwQixrQkFBa0IsVUFBUSxHQUFHO0FBQzdCO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx5QkFBeUIsY0FBYztBQUN2QyxhQUFhLGtCQUFrQjtBQUMvQjs7QUFFQSxrRkFBa0YsTUFBcUMsR0FBRyxDQUFnSyxHQUFHLGlCQUFTO0FBQ3RTLGtGQUFrRixNQUFxQyxHQUFHLENBQW1LLEdBQUcsaUJBQVM7QUFDelMscUNBQXFDLGdCQUFnQiwwQ0FBMEMsTUFBcUMsR0FBRyxDQUEwTCxHQUFHLGlCQUFTOztBQUU3VTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFIiwiZmlsZSI6Ijk0OTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW52YXJpYW50IGZyb20gXCJpbnZhcmlhbnRcIjsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHN0YXJ0c1dpdGgoc3RyaW5nLCBzZWFyY2gpIC0gQ2hlY2sgaWYgYHN0cmluZ2Agc3RhcnRzIHdpdGggYHNlYXJjaGBcblxudmFyIHN0YXJ0c1dpdGggPSBmdW5jdGlvbiBzdGFydHNXaXRoKHN0cmluZywgc2VhcmNoKSB7XG4gIHJldHVybiBzdHJpbmcuc3Vic3RyKDAsIHNlYXJjaC5sZW5ndGgpID09PSBzZWFyY2g7XG59OyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gcGljayhyb3V0ZXMsIHVyaSlcbi8vXG4vLyBSYW5rcyBhbmQgcGlja3MgdGhlIGJlc3Qgcm91dGUgdG8gbWF0Y2guIEVhY2ggc2VnbWVudCBnZXRzIHRoZSBoaWdoZXN0XG4vLyBhbW91bnQgb2YgcG9pbnRzLCB0aGVuIHRoZSB0eXBlIG9mIHNlZ21lbnQgZ2V0cyBhbiBhZGRpdGlvbmFsIGFtb3VudCBvZlxuLy8gcG9pbnRzIHdoZXJlXG4vL1xuLy8gICAgIHN0YXRpYyA+IGR5bmFtaWMgPiBzcGxhdCA+IHJvb3Rcbi8vXG4vLyBUaGlzIHdheSB3ZSBkb24ndCBoYXZlIHRvIHdvcnJ5IGFib3V0IHRoZSBvcmRlciBvZiBvdXIgcm91dGVzLCBsZXQgdGhlXG4vLyBjb21wdXRlcnMgZG8gaXQuXG4vL1xuLy8gQSByb3V0ZSBsb29rcyBsaWtlIHRoaXNcbi8vXG4vLyAgICAgeyBwYXRoLCBkZWZhdWx0LCB2YWx1ZSB9XG4vL1xuLy8gQW5kIGEgcmV0dXJuZWQgbWF0Y2ggbG9va3MgbGlrZTpcbi8vXG4vLyAgICAgeyByb3V0ZSwgcGFyYW1zLCB1cmkgfVxuLy9cbi8vIEkga25vdywgSSBzaG91bGQgdXNlIFR5cGVTY3JpcHQgbm90IGNvbW1lbnRzIGZvciB0aGVzZSB0eXBlcy5cblxuXG52YXIgcGljayA9IGZ1bmN0aW9uIHBpY2socm91dGVzLCB1cmkpIHtcbiAgdmFyIG1hdGNoID0gdm9pZCAwO1xuICB2YXIgZGVmYXVsdF8gPSB2b2lkIDA7XG5cbiAgdmFyIF91cmkkc3BsaXQgPSB1cmkuc3BsaXQoXCI/XCIpLFxuICAgICAgdXJpUGF0aG5hbWUgPSBfdXJpJHNwbGl0WzBdO1xuXG4gIHZhciB1cmlTZWdtZW50cyA9IHNlZ21lbnRpemUodXJpUGF0aG5hbWUpO1xuICB2YXIgaXNSb290VXJpID0gdXJpU2VnbWVudHNbMF0gPT09IFwiXCI7XG4gIHZhciByYW5rZWQgPSByYW5rUm91dGVzKHJvdXRlcyk7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSByYW5rZWQubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIG1pc3NlZCA9IGZhbHNlO1xuICAgIHZhciByb3V0ZSA9IHJhbmtlZFtpXS5yb3V0ZTtcblxuICAgIGlmIChyb3V0ZS5kZWZhdWx0KSB7XG4gICAgICBkZWZhdWx0XyA9IHtcbiAgICAgICAgcm91dGU6IHJvdXRlLFxuICAgICAgICBwYXJhbXM6IHt9LFxuICAgICAgICB1cmk6IHVyaVxuICAgICAgfTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciByb3V0ZVNlZ21lbnRzID0gc2VnbWVudGl6ZShyb3V0ZS5wYXRoKTtcbiAgICB2YXIgcGFyYW1zID0ge307XG4gICAgdmFyIG1heCA9IE1hdGgubWF4KHVyaVNlZ21lbnRzLmxlbmd0aCwgcm91dGVTZWdtZW50cy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IDA7XG5cbiAgICBmb3IgKDsgaW5kZXggPCBtYXg7IGluZGV4KyspIHtcbiAgICAgIHZhciByb3V0ZVNlZ21lbnQgPSByb3V0ZVNlZ21lbnRzW2luZGV4XTtcbiAgICAgIHZhciB1cmlTZWdtZW50ID0gdXJpU2VnbWVudHNbaW5kZXhdO1xuXG4gICAgICBpZiAoaXNTcGxhdChyb3V0ZVNlZ21lbnQpKSB7XG4gICAgICAgIC8vIEhpdCBhIHNwbGF0LCBqdXN0IGdyYWIgdGhlIHJlc3QsIGFuZCByZXR1cm4gYSBtYXRjaFxuICAgICAgICAvLyB1cmk6ICAgL2ZpbGVzL2RvY3VtZW50cy93b3JrXG4gICAgICAgIC8vIHJvdXRlOiAvZmlsZXMvKlxuICAgICAgICB2YXIgcGFyYW0gPSByb3V0ZVNlZ21lbnQuc2xpY2UoMSkgfHwgXCIqXCI7XG4gICAgICAgIHBhcmFtc1twYXJhbV0gPSB1cmlTZWdtZW50cy5zbGljZShpbmRleCkubWFwKGRlY29kZVVSSUNvbXBvbmVudCkuam9pbihcIi9cIik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAodXJpU2VnbWVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIFVSSSBpcyBzaG9ydGVyIHRoYW4gdGhlIHJvdXRlLCBubyBtYXRjaFxuICAgICAgICAvLyB1cmk6ICAgL3VzZXJzXG4gICAgICAgIC8vIHJvdXRlOiAvdXNlcnMvOnVzZXJJZFxuICAgICAgICBtaXNzZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgdmFyIGR5bmFtaWNNYXRjaCA9IHBhcmFtUmUuZXhlYyhyb3V0ZVNlZ21lbnQpO1xuXG4gICAgICBpZiAoZHluYW1pY01hdGNoICYmICFpc1Jvb3RVcmkpIHtcbiAgICAgICAgdmFyIG1hdGNoSXNOb3RSZXNlcnZlZCA9IHJlc2VydmVkTmFtZXMuaW5kZXhPZihkeW5hbWljTWF0Y2hbMV0pID09PSAtMTtcbiAgICAgICAgIW1hdGNoSXNOb3RSZXNlcnZlZCA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgXCI8Um91dGVyPiBkeW5hbWljIHNlZ21lbnQgXFxcIlwiICsgZHluYW1pY01hdGNoWzFdICsgXCJcXFwiIGlzIGEgcmVzZXJ2ZWQgbmFtZS4gUGxlYXNlIHVzZSBhIGRpZmZlcmVudCBuYW1lIGluIHBhdGggXFxcIlwiICsgcm91dGUucGF0aCArIFwiXFxcIi5cIikgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgICAgICB2YXIgdmFsdWUgPSBkZWNvZGVVUklDb21wb25lbnQodXJpU2VnbWVudCk7XG4gICAgICAgIHBhcmFtc1tkeW5hbWljTWF0Y2hbMV1dID0gdmFsdWU7XG4gICAgICB9IGVsc2UgaWYgKHJvdXRlU2VnbWVudCAhPT0gdXJpU2VnbWVudCkge1xuICAgICAgICAvLyBDdXJyZW50IHNlZ21lbnRzIGRvbid0IG1hdGNoLCBub3QgZHluYW1pYywgbm90IHNwbGF0LCBzbyBubyBtYXRjaFxuICAgICAgICAvLyB1cmk6ICAgL3VzZXJzLzEyMy9zZXR0aW5nc1xuICAgICAgICAvLyByb3V0ZTogL3VzZXJzLzppZC9wcm9maWxlXG4gICAgICAgIG1pc3NlZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghbWlzc2VkKSB7XG4gICAgICBtYXRjaCA9IHtcbiAgICAgICAgcm91dGU6IHJvdXRlLFxuICAgICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgdXJpOiBcIi9cIiArIHVyaVNlZ21lbnRzLnNsaWNlKDAsIGluZGV4KS5qb2luKFwiL1wiKVxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtYXRjaCB8fCBkZWZhdWx0XyB8fCBudWxsO1xufTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG1hdGNoKHBhdGgsIHVyaSkgLSBNYXRjaGVzIGp1c3Qgb25lIHBhdGggdG8gYSB1cmksIGFsc28gbG9sXG5cblxudmFyIG1hdGNoID0gZnVuY3Rpb24gbWF0Y2gocGF0aCwgdXJpKSB7XG4gIHJldHVybiBwaWNrKFt7XG4gICAgcGF0aDogcGF0aFxuICB9XSwgdXJpKTtcbn07IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyByZXNvbHZlKHRvLCBiYXNlcGF0aClcbi8vXG4vLyBSZXNvbHZlcyBVUklzIGFzIHRob3VnaCBldmVyeSBwYXRoIGlzIGEgZGlyZWN0b3J5LCBubyBmaWxlcy4gIFJlbGF0aXZlIFVSSXNcbi8vIGluIHRoZSBicm93c2VyIGNhbiBmZWVsIGF3a3dhcmQgYmVjYXVzZSBub3Qgb25seSBjYW4geW91IGJlIFwiaW4gYSBkaXJlY3RvcnlcIlxuLy8geW91IGNhbiBiZSBcImF0IGEgZmlsZVwiLCB0b28uIEZvciBleGFtcGxlXG4vL1xuLy8gICAgIGJyb3dzZXJTcGVjUmVzb2x2ZSgnZm9vJywgJy9iYXIvJykgPT4gL2Jhci9mb29cbi8vICAgICBicm93c2VyU3BlY1Jlc29sdmUoJ2ZvbycsICcvYmFyJykgPT4gL2Zvb1xuLy9cbi8vIEJ1dCBvbiB0aGUgY29tbWFuZCBsaW5lIG9mIGEgZmlsZSBzeXN0ZW0sIGl0J3Mgbm90IGFzIGNvbXBsaWNhdGVkLCB5b3UgY2FuJ3Rcbi8vIGBjZGAgZnJvbSBhIGZpbGUsIG9ubHkgZGlyZWN0b3JpZXMuICBUaGlzIHdheSwgbGlua3MgaGF2ZSB0byBrbm93IGxlc3MgYWJvdXRcbi8vIHRoZWlyIGN1cnJlbnQgcGF0aC4gVG8gZ28gZGVlcGVyIHlvdSBjYW4gZG8gdGhpczpcbi8vXG4vLyAgICAgPExpbmsgdG89XCJkZWVwZXJcIi8+XG4vLyAgICAgLy8gaW5zdGVhZCBvZlxuLy8gICAgIDxMaW5rIHRvPWB7JHtwcm9wcy51cml9L2RlZXBlcn1gLz5cbi8vXG4vLyBKdXN0IGxpa2UgYGNkYCwgaWYgeW91IHdhbnQgdG8gZ28gZGVlcGVyIGZyb20gdGhlIGNvbW1hbmQgbGluZSwgeW91IGRvIHRoaXM6XG4vL1xuLy8gICAgIGNkIGRlZXBlclxuLy8gICAgICMgbm90XG4vLyAgICAgY2QgJChwd2QpL2RlZXBlclxuLy9cbi8vIEJ5IHRyZWF0aW5nIGV2ZXJ5IHBhdGggYXMgYSBkaXJlY3RvcnksIGxpbmtpbmcgdG8gcmVsYXRpdmUgcGF0aHMgc2hvdWxkXG4vLyByZXF1aXJlIGxlc3MgY29udGV4dHVhbCBpbmZvcm1hdGlvbiBhbmQgKGZpbmdlcnMgY3Jvc3NlZCkgYmUgbW9yZSBpbnR1aXRpdmUuXG5cblxudmFyIHJlc29sdmUgPSBmdW5jdGlvbiByZXNvbHZlKHRvLCBiYXNlKSB7XG4gIC8vIC9mb28vYmFyLCAvYmF6L3F1eCA9PiAvZm9vL2JhclxuICBpZiAoc3RhcnRzV2l0aCh0bywgXCIvXCIpKSB7XG4gICAgcmV0dXJuIHRvO1xuICB9XG5cbiAgdmFyIF90byRzcGxpdCA9IHRvLnNwbGl0KFwiP1wiKSxcbiAgICAgIHRvUGF0aG5hbWUgPSBfdG8kc3BsaXRbMF0sXG4gICAgICB0b1F1ZXJ5ID0gX3RvJHNwbGl0WzFdO1xuXG4gIHZhciBfYmFzZSRzcGxpdCA9IGJhc2Uuc3BsaXQoXCI/XCIpLFxuICAgICAgYmFzZVBhdGhuYW1lID0gX2Jhc2Ukc3BsaXRbMF07XG5cbiAgdmFyIHRvU2VnbWVudHMgPSBzZWdtZW50aXplKHRvUGF0aG5hbWUpO1xuICB2YXIgYmFzZVNlZ21lbnRzID0gc2VnbWVudGl6ZShiYXNlUGF0aG5hbWUpOyAvLyA/YT1iLCAvdXNlcnM/Yj1jID0+IC91c2Vycz9hPWJcblxuICBpZiAodG9TZWdtZW50c1swXSA9PT0gXCJcIikge1xuICAgIHJldHVybiBhZGRRdWVyeShiYXNlUGF0aG5hbWUsIHRvUXVlcnkpO1xuICB9IC8vIHByb2ZpbGUsIC91c2Vycy83ODkgPT4gL3VzZXJzLzc4OS9wcm9maWxlXG5cblxuICBpZiAoIXN0YXJ0c1dpdGgodG9TZWdtZW50c1swXSwgXCIuXCIpKSB7XG4gICAgdmFyIHBhdGhuYW1lID0gYmFzZVNlZ21lbnRzLmNvbmNhdCh0b1NlZ21lbnRzKS5qb2luKFwiL1wiKTtcbiAgICByZXR1cm4gYWRkUXVlcnkoKGJhc2VQYXRobmFtZSA9PT0gXCIvXCIgPyBcIlwiIDogXCIvXCIpICsgcGF0aG5hbWUsIHRvUXVlcnkpO1xuICB9IC8vIC4vICAgICAgICAgL3VzZXJzLzEyMyAgPT4gIC91c2Vycy8xMjNcbiAgLy8gLi4vICAgICAgICAvdXNlcnMvMTIzICA9PiAgL3VzZXJzXG4gIC8vIC4uLy4uICAgICAgL3VzZXJzLzEyMyAgPT4gIC9cbiAgLy8gLi4vLi4vb25lICAvYS9iL2MvZCAgICA9PiAgL2EvYi9vbmVcbiAgLy8gLi4vLi9vbmUgICAvYS9iL2MvZCAgICA9PiAgL2EvYi9jL29uZVxuXG5cbiAgdmFyIGFsbFNlZ21lbnRzID0gYmFzZVNlZ21lbnRzLmNvbmNhdCh0b1NlZ21lbnRzKTtcbiAgdmFyIHNlZ21lbnRzID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBhbGxTZWdtZW50cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICB2YXIgc2VnbWVudCA9IGFsbFNlZ21lbnRzW2ldO1xuICAgIGlmIChzZWdtZW50ID09PSBcIi4uXCIpIHNlZ21lbnRzLnBvcCgpO2Vsc2UgaWYgKHNlZ21lbnQgIT09IFwiLlwiKSBzZWdtZW50cy5wdXNoKHNlZ21lbnQpO1xuICB9XG5cbiAgcmV0dXJuIGFkZFF1ZXJ5KFwiL1wiICsgc2VnbWVudHMuam9pbihcIi9cIiksIHRvUXVlcnkpO1xufTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGluc2VydFBhcmFtcyhwYXRoLCBwYXJhbXMpXG5cblxudmFyIGluc2VydFBhcmFtcyA9IGZ1bmN0aW9uIGluc2VydFBhcmFtcyhwYXRoLCBwYXJhbXMpIHtcbiAgdmFyIF9wYXRoJHNwbGl0ID0gcGF0aC5zcGxpdChcIj9cIiksXG4gICAgICBwYXRoQmFzZSA9IF9wYXRoJHNwbGl0WzBdLFxuICAgICAgX3BhdGgkc3BsaXQkID0gX3BhdGgkc3BsaXRbMV0sXG4gICAgICBxdWVyeSA9IF9wYXRoJHNwbGl0JCA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IF9wYXRoJHNwbGl0JDtcblxuICB2YXIgc2VnbWVudHMgPSBzZWdtZW50aXplKHBhdGhCYXNlKTtcbiAgdmFyIGNvbnN0cnVjdGVkUGF0aCA9IFwiL1wiICsgc2VnbWVudHMubWFwKGZ1bmN0aW9uIChzZWdtZW50KSB7XG4gICAgdmFyIG1hdGNoID0gcGFyYW1SZS5leGVjKHNlZ21lbnQpO1xuICAgIHJldHVybiBtYXRjaCA/IHBhcmFtc1ttYXRjaFsxXV0gOiBzZWdtZW50O1xuICB9KS5qb2luKFwiL1wiKTtcbiAgdmFyIF9wYXJhbXMkbG9jYXRpb24gPSBwYXJhbXMubG9jYXRpb247XG4gIF9wYXJhbXMkbG9jYXRpb24gPSBfcGFyYW1zJGxvY2F0aW9uID09PSB1bmRlZmluZWQgPyB7fSA6IF9wYXJhbXMkbG9jYXRpb247XG4gIHZhciBfcGFyYW1zJGxvY2F0aW9uJHNlYXIgPSBfcGFyYW1zJGxvY2F0aW9uLnNlYXJjaCxcbiAgICAgIHNlYXJjaCA9IF9wYXJhbXMkbG9jYXRpb24kc2VhciA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IF9wYXJhbXMkbG9jYXRpb24kc2VhcjtcbiAgdmFyIHNlYXJjaFNwbGl0ID0gc2VhcmNoLnNwbGl0KFwiP1wiKVsxXSB8fCBcIlwiO1xuICBjb25zdHJ1Y3RlZFBhdGggPSBhZGRRdWVyeShjb25zdHJ1Y3RlZFBhdGgsIHF1ZXJ5LCBzZWFyY2hTcGxpdCk7XG4gIHJldHVybiBjb25zdHJ1Y3RlZFBhdGg7XG59O1xuXG52YXIgdmFsaWRhdGVSZWRpcmVjdCA9IGZ1bmN0aW9uIHZhbGlkYXRlUmVkaXJlY3QoZnJvbSwgdG8pIHtcbiAgdmFyIGZpbHRlciA9IGZ1bmN0aW9uIGZpbHRlcihzZWdtZW50KSB7XG4gICAgcmV0dXJuIGlzRHluYW1pYyhzZWdtZW50KTtcbiAgfTtcblxuICB2YXIgZnJvbVN0cmluZyA9IHNlZ21lbnRpemUoZnJvbSkuZmlsdGVyKGZpbHRlcikuc29ydCgpLmpvaW4oXCIvXCIpO1xuICB2YXIgdG9TdHJpbmcgPSBzZWdtZW50aXplKHRvKS5maWx0ZXIoZmlsdGVyKS5zb3J0KCkuam9pbihcIi9cIik7XG4gIHJldHVybiBmcm9tU3RyaW5nID09PSB0b1N0cmluZztcbn07IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBKdW5rXG5cblxudmFyIHBhcmFtUmUgPSAvXjooLispLztcbnZhciBTRUdNRU5UX1BPSU5UUyA9IDQ7XG52YXIgU1RBVElDX1BPSU5UUyA9IDM7XG52YXIgRFlOQU1JQ19QT0lOVFMgPSAyO1xudmFyIFNQTEFUX1BFTkFMVFkgPSAxO1xudmFyIFJPT1RfUE9JTlRTID0gMTtcblxudmFyIGlzUm9vdFNlZ21lbnQgPSBmdW5jdGlvbiBpc1Jvb3RTZWdtZW50KHNlZ21lbnQpIHtcbiAgcmV0dXJuIHNlZ21lbnQgPT09IFwiXCI7XG59O1xuXG52YXIgaXNEeW5hbWljID0gZnVuY3Rpb24gaXNEeW5hbWljKHNlZ21lbnQpIHtcbiAgcmV0dXJuIHBhcmFtUmUudGVzdChzZWdtZW50KTtcbn07XG5cbnZhciBpc1NwbGF0ID0gZnVuY3Rpb24gaXNTcGxhdChzZWdtZW50KSB7XG4gIHJldHVybiBzZWdtZW50ICYmIHNlZ21lbnRbMF0gPT09IFwiKlwiO1xufTtcblxudmFyIHJhbmtSb3V0ZSA9IGZ1bmN0aW9uIHJhbmtSb3V0ZShyb3V0ZSwgaW5kZXgpIHtcbiAgdmFyIHNjb3JlID0gcm91dGUuZGVmYXVsdCA/IDAgOiBzZWdtZW50aXplKHJvdXRlLnBhdGgpLnJlZHVjZShmdW5jdGlvbiAoc2NvcmUsIHNlZ21lbnQpIHtcbiAgICBzY29yZSArPSBTRUdNRU5UX1BPSU5UUztcbiAgICBpZiAoaXNSb290U2VnbWVudChzZWdtZW50KSkgc2NvcmUgKz0gUk9PVF9QT0lOVFM7ZWxzZSBpZiAoaXNEeW5hbWljKHNlZ21lbnQpKSBzY29yZSArPSBEWU5BTUlDX1BPSU5UUztlbHNlIGlmIChpc1NwbGF0KHNlZ21lbnQpKSBzY29yZSAtPSBTRUdNRU5UX1BPSU5UUyArIFNQTEFUX1BFTkFMVFk7ZWxzZSBzY29yZSArPSBTVEFUSUNfUE9JTlRTO1xuICAgIHJldHVybiBzY29yZTtcbiAgfSwgMCk7XG4gIHJldHVybiB7XG4gICAgcm91dGU6IHJvdXRlLFxuICAgIHNjb3JlOiBzY29yZSxcbiAgICBpbmRleDogaW5kZXhcbiAgfTtcbn07XG5cbnZhciByYW5rUm91dGVzID0gZnVuY3Rpb24gcmFua1JvdXRlcyhyb3V0ZXMpIHtcbiAgcmV0dXJuIHJvdXRlcy5tYXAocmFua1JvdXRlKS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIGEuc2NvcmUgPCBiLnNjb3JlID8gMSA6IGEuc2NvcmUgPiBiLnNjb3JlID8gLTEgOiBhLmluZGV4IC0gYi5pbmRleDtcbiAgfSk7XG59O1xuXG52YXIgc2VnbWVudGl6ZSA9IGZ1bmN0aW9uIHNlZ21lbnRpemUodXJpKSB7XG4gIHJldHVybiB1cmkgLy8gc3RyaXAgc3RhcnRpbmcvZW5kaW5nIHNsYXNoZXNcbiAgLnJlcGxhY2UoLyheXFwvK3xcXC8rJCkvZywgXCJcIikuc3BsaXQoXCIvXCIpO1xufTtcblxudmFyIGFkZFF1ZXJ5ID0gZnVuY3Rpb24gYWRkUXVlcnkocGF0aG5hbWUpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHF1ZXJ5ID0gQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIHF1ZXJ5W19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHF1ZXJ5ID0gcXVlcnkuZmlsdGVyKGZ1bmN0aW9uIChxKSB7XG4gICAgcmV0dXJuIHEgJiYgcS5sZW5ndGggPiAwO1xuICB9KTtcbiAgcmV0dXJuIHBhdGhuYW1lICsgKHF1ZXJ5ICYmIHF1ZXJ5Lmxlbmd0aCA+IDAgPyBcIj9cIiArIHF1ZXJ5LmpvaW4oXCImXCIpIDogXCJcIik7XG59O1xuXG52YXIgcmVzZXJ2ZWROYW1lcyA9IFtcInVyaVwiLCBcInBhdGhcIl07XG4vKipcbiAqIFNoYWxsb3cgY29tcGFyZXMgdHdvIG9iamVjdHMuXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqMSBUaGUgZmlyc3Qgb2JqZWN0IHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqMiBUaGUgc2Vjb25kIG9iamVjdCB0byBjb21wYXJlLlxuICovXG5cbnZhciBzaGFsbG93Q29tcGFyZSA9IGZ1bmN0aW9uIHNoYWxsb3dDb21wYXJlKG9iajEsIG9iajIpIHtcbiAgdmFyIG9iajFLZXlzID0gT2JqZWN0LmtleXMob2JqMSk7XG4gIHJldHVybiBvYmoxS2V5cy5sZW5ndGggPT09IE9iamVjdC5rZXlzKG9iajIpLmxlbmd0aCAmJiBvYmoxS2V5cy5ldmVyeShmdW5jdGlvbiAoa2V5KSB7XG4gICAgcmV0dXJuIG9iajIuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBvYmoxW2tleV0gPT09IG9iajJba2V5XTtcbiAgfSk7XG59OyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbmV4cG9ydCB7IHN0YXJ0c1dpdGgsIHBpY2ssIG1hdGNoLCByZXNvbHZlLCBpbnNlcnRQYXJhbXMsIHZhbGlkYXRlUmVkaXJlY3QsIHNoYWxsb3dDb21wYXJlIH07IiwidmFyIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn07XG5cbnZhciBnZXRMb2NhdGlvbiA9IGZ1bmN0aW9uIGdldExvY2F0aW9uKHNvdXJjZSkge1xuICB2YXIgX3NvdXJjZSRsb2NhdGlvbiA9IHNvdXJjZS5sb2NhdGlvbixcbiAgICAgIHNlYXJjaCA9IF9zb3VyY2UkbG9jYXRpb24uc2VhcmNoLFxuICAgICAgaGFzaCA9IF9zb3VyY2UkbG9jYXRpb24uaGFzaCxcbiAgICAgIGhyZWYgPSBfc291cmNlJGxvY2F0aW9uLmhyZWYsXG4gICAgICBvcmlnaW4gPSBfc291cmNlJGxvY2F0aW9uLm9yaWdpbixcbiAgICAgIHByb3RvY29sID0gX3NvdXJjZSRsb2NhdGlvbi5wcm90b2NvbCxcbiAgICAgIGhvc3QgPSBfc291cmNlJGxvY2F0aW9uLmhvc3QsXG4gICAgICBob3N0bmFtZSA9IF9zb3VyY2UkbG9jYXRpb24uaG9zdG5hbWUsXG4gICAgICBwb3J0ID0gX3NvdXJjZSRsb2NhdGlvbi5wb3J0O1xuICB2YXIgcGF0aG5hbWUgPSBzb3VyY2UubG9jYXRpb24ucGF0aG5hbWU7XG5cbiAgaWYgKCFwYXRobmFtZSAmJiBocmVmICYmIGNhblVzZURPTSkge1xuICAgIHZhciB1cmwgPSBuZXcgVVJMKGhyZWYpO1xuICAgIHBhdGhuYW1lID0gdXJsLnBhdGhuYW1lO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRobmFtZTogZW5jb2RlVVJJKGRlY29kZVVSSShwYXRobmFtZSkpLFxuICAgIHNlYXJjaDogc2VhcmNoLFxuICAgIGhhc2g6IGhhc2gsXG4gICAgaHJlZjogaHJlZixcbiAgICBvcmlnaW46IG9yaWdpbixcbiAgICBwcm90b2NvbDogcHJvdG9jb2wsXG4gICAgaG9zdDogaG9zdCxcbiAgICBob3N0bmFtZTogaG9zdG5hbWUsXG4gICAgcG9ydDogcG9ydCxcbiAgICBzdGF0ZTogc291cmNlLmhpc3Rvcnkuc3RhdGUsXG4gICAga2V5OiBzb3VyY2UuaGlzdG9yeS5zdGF0ZSAmJiBzb3VyY2UuaGlzdG9yeS5zdGF0ZS5rZXkgfHwgXCJpbml0aWFsXCJcbiAgfTtcbn07XG5cbnZhciBjcmVhdGVIaXN0b3J5ID0gZnVuY3Rpb24gY3JlYXRlSGlzdG9yeShzb3VyY2UsIG9wdGlvbnMpIHtcbiAgdmFyIGxpc3RlbmVycyA9IFtdO1xuICB2YXIgbG9jYXRpb24gPSBnZXRMb2NhdGlvbihzb3VyY2UpO1xuICB2YXIgdHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuXG4gIHZhciByZXNvbHZlVHJhbnNpdGlvbiA9IGZ1bmN0aW9uIHJlc29sdmVUcmFuc2l0aW9uKCkge307XG5cbiAgcmV0dXJuIHtcbiAgICBnZXQgbG9jYXRpb24oKSB7XG4gICAgICByZXR1cm4gbG9jYXRpb247XG4gICAgfSxcblxuICAgIGdldCB0cmFuc2l0aW9uaW5nKCkge1xuICAgICAgcmV0dXJuIHRyYW5zaXRpb25pbmc7XG4gICAgfSxcblxuICAgIF9vblRyYW5zaXRpb25Db21wbGV0ZTogZnVuY3Rpb24gX29uVHJhbnNpdGlvbkNvbXBsZXRlKCkge1xuICAgICAgdHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgICAgcmVzb2x2ZVRyYW5zaXRpb24oKTtcbiAgICB9LFxuICAgIGxpc3RlbjogZnVuY3Rpb24gbGlzdGVuKGxpc3RlbmVyKSB7XG4gICAgICBsaXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7XG5cbiAgICAgIHZhciBwb3BzdGF0ZUxpc3RlbmVyID0gZnVuY3Rpb24gcG9wc3RhdGVMaXN0ZW5lcigpIHtcbiAgICAgICAgbG9jYXRpb24gPSBnZXRMb2NhdGlvbihzb3VyY2UpO1xuICAgICAgICBsaXN0ZW5lcih7XG4gICAgICAgICAgbG9jYXRpb246IGxvY2F0aW9uLFxuICAgICAgICAgIGFjdGlvbjogXCJQT1BcIlxuICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIHNvdXJjZS5hZGRFdmVudExpc3RlbmVyKFwicG9wc3RhdGVcIiwgcG9wc3RhdGVMaXN0ZW5lcik7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICBzb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBvcHN0YXRlXCIsIHBvcHN0YXRlTGlzdGVuZXIpO1xuICAgICAgICBsaXN0ZW5lcnMgPSBsaXN0ZW5lcnMuZmlsdGVyKGZ1bmN0aW9uIChmbikge1xuICAgICAgICAgIHJldHVybiBmbiAhPT0gbGlzdGVuZXI7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9LFxuICAgIG5hdmlnYXRlOiBmdW5jdGlvbiBuYXZpZ2F0ZSh0bykge1xuICAgICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9LFxuICAgICAgICAgIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgICAgICBfcmVmJHJlcGxhY2UgPSBfcmVmLnJlcGxhY2UsXG4gICAgICAgICAgcmVwbGFjZSA9IF9yZWYkcmVwbGFjZSA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiBfcmVmJHJlcGxhY2U7XG5cbiAgICAgIGlmICh0eXBlb2YgdG8gPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgc291cmNlLmhpc3RvcnkuZ28odG8pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdGUgPSBfZXh0ZW5kcyh7fSwgc3RhdGUsIHtcbiAgICAgICAgICBrZXk6IERhdGUubm93KCkgKyBcIlwiXG4gICAgICAgIH0pOyAvLyB0cnkuLi5jYXRjaCBpT1MgU2FmYXJpIGxpbWl0cyB0byAxMDAgcHVzaFN0YXRlIGNhbGxzXG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAodHJhbnNpdGlvbmluZyB8fCByZXBsYWNlKSB7XG4gICAgICAgICAgICBzb3VyY2UuaGlzdG9yeS5yZXBsYWNlU3RhdGUoc3RhdGUsIG51bGwsIHRvKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc291cmNlLmhpc3RvcnkucHVzaFN0YXRlKHN0YXRlLCBudWxsLCB0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgc291cmNlLmxvY2F0aW9uW3JlcGxhY2UgPyBcInJlcGxhY2VcIiA6IFwiYXNzaWduXCJdKHRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsb2NhdGlvbiA9IGdldExvY2F0aW9uKHNvdXJjZSk7XG4gICAgICB0cmFuc2l0aW9uaW5nID0gdHJ1ZTtcbiAgICAgIHZhciB0cmFuc2l0aW9uID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlcykge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZVRyYW5zaXRpb24gPSByZXM7XG4gICAgICB9KTtcbiAgICAgIGxpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICAgICAgICByZXR1cm4gbGlzdGVuZXIoe1xuICAgICAgICAgIGxvY2F0aW9uOiBsb2NhdGlvbixcbiAgICAgICAgICBhY3Rpb246IFwiUFVTSFwiXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gdHJhbnNpdGlvbjtcbiAgICB9XG4gIH07XG59OyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU3RvcmVzIGhpc3RvcnkgZW50cmllcyBpbiBtZW1vcnkgZm9yIHRlc3Rpbmcgb3Igb3RoZXIgcGxhdGZvcm1zIGxpa2UgTmF0aXZlXG5cblxudmFyIGNyZWF0ZU1lbW9yeVNvdXJjZSA9IGZ1bmN0aW9uIGNyZWF0ZU1lbW9yeVNvdXJjZSgpIHtcbiAgdmFyIGluaXRpYWxQYXRoID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBcIi9cIjtcbiAgdmFyIHNlYXJjaEluZGV4ID0gaW5pdGlhbFBhdGguaW5kZXhPZihcIj9cIik7XG4gIHZhciBpbml0aWFsTG9jYXRpb24gPSB7XG4gICAgcGF0aG5hbWU6IHNlYXJjaEluZGV4ID4gLTEgPyBpbml0aWFsUGF0aC5zdWJzdHIoMCwgc2VhcmNoSW5kZXgpIDogaW5pdGlhbFBhdGgsXG4gICAgc2VhcmNoOiBzZWFyY2hJbmRleCA+IC0xID8gaW5pdGlhbFBhdGguc3Vic3RyKHNlYXJjaEluZGV4KSA6IFwiXCJcbiAgfTtcbiAgdmFyIGluZGV4ID0gMDtcbiAgdmFyIHN0YWNrID0gW2luaXRpYWxMb2NhdGlvbl07XG4gIHZhciBzdGF0ZXMgPSBbbnVsbF07XG4gIHJldHVybiB7XG4gICAgZ2V0IGxvY2F0aW9uKCkge1xuICAgICAgcmV0dXJuIHN0YWNrW2luZGV4XTtcbiAgICB9LFxuXG4gICAgYWRkRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24gYWRkRXZlbnRMaXN0ZW5lcihuYW1lLCBmbikge30sXG4gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24gcmVtb3ZlRXZlbnRMaXN0ZW5lcihuYW1lLCBmbikge30sXG4gICAgaGlzdG9yeToge1xuICAgICAgZ2V0IGVudHJpZXMoKSB7XG4gICAgICAgIHJldHVybiBzdGFjaztcbiAgICAgIH0sXG5cbiAgICAgIGdldCBpbmRleCgpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgfSxcblxuICAgICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gc3RhdGVzW2luZGV4XTtcbiAgICAgIH0sXG5cbiAgICAgIHB1c2hTdGF0ZTogZnVuY3Rpb24gcHVzaFN0YXRlKHN0YXRlLCBfLCB1cmkpIHtcbiAgICAgICAgdmFyIF91cmkkc3BsaXQgPSB1cmkuc3BsaXQoXCI/XCIpLFxuICAgICAgICAgICAgcGF0aG5hbWUgPSBfdXJpJHNwbGl0WzBdLFxuICAgICAgICAgICAgX3VyaSRzcGxpdCQgPSBfdXJpJHNwbGl0WzFdLFxuICAgICAgICAgICAgc2VhcmNoID0gX3VyaSRzcGxpdCQgPT09IHVuZGVmaW5lZCA/IFwiXCIgOiBfdXJpJHNwbGl0JDtcblxuICAgICAgICBpbmRleCsrO1xuICAgICAgICBzdGFjay5wdXNoKHtcbiAgICAgICAgICBwYXRobmFtZTogcGF0aG5hbWUsXG4gICAgICAgICAgc2VhcmNoOiBzZWFyY2gubGVuZ3RoID8gXCI/XCIgKyBzZWFyY2ggOiBzZWFyY2hcbiAgICAgICAgfSk7XG4gICAgICAgIHN0YXRlcy5wdXNoKHN0YXRlKTtcbiAgICAgIH0sXG4gICAgICByZXBsYWNlU3RhdGU6IGZ1bmN0aW9uIHJlcGxhY2VTdGF0ZShzdGF0ZSwgXywgdXJpKSB7XG4gICAgICAgIHZhciBfdXJpJHNwbGl0MiA9IHVyaS5zcGxpdChcIj9cIiksXG4gICAgICAgICAgICBwYXRobmFtZSA9IF91cmkkc3BsaXQyWzBdLFxuICAgICAgICAgICAgX3VyaSRzcGxpdDIkID0gX3VyaSRzcGxpdDJbMV0sXG4gICAgICAgICAgICBzZWFyY2ggPSBfdXJpJHNwbGl0MiQgPT09IHVuZGVmaW5lZCA/IFwiXCIgOiBfdXJpJHNwbGl0MiQ7XG5cbiAgICAgICAgc3RhY2tbaW5kZXhdID0ge1xuICAgICAgICAgIHBhdGhuYW1lOiBwYXRobmFtZSxcbiAgICAgICAgICBzZWFyY2g6IHNlYXJjaFxuICAgICAgICB9O1xuICAgICAgICBzdGF0ZXNbaW5kZXhdID0gc3RhdGU7XG4gICAgICB9LFxuICAgICAgZ286IGZ1bmN0aW9uIGdvKHRvKSB7XG4gICAgICAgIHZhciBuZXdJbmRleCA9IGluZGV4ICsgdG87XG5cbiAgICAgICAgaWYgKG5ld0luZGV4IDwgMCB8fCBuZXdJbmRleCA+IHN0YXRlcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5kZXggPSBuZXdJbmRleDtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59OyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gZ2xvYmFsIGhpc3RvcnkgLSB1c2VzIHdpbmRvdy5oaXN0b3J5IGFzIHRoZSBzb3VyY2UgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgYVxuLy8gbWVtb3J5IGhpc3RvcnlcblxuXG52YXIgY2FuVXNlRE9NID0gISEodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aW5kb3cuZG9jdW1lbnQgJiYgd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO1xuXG52YXIgZ2V0U291cmNlID0gZnVuY3Rpb24gZ2V0U291cmNlKCkge1xuICByZXR1cm4gY2FuVXNlRE9NID8gd2luZG93IDogY3JlYXRlTWVtb3J5U291cmNlKCk7XG59O1xuXG52YXIgZ2xvYmFsSGlzdG9yeSA9IGNyZWF0ZUhpc3RvcnkoZ2V0U291cmNlKCkpO1xudmFyIG5hdmlnYXRlID0gZ2xvYmFsSGlzdG9yeS5uYXZpZ2F0ZTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuZXhwb3J0IHsgZ2xvYmFsSGlzdG9yeSwgbmF2aWdhdGUsIGNyZWF0ZUhpc3RvcnksIGNyZWF0ZU1lbW9yeVNvdXJjZSB9OyIsInZhciBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkge1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59O1xuXG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMob2JqLCBrZXlzKSB7XG4gIHZhciB0YXJnZXQgPSB7fTtcblxuICBmb3IgKHZhciBpIGluIG9iaikge1xuICAgIGlmIChrZXlzLmluZGV4T2YoaSkgPj0gMCkgY29udGludWU7XG4gICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBpKSkgY29udGludWU7XG4gICAgdGFyZ2V0W2ldID0gb2JqW2ldO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3Rvcikge1xuICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7XG4gIH1cbn1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkge1xuICBpZiAoIXNlbGYpIHtcbiAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7XG4gIH1cblxuICByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjtcbn1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7XG4gIGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTtcbiAgfVxuXG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwge1xuICAgIGNvbnN0cnVjdG9yOiB7XG4gICAgICB2YWx1ZTogc3ViQ2xhc3MsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfVxuICB9KTtcbiAgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzO1xufVxuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvYW5jaG9yLWhhcy1jb250ZW50ICovXG5cblxuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBpbnZhcmlhbnQgZnJvbSBcImludmFyaWFudFwiO1xuaW1wb3J0IHsgcG9seWZpbGwgfSBmcm9tIFwicmVhY3QtbGlmZWN5Y2xlcy1jb21wYXRcIjtcbmltcG9ydCB7IHN0YXJ0c1dpdGgsIHBpY2ssIHJlc29sdmUsIG1hdGNoLCBpbnNlcnRQYXJhbXMsIHZhbGlkYXRlUmVkaXJlY3QsIHNoYWxsb3dDb21wYXJlIH0gZnJvbSBcIi4vbGliL3V0aWxzXCI7XG5pbXBvcnQgeyBnbG9iYWxIaXN0b3J5LCBuYXZpZ2F0ZSwgY3JlYXRlSGlzdG9yeSwgY3JlYXRlTWVtb3J5U291cmNlIH0gZnJvbSBcIi4vbGliL2hpc3RvcnlcIjsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxudmFyIGNyZWF0ZU5hbWVkQ29udGV4dCA9IGZ1bmN0aW9uIGNyZWF0ZU5hbWVkQ29udGV4dChuYW1lLCBkZWZhdWx0VmFsdWUpIHtcbiAgdmFyIEN0eCA9IGNyZWF0ZUNvbnRleHQoZGVmYXVsdFZhbHVlKTtcbiAgQ3R4LmRpc3BsYXlOYW1lID0gbmFtZTtcbiAgcmV0dXJuIEN0eDtcbn07IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBMb2NhdGlvbiBDb250ZXh0L1Byb3ZpZGVyXG5cblxudmFyIExvY2F0aW9uQ29udGV4dCA9IGNyZWF0ZU5hbWVkQ29udGV4dChcIkxvY2F0aW9uXCIpOyAvLyBzZXRzIHVwIGEgbGlzdGVuZXIgaWYgdGhlcmUgaXNuJ3Qgb25lIGFscmVhZHkgc28gYXBwcyBkb24ndCBuZWVkIHRvIGJlXG4vLyB3cmFwcGVkIGluIHNvbWUgdG9wIGxldmVsIHByb3ZpZGVyXG5cbnZhciBMb2NhdGlvbiA9IGZ1bmN0aW9uIExvY2F0aW9uKF9yZWYpIHtcbiAgdmFyIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9jYXRpb25Db250ZXh0LkNvbnN1bWVyLCBudWxsLCBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgIHJldHVybiBjb250ZXh0ID8gY2hpbGRyZW4oY29udGV4dCkgOiBSZWFjdC5jcmVhdGVFbGVtZW50KExvY2F0aW9uUHJvdmlkZXIsIG51bGwsIGNoaWxkcmVuKTtcbiAgfSk7XG59O1xuXG52YXIgTG9jYXRpb25Qcm92aWRlciA9IGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhMb2NhdGlvblByb3ZpZGVyLCBfUmVhY3QkQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBMb2NhdGlvblByb3ZpZGVyKCkge1xuICAgIHZhciBfdGVtcCwgX3RoaXMsIF9yZXQ7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTG9jYXRpb25Qcm92aWRlcik7XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gX3JldCA9IChfdGVtcCA9IChfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9SZWFjdCRDb21wb25lbnQuY2FsbC5hcHBseShfUmVhY3QkQ29tcG9uZW50LCBbdGhpc10uY29uY2F0KGFyZ3MpKSksIF90aGlzKSwgX3RoaXMuc3RhdGUgPSB7XG4gICAgICBjb250ZXh0OiBfdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICByZWZzOiB7XG4gICAgICAgIHVubGlzdGVuOiBudWxsXG4gICAgICB9XG4gICAgfSwgX3RlbXApLCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihfdGhpcywgX3JldCk7XG4gIH1cblxuICBMb2NhdGlvblByb3ZpZGVyLnByb3RvdHlwZS5nZXRDb250ZXh0ID0gZnVuY3Rpb24gZ2V0Q29udGV4dCgpIHtcbiAgICB2YXIgX3Byb3BzJGhpc3RvcnkgPSB0aGlzLnByb3BzLmhpc3RvcnksXG4gICAgICAgIG5hdmlnYXRlID0gX3Byb3BzJGhpc3RvcnkubmF2aWdhdGUsXG4gICAgICAgIGxvY2F0aW9uID0gX3Byb3BzJGhpc3RvcnkubG9jYXRpb247XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hdmlnYXRlOiBuYXZpZ2F0ZSxcbiAgICAgIGxvY2F0aW9uOiBsb2NhdGlvblxuICAgIH07XG4gIH07XG5cbiAgTG9jYXRpb25Qcm92aWRlci5wcm90b3R5cGUuY29tcG9uZW50RGlkQ2F0Y2ggPSBmdW5jdGlvbiBjb21wb25lbnREaWRDYXRjaChlcnJvciwgaW5mbykge1xuICAgIGlmIChpc1JlZGlyZWN0KGVycm9yKSkge1xuICAgICAgdmFyIF9uYXZpZ2F0ZSA9IHRoaXMucHJvcHMuaGlzdG9yeS5uYXZpZ2F0ZTtcblxuICAgICAgX25hdmlnYXRlKGVycm9yLnVyaSwge1xuICAgICAgICByZXBsYWNlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9O1xuXG4gIExvY2F0aW9uUHJvdmlkZXIucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZSA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSkge1xuICAgIGlmIChwcmV2U3RhdGUuY29udGV4dC5sb2NhdGlvbiAhPT0gdGhpcy5zdGF0ZS5jb250ZXh0LmxvY2F0aW9uKSB7XG4gICAgICB0aGlzLnByb3BzLmhpc3RvcnkuX29uVHJhbnNpdGlvbkNvbXBsZXRlKCk7XG4gICAgfVxuICB9O1xuXG4gIExvY2F0aW9uUHJvdmlkZXIucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50ID0gZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICB2YXIgcmVmcyA9IHRoaXMuc3RhdGUucmVmcyxcbiAgICAgICAgaGlzdG9yeSA9IHRoaXMucHJvcHMuaGlzdG9yeTtcblxuICAgIGhpc3RvcnkuX29uVHJhbnNpdGlvbkNvbXBsZXRlKCk7XG5cbiAgICByZWZzLnVubGlzdGVuID0gaGlzdG9yeS5saXN0ZW4oZnVuY3Rpb24gKCkge1xuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIFRPRE86IHJlcGxhY2UgckFGIHdpdGggcmVhY3QgZGVmZXJyZWQgdXBkYXRlIEFQSSB3aGVuIGl0J3MgcmVhZHkgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzMwNlxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghX3RoaXMyLnVubW91bnRlZCkge1xuICAgICAgICAgICAgX3RoaXMyLnNldFN0YXRlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBfdGhpczIuZ2V0Q29udGV4dCgpXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgTG9jYXRpb25Qcm92aWRlci5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQgPSBmdW5jdGlvbiBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB2YXIgcmVmcyA9IHRoaXMuc3RhdGUucmVmcztcbiAgICB0aGlzLnVubW91bnRlZCA9IHRydWU7XG4gICAgcmVmcy51bmxpc3RlbigpO1xuICB9O1xuXG4gIExvY2F0aW9uUHJvdmlkZXIucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICB2YXIgY29udGV4dCA9IHRoaXMuc3RhdGUuY29udGV4dCxcbiAgICAgICAgY2hpbGRyZW4gPSB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KExvY2F0aW9uQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgdmFsdWU6IGNvbnRleHRcbiAgICB9LCB0eXBlb2YgY2hpbGRyZW4gPT09IFwiZnVuY3Rpb25cIiA/IGNoaWxkcmVuKGNvbnRleHQpIDogY2hpbGRyZW4gfHwgbnVsbCk7XG4gIH07XG5cbiAgcmV0dXJuIExvY2F0aW9uUHJvdmlkZXI7XG59KFJlYWN0LkNvbXBvbmVudCk7IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuTG9jYXRpb25Qcm92aWRlci5kZWZhdWx0UHJvcHMgPSB7XG4gIGhpc3Rvcnk6IGdsb2JhbEhpc3Rvcnlcbn07XG5wcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB2b2lkIDAgOiB2b2lkIDA7XG5cbnZhciBTZXJ2ZXJMb2NhdGlvbiA9IGZ1bmN0aW9uIFNlcnZlckxvY2F0aW9uKF9yZWYyKSB7XG4gIHZhciB1cmwgPSBfcmVmMi51cmwsXG4gICAgICBjaGlsZHJlbiA9IF9yZWYyLmNoaWxkcmVuO1xuICB2YXIgc2VhcmNoSW5kZXggPSB1cmwuaW5kZXhPZihcIj9cIik7XG4gIHZhciBzZWFyY2hFeGlzdHMgPSBzZWFyY2hJbmRleCA+IC0xO1xuICB2YXIgcGF0aG5hbWUgPSB2b2lkIDA7XG4gIHZhciBzZWFyY2ggPSBcIlwiO1xuICB2YXIgaGFzaCA9IFwiXCI7XG5cbiAgaWYgKHNlYXJjaEV4aXN0cykge1xuICAgIHBhdGhuYW1lID0gdXJsLnN1YnN0cmluZygwLCBzZWFyY2hJbmRleCk7XG4gICAgc2VhcmNoID0gdXJsLnN1YnN0cmluZyhzZWFyY2hJbmRleCk7XG4gIH0gZWxzZSB7XG4gICAgcGF0aG5hbWUgPSB1cmw7XG4gIH1cblxuICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChMb2NhdGlvbkNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZToge1xuICAgICAgbG9jYXRpb246IHtcbiAgICAgICAgcGF0aG5hbWU6IHBhdGhuYW1lLFxuICAgICAgICBzZWFyY2g6IHNlYXJjaCxcbiAgICAgICAgaGFzaDogaGFzaFxuICAgICAgfSxcbiAgICAgIG5hdmlnYXRlOiBmdW5jdGlvbiBuYXZpZ2F0ZSgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGNhbid0IGNhbGwgbmF2aWdhdGUgb24gdGhlIHNlcnZlci5cIik7XG4gICAgICB9XG4gICAgfVxuICB9LCBjaGlsZHJlbik7XG59OyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2V0cyBiYXNldXJpIGFuZCBiYXNlcGF0aCBmb3IgbmVzdGVkIHJvdXRlcnMgYW5kIGxpbmtzXG5cblxudmFyIEJhc2VDb250ZXh0ID0gY3JlYXRlTmFtZWRDb250ZXh0KFwiQmFzZVwiLCB7XG4gIGJhc2V1cmk6IFwiL1wiLFxuICBiYXNlcGF0aDogXCIvXCIsXG4gIG5hdmlnYXRlOiBnbG9iYWxIaXN0b3J5Lm5hdmlnYXRlXG59KTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRoZSBtYWluIGV2ZW50LCB3ZWxjb21lIHRvIHRoZSBzaG93IGV2ZXJ5Ym9keS5cblxudmFyIFJvdXRlciA9IGZ1bmN0aW9uIFJvdXRlcihwcm9wcykge1xuICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChCYXNlQ29udGV4dC5Db25zdW1lciwgbnVsbCwgZnVuY3Rpb24gKGJhc2VDb250ZXh0KSB7XG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9jYXRpb24sIG51bGwsIGZ1bmN0aW9uIChsb2NhdGlvbkNvbnRleHQpIHtcbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFJvdXRlckltcGwsIF9leHRlbmRzKHt9LCBiYXNlQ29udGV4dCwgbG9jYXRpb25Db250ZXh0LCBwcm9wcykpO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbnZhciBSb3V0ZXJJbXBsID0gZnVuY3Rpb24gKF9SZWFjdCRQdXJlQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhSb3V0ZXJJbXBsLCBfUmVhY3QkUHVyZUNvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gUm91dGVySW1wbCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUm91dGVySW1wbCk7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX1JlYWN0JFB1cmVDb21wb25lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBSb3V0ZXJJbXBsLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgdmFyIF9wcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgIGxvY2F0aW9uID0gX3Byb3BzLmxvY2F0aW9uLFxuICAgICAgICBfbmF2aWdhdGUyID0gX3Byb3BzLm5hdmlnYXRlLFxuICAgICAgICBiYXNlcGF0aCA9IF9wcm9wcy5iYXNlcGF0aCxcbiAgICAgICAgcHJpbWFyeSA9IF9wcm9wcy5wcmltYXJ5LFxuICAgICAgICBjaGlsZHJlbiA9IF9wcm9wcy5jaGlsZHJlbixcbiAgICAgICAgYmFzZXVyaSA9IF9wcm9wcy5iYXNldXJpLFxuICAgICAgICBfcHJvcHMkY29tcG9uZW50ID0gX3Byb3BzLmNvbXBvbmVudCxcbiAgICAgICAgY29tcG9uZW50ID0gX3Byb3BzJGNvbXBvbmVudCA9PT0gdW5kZWZpbmVkID8gXCJkaXZcIiA6IF9wcm9wcyRjb21wb25lbnQsXG4gICAgICAgIGRvbVByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9wcm9wcywgW1wibG9jYXRpb25cIiwgXCJuYXZpZ2F0ZVwiLCBcImJhc2VwYXRoXCIsIFwicHJpbWFyeVwiLCBcImNoaWxkcmVuXCIsIFwiYmFzZXVyaVwiLCBcImNvbXBvbmVudFwiXSk7XG5cbiAgICB2YXIgcm91dGVzID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikucmVkdWNlKGZ1bmN0aW9uIChhcnJheSwgY2hpbGQpIHtcbiAgICAgIHZhciByb3V0ZXMgPSBjcmVhdGVSb3V0ZShiYXNlcGF0aCkoY2hpbGQpO1xuICAgICAgcmV0dXJuIGFycmF5LmNvbmNhdChyb3V0ZXMpO1xuICAgIH0sIFtdKTtcbiAgICB2YXIgcGF0aG5hbWUgPSBsb2NhdGlvbi5wYXRobmFtZTtcbiAgICB2YXIgbWF0Y2ggPSBwaWNrKHJvdXRlcywgcGF0aG5hbWUpO1xuXG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICB2YXIgcGFyYW1zID0gbWF0Y2gucGFyYW1zLFxuICAgICAgICAgIHVyaSA9IG1hdGNoLnVyaSxcbiAgICAgICAgICByb3V0ZSA9IG1hdGNoLnJvdXRlLFxuICAgICAgICAgIGVsZW1lbnQgPSBtYXRjaC5yb3V0ZS52YWx1ZTsgLy8gcmVtb3ZlIHRoZSAvKiBmcm9tIHRoZSBlbmQgZm9yIGNoaWxkIHJvdXRlcyByZWxhdGl2ZSBwYXRoc1xuXG4gICAgICBiYXNlcGF0aCA9IHJvdXRlLmRlZmF1bHQgPyBiYXNlcGF0aCA6IHJvdXRlLnBhdGgucmVwbGFjZSgvXFwqJC8sIFwiXCIpO1xuXG4gICAgICB2YXIgcHJvcHMgPSBfZXh0ZW5kcyh7fSwgcGFyYW1zLCB7XG4gICAgICAgIHVyaTogdXJpLFxuICAgICAgICBsb2NhdGlvbjogbG9jYXRpb24sXG4gICAgICAgIG5hdmlnYXRlOiBmdW5jdGlvbiBuYXZpZ2F0ZSh0bywgb3B0aW9ucykge1xuICAgICAgICAgIHJldHVybiBfbmF2aWdhdGUyKHJlc29sdmUodG8sIHVyaSksIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdmFyIGNsb25lID0gUmVhY3QuY2xvbmVFbGVtZW50KGVsZW1lbnQsIHByb3BzLCBlbGVtZW50LnByb3BzLmNoaWxkcmVuID8gUmVhY3QuY3JlYXRlRWxlbWVudChSb3V0ZXIsIHtcbiAgICAgICAgbG9jYXRpb246IGxvY2F0aW9uLFxuICAgICAgICBwcmltYXJ5OiBwcmltYXJ5XG4gICAgICB9LCBlbGVtZW50LnByb3BzLmNoaWxkcmVuKSA6IHVuZGVmaW5lZCk7IC8vIHVzaW5nICdkaXYnIGZvciA8IDE2LjMgc3VwcG9ydFxuXG4gICAgICB2YXIgRm9jdXNXcmFwcGVyID0gcHJpbWFyeSA/IEZvY3VzSGFuZGxlciA6IGNvbXBvbmVudDsgLy8gZG9uJ3QgcGFzcyBhbnkgcHJvcHMgdG8gJ2RpdidcblxuICAgICAgdmFyIHdyYXBwZXJQcm9wcyA9IHByaW1hcnkgPyBfZXh0ZW5kcyh7XG4gICAgICAgIHVyaTogdXJpLFxuICAgICAgICBsb2NhdGlvbjogbG9jYXRpb24sXG4gICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50XG4gICAgICB9LCBkb21Qcm9wcykgOiBkb21Qcm9wcztcbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KEJhc2VDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgYmFzZXVyaTogdXJpLFxuICAgICAgICAgIGJhc2VwYXRoOiBiYXNlcGF0aCxcbiAgICAgICAgICBuYXZpZ2F0ZTogcHJvcHMubmF2aWdhdGVcbiAgICAgICAgfVxuICAgICAgfSwgUmVhY3QuY3JlYXRlRWxlbWVudChGb2N1c1dyYXBwZXIsIHdyYXBwZXJQcm9wcywgY2xvbmUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm90IHN1cmUgaWYgd2Ugd2FudCB0aGlzLCB3b3VsZCByZXF1aXJlIGluZGV4IHJvdXRlcyBhdCBldmVyeSBsZXZlbFxuICAgICAgLy8gd2FybmluZyhcbiAgICAgIC8vICAgZmFsc2UsXG4gICAgICAvLyAgIGA8Um91dGVyIGJhc2VwYXRoPVwiJHtiYXNlcGF0aH1cIj5cXG5cXG5Ob3RoaW5nIG1hdGNoZWQ6XFxuXFx0JHtcbiAgICAgIC8vICAgICBsb2NhdGlvbi5wYXRobmFtZVxuICAgICAgLy8gICB9XFxuXFxuUGF0aHMgY2hlY2tlZDogXFxuXFx0JHtyb3V0ZXNcbiAgICAgIC8vICAgICAubWFwKHJvdXRlID0+IHJvdXRlLnBhdGgpXG4gICAgICAvLyAgICAgLmpvaW4oXG4gICAgICAvLyAgICAgICBcIlxcblxcdFwiXG4gICAgICAvLyAgICAgKX1cXG5cXG5UbyBnZXQgcmlkIG9mIHRoaXMgd2FybmluZywgYWRkIGEgZGVmYXVsdCBOb3RGb3VuZCBjb21wb25lbnQgYXMgY2hpbGQgb2YgUm91dGVyOlxuICAgICAgLy8gICBcXG5cXHRsZXQgTm90Rm91bmQgPSAoKSA9PiA8ZGl2Pk5vdCBGb3VuZCE8L2Rpdj5cbiAgICAgIC8vICAgXFxuXFx0PFJvdXRlcj5cXG5cXHQgIDxOb3RGb3VuZCBkZWZhdWx0Lz5cXG5cXHQgIHsvKiAuLi4gKi99XFxuXFx0PC9Sb3V0ZXI+YFxuICAgICAgLy8gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gUm91dGVySW1wbDtcbn0oUmVhY3QuUHVyZUNvbXBvbmVudCk7XG5cblJvdXRlckltcGwuZGVmYXVsdFByb3BzID0ge1xuICBwcmltYXJ5OiB0cnVlXG59O1xudmFyIEZvY3VzQ29udGV4dCA9IGNyZWF0ZU5hbWVkQ29udGV4dChcIkZvY3VzXCIpO1xuXG52YXIgRm9jdXNIYW5kbGVyID0gZnVuY3Rpb24gRm9jdXNIYW5kbGVyKF9yZWYzKSB7XG4gIHZhciB1cmkgPSBfcmVmMy51cmksXG4gICAgICBsb2NhdGlvbiA9IF9yZWYzLmxvY2F0aW9uLFxuICAgICAgY29tcG9uZW50ID0gX3JlZjMuY29tcG9uZW50LFxuICAgICAgZG9tUHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZjMsIFtcInVyaVwiLCBcImxvY2F0aW9uXCIsIFwiY29tcG9uZW50XCJdKTtcblxuICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChGb2N1c0NvbnRleHQuQ29uc3VtZXIsIG51bGwsIGZ1bmN0aW9uIChyZXF1ZXN0Rm9jdXMpIHtcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChGb2N1c0hhbmRsZXJJbXBsLCBfZXh0ZW5kcyh7fSwgZG9tUHJvcHMsIHtcbiAgICAgIGNvbXBvbmVudDogY29tcG9uZW50LFxuICAgICAgcmVxdWVzdEZvY3VzOiByZXF1ZXN0Rm9jdXMsXG4gICAgICB1cmk6IHVyaSxcbiAgICAgIGxvY2F0aW9uOiBsb2NhdGlvblxuICAgIH0pKTtcbiAgfSk7XG59OyAvLyBkb24ndCBmb2N1cyBvbiBpbml0aWFsIHJlbmRlclxuXG5cbnZhciBpbml0aWFsUmVuZGVyID0gdHJ1ZTtcbnZhciBmb2N1c0hhbmRsZXJDb3VudCA9IDA7XG5cbnZhciBGb2N1c0hhbmRsZXJJbXBsID0gZnVuY3Rpb24gKF9SZWFjdCRDb21wb25lbnQyKSB7XG4gIF9pbmhlcml0cyhGb2N1c0hhbmRsZXJJbXBsLCBfUmVhY3QkQ29tcG9uZW50Mik7XG5cbiAgZnVuY3Rpb24gRm9jdXNIYW5kbGVySW1wbCgpIHtcbiAgICB2YXIgX3RlbXAyLCBfdGhpczQsIF9yZXQyO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEZvY3VzSGFuZGxlckltcGwpO1xuXG4gICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbjIpLCBfa2V5MiA9IDA7IF9rZXkyIDwgX2xlbjI7IF9rZXkyKyspIHtcbiAgICAgIGFyZ3NbX2tleTJdID0gYXJndW1lbnRzW19rZXkyXTtcbiAgICB9XG5cbiAgICByZXR1cm4gX3JldDIgPSAoX3RlbXAyID0gKF90aGlzNCA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9SZWFjdCRDb21wb25lbnQyLmNhbGwuYXBwbHkoX1JlYWN0JENvbXBvbmVudDIsIFt0aGlzXS5jb25jYXQoYXJncykpKSwgX3RoaXM0KSwgX3RoaXM0LnN0YXRlID0ge30sIF90aGlzNC5yZXF1ZXN0Rm9jdXMgPSBmdW5jdGlvbiAobm9kZSkge1xuICAgICAgaWYgKCFfdGhpczQuc3RhdGUuc2hvdWxkRm9jdXMgJiYgbm9kZSkge1xuICAgICAgICBub2RlLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSwgX3RlbXAyKSwgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oX3RoaXM0LCBfcmV0Mik7XG4gIH1cblxuICBGb2N1c0hhbmRsZXJJbXBsLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IGZ1bmN0aW9uIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xuICAgIHZhciBpbml0aWFsID0gcHJldlN0YXRlLnVyaSA9PSBudWxsO1xuXG4gICAgaWYgKGluaXRpYWwpIHtcbiAgICAgIHJldHVybiBfZXh0ZW5kcyh7XG4gICAgICAgIHNob3VsZEZvY3VzOiB0cnVlXG4gICAgICB9LCBuZXh0UHJvcHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgbXlVUklDaGFuZ2VkID0gbmV4dFByb3BzLnVyaSAhPT0gcHJldlN0YXRlLnVyaTtcbiAgICAgIHZhciBuYXZpZ2F0ZWRVcFRvTWUgPSBwcmV2U3RhdGUubG9jYXRpb24ucGF0aG5hbWUgIT09IG5leHRQcm9wcy5sb2NhdGlvbi5wYXRobmFtZSAmJiBuZXh0UHJvcHMubG9jYXRpb24ucGF0aG5hbWUgPT09IG5leHRQcm9wcy51cmk7XG4gICAgICByZXR1cm4gX2V4dGVuZHMoe1xuICAgICAgICBzaG91bGRGb2N1czogbXlVUklDaGFuZ2VkIHx8IG5hdmlnYXRlZFVwVG9NZVxuICAgICAgfSwgbmV4dFByb3BzKTtcbiAgICB9XG4gIH07XG5cbiAgRm9jdXNIYW5kbGVySW1wbC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBmb2N1c0hhbmRsZXJDb3VudCsrO1xuICAgIHRoaXMuZm9jdXMoKTtcbiAgfTtcblxuICBGb2N1c0hhbmRsZXJJbXBsLnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudCA9IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIGZvY3VzSGFuZGxlckNvdW50LS07XG5cbiAgICBpZiAoZm9jdXNIYW5kbGVyQ291bnQgPT09IDApIHtcbiAgICAgIGluaXRpYWxSZW5kZXIgPSB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBGb2N1c0hhbmRsZXJJbXBsLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGUgPSBmdW5jdGlvbiBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICBpZiAocHJldlByb3BzLmxvY2F0aW9uICE9PSB0aGlzLnByb3BzLmxvY2F0aW9uICYmIHRoaXMuc3RhdGUuc2hvdWxkRm9jdXMpIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG4gIH07XG5cbiAgRm9jdXNIYW5kbGVySW1wbC5wcm90b3R5cGUuZm9jdXMgPSBmdW5jdGlvbiBmb2N1cygpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwidGVzdFwiKSB7XG4gICAgICAvLyBnZXR0aW5nIGNhbm5vdCByZWFkIHByb3BlcnR5IGZvY3VzIG9mIG51bGwgaW4gdGhlIHRlc3RzXG4gICAgICAvLyBhbmQgdGhhdCBiaXQgb2YgZ2xvYmFsIGBpbml0aWFsUmVuZGVyYCBzdGF0ZSBjYXVzZXMgcHJvYmxlbXNcbiAgICAgIC8vIHNob3VsZCBwcm9iYWJseSBmaWd1cmUgaXQgb3V0IVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciByZXF1ZXN0Rm9jdXMgPSB0aGlzLnByb3BzLnJlcXVlc3RGb2N1cztcblxuICAgIGlmIChyZXF1ZXN0Rm9jdXMpIHtcbiAgICAgIHJlcXVlc3RGb2N1cyh0aGlzLm5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaW5pdGlhbFJlbmRlcikge1xuICAgICAgICBpbml0aWFsUmVuZGVyID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubm9kZSkge1xuICAgICAgICAvLyBSZWFjdCBwb2x5ZmlsbHMgW2F1dG9mb2N1c10gYW5kIGl0IGZpcmVzIGVhcmxpZXIgdGhhbiBjRE0sXG4gICAgICAgIC8vIHNvIHdlIHdlcmUgc3RlYWxpbmcgZm9jdXMgYXdheSwgdGhpcyBsaW5lIHByZXZlbnRzIHRoYXQuXG4gICAgICAgIGlmICghdGhpcy5ub2RlLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgdGhpcy5ub2RlLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgRm9jdXNIYW5kbGVySW1wbC5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgIHZhciBfdGhpczUgPSB0aGlzO1xuXG4gICAgdmFyIF9wcm9wczIgPSB0aGlzLnByb3BzLFxuICAgICAgICBjaGlsZHJlbiA9IF9wcm9wczIuY2hpbGRyZW4sXG4gICAgICAgIHN0eWxlID0gX3Byb3BzMi5zdHlsZSxcbiAgICAgICAgcmVxdWVzdEZvY3VzID0gX3Byb3BzMi5yZXF1ZXN0Rm9jdXMsXG4gICAgICAgIF9wcm9wczIkY29tcG9uZW50ID0gX3Byb3BzMi5jb21wb25lbnQsXG4gICAgICAgIENvbXAgPSBfcHJvcHMyJGNvbXBvbmVudCA9PT0gdW5kZWZpbmVkID8gXCJkaXZcIiA6IF9wcm9wczIkY29tcG9uZW50LFxuICAgICAgICB1cmkgPSBfcHJvcHMyLnVyaSxcbiAgICAgICAgbG9jYXRpb24gPSBfcHJvcHMyLmxvY2F0aW9uLFxuICAgICAgICBkb21Qcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcHJvcHMyLCBbXCJjaGlsZHJlblwiLCBcInN0eWxlXCIsIFwicmVxdWVzdEZvY3VzXCIsIFwiY29tcG9uZW50XCIsIFwidXJpXCIsIFwibG9jYXRpb25cIl0pO1xuXG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29tcCwgX2V4dGVuZHMoe1xuICAgICAgc3R5bGU6IF9leHRlbmRzKHtcbiAgICAgICAgb3V0bGluZTogXCJub25lXCJcbiAgICAgIH0sIHN0eWxlKSxcbiAgICAgIHRhYkluZGV4OiBcIi0xXCIsXG4gICAgICByZWY6IGZ1bmN0aW9uIHJlZihuKSB7XG4gICAgICAgIHJldHVybiBfdGhpczUubm9kZSA9IG47XG4gICAgICB9XG4gICAgfSwgZG9tUHJvcHMpLCBSZWFjdC5jcmVhdGVFbGVtZW50KEZvY3VzQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgdmFsdWU6IHRoaXMucmVxdWVzdEZvY3VzXG4gICAgfSwgdGhpcy5wcm9wcy5jaGlsZHJlbikpO1xuICB9O1xuXG4gIHJldHVybiBGb2N1c0hhbmRsZXJJbXBsO1xufShSZWFjdC5Db21wb25lbnQpO1xuXG5wb2x5ZmlsbChGb2N1c0hhbmRsZXJJbXBsKTtcblxudmFyIGsgPSBmdW5jdGlvbiBrKCkge307IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxudmFyIGZvcndhcmRSZWYgPSBSZWFjdC5mb3J3YXJkUmVmO1xuXG5pZiAodHlwZW9mIGZvcndhcmRSZWYgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgZm9yd2FyZFJlZiA9IGZ1bmN0aW9uIGZvcndhcmRSZWYoQykge1xuICAgIHJldHVybiBDO1xuICB9O1xufVxuXG52YXIgTGluayA9IGZvcndhcmRSZWYoZnVuY3Rpb24gKF9yZWY0LCByZWYpIHtcbiAgdmFyIGlubmVyUmVmID0gX3JlZjQuaW5uZXJSZWYsXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmNCwgW1wiaW5uZXJSZWZcIl0pO1xuXG4gIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KEJhc2VDb250ZXh0LkNvbnN1bWVyLCBudWxsLCBmdW5jdGlvbiAoX3JlZjUpIHtcbiAgICB2YXIgYmFzZXBhdGggPSBfcmVmNS5iYXNlcGF0aCxcbiAgICAgICAgYmFzZXVyaSA9IF9yZWY1LmJhc2V1cmk7XG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9jYXRpb24sIG51bGwsIGZ1bmN0aW9uIChfcmVmNikge1xuICAgICAgdmFyIGxvY2F0aW9uID0gX3JlZjYubG9jYXRpb24sXG4gICAgICAgICAgbmF2aWdhdGUgPSBfcmVmNi5uYXZpZ2F0ZTtcblxuICAgICAgdmFyIHRvID0gcHJvcHMudG8sXG4gICAgICAgICAgc3RhdGUgPSBwcm9wcy5zdGF0ZSxcbiAgICAgICAgICByZXBsYWNlID0gcHJvcHMucmVwbGFjZSxcbiAgICAgICAgICBfcHJvcHMkZ2V0UHJvcHMgPSBwcm9wcy5nZXRQcm9wcyxcbiAgICAgICAgICBnZXRQcm9wcyA9IF9wcm9wcyRnZXRQcm9wcyA9PT0gdW5kZWZpbmVkID8gayA6IF9wcm9wcyRnZXRQcm9wcyxcbiAgICAgICAgICBhbmNob3JQcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgW1widG9cIiwgXCJzdGF0ZVwiLCBcInJlcGxhY2VcIiwgXCJnZXRQcm9wc1wiXSk7XG5cbiAgICAgIHZhciBocmVmID0gcmVzb2x2ZSh0bywgYmFzZXVyaSk7XG4gICAgICB2YXIgZW5jb2RlZEhyZWYgPSBlbmNvZGVVUkkoaHJlZik7XG4gICAgICB2YXIgaXNDdXJyZW50ID0gbG9jYXRpb24ucGF0aG5hbWUgPT09IGVuY29kZWRIcmVmO1xuICAgICAgdmFyIGlzUGFydGlhbGx5Q3VycmVudCA9IHN0YXJ0c1dpdGgobG9jYXRpb24ucGF0aG5hbWUsIGVuY29kZWRIcmVmKTtcbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYVwiLCBfZXh0ZW5kcyh7XG4gICAgICAgIHJlZjogcmVmIHx8IGlubmVyUmVmLFxuICAgICAgICBcImFyaWEtY3VycmVudFwiOiBpc0N1cnJlbnQgPyBcInBhZ2VcIiA6IHVuZGVmaW5lZFxuICAgICAgfSwgYW5jaG9yUHJvcHMsIGdldFByb3BzKHtcbiAgICAgICAgaXNDdXJyZW50OiBpc0N1cnJlbnQsXG4gICAgICAgIGlzUGFydGlhbGx5Q3VycmVudDogaXNQYXJ0aWFsbHlDdXJyZW50LFxuICAgICAgICBocmVmOiBocmVmLFxuICAgICAgICBsb2NhdGlvbjogbG9jYXRpb25cbiAgICAgIH0pLCB7XG4gICAgICAgIGhyZWY6IGhyZWYsXG4gICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soZXZlbnQpIHtcbiAgICAgICAgICBpZiAoYW5jaG9yUHJvcHMub25DbGljaykgYW5jaG9yUHJvcHMub25DbGljayhldmVudCk7XG5cbiAgICAgICAgICBpZiAoc2hvdWxkTmF2aWdhdGUoZXZlbnQpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdmFyIHNob3VsZFJlcGxhY2UgPSByZXBsYWNlO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlcGxhY2UgIT09IFwiYm9vbGVhblwiICYmIGlzQ3VycmVudCkge1xuICAgICAgICAgICAgICB2YXIgX2xvY2F0aW9uJHN0YXRlID0gX2V4dGVuZHMoe30sIGxvY2F0aW9uLnN0YXRlKSxcbiAgICAgICAgICAgICAgICAgIGtleSA9IF9sb2NhdGlvbiRzdGF0ZS5rZXksXG4gICAgICAgICAgICAgICAgICByZXN0U3RhdGUgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX2xvY2F0aW9uJHN0YXRlLCBbXCJrZXlcIl0pO1xuXG4gICAgICAgICAgICAgIHNob3VsZFJlcGxhY2UgPSBzaGFsbG93Q29tcGFyZShfZXh0ZW5kcyh7fSwgc3RhdGUpLCByZXN0U3RhdGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBuYXZpZ2F0ZShocmVmLCB7XG4gICAgICAgICAgICAgIHN0YXRlOiBzdGF0ZSxcbiAgICAgICAgICAgICAgcmVwbGFjZTogc2hvdWxkUmVwbGFjZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5MaW5rLmRpc3BsYXlOYW1lID0gXCJMaW5rXCI7XG5wcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB2b2lkIDAgOiB2b2lkIDA7IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmZ1bmN0aW9uIFJlZGlyZWN0UmVxdWVzdCh1cmkpIHtcbiAgdGhpcy51cmkgPSB1cmk7XG59XG5cbnZhciBpc1JlZGlyZWN0ID0gZnVuY3Rpb24gaXNSZWRpcmVjdChvKSB7XG4gIHJldHVybiBvIGluc3RhbmNlb2YgUmVkaXJlY3RSZXF1ZXN0O1xufTtcblxudmFyIHJlZGlyZWN0VG8gPSBmdW5jdGlvbiByZWRpcmVjdFRvKHRvKSB7XG4gIHRocm93IG5ldyBSZWRpcmVjdFJlcXVlc3QodG8pO1xufTtcblxudmFyIFJlZGlyZWN0SW1wbCA9IGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50Mykge1xuICBfaW5oZXJpdHMoUmVkaXJlY3RJbXBsLCBfUmVhY3QkQ29tcG9uZW50Myk7XG5cbiAgZnVuY3Rpb24gUmVkaXJlY3RJbXBsKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBSZWRpcmVjdEltcGwpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9SZWFjdCRDb21wb25lbnQzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9IC8vIFN1cHBvcnQgUmVhY3QgPCAxNiB3aXRoIHRoaXMgaG9va1xuXG5cbiAgUmVkaXJlY3RJbXBsLnByb3RvdHlwZS5jb21wb25lbnREaWRNb3VudCA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHZhciBfcHJvcHMzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgbmF2aWdhdGUgPSBfcHJvcHMzLm5hdmlnYXRlLFxuICAgICAgICB0byA9IF9wcm9wczMudG8sXG4gICAgICAgIGZyb20gPSBfcHJvcHMzLmZyb20sXG4gICAgICAgIF9wcm9wczMkcmVwbGFjZSA9IF9wcm9wczMucmVwbGFjZSxcbiAgICAgICAgcmVwbGFjZSA9IF9wcm9wczMkcmVwbGFjZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IF9wcm9wczMkcmVwbGFjZSxcbiAgICAgICAgc3RhdGUgPSBfcHJvcHMzLnN0YXRlLFxuICAgICAgICBub1Rocm93ID0gX3Byb3BzMy5ub1Rocm93LFxuICAgICAgICBiYXNldXJpID0gX3Byb3BzMy5iYXNldXJpLFxuICAgICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcHJvcHMzLCBbXCJuYXZpZ2F0ZVwiLCBcInRvXCIsIFwiZnJvbVwiLCBcInJlcGxhY2VcIiwgXCJzdGF0ZVwiLCBcIm5vVGhyb3dcIiwgXCJiYXNldXJpXCJdKTtcblxuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHJlc29sdmVkVG8gPSByZXNvbHZlKHRvLCBiYXNldXJpKTtcbiAgICAgIG5hdmlnYXRlKGluc2VydFBhcmFtcyhyZXNvbHZlZFRvLCBwcm9wcyksIHtcbiAgICAgICAgcmVwbGFjZTogcmVwbGFjZSxcbiAgICAgICAgc3RhdGU6IHN0YXRlXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICBSZWRpcmVjdEltcGwucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICB2YXIgX3Byb3BzNCA9IHRoaXMucHJvcHMsXG4gICAgICAgIG5hdmlnYXRlID0gX3Byb3BzNC5uYXZpZ2F0ZSxcbiAgICAgICAgdG8gPSBfcHJvcHM0LnRvLFxuICAgICAgICBmcm9tID0gX3Byb3BzNC5mcm9tLFxuICAgICAgICByZXBsYWNlID0gX3Byb3BzNC5yZXBsYWNlLFxuICAgICAgICBzdGF0ZSA9IF9wcm9wczQuc3RhdGUsXG4gICAgICAgIG5vVGhyb3cgPSBfcHJvcHM0Lm5vVGhyb3csXG4gICAgICAgIGJhc2V1cmkgPSBfcHJvcHM0LmJhc2V1cmksXG4gICAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9wcm9wczQsIFtcIm5hdmlnYXRlXCIsIFwidG9cIiwgXCJmcm9tXCIsIFwicmVwbGFjZVwiLCBcInN0YXRlXCIsIFwibm9UaHJvd1wiLCBcImJhc2V1cmlcIl0pO1xuXG4gICAgdmFyIHJlc29sdmVkVG8gPSByZXNvbHZlKHRvLCBiYXNldXJpKTtcbiAgICBpZiAoIW5vVGhyb3cpIHJlZGlyZWN0VG8oaW5zZXJ0UGFyYW1zKHJlc29sdmVkVG8sIHByb3BzKSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgcmV0dXJuIFJlZGlyZWN0SW1wbDtcbn0oUmVhY3QuQ29tcG9uZW50KTtcblxudmFyIFJlZGlyZWN0ID0gZnVuY3Rpb24gUmVkaXJlY3QocHJvcHMpIHtcbiAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQmFzZUNvbnRleHQuQ29uc3VtZXIsIG51bGwsIGZ1bmN0aW9uIChfcmVmNykge1xuICAgIHZhciBiYXNldXJpID0gX3JlZjcuYmFzZXVyaTtcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChMb2NhdGlvbiwgbnVsbCwgZnVuY3Rpb24gKGxvY2F0aW9uQ29udGV4dCkge1xuICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVkaXJlY3RJbXBsLCBfZXh0ZW5kcyh7fSwgbG9jYXRpb25Db250ZXh0LCB7XG4gICAgICAgIGJhc2V1cmk6IGJhc2V1cmlcbiAgICAgIH0sIHByb3BzKSk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxucHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gdm9pZCAwIDogdm9pZCAwOyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG52YXIgTWF0Y2ggPSBmdW5jdGlvbiBNYXRjaChfcmVmOCkge1xuICB2YXIgcGF0aCA9IF9yZWY4LnBhdGgsXG4gICAgICBjaGlsZHJlbiA9IF9yZWY4LmNoaWxkcmVuO1xuICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChCYXNlQ29udGV4dC5Db25zdW1lciwgbnVsbCwgZnVuY3Rpb24gKF9yZWY5KSB7XG4gICAgdmFyIGJhc2V1cmkgPSBfcmVmOS5iYXNldXJpO1xuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KExvY2F0aW9uLCBudWxsLCBmdW5jdGlvbiAoX3JlZjEwKSB7XG4gICAgICB2YXIgbmF2aWdhdGUgPSBfcmVmMTAubmF2aWdhdGUsXG4gICAgICAgICAgbG9jYXRpb24gPSBfcmVmMTAubG9jYXRpb247XG4gICAgICB2YXIgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShwYXRoLCBiYXNldXJpKTtcbiAgICAgIHZhciByZXN1bHQgPSBtYXRjaChyZXNvbHZlZFBhdGgsIGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgIHJldHVybiBjaGlsZHJlbih7XG4gICAgICAgIG5hdmlnYXRlOiBuYXZpZ2F0ZSxcbiAgICAgICAgbG9jYXRpb246IGxvY2F0aW9uLFxuICAgICAgICBtYXRjaDogcmVzdWx0ID8gX2V4dGVuZHMoe30sIHJlc3VsdC5wYXJhbXMsIHtcbiAgICAgICAgICB1cmk6IHJlc3VsdC51cmksXG4gICAgICAgICAgcGF0aDogcGF0aFxuICAgICAgICB9KSA6IG51bGxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn07IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIb29rc1xuXG5cbnZhciB1c2VMb2NhdGlvbiA9IGZ1bmN0aW9uIHVzZUxvY2F0aW9uKCkge1xuICB2YXIgY29udGV4dCA9IHVzZUNvbnRleHQoTG9jYXRpb25Db250ZXh0KTtcblxuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VMb2NhdGlvbiBob29rIHdhcyB1c2VkIGJ1dCBhIExvY2F0aW9uQ29udGV4dC5Qcm92aWRlciB3YXMgbm90IGZvdW5kIGluIHRoZSBwYXJlbnQgdHJlZS4gTWFrZSBzdXJlIHRoaXMgaXMgdXNlZCBpbiBhIGNvbXBvbmVudCB0aGF0IGlzIGEgY2hpbGQgb2YgUm91dGVyXCIpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQubG9jYXRpb247XG59O1xuXG52YXIgdXNlTmF2aWdhdGUgPSBmdW5jdGlvbiB1c2VOYXZpZ2F0ZSgpIHtcbiAgdmFyIGNvbnRleHQgPSB1c2VDb250ZXh0KEJhc2VDb250ZXh0KTtcblxuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VOYXZpZ2F0ZSBob29rIHdhcyB1c2VkIGJ1dCBhIEJhc2VDb250ZXh0LlByb3ZpZGVyIHdhcyBub3QgZm91bmQgaW4gdGhlIHBhcmVudCB0cmVlLiBNYWtlIHN1cmUgdGhpcyBpcyB1c2VkIGluIGEgY29tcG9uZW50IHRoYXQgaXMgYSBjaGlsZCBvZiBSb3V0ZXJcIik7XG4gIH1cblxuICByZXR1cm4gY29udGV4dC5uYXZpZ2F0ZTtcbn07XG5cbnZhciB1c2VQYXJhbXMgPSBmdW5jdGlvbiB1c2VQYXJhbXMoKSB7XG4gIHZhciBjb250ZXh0ID0gdXNlQ29udGV4dChCYXNlQ29udGV4dCk7XG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidXNlUGFyYW1zIGhvb2sgd2FzIHVzZWQgYnV0IGEgTG9jYXRpb25Db250ZXh0LlByb3ZpZGVyIHdhcyBub3QgZm91bmQgaW4gdGhlIHBhcmVudCB0cmVlLiBNYWtlIHN1cmUgdGhpcyBpcyB1c2VkIGluIGEgY29tcG9uZW50IHRoYXQgaXMgYSBjaGlsZCBvZiBSb3V0ZXJcIik7XG4gIH1cblxuICB2YXIgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICB2YXIgcmVzdWx0cyA9IG1hdGNoKGNvbnRleHQuYmFzZXBhdGgsIGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgcmV0dXJuIHJlc3VsdHMgPyByZXN1bHRzLnBhcmFtcyA6IG51bGw7XG59O1xuXG52YXIgdXNlTWF0Y2ggPSBmdW5jdGlvbiB1c2VNYXRjaChwYXRoKSB7XG4gIGlmICghcGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInVzZU1hdGNoKHBhdGg6IHN0cmluZykgcmVxdWlyZXMgYW4gYXJndW1lbnQgb2YgYSBzdHJpbmcgdG8gbWF0Y2ggYWdhaW5zdFwiKTtcbiAgfVxuXG4gIHZhciBjb250ZXh0ID0gdXNlQ29udGV4dChCYXNlQ29udGV4dCk7XG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidXNlTWF0Y2ggaG9vayB3YXMgdXNlZCBidXQgYSBMb2NhdGlvbkNvbnRleHQuUHJvdmlkZXIgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcGFyZW50IHRyZWUuIE1ha2Ugc3VyZSB0aGlzIGlzIHVzZWQgaW4gYSBjb21wb25lbnQgdGhhdCBpcyBhIGNoaWxkIG9mIFJvdXRlclwiKTtcbiAgfVxuXG4gIHZhciBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gIHZhciByZXNvbHZlZFBhdGggPSByZXNvbHZlKHBhdGgsIGNvbnRleHQuYmFzZXVyaSk7XG4gIHZhciByZXN1bHQgPSBtYXRjaChyZXNvbHZlZFBhdGgsIGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgcmV0dXJuIHJlc3VsdCA/IF9leHRlbmRzKHt9LCByZXN1bHQucGFyYW1zLCB7XG4gICAgdXJpOiByZXN1bHQudXJpLFxuICAgIHBhdGg6IHBhdGhcbiAgfSkgOiBudWxsO1xufTsgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEp1bmtcblxuXG52YXIgc3RyaXBTbGFzaGVzID0gZnVuY3Rpb24gc3RyaXBTbGFzaGVzKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoLyheXFwvK3xcXC8rJCkvZywgXCJcIik7XG59O1xuXG52YXIgY3JlYXRlUm91dGUgPSBmdW5jdGlvbiBjcmVhdGVSb3V0ZShiYXNlcGF0aCkge1xuICByZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnR5cGUgPT09IFJlYWN0LkZyYWdtZW50ICYmIGVsZW1lbnQucHJvcHMuY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiBSZWFjdC5DaGlsZHJlbi5tYXAoZWxlbWVudC5wcm9wcy5jaGlsZHJlbiwgY3JlYXRlUm91dGUoYmFzZXBhdGgpKTtcbiAgICB9XG5cbiAgICAhKGVsZW1lbnQucHJvcHMucGF0aCB8fCBlbGVtZW50LnByb3BzLmRlZmF1bHQgfHwgZWxlbWVudC50eXBlID09PSBSZWRpcmVjdCkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsIFwiPFJvdXRlcj46IENoaWxkcmVuIG9mIDxSb3V0ZXI+IG11c3QgaGF2ZSBhIGBwYXRoYCBvciBgZGVmYXVsdGAgcHJvcCwgb3IgYmUgYSBgPFJlZGlyZWN0PmAuIE5vbmUgZm91bmQgb24gZWxlbWVudCB0eXBlIGBcIiArIGVsZW1lbnQudHlwZSArIFwiYFwiKSA6IGludmFyaWFudChmYWxzZSkgOiB2b2lkIDA7XG4gICAgISEoZWxlbWVudC50eXBlID09PSBSZWRpcmVjdCAmJiAoIWVsZW1lbnQucHJvcHMuZnJvbSB8fCAhZWxlbWVudC5wcm9wcy50bykpID8gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gaW52YXJpYW50KGZhbHNlLCBcIjxSZWRpcmVjdCBmcm9tPVxcXCJcIiArIGVsZW1lbnQucHJvcHMuZnJvbSArIFwiXFxcIiB0bz1cXFwiXCIgKyBlbGVtZW50LnByb3BzLnRvICsgXCJcXFwiLz4gcmVxdWlyZXMgYm90aCBcXFwiZnJvbVxcXCIgYW5kIFxcXCJ0b1xcXCIgcHJvcHMgd2hlbiBpbnNpZGUgYSA8Um91dGVyPi5cIikgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICAgICEhKGVsZW1lbnQudHlwZSA9PT0gUmVkaXJlY3QgJiYgIXZhbGlkYXRlUmVkaXJlY3QoZWxlbWVudC5wcm9wcy5mcm9tLCBlbGVtZW50LnByb3BzLnRvKSkgPyBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBpbnZhcmlhbnQoZmFsc2UsIFwiPFJlZGlyZWN0IGZyb209XFxcIlwiICsgZWxlbWVudC5wcm9wcy5mcm9tICsgXCIgdG89XFxcIlwiICsgZWxlbWVudC5wcm9wcy50byArIFwiXFxcIi8+IGhhcyBtaXNtYXRjaGVkIGR5bmFtaWMgc2VnbWVudHMsIGVuc3VyZSBib3RoIHBhdGhzIGhhdmUgdGhlIGV4YWN0IHNhbWUgZHluYW1pYyBzZWdtZW50cy5cIikgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuXG4gICAgaWYgKGVsZW1lbnQucHJvcHMuZGVmYXVsdCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IGVsZW1lbnQsXG4gICAgICAgIGRlZmF1bHQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnRQYXRoID0gZWxlbWVudC50eXBlID09PSBSZWRpcmVjdCA/IGVsZW1lbnQucHJvcHMuZnJvbSA6IGVsZW1lbnQucHJvcHMucGF0aDtcbiAgICB2YXIgcGF0aCA9IGVsZW1lbnRQYXRoID09PSBcIi9cIiA/IGJhc2VwYXRoIDogc3RyaXBTbGFzaGVzKGJhc2VwYXRoKSArIFwiL1wiICsgc3RyaXBTbGFzaGVzKGVsZW1lbnRQYXRoKTtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IGVsZW1lbnQsXG4gICAgICBkZWZhdWx0OiBlbGVtZW50LnByb3BzLmRlZmF1bHQsXG4gICAgICBwYXRoOiBlbGVtZW50LnByb3BzLmNoaWxkcmVuID8gc3RyaXBTbGFzaGVzKHBhdGgpICsgXCIvKlwiIDogcGF0aFxuICAgIH07XG4gIH07XG59O1xuXG52YXIgc2hvdWxkTmF2aWdhdGUgPSBmdW5jdGlvbiBzaG91bGROYXZpZ2F0ZShldmVudCkge1xuICByZXR1cm4gIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgJiYgZXZlbnQuYnV0dG9uID09PSAwICYmICEoZXZlbnQubWV0YUtleSB8fCBldmVudC5hbHRLZXkgfHwgZXZlbnQuY3RybEtleSB8fCBldmVudC5zaGlmdEtleSk7XG59OyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5leHBvcnQgeyAgTGluaywgTG9jYXRpb24sIExvY2F0aW9uUHJvdmlkZXIsIE1hdGNoLCBSZWRpcmVjdCwgUm91dGVyLCBTZXJ2ZXJMb2NhdGlvbiwgY3JlYXRlSGlzdG9yeSwgY3JlYXRlTWVtb3J5U291cmNlLCBpc1JlZGlyZWN0LCBuYXZpZ2F0ZSwgcmVkaXJlY3RUbywgZ2xvYmFsSGlzdG9yeSwgbWF0Y2ggYXMgbWF0Y2hQYXRoLCB1c2VMb2NhdGlvbiwgdXNlTmF2aWdhdGUsIHVzZVBhcmFtcywgdXNlTWF0Y2ggLCBCYXNlQ29udGV4dCB9OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///9499\n')},1143:function(module){"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (false) {}\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdXN0aWNlNDAtdG9vbC8uL25vZGVfbW9kdWxlcy9pbnZhcmlhbnQvYnJvd3Nlci5qcz80MGI2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU0sS0FBcUMsRUFBRSxFQUkxQzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyx5QkFBeUIsRUFBRTtBQUNyRTtBQUNBO0FBQ0E7O0FBRUEsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIxMTQzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogVXNlIGludmFyaWFudCgpIHRvIGFzc2VydCBzdGF0ZSB3aGljaCB5b3VyIHByb2dyYW0gYXNzdW1lcyB0byBiZSB0cnVlLlxuICpcbiAqIFByb3ZpZGUgc3ByaW50Zi1zdHlsZSBmb3JtYXQgKG9ubHkgJXMgaXMgc3VwcG9ydGVkKSBhbmQgYXJndW1lbnRzXG4gKiB0byBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgYnJva2UgYW5kIHdoYXQgeW91IHdlcmVcbiAqIGV4cGVjdGluZy5cbiAqXG4gKiBUaGUgaW52YXJpYW50IG1lc3NhZ2Ugd2lsbCBiZSBzdHJpcHBlZCBpbiBwcm9kdWN0aW9uLCBidXQgdGhlIGludmFyaWFudFxuICogd2lsbCByZW1haW4gdG8gZW5zdXJlIGxvZ2ljIGRvZXMgbm90IGRpZmZlciBpbiBwcm9kdWN0aW9uLlxuICovXG5cbnZhciBpbnZhcmlhbnQgPSBmdW5jdGlvbihjb25kaXRpb24sIGZvcm1hdCwgYSwgYiwgYywgZCwgZSwgZikge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlmIChmb3JtYXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhcmlhbnQgcmVxdWlyZXMgYW4gZXJyb3IgbWVzc2FnZSBhcmd1bWVudCcpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghY29uZGl0aW9uKSB7XG4gICAgdmFyIGVycm9yO1xuICAgIGlmIChmb3JtYXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICAgICdNaW5pZmllZCBleGNlcHRpb24gb2NjdXJyZWQ7IHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCAnICtcbiAgICAgICAgJ2ZvciB0aGUgZnVsbCBlcnJvciBtZXNzYWdlIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuJ1xuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGFyZ3MgPSBbYSwgYiwgYywgZCwgZSwgZl07XG4gICAgICB2YXIgYXJnSW5kZXggPSAwO1xuICAgICAgZXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICAgIGZvcm1hdC5yZXBsYWNlKC8lcy9nLCBmdW5jdGlvbigpIHsgcmV0dXJuIGFyZ3NbYXJnSW5kZXgrK107IH0pXG4gICAgICApO1xuICAgICAgZXJyb3IubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcbiAgICB9XG5cbiAgICBlcnJvci5mcmFtZXNUb1BvcCA9IDE7IC8vIHdlIGRvbid0IGNhcmUgYWJvdXQgaW52YXJpYW50J3Mgb3duIGZyYW1lXG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gaW52YXJpYW50O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///1143\n")}},function(I){"use strict";I.O(0,[532,774],(function(){return g=2871,I(I.s=g);var g}));I.O()}]); \ No newline at end of file diff --git a/chunk-map.json b/chunk-map.json new file mode 100644 index 00000000..2b49bcb5 --- /dev/null +++ b/chunk-map.json @@ -0,0 +1 @@ +{"polyfill":["/polyfill-aab98ca4729baf333612.js"],"app":["/app-404d7df65849d4125f83.js"],"component---src-pages-404-tsx":["/component---src-pages-404-tsx-0559dc84bfa6590824cc.js"],"component---src-pages-index-tsx":["/component---src-pages-index-tsx-a57013ff3500d3516c77.js"]} \ No newline at end of file diff --git a/client/.gitignore b/client/.gitignore deleted file mode 100644 index 557f97c6..00000000 --- a/client/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -.cache/ -public diff --git a/client/.vscode/launch.json b/client/.vscode/launch.json deleted file mode 100644 index f3b625ec..00000000 --- a/client/.vscode/launch.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "type": "chrome", - "request": "launch", - "name": "Debug Chrome", - "url": "http://localhost:8000", - "webRoot": "${workspaceFolder}" - }, - { - "name": "Gatsby develop", - "type": "node", - "request": "launch", - "protocol": "inspector", - "program": "${workspaceRoot}/node_modules/gatsby/dist/bin/gatsby", - "args": ["develop"], - "stopOnEntry": false, - "runtimeArgs": ["--nolazy"], - "sourceMaps": false - }, - { - "name": "Gatsby build", - "type": "node", - "request": "launch", - "protocol": "inspector", - "program": "${workspaceRoot}/node_modules/gatsby/dist/bin/gatsby", - "args": ["build"], - "stopOnEntry": false, - "runtimeArgs": ["--nolazy"], - "sourceMaps": false - } - ] -} \ No newline at end of file diff --git a/client/README.md b/client/README.md deleted file mode 100644 index e190331c..00000000 --- a/client/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# Justice40 Client - -## Localization - -### About - -This project uses [Gatsby Plugin Intl](https://www.gatsbyjs.com/plugins/gatsby-plugin-intl/?=intl) to manage internationalization and localization. - -There are a number of components to this, but for the purposes of localization, this utizes the popular `react-intl` package from [FormatJS](https://github.com/formatjs/formatjs). - -This works by directing users to a locale-appropriate version of the page they wish to visit based on their browser settings, populated automatically at build time by the contents of `json` files in the `src/intl` directory. - -### Writing - -For this library to work optimally, the following principles should be obeyed (see [here](https://formatjs.io/docs/getting-started/message-extraction) for more detail): - -- All user-visible strings should be wrapped with the `intl.formatMessage` function or the `` tag, with a `description` and `defaultMessage` set. Do not yet set the "id" tag, it will be generated for you. To generate files for localization, run `npm run intl:extract` to update the file at `src/intl/en.json` with the extracted contents of all `FormattedMessage` components. -- Take note of the `id` in this file, and add this back as a parameter of your function/prop for your component (this is done to avoid naming collisions as detailed [here](https://formatjs.io/docs/getting-started/message-extraction)) -- All `Link` components should be imported from `gatsby-plugin-intl` instead to get the locale-appropriate link -- All pages should import and use `useIntl` from `gatsby-plugin-intl` - -We will later add integration with Github Actions to ensure that all messages have been formatted as a condition/check for committed code. - -### Translating - -From there, send `src/intl/en.json` to translators. (Depending on the TMS (Translation Management System) in use, we may need a different format, so we can alter the settings in `package.json` if needbe). When they return with the other language file, e.g. `es.json`, place this in `src/intl/` as a sibling to `en.json`. - -### Consuming - -`React-Intl` works according to Google SEO [best practices](https://developers.google.com/search/docs/advanced/crawling/managing-multi-regional-sites#use-different-urls-for-different-language-versions) by creating locale-specific URLs. - -To access a translated version of a page, e.g. `pages/index.js`, add the locale as a portion of the URL path, as follows: - -- English: `localhost:8000/en/`, or `localhost:8000/` (the default fallback is English) diff --git a/client/gatsby-browser.js b/client/gatsby-browser.js deleted file mode 100644 index 4e8ab8e8..00000000 --- a/client/gatsby-browser.js +++ /dev/null @@ -1 +0,0 @@ -import './src/styles/global.scss'; \ No newline at end of file diff --git a/client/gatsby-config.js b/client/gatsby-config.js deleted file mode 100644 index 2dedab86..00000000 --- a/client/gatsby-config.js +++ /dev/null @@ -1,40 +0,0 @@ -module.exports = { - /* - This is to workaround the following error when building locally: - Warning: React.createElement: type is invalid -- expected a string - (for built-in components) or a class/function (for composite components) but got: undefined. - at IndexPage - We will need to fix this before running `gatsby build` - */ - flags: { - DEV_SSR: false - }, - siteMetadata: { - title: "Justice40", - }, - plugins: [ - { - resolve: 'gatsby-plugin-sass', - options: { - cssLoaderOptions: { - modules: { - exportLocalsConvention: 'camelCaseOnly' - } - } - } - }, - { - resolve: `gatsby-plugin-intl`, - options: { - // language JSON resource path - path: `${__dirname}/src/intl`, - // supported language - languages: [`en`, `es`], - // language file path - defaultLanguage: `en`, - // option to redirect to `/en` when connecting `/` - redirect: true, - }, - }, - ], -}; diff --git a/client/gatsby-node.js b/client/gatsby-node.js deleted file mode 100644 index 91faadba..00000000 --- a/client/gatsby-node.js +++ /dev/null @@ -1,21 +0,0 @@ -path = require('path'); - -// Disable references to window from trussworks/uswds -// See here: https://www.gatsbyjs.com/docs/debugging-html-builds/#fixing-third-party-modules -exports.onCreateWebpackConfig = ({ stage, loaders, actions }) => { - actions.setWebpackConfig({ - devtool: 'eval-source-map', - }); - if (stage === "build-html" || stage === "develop-html") { - actions.setWebpackConfig({ - module: { - rules: [ - { - test: /@trussworks\/react-uswds/, - use: loaders.null(), - }, - ], - } - }) - } - } \ No newline at end of file diff --git a/client/package-lock.json b/client/package-lock.json deleted file mode 100644 index 1eb41278..00000000 --- a/client/package-lock.json +++ /dev/null @@ -1,35066 +0,0 @@ -{ - "name": "justice40-tool", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "justice40-tool", - "version": "1.0.0", - "dependencies": { - "@trussworks/react-uswds": "^1.17.0", - "gatsby": "^3.4.1", - "react": "^17.0.1", - "react-dom": "^17.0.1" - }, - "devDependencies": { - "@formatjs/cli": "^4.2.15", - "@types/node": "^15.3.1", - "@types/react": "^17.0.1", - "@types/react-dom": "^17.0.1", - "gatsby-cli": "^3.5.0", - "gatsby-plugin-intl": "^0.3.3", - "gatsby-plugin-sass": "^4.5.0", - "sass": "^1.33.0", - "sass-loader": "^11.1.1" - } - }, - "node_modules/@ardatan/aggregate-error": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz", - "integrity": "sha512-vyrkEHG1jrukmzTPtyWB4NLPauUw5bQeg4uhn8f+1SSynmrOcyvlb1GKQjjgoBzElLdfXCRYX8UnBlhklOHYRQ==", - "dependencies": { - "tslib": "~2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@ardatan/aggregate-error/node_modules/tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - }, - "node_modules/@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dependencies": { - "@babel/highlight": "^7.12.13" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", - "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==" - }, - "node_modules/@babel/core": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz", - "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.3", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.14.2", - "@babel/helpers": "^7.14.0", - "@babel/parser": "^7.14.3", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.2", - "@babel/types": "^7.14.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/eslint-parser": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.14.3.tgz", - "integrity": "sha512-IfJXKEVRV/Gisvgmih/+05gkBzzg4Dy0gcxkZ84iFiLK8+O+fI1HLnGJv3UrUMPpsMmmThNa69v+UnF80XP+kA==", - "dependencies": { - "eslint-scope": "^5.1.0", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": ">=7.5.0" - } - }, - "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", - "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", - "dependencies": { - "@babel/types": "^7.14.2", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", - "dependencies": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", - "semver": "^6.3.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.3.tgz", - "integrity": "sha512-BnEfi5+6J2Lte9LeiL6TxLWdIlEv9Woacc1qXzXBgbikcOzMRM2Oya5XGg/f/ngotv1ej2A/b+3iJH8wbS1+lQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.14.2", - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.14.3", - "@babel/helper-split-export-declaration": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz", - "integrity": "sha512-JIB2+XJrb7v3zceV2XzDhGIB902CmKGSpSl4q2C6agU9SNLG/2V1RtFRGPG1Ajh9STj3+q6zJMOC+N/pp2P9DA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", - "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", - "dependencies": { - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz", - "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.14.2" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", - "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", - "dependencies": { - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz", - "integrity": "sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==", - "dependencies": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.2", - "@babel/types": "^7.14.2" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==" - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz", - "integrity": "sha512-Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA==", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.14.2", - "@babel/types": "^7.14.2" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==" - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==" - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", - "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", - "dependencies": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.3.tgz", - "integrity": "sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz", - "integrity": "sha512-b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz", - "integrity": "sha512-HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.3", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-class-static-block": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz", - "integrity": "sha512-oxVQZIWFh91vuNEMKltqNsKLFWkOIyJc95k2Gv9lWVyDfPUQGSSlbDEgWuJUU1afGE9WwlzpucMZ3yDRHIItkA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz", - "integrity": "sha512-sRxW3z3Zp3pFfLAgVEvzTFutTXax837oOatUIvSG9o5gRj9mKwm3br1Se5f4QalTQs9x4AzlA/HrCWbQIHASUQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.2.tgz", - "integrity": "sha512-w2DtsfXBBJddJacXMBhElGEYqCZQqN99Se1qeYn8DVLB33owlrlLftIbMzn5nz1OITfDVknXF433tBrLEAOEjA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz", - "integrity": "sha512-1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz", - "integrity": "sha512-ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz", - "integrity": "sha512-DcTQY9syxu9BpU3Uo94fjCB3LN9/hgPS8oUL7KrSW3bA2ePrKZZPJcc5y0hoJAM9dft3pGfErtEUvxXQcfLxUg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.2.tgz", - "integrity": "sha512-hBIQFxwZi8GIp934+nj5uV31mqclC1aYDhctDu5khTi9PCCUOczyy0b34W0oE9U/eJXiqQaKyVsmjeagOaSlbw==", - "dependencies": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz", - "integrity": "sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz", - "integrity": "sha512-qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz", - "integrity": "sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-create-class-features-plugin": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-private-property-in-object": "^7.14.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz", - "integrity": "sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", - "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz", - "integrity": "sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", - "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", - "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.2.tgz", - "integrity": "sha512-neZZcP19NugZZqNwMTH+KoBjx5WyvESPSIOQb4JHpfd+zPfqcH65RMu5xJju5+6q/Y2VzYrleQTr+b6METyyxg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.2.tgz", - "integrity": "sha512-7oafAVcucHquA/VZCsXv/gmuiHeYd64UJyyTYU+MPfNu0KeNlxw06IeENBO8bJjXVbolu+j1MM5aKQtH1OMCNg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.14.2", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "globals": "^11.1.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.2.tgz", - "integrity": "sha512-hPC6XBswt8P3G2D1tSV2HzdKvkqOpmbyoy+g73JG0qlF/qx2y3KaMmXb1fLrpmWGLZYA0ojCvaHdzFWjlmV+Pw==", - "dependencies": { - "@babel/helper-module-transforms": "^7.14.2", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz", - "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.13.12", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz", - "integrity": "sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==", - "dependencies": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz", - "integrity": "sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.2.tgz", - "integrity": "sha512-zCubvP+jjahpnFJvPaHPiGVfuVUjXHhFvJKQdNnsmSsiU9kR/rCZ41jHc++tERD2zV+p7Hr6is+t5b6iWTCqSw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.3.tgz", - "integrity": "sha512-uuxuoUNVhdgYzERiHHFkE4dWoJx+UFVyuAl0aqN8P2/AKFHwqgUC5w2+4/PjpKXJsFgBlYAFXlUmDQ3k3DUkXw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-jsx": "^7.12.13", - "@babel/types": "^7.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz", - "integrity": "sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ==", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.12.17" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", - "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", - "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", - "dependencies": { - "regenerator-transform": "^0.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz", - "integrity": "sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg==", - "dependencies": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "semver": "^6.3.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.3.tgz", - "integrity": "sha512-G5Bb5pY6tJRTC4ag1visSgiDoGgJ1u1fMUgmc2ijLkcIdzP83Q1qyZX4ggFQ/SkR+PNOatkaYC+nKcTlpsX4ag==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.3", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-typescript": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.2.tgz", - "integrity": "sha512-7dD7lVT8GMrE73v4lvDEb85cgcQhdES91BSD7jS/xjC6QY8PnRhux35ac+GCpbiRhp8crexBvZZqnaL6VrY8TQ==", - "dependencies": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.14.2", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-class-static-block": "^7.13.11", - "@babel/plugin-proposal-dynamic-import": "^7.14.2", - "@babel/plugin-proposal-export-namespace-from": "^7.14.2", - "@babel/plugin-proposal-json-strings": "^7.14.2", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.2", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.2", - "@babel/plugin-proposal-numeric-separator": "^7.14.2", - "@babel/plugin-proposal-object-rest-spread": "^7.14.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.2", - "@babel/plugin-proposal-optional-chaining": "^7.14.2", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-private-property-in-object": "^7.14.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.12.13", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.0", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.14.2", - "@babel/plugin-transform-classes": "^7.14.2", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.17", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.14.2", - "@babel/plugin-transform-modules-commonjs": "^7.14.0", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.14.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.14.2", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.2", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", - "semver": "^6.3.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.13.13", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.13.13.tgz", - "integrity": "sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-transform-react-display-name": "^7.12.13", - "@babel/plugin-transform-react-jsx": "^7.13.12", - "@babel/plugin-transform-react-jsx-development": "^7.12.17", - "@babel/plugin-transform-react-pure-annotations": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz", - "integrity": "sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-transform-typescript": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", - "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz", - "integrity": "sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg==", - "dependencies": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/standalone": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.14.3.tgz", - "integrity": "sha512-nv9eIzaXjrPwfytt5SfKAbM5DJWfpJ6EiGhRar+p95k8r6ZNydF8svvjQVpbqqPIubR+tz1WyRlMJ3AUfXg4Pg==" - }, - "node_modules/@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", - "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.2", - "@babel/helper-function-name": "^7.14.2", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.14.2", - "@babel/types": "^7.14.2", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/types": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz", - "integrity": "sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.0", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@endemolshinegroup/cosmiconfig-typescript-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", - "integrity": "sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==", - "dependencies": { - "lodash.get": "^4", - "make-error": "^1", - "ts-node": "^9", - "tslib": "^2" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "cosmiconfig": ">=6" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", - "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@formatjs/cli": { - "version": "4.2.15", - "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-4.2.15.tgz", - "integrity": "sha512-B8fMtNMJViBRocRPlt9iPzuJa5/wadVHj0tySITGXQd9T1SyijuBMlxHRWrq4jyx6wZSIN5AwapWZkeHMZQ9YA==", - "dev": true, - "dependencies": { - "@formatjs/icu-messageformat-parser": "2.0.3", - "@formatjs/ts-transformer": "3.3.14", - "@types/json-stable-stringify": "^1.0.32", - "@types/lodash": "^4.14.150", - "@types/node": "14", - "@vue/compiler-core": "^3.0.0", - "@vue/compiler-sfc": "^3.0.5", - "chalk": "^4.0.0", - "commander": "7", - "fast-glob": "^3.2.4", - "fs-extra": "^9.0.0", - "json-stable-stringify": "^1.0.1", - "lodash": "^4.17.15", - "loud-rejection": "^2.2.0", - "tslib": "^2.1.0", - "typescript": "^4.0" - }, - "bin": { - "formatjs": "bin/formatjs" - } - }, - "node_modules/@formatjs/cli/node_modules/@types/node": { - "version": "14.17.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.0.tgz", - "integrity": "sha512-w8VZUN/f7SSbvVReb9SWp6cJFevxb4/nkG65yLAya//98WgocKm5PLDAtSs5CtJJJM+kHmJjO/6mmYW4MHShZA==", - "dev": true - }, - "node_modules/@formatjs/ecma402-abstract": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.9.0.tgz", - "integrity": "sha512-hKWk3t4uKmGW1kS6lR8j3vzHhyK3oXb/sgQ6YImsHLen8FFbmPDEEiwz6geNaKtEioCGYFF1B2BYLBH8JjbFxQ==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.3.tgz", - "integrity": "sha512-Tk0nIj21f3XO6PP+9k9L9bmBbrIZqHIBDOVyT1M4mYXdryWPs6ZKF8irnLc3gIWG4wjBhCDAnDeaXIjoF7roPA==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.9.0", - "@formatjs/icu-skeleton-parser": "1.2.4", - "tslib": "^2.1.0" - } - }, - "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.2.4.tgz", - "integrity": "sha512-7Cce3JTBwav9ubcI2Nk1qQ0NOacq9N1xvJ6zzpuyK54a80TwaWYum988imD/qiLQ5fQkKcwKeB3/bSugzRlqZw==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.9.0", - "tslib": "^2.1.0" - } - }, - "node_modules/@formatjs/intl-displaynames": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-1.2.10.tgz", - "integrity": "sha512-GROA2RP6+7Ouu0WnHFF78O5XIU7pBfI19WM1qm93l6MFWibUk67nCfVCK3VAYJkLy8L8ZxjkYT11VIAfvSz8wg==", - "dev": true, - "dependencies": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "node_modules/@formatjs/intl-listformat": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-1.4.8.tgz", - "integrity": "sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ==", - "dev": true, - "dependencies": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "node_modules/@formatjs/intl-pluralrules": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-1.5.9.tgz", - "integrity": "sha512-37E1ZG+Oqo3qrpUfumzNcFTV+V+NCExmTkkQ9Zw4FSlvJ4WhbbeYdieVapUVz9M0cLy8XrhCkfuM/Kn03iKReg==", - "dev": true, - "dependencies": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "node_modules/@formatjs/intl-relativetimeformat": { - "version": "4.5.16", - "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.16.tgz", - "integrity": "sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A==", - "dev": true, - "dependencies": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "node_modules/@formatjs/intl-unified-numberformat": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz", - "integrity": "sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==", - "deprecated": "We have renamed the package to @formatjs/intl-numberformat", - "dev": true, - "dependencies": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "node_modules/@formatjs/intl-utils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz", - "integrity": "sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==", - "dev": true - }, - "node_modules/@formatjs/ts-transformer": { - "version": "3.3.14", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.3.14.tgz", - "integrity": "sha512-uU1WTcFyK880mq3uv43xNDIzaXttE+KshRfxDKWqyoyrcgEpMqyKbwXtN0R3tjjJqB0ITmXa9eFaXXC6HARfiA==", - "dev": true, - "dependencies": { - "@formatjs/icu-messageformat-parser": "2.0.3", - "tslib": "^2.1.0", - "typescript": "^4.0" - }, - "peerDependencies": { - "ts-jest": "^26.4.0" - }, - "peerDependenciesMeta": { - "ts-jest": { - "optional": true - } - } - }, - "node_modules/@gatsbyjs/reach-router": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@gatsbyjs/reach-router/-/reach-router-1.3.6.tgz", - "integrity": "sha512-RW9ZBir9kqtw4IWm+Z+DLWGOeoJxoaTvNVrnR5fV9zD8EmfAhbBN/hS6i6VnTMFZ7rdd6mnpx2/XtnMvYfsaVQ==", - "dependencies": { - "invariant": "^2.2.3", - "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4" - }, - "peerDependencies": { - "react": "15.x || 16.x || 17.x", - "react-dom": "15.x || 16.x || 17.x" - } - }, - "node_modules/@gatsbyjs/webpack-hot-middleware": { - "version": "2.25.2", - "resolved": "https://registry.npmjs.org/@gatsbyjs/webpack-hot-middleware/-/webpack-hot-middleware-2.25.2.tgz", - "integrity": "sha512-IFxleSfFQlvEXho2sDRa0PM+diTI+6tlb38jeUo/Lsi+mDzyjPte5Cj4aWL6PR8FpKGMl+DYfq1jxNvjH2gqkA==", - "dependencies": { - "ansi-html": "0.0.7", - "html-entities": "^2.1.0", - "querystring": "^0.2.0", - "strip-ansi": "^6.0.0" - } - }, - "node_modules/@gatsbyjs/webpack-hot-middleware/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@graphql-tools/batch-execute": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-7.1.2.tgz", - "integrity": "sha512-IuR2SB2MnC2ztA/XeTMTfWcA0Wy7ZH5u+nDkDNLAdX+AaSyDnsQS35sCmHqG0VOGTl7rzoyBWLCKGwSJplgtwg==", - "dependencies": { - "@graphql-tools/utils": "^7.7.0", - "dataloader": "2.0.0", - "tslib": "~2.2.0", - "value-or-promise": "1.0.6" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@graphql-tools/delegate": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-7.1.5.tgz", - "integrity": "sha512-bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g==", - "dependencies": { - "@ardatan/aggregate-error": "0.0.6", - "@graphql-tools/batch-execute": "^7.1.2", - "@graphql-tools/schema": "^7.1.5", - "@graphql-tools/utils": "^7.7.1", - "dataloader": "2.0.0", - "tslib": "~2.2.0", - "value-or-promise": "1.0.6" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@graphql-tools/graphql-file-loader": { - "version": "6.2.7", - "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-6.2.7.tgz", - "integrity": "sha512-5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ==", - "dependencies": { - "@graphql-tools/import": "^6.2.6", - "@graphql-tools/utils": "^7.0.0", - "tslib": "~2.1.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@graphql-tools/graphql-file-loader/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - }, - "node_modules/@graphql-tools/import": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-6.3.1.tgz", - "integrity": "sha512-1szR19JI6WPibjYurMLdadHKZoG9C//8I/FZ0Dt4vJSbrMdVNp8WFxg4QnZrDeMG4MzZc90etsyF5ofKjcC+jw==", - "dependencies": { - "resolve-from": "5.0.0", - "tslib": "~2.2.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@graphql-tools/json-file-loader": { - "version": "6.2.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-6.2.6.tgz", - "integrity": "sha512-CnfwBSY5926zyb6fkDBHnlTblHnHI4hoBALFYXnrg0Ev4yWU8B04DZl/pBRUc459VNgO2x8/mxGIZj2hPJG1EA==", - "dependencies": { - "@graphql-tools/utils": "^7.0.0", - "tslib": "~2.0.1" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@graphql-tools/json-file-loader/node_modules/tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - }, - "node_modules/@graphql-tools/load": { - "version": "6.2.8", - "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-6.2.8.tgz", - "integrity": "sha512-JpbyXOXd8fJXdBh2ta0Q4w8ia6uK5FHzrTNmcvYBvflFuWly2LDTk2abbSl81zKkzswQMEd2UIYghXELRg8eTA==", - "dependencies": { - "@graphql-tools/merge": "^6.2.12", - "@graphql-tools/utils": "^7.5.0", - "globby": "11.0.3", - "import-from": "3.0.0", - "is-glob": "4.0.1", - "p-limit": "3.1.0", - "tslib": "~2.2.0", - "unixify": "1.0.0", - "valid-url": "1.0.9" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@graphql-tools/merge": { - "version": "6.2.14", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.14.tgz", - "integrity": "sha512-RWT4Td0ROJai2eR66NHejgf8UwnXJqZxXgDWDI+7hua5vNA2OW8Mf9K1Wav1ZkjWnuRp4ztNtkZGie5ISw55ow==", - "dependencies": { - "@graphql-tools/schema": "^7.0.0", - "@graphql-tools/utils": "^7.7.0", - "tslib": "~2.2.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@graphql-tools/schema": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-7.1.5.tgz", - "integrity": "sha512-uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA==", - "dependencies": { - "@graphql-tools/utils": "^7.1.2", - "tslib": "~2.2.0", - "value-or-promise": "1.0.6" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@graphql-tools/url-loader": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-6.10.1.tgz", - "integrity": "sha512-DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==", - "dependencies": { - "@graphql-tools/delegate": "^7.0.1", - "@graphql-tools/utils": "^7.9.0", - "@graphql-tools/wrap": "^7.0.4", - "@microsoft/fetch-event-source": "2.0.1", - "@types/websocket": "1.0.2", - "abort-controller": "3.0.0", - "cross-fetch": "3.1.4", - "extract-files": "9.0.0", - "form-data": "4.0.0", - "graphql-ws": "^4.4.1", - "is-promise": "4.0.0", - "isomorphic-ws": "4.0.1", - "lodash": "4.17.21", - "meros": "1.1.4", - "subscriptions-transport-ws": "^0.9.18", - "sync-fetch": "0.3.0", - "tslib": "~2.2.0", - "valid-url": "1.0.9", - "ws": "7.4.5" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@graphql-tools/url-loader/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@graphql-tools/utils": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.10.0.tgz", - "integrity": "sha512-d334r6bo9mxdSqZW6zWboEnnOOFRrAPVQJ7LkU8/6grglrbcu6WhwCLzHb90E94JI3TD3ricC3YGbUqIi9Xg0w==", - "dependencies": { - "@ardatan/aggregate-error": "0.0.6", - "camel-case": "4.1.2", - "tslib": "~2.2.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@graphql-tools/wrap": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-7.0.8.tgz", - "integrity": "sha512-1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==", - "dependencies": { - "@graphql-tools/delegate": "^7.1.5", - "@graphql-tools/schema": "^7.1.5", - "@graphql-tools/utils": "^7.8.1", - "tslib": "~2.2.0", - "value-or-promise": "1.0.6" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0" - } - }, - "node_modules/@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", - "deprecated": "Moved to 'npm install @sideway/address'" - }, - "node_modules/@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", - "deprecated": "This version has been deprecated and is no longer supported or maintained" - }, - "node_modules/@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", - "deprecated": "This version has been deprecated and is no longer supported or maintained" - }, - "node_modules/@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "deprecated": "Switch to 'npm install joi'", - "dependencies": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "node_modules/@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", - "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "deprecated": "This version has been deprecated and is no longer supported or maintained", - "dependencies": { - "@hapi/hoek": "^8.3.0" - } - }, - "node_modules/@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" - }, - "node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@mdx-js/util": { - "version": "2.0.0-next.8", - "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-2.0.0-next.8.tgz", - "integrity": "sha512-T0BcXmNzEunFkuxrO8BFw44htvTPuAoKbLvTG41otyZBDV1Rs+JMddcUuaP5vXpTWtgD3grhcrPEwyx88RUumQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@microsoft/fetch-event-source": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz", - "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==" - }, - "node_modules/@mikaelkristiansson/domready": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mikaelkristiansson/domready/-/domready-1.0.11.tgz", - "integrity": "sha512-nEBLOa0JgtqahmPrnJZ18epLiFBzxhdKgo4uhN3TaBFRmM30pEVrS9FAEV4tg92d8PTdU+dYQx2lnpPyFMgMcg==" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dependencies": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", - "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==", - "dependencies": { - "ansi-html": "^0.0.7", - "error-stack-parser": "^2.0.6", - "html-entities": "^1.2.1", - "native-url": "^0.2.6", - "schema-utils": "^2.6.5", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">= 10.x" - }, - "peerDependencies": { - "@types/webpack": "4.x", - "react-refresh": ">=0.8.3 <0.10.0", - "sockjs-client": "^1.4.0", - "type-fest": "^0.13.1", - "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "0.x || 1.x" - }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.2.tgz", - "integrity": "sha512-idTz8ibqWFrPU8kMirL0CoPH/A29XOzzAzpyN3zQ4kAWnzmNfFmRaoMNN6VI8ske5M73HZyhIaW4OuSFIdM4oA==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/address/node_modules/@hapi/hoek": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz", - "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" - }, - "node_modules/@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "node_modules/@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@sindresorhus/slugify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz", - "integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==", - "dependencies": { - "@sindresorhus/transliterate": "^0.1.1", - "escape-string-regexp": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@sindresorhus/transliterate": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz", - "integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==", - "dependencies": { - "escape-string-regexp": "^2.0.0", - "lodash.deburr": "^4.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@tokenizer/token": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", - "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" - }, - "node_modules/@trussworks/react-uswds": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@trussworks/react-uswds/-/react-uswds-1.17.0.tgz", - "integrity": "sha512-1LI7IcMEUIG4MwIfm0NlTtUf/1AwQbW/vIk9evuSoWkwiK8CpXHOVZXKwalhVrncyDzjf+CpV9PDmlnf747Vvg==", - "engines": { - "node": "10.x - 14.x" - }, - "peerDependencies": { - "react": "^16.x || ^17.x", - "react-dom": "^16.x || ^17.x", - "uswds": "2.10.3" - } - }, - "node_modules/@trysound/sax": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz", - "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@turist/fetch": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/@turist/fetch/-/fetch-7.1.7.tgz", - "integrity": "sha512-XP20kvfyMNlWdPVQXyuzA40LoCHbbJptikt7W+TlZ5sS+NNjk70xjXCtHBLEudp7li3JldXEFSIUzpW1a0WEhA==", - "dependencies": { - "@types/node-fetch": "2" - }, - "peerDependencies": { - "node-fetch": "2" - } - }, - "node_modules/@turist/time": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@turist/time/-/time-0.0.1.tgz", - "integrity": "sha512-M2BiThcbxMxSKX8W4z5u9jKZn6datnM3+FpEU+eYw0//l31E2xhqi7vTAuJ/Sf0P3yhp66SDJgPu3bRRpvrdQQ==" - }, - "node_modules/@types/common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-htRqZr5qn8EzMelhX/Xmx142z218lLyGaeZ3YR8jlze4TATRU9huKKvuBmAJEW4LCC4pnY1N6JAm6p85fMHjhg==" - }, - "node_modules/@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" - }, - "node_modules/@types/configstore": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/configstore/-/configstore-2.1.1.tgz", - "integrity": "sha1-zR6FU2M60xhcPy8jns/10mQ+krY=" - }, - "node_modules/@types/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==" - }, - "node_modules/@types/cors": { - "version": "2.8.10", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz", - "integrity": "sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==" - }, - "node_modules/@types/debug": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-0.0.30.tgz", - "integrity": "sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ==" - }, - "node_modules/@types/eslint": { - "version": "7.2.11", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.11.tgz", - "integrity": "sha512-WYhv//5K8kQtsSc9F1Kn2vHzhYor6KpwPbARH7hwYe3C3ETD0EVx/3P5qQybUoaBEuUa9f/02JjBiXFWalYUmw==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", - "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.47", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz", - "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==" - }, - "node_modules/@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" - }, - "node_modules/@types/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q==" - }, - "node_modules/@types/glob": { - "version": "5.0.36", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz", - "integrity": "sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==", - "dependencies": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "dev": true, - "dependencies": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } - }, - "node_modules/@types/http-proxy": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.6.tgz", - "integrity": "sha512-+qsjqR75S/ib0ig0R9WN+CDoZeOBU6F2XLewgC4KVgdXiNHiKKHFEMRHOrs5PbYE97D5vataw5wPj4KLYfUkuQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/invariant": { - "version": "2.2.34", - "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.34.tgz", - "integrity": "sha512-lYUtmJ9BqUN688fGY1U1HZoWT1/Jrmgigx2loq4ZcJpICECm/Om3V314BxdzypO0u5PORKGMM6x0OXaljV1YFg==", - "dev": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-patch": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/json-patch/-/json-patch-0.0.30.tgz", - "integrity": "sha512-MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==" - }, - "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" - }, - "node_modules/@types/json-stable-stringify": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz", - "integrity": "sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" - }, - "node_modules/@types/lodash": { - "version": "4.14.170", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.170.tgz", - "integrity": "sha512-bpcvu/MKHHeYX+qeEN8GE7DIravODWdACVA1ctevD8CN24RhPZIKMn9ntfAsrvLfSX3cR5RrBKAbYm9bGs0A+Q==" - }, - "node_modules/@types/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" - }, - "node_modules/@types/mkdirp": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", - "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/node": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.0.tgz", - "integrity": "sha512-gCYSfQpy+LYhOFTKAeE8BkyGqaxmlFxe+n4DKM6DR0wzw/HISUE/hAmkC/KT8Sw5PCJblqg062b3z9gucv3k0A==" - }, - "node_modules/@types/node-fetch": { - "version": "2.5.10", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.10.tgz", - "integrity": "sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ==", - "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" - }, - "node_modules/@types/reach__router": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.7.tgz", - "integrity": "sha512-cyBEb8Ef3SJNH5NYEIDGPoMMmYUxROatuxbICusVRQIqZUB85UCt6R2Ok60tKS/TABJsJYaHyNTW3kqbpxlMjg==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react": { - "version": "17.0.6", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.6.tgz", - "integrity": "sha512-u/TtPoF/hrvb63LdukET6ncaplYsvCvmkceasx8oG84/ZCsoLxz9Z/raPBP4lTAiWW1Jb889Y9svHmv8R26dWw==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "17.0.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.5.tgz", - "integrity": "sha512-ikqukEhH4H9gr4iJCmQVNzTB307kROe3XFfHAOTxOXPOw7lAoEXnM5KWTkzeANGL5Ce6ABfiMl/zJBYNi7ObmQ==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/readable-stream": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.10.tgz", - "integrity": "sha512-xwSXvAv9x4B9Vj88AMZnFyEVLilz1EBxKvRUhGqIF4nJpRQBSTm7jS236X4Y9Y2qPsVvaMxwrGJlNhLHEahlFQ==", - "dependencies": { - "@types/node": "*", - "safe-buffer": "*" - } - }, - "node_modules/@types/rimraf": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.4.tgz", - "integrity": "sha512-8gBudvllD2A/c0CcEX/BivIDorHFt5UI5m46TsNj8DjWCCTTZT74kEe4g+QsY7P/B9WdO98d82zZgXO/RQzu2Q==", - "dependencies": { - "@types/glob": "*", - "@types/node": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz", - "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==" - }, - "node_modules/@types/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha1-EHPEvIJHVK49EM+riKsCN7qWTk0=" - }, - "node_modules/@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" - }, - "node_modules/@types/websocket": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.2.tgz", - "integrity": "sha512-B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", - "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" - }, - "node_modules/@types/yoga-layout": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@types/yoga-layout/-/yoga-layout-1.9.2.tgz", - "integrity": "sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.24.0.tgz", - "integrity": "sha512-qbCgkPM7DWTsYQGjx9RTuQGswi+bEt0isqDBeo+CKV0953zqI0Tp7CZ7Fi9ipgFA6mcQqF4NOVNwS/f2r6xShw==", - "dependencies": { - "@typescript-eslint/experimental-utils": "4.24.0", - "@typescript-eslint/scope-manager": "4.24.0", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.24.0.tgz", - "integrity": "sha512-IwTT2VNDKH1h8RZseMH4CcYBz6lTvRoOLDuuqNZZoThvfHEhOiZPQCow+5El3PtyxJ1iDr6UXZwYtE3yZQjhcw==", - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.24.0", - "@typescript-eslint/types": "4.24.0", - "@typescript-eslint/typescript-estree": "4.24.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.24.0.tgz", - "integrity": "sha512-dj1ZIh/4QKeECLb2f/QjRwMmDArcwc2WorWPRlB8UNTZlY1KpTVsbX7e3ZZdphfRw29aTFUSNuGB8w9X5sS97w==", - "dependencies": { - "@typescript-eslint/scope-manager": "4.24.0", - "@typescript-eslint/types": "4.24.0", - "@typescript-eslint/typescript-estree": "4.24.0", - "debug": "^4.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.24.0.tgz", - "integrity": "sha512-9+WYJGDnuC9VtYLqBhcSuM7du75fyCS/ypC8c5g7Sdw7pGL4NDTbeH38eJPfzIydCHZDoOgjloxSAA3+4l/zsA==", - "dependencies": { - "@typescript-eslint/types": "4.24.0", - "@typescript-eslint/visitor-keys": "4.24.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.24.0.tgz", - "integrity": "sha512-tkZUBgDQKdvfs8L47LaqxojKDE+mIUmOzdz7r+u+U54l3GDkTpEbQ1Jp3cNqqAU9vMUCBA1fitsIhm7yN0vx9Q==", - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.24.0.tgz", - "integrity": "sha512-kBDitL/by/HK7g8CYLT7aKpAwlR8doshfWz8d71j97n5kUa5caHWvY0RvEUEanL/EqBJoANev8Xc/mQ6LLwXGA==", - "dependencies": { - "@typescript-eslint/types": "4.24.0", - "@typescript-eslint/visitor-keys": "4.24.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.24.0.tgz", - "integrity": "sha512-4ox1sjmGHIxjEDBnMCtWFFhErXtKA1Ec0sBpuz0fqf3P+g3JFGyTxxbF06byw0FRsPnnbq44cKivH7Ks1/0s6g==", - "dependencies": { - "@typescript-eslint/types": "4.24.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.11.tgz", - "integrity": "sha512-6sFj6TBac1y2cWCvYCA8YzHJEbsVkX7zdRs/3yK/n1ilvRqcn983XvpBbnN3v4mZ1UiQycTvOiajJmOgN9EVgw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.12.0", - "@babel/types": "^7.12.0", - "@vue/shared": "3.0.11", - "estree-walker": "^2.0.1", - "source-map": "^0.6.1" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.11.tgz", - "integrity": "sha512-+3xB50uGeY5Fv9eMKVJs2WSRULfgwaTJsy23OIltKgMrynnIj8hTYY2UL97HCoz78aDw1VDXdrBQ4qepWjnQcw==", - "dev": true, - "dependencies": { - "@vue/compiler-core": "3.0.11", - "@vue/shared": "3.0.11" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.11.tgz", - "integrity": "sha512-7fNiZuCecRleiyVGUWNa6pn8fB2fnuJU+3AGjbjl7r1P5wBivfl02H4pG+2aJP5gh2u+0wXov1W38tfWOphsXw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.13.9", - "@babel/types": "^7.13.0", - "@vue/compiler-core": "3.0.11", - "@vue/compiler-dom": "3.0.11", - "@vue/compiler-ssr": "3.0.11", - "@vue/shared": "3.0.11", - "consolidate": "^0.16.0", - "estree-walker": "^2.0.1", - "hash-sum": "^2.0.0", - "lru-cache": "^5.1.1", - "magic-string": "^0.25.7", - "merge-source-map": "^1.1.0", - "postcss": "^8.1.10", - "postcss-modules": "^4.0.0", - "postcss-selector-parser": "^6.0.4", - "source-map": "^0.6.1" - }, - "peerDependencies": { - "vue": "3.0.11" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.11.tgz", - "integrity": "sha512-66yUGI8SGOpNvOcrQybRIhl2M03PJ+OrDPm78i7tvVln86MHTKhM3ERbALK26F7tXl0RkjX4sZpucCpiKs3MnA==", - "dev": true, - "dependencies": { - "@vue/compiler-dom": "3.0.11", - "@vue/shared": "3.0.11" - } - }, - "node_modules/@vue/reactivity": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.11.tgz", - "integrity": "sha512-SKM3YKxtXHBPMf7yufXeBhCZ4XZDKP9/iXeQSC8bBO3ivBuzAi4aZi0bNoeE2IF2iGfP/AHEt1OU4ARj4ao/Xw==", - "dev": true, - "peer": true, - "dependencies": { - "@vue/shared": "3.0.11" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.11.tgz", - "integrity": "sha512-87XPNwHfz9JkmOlayBeCCfMh9PT2NBnv795DSbi//C/RaAnc/bGZgECjmkD7oXJ526BZbgk9QZBPdFT8KMxkAg==", - "dev": true, - "peer": true, - "dependencies": { - "@vue/reactivity": "3.0.11", - "@vue/shared": "3.0.11" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.11.tgz", - "integrity": "sha512-jm3FVQESY3y2hKZ2wlkcmFDDyqaPyU3p1IdAX92zTNeCH7I8zZ37PtlE1b9NlCtzV53WjB4TZAYh9yDCMIEumA==", - "dev": true, - "peer": true, - "dependencies": { - "@vue/runtime-core": "3.0.11", - "@vue/shared": "3.0.11", - "csstype": "^2.6.8" - } - }, - "node_modules/@vue/runtime-dom/node_modules/csstype": { - "version": "2.6.17", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz", - "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==", - "dev": true, - "peer": true - }, - "node_modules/@vue/shared": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz", - "integrity": "sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA==", - "dev": true - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", - "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", - "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", - "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", - "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", - "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", - "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", - "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", - "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", - "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", - "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", - "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", - "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", - "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/helper-wasm-section": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-opt": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "@webassemblyjs/wast-printer": "1.11.0" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", - "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", - "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", - "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", - "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", - "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", - "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", - "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", - "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/adjust-sourcemap-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", - "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "node_modules/anser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/anser/-/anser-2.0.1.tgz", - "integrity": "sha512-4g5Np4CVD3c5c/36Mj0jllEA5bQcuXF0dqakZcuHGeubBzw93EAhwRuQCzgFm4/ZwvyBMzFdtn9BcihOjnxIdQ==" - }, - "node_modules/ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "dependencies": { - "string-width": "^3.0.0" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/append-field": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" - }, - "node_modules/application-config-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.0.tgz", - "integrity": "sha1-GTxfCoZUGkxm+6Hi3DhYM2LqXo8=" - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/arity-n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", - "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=", - "dev": true - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "node_modules/array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "engines": { - "node": ">=8" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "node_modules/async-cache": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/async-cache/-/async-cache-1.1.0.tgz", - "integrity": "sha1-SppaidBl7F2OUlS9nulrp2xTK1o=", - "dependencies": { - "lru-cache": "^4.0.0" - } - }, - "node_modules/async-cache/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/async-cache/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "node_modules/async-retry-ng": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-retry-ng/-/async-retry-ng-2.0.1.tgz", - "integrity": "sha512-iitlc2murdQ3/A5Re3CcplQBEf7vOmFrFQ6RFn3+/+zZUyIHYkZnnEziMSa6YIb2Bs2EJEPZWReTxjHqvQbDbw==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.5.tgz", - "integrity": "sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA==", - "dependencies": { - "browserslist": "^4.16.3", - "caniuse-lite": "^1.0.30001196", - "colorette": "^1.2.2", - "fraction.js": "^4.0.13", - "normalize-range": "^0.1.2", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/axe-core": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.2.1.tgz", - "integrity": "sha512-evY7DN8qSIbsW2H/TWQ1bX3sXN1d4MNb5Vb4n7BzPuCwRHdkZ1H2eNLuSh73EoQqkGKUtju2G2HCcjCfhvZIAA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "dependencies": { - "follow-redirects": "^1.10.0" - } - }, - "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, - "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-plugin-add-module-exports": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", - "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==" - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-lodash": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz", - "integrity": "sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg==", - "dependencies": { - "@babel/helper-module-imports": "^7.0.0-beta.49", - "@babel/types": "^7.0.0-beta.49", - "glob": "^7.1.1", - "lodash": "^4.17.10", - "require-package-name": "^2.0.1" - } - }, - "node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", - "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.0", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.0", - "core-js-compat": "^3.9.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-remove-graphql-queries": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-3.5.0.tgz", - "integrity": "sha512-JGVMfrPk7TwRSDxs8Rro748SbSrj+5h4iQvbE5dfUIUOELVoPm9FrhiEn/kIMvwd+nMgn8td9sg0Pp24HtjZlQ==", - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "gatsby": "^3.0.0-next.0" - } - }, - "node_modules/babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "node_modules/babel-preset-gatsby": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-gatsby/-/babel-preset-gatsby-1.5.0.tgz", - "integrity": "sha512-XV66eQQhfTgx0V3KtIo2fSZYUpL9zXa8jO91kApYHOAqZa9vuMC1leo0X5CQQofeyaJTHIlrGnRcAhH//qADHQ==", - "dependencies": { - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-runtime": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@babel/runtime": "^7.12.5", - "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-macros": "^2.8.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24", - "gatsby-core-utils": "^2.5.0", - "gatsby-legacy-polyfills": "^1.5.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.6", - "core-js": "^3.0.0" - } - }, - "node_modules/backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" - }, - "node_modules/bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" - }, - "node_modules/better-opn": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-2.1.1.tgz", - "integrity": "sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==", - "dependencies": { - "open": "^7.0.3" - }, - "engines": { - "node": ">8.0.0" - } - }, - "node_modules/better-queue": { - "version": "3.8.10", - "resolved": "https://registry.npmjs.org/better-queue/-/better-queue-3.8.10.tgz", - "integrity": "sha512-e3gwNZgDCnNWl0An0Tz6sUjKDV9m6aB+K9Xg//vYeo8+KiH8pWhLFxkawcXhm6FpM//GfD9IQv/kmvWCAVVpKA==", - "dependencies": { - "better-queue-memory": "^1.0.1", - "node-eta": "^0.9.0", - "uuid": "^3.0.0" - } - }, - "node_modules/better-queue-memory": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/better-queue-memory/-/better-queue-memory-1.0.4.tgz", - "integrity": "sha512-SWg5wFIShYffEmJpI6LgbL8/3Dqhku7xI1oEiy6FroP9DbcZlG0ZDjxvPdP9t7hTGW40IpIcC6zVoGT1oxjOuA==" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/bonjour/node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "node_modules/boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", - "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-lang": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/browser-lang/-/browser-lang-0.1.0.tgz", - "integrity": "sha512-p4mdcU9fIsoDtbAVorKtxo5H86mK040MYn96yshyhfN3OF0iySuITgR8IxldI72MJAultMnwqDgwfWWwjUrSsw==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dependencies": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - }, - "node_modules/busboy": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", - "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", - "dependencies": { - "dicer": "0.2.5", - "readable-stream": "1.1.x" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/busboy/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/busboy/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/busboy/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cache-manager": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-2.11.1.tgz", - "integrity": "sha512-XhUuc9eYwkzpK89iNewFwtvcDYMUsvtwzHeyEOPJna/WsVsXcrzsA1ft2M0QqPNunEzLhNCYPo05tEfG+YuNow==", - "dependencies": { - "async": "1.5.2", - "lodash.clonedeep": "4.5.0", - "lru-cache": "4.0.0" - } - }, - "node_modules/cache-manager/node_modules/lru-cache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz", - "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=", - "dependencies": { - "pseudomap": "^1.0.1", - "yallist": "^2.0.0" - } - }, - "node_modules/cache-manager/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "node_modules/cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "dependencies": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "engines": { - "node": ">=4" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001228", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz", - "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", - "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/classlist-polyfill": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", - "integrity": "sha1-k1vC39lFiodrJ5YXUUY4vKqWSi4=", - "peer": true - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/clipboardy": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", - "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", - "dependencies": { - "arch": "^2.1.1", - "execa": "^1.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clipboardy/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/clipboardy/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clipboardy/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clipboardy/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clipboardy/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/clipboardy/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/clipboardy/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/clipboardy/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clipboardy/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clipboardy/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dependencies": { - "mimic-response": "^1.0.0" - } - }, - "node_modules/collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colord": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-1.7.2.tgz", - "integrity": "sha512-/sQCxy6PEhZbrAn1+NVRRefy3k4jkWQGxk7mo2o0CoNA24jq4ujDc2jXzJ5uXphm/TwfdGOP0w8U+H+9ys4Peg==" - }, - "node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "node_modules/compose-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", - "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", - "dev": true, - "dependencies": { - "arity-n": "^1.0.4" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", - "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==" - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/consolidate": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", - "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==", - "dev": true, - "dependencies": { - "bluebird": "^3.7.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/contains-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-1.0.0.tgz", - "integrity": "sha1-NFizMhhWA+ju0Y9RjUoQiIo6vJE=", - "dependencies": { - "normalize-path": "^2.1.1", - "path-starts-with": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/contains-path/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/contentful-management": { - "version": "7.22.2", - "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-7.22.2.tgz", - "integrity": "sha512-NIdscTgo4EezPvs4zYi7aTm2IISX2G/DV0hZ1AlbtH8YTGqvMDX/gZJ0NcbDJ9aqwzv8c95AToGm5wwae5/cTA==", - "dependencies": { - "@types/json-patch": "0.0.30", - "axios": "^0.21.0", - "contentful-sdk-core": "^6.8.0", - "fast-copy": "^2.1.0", - "lodash.isplainobject": "^4.0.6", - "type-fest": "1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/contentful-sdk-core": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-6.8.0.tgz", - "integrity": "sha512-X45uNrcbQ2qY2p4G/Wx2EFUdnLnoDXjw29i+d0JVTUXqCG58p3q4GHuAPzTX+uafJL4h0ZY2xPOn4nvJ83eRBQ==", - "dependencies": { - "fast-copy": "^2.1.0", - "qs": "^6.9.4" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/contentful-sdk-core/node_modules/qs": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", - "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/convert-hrtime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-3.0.0.tgz", - "integrity": "sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copyfiles": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", - "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", - "dependencies": { - "glob": "^7.0.5", - "minimatch": "^3.0.3", - "mkdirp": "^1.0.4", - "noms": "0.0.0", - "through2": "^2.0.1", - "untildify": "^4.0.0", - "yargs": "^16.1.0" - }, - "bin": { - "copyfiles": "copyfiles", - "copyup": "copyfiles" - } - }, - "node_modules/copyfiles/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/core-js": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.1.tgz", - "integrity": "sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.12.1.tgz", - "integrity": "sha512-i6h5qODpw6EsHAoIdQhKoZdWn+dGBF3dSS8m5tif36RlWvW3A6+yu2S16QHUo3CrkzrnEskMAt9f8FxmY9fhWQ==", - "dependencies": { - "browserslist": "^4.16.6", - "semver": "7.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-js-pure": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.12.1.tgz", - "integrity": "sha512-1cch+qads4JnDSWsvc7d6nzlKAippwjUlf6vykkTLW53VSV+NkE6muGBToAjEA8pG90cSfcud3JgVmW2ds5TaQ==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cosmiconfig-toml-loader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-toml-loader/-/cosmiconfig-toml-loader-1.0.0.tgz", - "integrity": "sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==", - "dependencies": { - "@iarna/toml": "^2.2.5" - } - }, - "node_modules/create-gatsby": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/create-gatsby/-/create-gatsby-1.5.0.tgz", - "integrity": "sha512-oEGYAvysG5OogLp06mp6Hk84ay7kirCIe2/XAWAz5r/11SIzAL/bvcOF5FDTnRdWHrYNu8JZHmfab6NqlvpiWw==", - "bin": { - "create-gatsby": "cli.js" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "node_modules/cross-fetch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", - "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", - "dependencies": { - "node-fetch": "2.6.1" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "node_modules/css-color-names": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", - "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", - "engines": { - "node": "*" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz", - "integrity": "sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw==", - "dependencies": { - "timsort": "^0.3.0" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.5.tgz", - "integrity": "sha512-bH6QQacvSRtLX0lycAOs43S173n+lfXxB5cx4FjVkTLw5tAEwk5bxNLbkt5K1iETd5KxazRx70GpqOxsuwKiFA==", - "dependencies": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" - } - }, - "node_modules/css-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/css-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-2.0.0.tgz", - "integrity": "sha512-cG/uc94727tx5pBNtb1Sd7gvUPzwmcQi1lkpfqTpdkuNq75hJCw7bIVsCNijLm4dhDcr1atvuysl2rZqOG8Txw==", - "dependencies": { - "cssnano": "^5.0.0", - "jest-worker": "^26.3.0", - "p-limit": "^3.0.2", - "postcss": "^8.2.9", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=" - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssfilter": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=" - }, - "node_modules/cssnano": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.3.tgz", - "integrity": "sha512-Ga/a+IA6U0F9+MNmqrXgwn1A3btY5jFkla2iurL7i9PTmQmMu2Kc99W9a8KSxT8iLV0aoI+Q5Q9i3SpVAVNnrQ==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "cssnano-preset-default": "^5.1.0", - "is-resolvable": "^1.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.0.tgz", - "integrity": "sha512-VTO0WAlrEsU0u+A4RwALRs5zSVnD23WgYO8Np3HowBMZTqWIP1GvIWWzs9zZmjNgeL8U+70megRZymb+1yGg/w==", - "dependencies": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.1.0", - "postcss-convert-values": "^5.0.1", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", - "postcss-merge-longhand": "^5.0.2", - "postcss-merge-rules": "^5.0.1", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.1", - "postcss-minify-params": "^5.0.1", - "postcss-minify-selectors": "^5.1.0", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", - "postcss-normalize-url": "^5.0.1", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.1", - "postcss-reduce-initial": "^5.0.1", - "postcss-reduce-transforms": "^5.0.1", - "postcss-svgo": "^5.0.1", - "postcss-unique-selectors": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano/node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csstype": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", - "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" - }, - "node_modules/currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "dependencies": { - "array-find-index": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz", - "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==" - }, - "node_modules/dataloader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.0.0.tgz", - "integrity": "sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ==" - }, - "node_modules/date-fns": { - "version": "2.21.3", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.21.3.tgz", - "integrity": "sha512-HeYdzCaFflc1i4tGbj7JKMjM4cKGYoyxwcIIkHzNgCkX8xXDNJDZXgDDVchIWpN4eQc3lH37WarduXFZJOtxfw==", - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/default-gateway/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/default-gateway/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/default-gateway/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/default-gateway/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/default-gateway/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/default-gateway/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/default-gateway/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", - "dependencies": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/del/node_modules/@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/del/node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/del/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/detect-newline": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-1.0.3.tgz", - "integrity": "sha1-6XsQA4d9cMCa8a81v63/Fo3kkg0=", - "dependencies": { - "get-stdin": "^4.0.1", - "minimist": "^1.1.0" - }, - "bin": { - "detect-newline": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/detect-port": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/detect-port/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/devcert": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/devcert/-/devcert-1.1.3.tgz", - "integrity": "sha512-7/nIzKdQ8y2K0imjIP7dyg2GJ2h38Ps6VOMXWZHIarNDV3p6mTXyEugKFnkmsZ2DD58JEG34ILyVb3qdOMmP9w==", - "dependencies": { - "@types/configstore": "^2.1.1", - "@types/debug": "^0.0.30", - "@types/get-port": "^3.2.0", - "@types/glob": "^5.0.34", - "@types/lodash": "^4.14.92", - "@types/mkdirp": "^0.5.2", - "@types/node": "^8.5.7", - "@types/rimraf": "^2.0.2", - "@types/tmp": "^0.0.33", - "application-config-path": "^0.1.0", - "command-exists": "^1.2.4", - "debug": "^3.1.0", - "eol": "^0.9.1", - "get-port": "^3.2.0", - "glob": "^7.1.2", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "password-prompt": "^1.0.4", - "rimraf": "^2.6.2", - "sudo-prompt": "^8.2.0", - "tmp": "^0.0.33", - "tslib": "^1.10.0" - } - }, - "node_modules/devcert/node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "node_modules/devcert/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/devcert/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/devcert/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/dicer": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", - "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", - "dependencies": { - "readable-stream": "1.1.x", - "streamsearch": "0.1.2" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/dicer/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/dicer/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/dicer/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" - }, - "node_modules/dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domready": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/domready/-/domready-1.0.8.tgz", - "integrity": "sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw=", - "peer": true - }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", - "engines": { - "node": ">=10" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "node_modules/duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.3.735", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.735.tgz", - "integrity": "sha512-cp7MWzC3NseUJV2FJFgaiesdrS+A8ZUjX5fLAxdRlcaPDkaPGFplX930S5vf84yqDp4LjuLdKouWuVOTwUfqHQ==" - }, - "node_modules/elem-dataset": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/elem-dataset/-/elem-dataset-2.0.0.tgz", - "integrity": "sha512-e7gieGopWw5dMdEgythH3lUS7nMizutPDTtkzfQW/q2gCvFnACyNnK3ytCncAXKxdBXQWcXeKaYTTODiMnp8mw==", - "peer": true - }, - "node_modules/element-closest": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/element-closest/-/element-closest-2.0.2.tgz", - "integrity": "sha1-cqdAoQdFM4LijfnOXbtajfD5Zuw=", - "peer": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/engine.io": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz", - "integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.0", - "ws": "~7.4.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io-client": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.4.tgz", - "integrity": "sha512-843fqAdKeUMFqKi1sSjnR11tJ4wi8sIefu6+JC1OzkkJBmjtc/gM/rZ53tJfu5Iae/3gApm5veoS+v+gtT0+Fg==", - "dependencies": { - "base64-arraybuffer": "0.1.4", - "component-emitter": "~1.3.0", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.1", - "has-cors": "1.1.0", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.6.2", - "yeast": "0.1.2" - } - }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io-client/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/engine.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", - "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", - "dependencies": { - "base64-arraybuffer": "0.1.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enhanced-resolve/node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eol": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz", - "integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==" - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "dependencies": { - "stackframe": "^1.1.1" - } - }, - "node_modules/es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-module-lexer": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", - "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==" - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "dependencies": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "node_modules/es5-ext/node_modules/next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.26.0.tgz", - "integrity": "sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==", - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.1", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.21", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-react-app": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz", - "integrity": "sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==", - "dependencies": { - "confusing-browser-globals": "^1.0.10" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0", - "@typescript-eslint/parser": "^4.0.0", - "babel-eslint": "^10.0.0", - "eslint": "^7.5.0", - "eslint-plugin-flowtype": "^5.2.0", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-jest": "^24.0.0", - "eslint-plugin-jsx-a11y": "^6.3.1", - "eslint-plugin-react": "^7.20.3", - "eslint-plugin-react-hooks": "^4.0.8", - "eslint-plugin-testing-library": "^3.9.0" - }, - "peerDependenciesMeta": { - "eslint-plugin-jest": { - "optional": true - }, - "eslint-plugin-testing-library": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dependencies": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/eslint-module-utils": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", - "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", - "dependencies": { - "debug": "^3.2.7", - "pkg-dir": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-flowtype": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.7.2.tgz", - "integrity": "sha512-7Oq/N0+3nijBnYWQYzz/Mp/7ZCpwxYvClRyW/PLAmimY9uLCBvoXsNsERcJdkKceyOjgRbFhhxs058KTrne9Mg==", - "dependencies": { - "lodash": "^4.17.15", - "string-natural-compare": "^3.0.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "peerDependencies": { - "eslint": "^7.1.0" - } - }, - "node_modules/eslint-plugin-graphql": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-graphql/-/eslint-plugin-graphql-4.0.0.tgz", - "integrity": "sha512-d5tQm24YkVvCEk29ZR5ScsgXqAGCjKlMS8lx3mS7FS/EKsWbkvXQImpvic03EpMIvNTBW5e+2xnHzXB/VHNZJw==", - "dependencies": { - "@babel/runtime": "^7.10.0", - "graphql-config": "^3.0.2", - "lodash.flatten": "^4.4.0", - "lodash.without": "^4.4.0" - }, - "engines": { - "node": ">=10.0" - }, - "peerDependencies": { - "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.2.tgz", - "integrity": "sha512-LmNoRptHBxOP+nb0PIKz1y6OSzCJlB+0g0IGS3XV4KaKk2q4szqQ6s6F1utVf5ZRkxk/QOTjdxe7v4VjS99Bsg==", - "dependencies": { - "array-includes": "^3.1.3", - "array.prototype.flat": "^1.2.4", - "contains-path": "^1.0.0", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.1", - "find-up": "^2.0.0", - "has": "^1.0.3", - "is-core-module": "^2.4.0", - "minimatch": "^3.0.4", - "object.values": "^1.1.3", - "pkg-up": "^2.0.0", - "read-pkg-up": "^3.0.0", - "resolve": "^1.20.0", - "tsconfig-paths": "^3.9.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", - "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", - "dependencies": { - "@babel/runtime": "^7.11.2", - "aria-query": "^4.2.2", - "array-includes": "^3.1.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.0.2", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.6", - "emoji-regex": "^9.0.0", - "has": "^1.0.3", - "jsx-ast-utils": "^3.1.0", - "language-tags": "^1.0.5" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz", - "integrity": "sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==", - "dependencies": { - "array-includes": "^3.1.3", - "array.prototype.flatmap": "^1.2.4", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.3", - "object.fromentries": "^2.0.4", - "object.values": "^1.1.3", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "string.prototype.matchall": "^4.0.4" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", - "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-webpack-plugin": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz", - "integrity": "sha512-7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw==", - "dependencies": { - "@types/eslint": "^7.2.6", - "arrify": "^2.0.1", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^7.0.0", - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/eslint/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", - "integrity": "sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-util-is-identifier-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-1.1.0.tgz", - "integrity": "sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "node_modules/event-source-polyfill": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.24.tgz", - "integrity": "sha512-aEtMhrH5ww3X6RgbsNcwu0whw8zjOoeRnwPqRKqKuxWS5KlAZhCY+rTm6wMlHOXbxmLGn8lW6Xox7rfpBExzGA==" - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", - "dependencies": { - "original": "^1.0.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express-graphql": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/express-graphql/-/express-graphql-0.9.0.tgz", - "integrity": "sha512-wccd9Lb6oeJ8yHpUs/8LcnGjFUUQYmOG9A5BNLybRdCzGw0PeUrtBxsIR8bfiur6uSW4OvPkVDoYH06z6/N9+w==", - "dependencies": { - "accepts": "^1.3.7", - "content-type": "^1.0.4", - "http-errors": "^1.7.3", - "raw-body": "^2.4.1" - }, - "engines": { - "node": ">= 8.x" - }, - "peerDependencies": { - "graphql": "^14.4.1" - } - }, - "node_modules/express-graphql/node_modules/http-errors": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", - "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express-graphql/node_modules/raw-body": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", - "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.3", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express-graphql/node_modules/raw-body/node_modules/http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express-graphql/node_modules/raw-body/node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/express-graphql/node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/express/node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "dependencies": { - "type": "^2.0.0" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", - "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extract-files": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", - "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==", - "engines": { - "node": "^10.17.0 || ^12.0.0 || >= 13.7.0" - }, - "funding": { - "url": "https://github.com/sponsors/jaydenseric" - } - }, - "node_modules/fast-copy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-2.1.1.tgz", - "integrity": "sha512-Qod3DdRgFZ8GUIM6ygeoZYpQ0QLW9cf/FS9KhhjlYggcSZXWAemAw8BOCO5LuYCrR3Uj3qXDVTUzOUwG8C7beQ==" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" - }, - "node_modules/fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fd": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/fd/-/fd-0.0.3.tgz", - "integrity": "sha512-iAHrIslQb3U68OcMSP0kkNWabp7sSN6d2TBSb2JO3gcLJVDd4owr/hKM4SFJovFOUeeXeItjYgouEDTMWiVAnA==" - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/file-type": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.4.0.tgz", - "integrity": "sha512-MDAkwha3wHg11Lp++2T3Gu347eC/DB4r7nYj6iZaf1l7UhGBh2746QKxg0BWC8w2dJsxUEmH8KvLueX+GthN2w==", - "dependencies": { - "readable-web-to-node-stream": "^3.0.0", - "strtok3": "^6.0.3", - "token-types": "^2.0.0", - "typedarray-to-buffer": "^3.1.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true - }, - "node_modules/filesize": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", - "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" - }, - "node_modules/follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", - "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", - "dependencies": { - "@babel/code-frame": "^7.5.5", - "chalk": "^2.4.1", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "engines": { - "node": ">=6.11.5", - "yarn": ">=1.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.0.tgz", - "integrity": "sha512-o9lSKpK0TDqDwTL24Hxqi6I99s942l6TYkfl6WvGWgLOIFz/YonSGKfiSeMadoiNvTfqnfOa9mjb5SGVbBK9/w==", - "engines": { - "node": "*" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/fs-exists-cached": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", - "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=" - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "node_modules/gatsby": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-3.5.1.tgz", - "integrity": "sha512-wmhU5dsm2Is/aFgNyxjnuVMNK1chP0Kg5cS15JWAk593xk/hUj0i/lomirNmzvl+2Yk2LC8KZ0M/8OM4cocrKg==", - "hasInstallScript": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/core": "^7.12.3", - "@babel/eslint-parser": "^7.13.4", - "@babel/parser": "^7.12.5", - "@babel/runtime": "^7.12.5", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.6", - "@gatsbyjs/reach-router": "^1.3.6", - "@gatsbyjs/webpack-hot-middleware": "^2.25.2", - "@mikaelkristiansson/domready": "^1.0.10", - "@nodelib/fs.walk": "^1.2.4", - "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", - "@types/http-proxy": "^1.17.4", - "@typescript-eslint/eslint-plugin": "^4.15.2", - "@typescript-eslint/parser": "^4.15.2", - "address": "1.1.2", - "anser": "^2.0.1", - "autoprefixer": "^10.2.4", - "axios": "^0.21.1", - "babel-loader": "^8.2.2", - "babel-plugin-add-module-exports": "^1.0.4", - "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-lodash": "^3.3.4", - "babel-plugin-remove-graphql-queries": "^3.5.0", - "babel-preset-gatsby": "^1.5.0", - "better-opn": "^2.0.0", - "bluebird": "^3.7.2", - "body-parser": "^1.19.0", - "browserslist": "^4.12.2", - "cache-manager": "^2.11.1", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "common-tags": "^1.8.0", - "compression": "^1.7.4", - "cookie": "^0.4.1", - "copyfiles": "^2.3.0", - "core-js": "^3.9.0", - "cors": "^2.8.5", - "css-loader": "^5.0.1", - "css-minimizer-webpack-plugin": "^2.0.0", - "css.escape": "^1.5.1", - "date-fns": "^2.14.0", - "debug": "^3.2.7", - "del": "^5.1.0", - "detect-port": "^1.3.0", - "devcert": "^1.1.3", - "dotenv": "^8.2.0", - "eslint": "^7.20.0", - "eslint-config-react-app": "^6.0.0", - "eslint-plugin-flowtype": "^5.3.1", - "eslint-plugin-graphql": "^4.0.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-react": "^7.23.1", - "eslint-plugin-react-hooks": "^4.2.0", - "eslint-webpack-plugin": "^2.5.3", - "event-source-polyfill": "^1.0.15", - "execa": "^4.0.3", - "express": "^4.17.1", - "express-graphql": "^0.9.0", - "fastest-levenshtein": "^1.0.12", - "fastq": "^1.10.0", - "file-loader": "^6.2.0", - "find-cache-dir": "^3.3.1", - "fs-exists-cached": "1.0.0", - "fs-extra": "^8.1.0", - "gatsby-cli": "^3.5.0", - "gatsby-core-utils": "^2.5.0", - "gatsby-graphiql-explorer": "^1.5.0", - "gatsby-legacy-polyfills": "^1.5.0", - "gatsby-link": "^3.5.0", - "gatsby-plugin-page-creator": "^3.5.0", - "gatsby-plugin-typescript": "^3.5.0", - "gatsby-plugin-utils": "^1.5.0", - "gatsby-react-router-scroll": "^4.5.0", - "gatsby-telemetry": "^2.5.0", - "glob": "^7.1.6", - "got": "8.3.2", - "graphql": "^15.4.0", - "graphql-compose": "~7.25.0", - "graphql-playground-middleware-express": "^1.7.18", - "hasha": "^5.2.0", - "http-proxy": "^1.18.1", - "invariant": "^2.2.4", - "is-relative": "^1.0.0", - "is-relative-url": "^3.0.0", - "jest-worker": "^24.9.0", - "joi": "^17.2.1", - "json-loader": "^0.5.7", - "json-stringify-safe": "^5.0.1", - "latest-version": "5.1.0", - "lodash": "^4.17.21", - "md5-file": "^5.0.0", - "meant": "^1.0.1", - "memoizee": "^0.4.15", - "micromatch": "^4.0.2", - "mime": "^2.4.6", - "mini-css-extract-plugin": "1.6.0", - "mitt": "^1.2.0", - "mkdirp": "^0.5.1", - "moment": "^2.27.0", - "multer": "^1.4.2", - "name-all-modules-plugin": "^1.0.1", - "normalize-path": "^3.0.0", - "null-loader": "^4.0.1", - "opentracing": "^0.14.4", - "p-defer": "^3.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "0.1.7", - "physical-cpu-count": "^2.0.0", - "platform": "^1.3.6", - "pnp-webpack-plugin": "^1.6.4", - "postcss": "8.2.6", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^5.0.0", - "prompts": "^2.3.2", - "prop-types": "^15.7.2", - "query-string": "^6.13.1", - "raw-loader": "^4.0.2", - "react-dev-utils": "^11.0.3", - "react-refresh": "^0.9.0", - "redux": "^4.0.5", - "redux-thunk": "^2.3.0", - "resolve-from": "^5.0.0", - "semver": "^7.3.2", - "shallow-compare": "^1.2.2", - "signal-exit": "^3.0.3", - "slugify": "^1.4.4", - "socket.io": "3.1.1", - "socket.io-client": "3.1.1", - "source-map": "^0.7.3", - "source-map-support": "^0.5.19", - "st": "^2.0.0", - "stack-trace": "^0.0.10", - "string-similarity": "^1.2.2", - "strip-ansi": "^5.2.0", - "style-loader": "^2.0.0", - "terser-webpack-plugin": "^5.1.1", - "tmp": "^0.2.1", - "true-case-path": "^2.2.1", - "type-of": "^2.0.1", - "url-loader": "^4.1.1", - "util.promisify": "^1.0.1", - "uuid": "3.4.0", - "v8-compile-cache": "^2.2.0", - "webpack": "^5.35.0", - "webpack-dev-middleware": "^4.1.0", - "webpack-dev-server": "^3.11.2", - "webpack-merge": "^5.7.3", - "webpack-stats-plugin": "^1.0.3", - "webpack-virtual-modules": "^0.3.2", - "xstate": "^4.11.0", - "yaml-loader": "^0.6.0" - }, - "bin": { - "gatsby": "cli.js" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.9.0 || ^17.0.0", - "react-dom": "^16.9.0 || ^17.0.0" - } - }, - "node_modules/gatsby-cli": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-3.5.0.tgz", - "integrity": "sha512-Z7MsqYK7tZJV8gxJilu6ieWvO+RxzFz2Eizineqm4jS1WRhiaK8aqIECRf/kTiT4NQXsxbdmdr9CexauVUEqeQ==", - "hasInstallScript": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@types/common-tags": "^1.8.0", - "better-opn": "^2.0.0", - "chalk": "^4.1.0", - "clipboardy": "^2.3.0", - "common-tags": "^1.8.0", - "configstore": "^5.0.1", - "convert-hrtime": "^3.0.0", - "create-gatsby": "^1.5.0", - "envinfo": "^7.7.3", - "execa": "^3.4.0", - "fs-exists-cached": "^1.0.0", - "fs-extra": "^8.1.0", - "gatsby-core-utils": "^2.5.0", - "gatsby-recipes": "^0.16.0", - "gatsby-telemetry": "^2.5.0", - "hosted-git-info": "^3.0.6", - "is-valid-path": "^0.1.1", - "joi": "^17.4.0", - "lodash": "^4.17.21", - "meant": "^1.0.2", - "node-fetch": "^2.6.1", - "opentracing": "^0.14.4", - "pretty-error": "^2.1.1", - "progress": "^2.0.3", - "prompts": "^2.3.2", - "redux": "^4.0.5", - "resolve-cwd": "^3.0.0", - "semver": "^7.3.2", - "signal-exit": "^3.0.3", - "source-map": "0.7.3", - "stack-trace": "^0.0.10", - "strip-ansi": "^5.2.0", - "update-notifier": "^5.0.1", - "uuid": "3.4.0", - "yargs": "^15.4.1", - "yoga-layout-prebuilt": "^1.9.6", - "yurnalist": "^2.1.0" - }, - "bin": { - "gatsby": "cli.js" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/gatsby-cli/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/gatsby-cli/node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-cli/node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/gatsby-cli/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-cli/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/gatsby-cli/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/gatsby-cli/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-cli/node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-cli/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gatsby-cli/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-cli/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-cli/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/gatsby-cli/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/gatsby-cli/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-cli/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-cli/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/gatsby-cli/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-cli/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/gatsby-core-utils": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-2.5.0.tgz", - "integrity": "sha512-YbKv7FLpeTCts28bv0H2lSuHrKgUxnsC1ZG1PPydOheQgPW9G8pdNlYvwZzGJmmS7rBcC/w859ss90wlvF6GEw==", - "dependencies": { - "ci-info": "2.0.0", - "configstore": "^5.0.1", - "file-type": "^16.2.0", - "fs-extra": "^8.1.0", - "node-object-hash": "^2.0.0", - "proper-lockfile": "^4.1.1", - "tmp": "^0.2.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/gatsby-core-utils/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/gatsby-core-utils/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/gatsby-core-utils/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/gatsby-graphiql-explorer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-1.5.0.tgz", - "integrity": "sha512-u0fa3ZakFgnzHLH6zEsacnKgitqcuLdeqmQ+I6mUrRm9ijKOs884Or5nFYziTVBGbXyVyaAiK4rjxwM1BjEETw==", - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/gatsby-legacy-polyfills": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-1.5.0.tgz", - "integrity": "sha512-aRVk/ArXt7majaxlIKftybY7V6Q22MKiBaQcVWp2Sn7P5xc8M7WO4B7D2vgaEqTxfOmopcWuzHSnCbvMgSPe+A==", - "dependencies": { - "core-js-compat": "3.9.0" - } - }, - "node_modules/gatsby-legacy-polyfills/node_modules/core-js-compat": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.0.tgz", - "integrity": "sha512-YK6fwFjCOKWwGnjFUR3c544YsnA/7DoLL0ysncuOJ4pwbriAtOpvM2bygdlcXbvQCQZ7bBU9CL4t7tGl7ETRpQ==", - "dependencies": { - "browserslist": "^4.16.3", - "semver": "7.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/gatsby-legacy-polyfills/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/gatsby-link": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/gatsby-link/-/gatsby-link-3.5.0.tgz", - "integrity": "sha512-zmf64g8gC7GfZkJSP93MPFqhuKF3tEW/BowHNPqL0VJ/5GbhJrNOfL7FZCwAUc7F2LNsw3Uz7DvKpMY7PFghQg==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "@types/reach__router": "^1.3.7", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "@gatsbyjs/reach-router": "^1.3.5", - "react": "^16.9.0 || ^17.0.0", - "react-dom": "^16.9.0 || ^17.0.0" - } - }, - "node_modules/gatsby-page-utils": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-1.5.0.tgz", - "integrity": "sha512-hL6bY2sYuO7Nk6W6lQw9TBpunMPcZvp3LEZ9WS1YfHWfygVm6v8hKOn09Wsv0n+CSjBH/EJ3ocX5iDlSYkqbKg==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "bluebird": "^3.7.2", - "chokidar": "^3.5.1", - "fs-exists-cached": "^1.0.0", - "gatsby-core-utils": "^2.5.0", - "glob": "^7.1.6", - "lodash": "^4.17.21", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/gatsby-plugin-intl": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/gatsby-plugin-intl/-/gatsby-plugin-intl-0.3.3.tgz", - "integrity": "sha512-VPugNJv3GDkT6RcOBfncZPw3Eqh98RyvChsXfX7VuMQ8mBVoNB6XyNSIiEGG/atxFrpSp/r3WUKpnzpLLpY5dg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4", - "@formatjs/intl-pluralrules": "^1.5.2", - "@formatjs/intl-relativetimeformat": "^4.5.9", - "browser-lang": "^0.1.0", - "intl": "^1.2.5", - "react-intl": "^3.12.0" - }, - "peerDependencies": { - "gatsby": "^2.0.0" - } - }, - "node_modules/gatsby-plugin-intl/node_modules/react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "dev": true, - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gatsby-plugin-intl/node_modules/react-intl": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-3.12.1.tgz", - "integrity": "sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg==", - "dev": true, - "dependencies": { - "@formatjs/intl-displaynames": "^1.2.0", - "@formatjs/intl-listformat": "^1.4.1", - "@formatjs/intl-relativetimeformat": "^4.5.9", - "@formatjs/intl-unified-numberformat": "^3.2.0", - "@formatjs/intl-utils": "^2.2.0", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/invariant": "^2.2.31", - "hoist-non-react-statics": "^3.3.2", - "intl-format-cache": "^4.2.21", - "intl-messageformat": "^7.8.4", - "intl-messageformat-parser": "^3.6.4", - "shallow-equal": "^1.2.1" - }, - "peerDependencies": { - "react": "^16.3.0" - } - }, - "node_modules/gatsby-plugin-page-creator": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-3.5.0.tgz", - "integrity": "sha512-0rH+WWnp8sgNyyKmEtcQAt7EGcBHom6r8oZYqOaVXJsgwr+uzTjg4ncz+Qcz+rb6lMHFY6ajxStFvU/VzIMAxA==", - "dependencies": { - "@babel/traverse": "^7.12.5", - "@sindresorhus/slugify": "^1.1.2", - "chokidar": "^3.5.1", - "fs-exists-cached": "^1.0.0", - "gatsby-core-utils": "^2.5.0", - "gatsby-page-utils": "^1.5.0", - "gatsby-telemetry": "^2.5.0", - "globby": "^11.0.3", - "lodash": "^4.17.21" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "gatsby": "^3.0.0-next.0" - } - }, - "node_modules/gatsby-plugin-sass": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-sass/-/gatsby-plugin-sass-4.5.0.tgz", - "integrity": "sha512-0FP4aDI/3ts83X+cA0IVGI+Wm0spOGT4AFIB0KhMlTdcMEgOq8nWmD//FHPMEBQ73sZiNF2fnfEFQAvYW1HTkg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "resolve-url-loader": "^3.1.2", - "sass-loader": "^10.1.1" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "gatsby": "^3.0.0-next.0", - "sass": "^1.30.0" - } - }, - "node_modules/gatsby-plugin-sass/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/gatsby-plugin-sass/node_modules/sass-loader": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz", - "integrity": "sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==", - "dev": true, - "dependencies": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", - "sass": "^1.3.0", - "webpack": "^4.36.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/gatsby-plugin-sass/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/gatsby-plugin-typescript": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-3.5.0.tgz", - "integrity": "sha512-8Nd4iklXvf0R7kp3H1zHw7KlIniGsz0fc0iBZuWoT/ES43EkZqEHfJWUszJo1wyB1RM3nyob6I+mWbLsrl11Zw==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.5", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/preset-typescript": "^7.12.1", - "@babel/runtime": "^7.12.5", - "babel-plugin-remove-graphql-queries": "^3.5.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "gatsby": "^3.0.0-next.0" - } - }, - "node_modules/gatsby-plugin-utils": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-utils/-/gatsby-plugin-utils-1.5.0.tgz", - "integrity": "sha512-IqCXOGTC+WRtzLUhEbJzR9RlumDGtN/xmsl41AOgfeJvfdeXiomm9nrlCs915XDZh/fYa5MbRpf7Xu4S3skhLA==", - "dependencies": { - "joi": "^17.2.1" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "gatsby": "^3.0.0-next.0" - } - }, - "node_modules/gatsby-react-router-scroll": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/gatsby-react-router-scroll/-/gatsby-react-router-scroll-4.5.0.tgz", - "integrity": "sha512-iE58ZuyMpgfaeuzkcR5P3y6RKYRPfGYYkIeYnXDJ2fwYNpKzPOcf0kPH12fBtb2ZKjHMy4ZmyqHppKqClvu0GQ==", - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "@gatsbyjs/reach-router": "^1.3.5", - "react": "^16.9.0 || ^17.0.0", - "react-dom": "^16.9.0 || ^17.0.0" - } - }, - "node_modules/gatsby-recipes": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.16.0.tgz", - "integrity": "sha512-xS48KK4F/CLxlaHBq4AbTL6/2uSdfTdZuSrNPNPTvNnm9FMiot64e5SZpnZOMz4Wnts5pGPAVqnhfL37iy6V1g==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/generator": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-transform-react-jsx": "^7.12.5", - "@babel/standalone": "^7.12.6", - "@babel/template": "^7.10.4", - "@babel/types": "^7.12.6", - "@graphql-tools/schema": "^7.0.0", - "@graphql-tools/utils": "^7.0.2", - "@hapi/hoek": "8.x.x", - "@hapi/joi": "^15.1.1", - "better-queue": "^3.8.10", - "chokidar": "^3.4.2", - "contentful-management": "^7.5.1", - "cors": "^2.8.5", - "debug": "^4.3.1", - "detect-port": "^1.3.0", - "dotenv": "^8.2.0", - "execa": "^4.0.2", - "express": "^4.17.1", - "express-graphql": "^0.9.0", - "fs-extra": "^8.1.0", - "gatsby-core-utils": "^2.5.0", - "gatsby-telemetry": "^2.5.0", - "glob": "^7.1.6", - "graphql": "^15.4.0", - "graphql-compose": "~7.25.0", - "graphql-subscriptions": "^1.1.0", - "graphql-type-json": "^0.3.2", - "hicat": "^0.8.0", - "is-binary-path": "^2.1.0", - "is-url": "^1.2.4", - "jest-diff": "^25.5.0", - "lock": "^1.0.0", - "lodash": "^4.17.21", - "mitt": "^1.2.0", - "mkdirp": "^0.5.1", - "node-fetch": "^2.5.0", - "pkg-dir": "^4.2.0", - "prettier": "^2.0.5", - "prop-types": "^15.6.1", - "remark-mdx": "^2.0.0-next.4", - "remark-mdxjs": "^2.0.0-next.4", - "remark-parse": "^6.0.3", - "remark-stringify": "^8.1.0", - "resolve-from": "^5.0.0", - "semver": "^7.3.2", - "single-trailing-newline": "^1.0.0", - "strip-ansi": "^6.0.0", - "style-to-object": "^0.3.0", - "unified": "^8.4.2", - "unist-util-remove": "^2.0.0", - "unist-util-visit": "^2.0.2", - "uuid": "3.4.0", - "ws": "^7.3.0", - "xstate": "^4.9.1", - "yoga-layout-prebuilt": "^1.9.6" - } - }, - "node_modules/gatsby-recipes/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/gatsby-recipes/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-recipes/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/gatsby-recipes/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/gatsby-recipes/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-recipes/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/gatsby-recipes/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gatsby-recipes/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-recipes/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-recipes/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-recipes/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gatsby-recipes/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/gatsby-telemetry": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-2.5.0.tgz", - "integrity": "sha512-PbyYw74t/RLVbEWicjAdrCMttV1GSbuHZit0PsVPqqwNlL1LalJa/V7lcVMqqGrEbkB+fUoKkk1u2o+TDgvIng==", - "hasInstallScript": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@turist/fetch": "^7.1.7", - "@turist/time": "^0.0.1", - "async-retry-ng": "^2.0.1", - "boxen": "^4.2.0", - "configstore": "^5.0.1", - "fs-extra": "^8.1.0", - "gatsby-core-utils": "^2.5.0", - "git-up": "^4.0.2", - "is-docker": "^2.1.1", - "lodash": "^4.17.21", - "node-fetch": "^2.6.1", - "uuid": "3.4.0" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/gatsby-telemetry/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/gatsby-telemetry/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/gatsby-telemetry/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/gatsby/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/gatsby/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/gatsby/node_modules/postcss": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.6.tgz", - "integrity": "sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg==", - "dependencies": { - "colorette": "^1.2.1", - "nanoid": "^3.1.20", - "source-map": "^0.6.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/gatsby/node_modules/postcss/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gatsby/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/gatsby/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/generic-names": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz", - "integrity": "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==", - "dev": true, - "dependencies": { - "loader-utils": "^1.1.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/git-up": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.2.tgz", - "integrity": "sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==", - "dependencies": { - "is-ssh": "^1.3.0", - "parse-url": "^5.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "node_modules/global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "dependencies": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/got/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - }, - "node_modules/graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/graphql-compose": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/graphql-compose/-/graphql-compose-7.25.1.tgz", - "integrity": "sha512-TPXTe1BoQkMjp/MH93yA0SQo8PiXxJAv6Eo6K/+kpJELM9l2jZnd5PCduweuXFcKv+nH973wn/VYzYKDMQ9YoQ==", - "dependencies": { - "graphql-type-json": "0.3.2", - "object-path": "0.11.5" - }, - "peerDependencies": { - "graphql": "^14.2.0 || ^15.0.0" - } - }, - "node_modules/graphql-config": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-3.3.0.tgz", - "integrity": "sha512-mSQIsPMssr7QrgqhnjI+CyVH6oQgCrgS6irHsTvwf7RFDRnR2k9kqpQOQgVoOytBSn0DOYryS0w0SAg9xor/Jw==", - "dependencies": { - "@endemolshinegroup/cosmiconfig-typescript-loader": "3.0.2", - "@graphql-tools/graphql-file-loader": "^6.0.0", - "@graphql-tools/json-file-loader": "^6.0.0", - "@graphql-tools/load": "^6.0.0", - "@graphql-tools/merge": "^6.0.0", - "@graphql-tools/url-loader": "^6.0.0", - "@graphql-tools/utils": "^7.0.0", - "cosmiconfig": "7.0.0", - "cosmiconfig-toml-loader": "1.0.0", - "minimatch": "3.0.4", - "string-env-interpolation": "1.0.1" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" - } - }, - "node_modules/graphql-config/node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/graphql-playground-html": { - "version": "1.6.29", - "resolved": "https://registry.npmjs.org/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz", - "integrity": "sha512-fbF/zZKuw2sdfKp8gjTORJ/I9xBsqeEYRseWxBzuR15NHMptRTT9414IyRCs3ognZzUDr5MDJgx97SlLZCtQyA==", - "dependencies": { - "xss": "^1.0.6" - } - }, - "node_modules/graphql-playground-middleware-express": { - "version": "1.7.22", - "resolved": "https://registry.npmjs.org/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.22.tgz", - "integrity": "sha512-PJLiCxLmN6Dp+dHGyHU92m9y3hB/RAkcUBWcqYl2fiP+EbpDDgNfElrsVzW60MhJe+LTV1PFqiInH2d3KNvlCQ==", - "dependencies": { - "graphql-playground-html": "^1.6.29" - }, - "peerDependencies": { - "express": "^4.16.2" - } - }, - "node_modules/graphql-subscriptions": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.2.1.tgz", - "integrity": "sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==", - "dependencies": { - "iterall": "^1.3.0" - }, - "peerDependencies": { - "graphql": "^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" - } - }, - "node_modules/graphql-type-json": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.2.tgz", - "integrity": "sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg==", - "peerDependencies": { - "graphql": ">=0.8.0" - } - }, - "node_modules/graphql-ws": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-4.5.1.tgz", - "integrity": "sha512-GE7vCMKe2D7fc0ugkM1V8QMneHcbV9c3BpPBzdlW/Uzkqv0F/zZq9DDHxLzg55ZhE5OSLL+n/gyqAMPgH59hcw==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": ">=0.11 <=15" - } - }, - "node_modules/gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dependencies": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/gzip-size/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "engines": { - "node": "*" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true - }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hasha/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "node_modules/hicat": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/hicat/-/hicat-0.8.0.tgz", - "integrity": "sha512-om8L9O5XwqeSdwl5NtHgrzK3wcF4fT9T4gb/NktoH8EyoZipas/tvUZLV48xT7fQfMYr9qvb0WEutqdf0LWSqA==", - "dependencies": { - "highlight.js": "^10.4.1", - "minimist": "^1.2.5" - }, - "bin": { - "hicat": "bin/hicat" - } - }, - "node_modules/highlight.js": { - "version": "10.7.2", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", - "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==", - "engines": { - "node": "*" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dev": true, - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "node_modules/hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, - "node_modules/html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==" - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/htmlparser2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" - }, - "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dependencies": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/http-proxy-middleware/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", - "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", - "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/intl": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", - "integrity": "sha1-giRKIZDE5Bn4Nx9ao02qNCDiq94=", - "dev": true - }, - "node_modules/intl-format-cache": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.3.1.tgz", - "integrity": "sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==", - "dev": true - }, - "node_modules/intl-messageformat": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-7.8.4.tgz", - "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", - "dev": true, - "dependencies": { - "intl-format-cache": "^4.2.21", - "intl-messageformat-parser": "^3.6.4" - } - }, - "node_modules/intl-messageformat-parser": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", - "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", - "deprecated": "We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser", - "dev": true, - "dependencies": { - "@formatjs/intl-unified-numberformat": "^3.2.0" - } - }, - "node_modules/into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "dependencies": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "engines": { - "node": ">=4" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "dependencies": { - "call-bind": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dependencies": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "node_modules/is-color-stop/node_modules/css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "engines": { - "node": "*" - } - }, - "node_modules/is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-invalid-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", - "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=", - "dependencies": { - "is-glob": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-invalid-path/node_modules/is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-invalid-path/node_modules/is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dependencies": { - "is-extglob": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd/node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" - }, - "node_modules/is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-relative-url": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-relative-url/-/is-relative-url-3.0.0.tgz", - "integrity": "sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA==", - "dependencies": { - "is-absolute-url": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-ssh": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz", - "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==", - "dependencies": { - "protocols": "^1.1.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "node_modules/is-valid-path": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", - "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=", - "dependencies": { - "is-invalid-path": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/iterall": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", - "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" - }, - "node_modules/jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", - "dependencies": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/joi": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.4.0.tgz", - "integrity": "sha512-F4WiW2xaV6wc1jxete70Rw4V/VuMd6IN+a5ilZsxG4uYtUXWu2kq9W5P2dz30e7Gmw8RCbY/u/uk+dMPma9tAg==", - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.0", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/joi/node_modules/@hapi/hoek": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz", - "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" - }, - "node_modules/joi/node_modules/@hapi/topo": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.0.0.tgz", - "integrity": "sha512-tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, - "node_modules/json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "dependencies": { - "jsonify": "~0.0.0" - } - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "node_modules/json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" - }, - "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", - "dependencies": { - "array-includes": "^3.1.2", - "object.assign": "^4.1.2" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyboardevent-key-polyfill": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/keyboardevent-key-polyfill/-/keyboardevent-key-polyfill-1.1.0.tgz", - "integrity": "sha1-ijGdjkWhMXL8pWKGNy+QwdTHAUw=", - "peer": true - }, - "node_modules/keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", - "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==" - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", - "dependencies": { - "language-subtag-registry": "~0.3.2" - } - }, - "node_modules/latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dependencies": { - "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lock": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/lock/-/lock-1.1.0.tgz", - "integrity": "sha1-UxV0mdFlOxNspmRRBx/KYVcD+lU=" - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, - "node_modules/lodash.deburr": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", - "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=" - }, - "node_modules/lodash.every": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.every/-/lodash.every-4.6.0.tgz", - "integrity": "sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc=" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" - }, - "node_modules/lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "node_modules/lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" - }, - "node_modules/lodash.maxby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.maxby/-/lodash.maxby-4.6.0.tgz", - "integrity": "sha1-CCJABo88eiJ6oAqDgOTzjPB4bj0=" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "node_modules/lodash.without": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz", - "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=" - }, - "node_modules/loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, - "node_modules/longest-streak": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", - "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/loud-rejection": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-2.2.0.tgz", - "integrity": "sha512-S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==", - "dev": true, - "dependencies": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lru-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", - "dependencies": { - "es5-ext": "~0.10.2" - } - }, - "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.4" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "node_modules/map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dependencies": { - "p-defer": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/map-age-cleaner/node_modules/p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "engines": { - "node": ">=4" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/markdown-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", - "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", - "dependencies": { - "repeat-string": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/matches-selector": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/matches-selector/-/matches-selector-1.2.0.tgz", - "integrity": "sha512-c4vLwYWyl+Ji+U43eU/G5FwxWd4ZH0ePUsFs5y0uwD9HUEFBXUQ1zUUan+78IpRD+y4pUfG0nAzNM292K7ItvA==", - "peer": true - }, - "node_modules/md5-file": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-5.0.0.tgz", - "integrity": "sha512-xbEFXCYVWrSx/gEKS1VPlg84h/4L20znVIulKw6kMfmBUAZNAnF00eczz9ICMl+/hjQGo5KSXRxbL/47X3rmMw==", - "bin": { - "md5-file": "cli.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/mdast-util-compact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", - "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-0.1.1.tgz", - "integrity": "sha512-9nncdnHNYSb4HNxY3AwE6gU632jhbXsDGXe9PkkJoEawYWJ8tTwmEOHGlGa2TCRidtkd6FF5I8ogDU9pTDlQyA==", - "dependencies": { - "mdast-util-mdx-expression": "~0.1.0", - "mdast-util-mdx-jsx": "~0.1.0", - "mdast-util-mdxjs-esm": "~0.1.0", - "mdast-util-to-markdown": "^0.6.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-0.1.1.tgz", - "integrity": "sha512-SoO8y1B9NjMOYlNdwXMchuTVvqSTlUmXm1P5QvZNPv7OH7aa8qJV+3aA+vl1DHK9Vk1uZAlgwokjvDQhS6bINA==", - "dependencies": { - "strip-indent": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-0.1.4.tgz", - "integrity": "sha512-67KOAvCmypBSpr+AJEAVQg1Obig5Wnguo4ETTxASe5WVP4TLt57bZjDX/9EW5sWYQsO4gPqLxkUOlypVn5rkhg==", - "dependencies": { - "mdast-util-to-markdown": "^0.6.0", - "parse-entities": "^2.0.0", - "stringify-entities": "^3.1.0", - "unist-util-remove-position": "^3.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-0.1.1.tgz", - "integrity": "sha512-kBiYeashz+nuhfv+712nc4THQhzXIH2gBFUDbuLxuDCqU/fZeg+9FAcdRBx9E13dkpk1p2Xwufzs3wsGJ+mISQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", - "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", - "dependencies": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/meant": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.3.tgz", - "integrity": "sha512-88ZRGcNxAq4EH38cQ4D85PM57pikCwS8Z99EWHODxN7KBY+UuPiqzRTtZzS8KTXO/ywSWbdjjJST2Hly/EQxLw==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mem": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", - "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", - "dependencies": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/mem?sponsor=1" - } - }, - "node_modules/mem/node_modules/mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/memfs": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.2.tgz", - "integrity": "sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q==", - "dependencies": { - "fs-monkey": "1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/memoizee": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", - "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.53", - "es6-weak-map": "^2.0.3", - "event-emitter": "^0.3.5", - "is-promise": "^2.2.2", - "lru-queue": "^0.1.0", - "next-tick": "^1.1.0", - "timers-ext": "^0.1.7" - } - }, - "node_modules/memoizee/node_modules/is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "node_modules/merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/meros": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/meros/-/meros-1.1.4.tgz", - "integrity": "sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ==", - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "@types/node": ">=12" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" - }, - "node_modules/micromark": { - "version": "2.11.4", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", - "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx/-/micromark-extension-mdx-0.2.1.tgz", - "integrity": "sha512-J+nZegf1ExPz1Ft6shxu8M9WfRom1gwRIx6gpJK1SEEqKzY5LjOR1d/WHRtjwV4KoMXrL53+PoN7T1Rw1euJew==", - "dependencies": { - "micromark": "~2.11.0", - "micromark-extension-mdx-expression": "~0.3.0", - "micromark-extension-mdx-jsx": "~0.3.0", - "micromark-extension-mdx-md": "~0.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-expression": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-0.3.2.tgz", - "integrity": "sha512-Sh8YHLSAlbm/7TZkVKEC4wDcJE8XhVpZ9hUXBue1TcAicrrzs/oXu7PHH3NcyMemjGyMkiVS34Y0AHC5KG3y4A==", - "dependencies": { - "micromark": "~2.11.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-0.3.3.tgz", - "integrity": "sha512-kG3VwaJlzAPdtIVDznfDfBfNGMTIzsHqKpTmMlew/iPnUCDRNkX+48ElpaOzXAtK5axtpFKE3Hu3VBriZDnRTQ==", - "dependencies": { - "estree-util-is-identifier-name": "^1.0.0", - "micromark": "~2.11.0", - "micromark-extension-mdx-expression": "^0.3.2", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-md": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-0.1.1.tgz", - "integrity": "sha512-emlFQEyfx/2aPhwyEqeNDfKE6jPH1cvLTb5ANRo4qZBjaUObnzjLRdzK8RJ4Xc8+/dOmKN8TTRxFnOYF5/EAwQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-0.3.0.tgz", - "integrity": "sha512-NQuiYA0lw+eFDtSG4+c7ao3RG9dM4P0Kx/sn8OLyPhxtIc6k+9n14k5VfLxRKfAxYRTo8c5PLZPaRNmslGWxJw==", - "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark": "~2.11.0", - "micromark-extension-mdx-expression": "~0.3.0", - "micromark-extension-mdx-jsx": "~0.3.0", - "micromark-extension-mdx-md": "~0.1.0", - "micromark-extension-mdxjs-esm": "~0.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-0.3.1.tgz", - "integrity": "sha512-tuLgcELrgY1a5tPxjk+MrI3BdYtwW67UaHZdzKiDYD8loNbxwIscfdagI6A2BKuAkrfeyHF6FW3B8KuDK3ZMXw==", - "dependencies": { - "micromark": "~2.11.0", - "micromark-extension-mdx-expression": "^0.3.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs/node_modules/acorn": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.2.4.tgz", - "integrity": "sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/micromark/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/micromark/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", - "dependencies": { - "mime-db": "1.47.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.0.tgz", - "integrity": "sha512-nPFKI7NSy6uONUo9yn2hIfb9vyYvkFu95qki0e21DQ9uaqNKDP15DGpK0KnV6wDroWxPHtExrdEwx/yDQ8nVRw==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/mitt": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", - "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==" - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/multer": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.2.tgz", - "integrity": "sha512-xY8pX7V+ybyUpbYMxtjM9KAiD9ixtg5/JkeKUTD6xilfDv0vzzOFcCp4Ljb1UU3tSOM3VTZtKo63OmzOrGi3Cg==", - "dependencies": { - "append-field": "^1.0.0", - "busboy": "^0.2.11", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.1", - "object-assign": "^4.1.1", - "on-finished": "^2.3.0", - "type-is": "^1.6.4", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/name-all-modules-plugin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz", - "integrity": "sha1-Cr+2rYNXGLn7Te8GdOBmV6lUN1w=" - }, - "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "optional": true - }, - "node_modules/nanoid": { - "version": "3.1.23", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", - "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/native-url": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", - "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==", - "dependencies": { - "querystring": "^0.2.0" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-eta": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-eta/-/node-eta-0.9.0.tgz", - "integrity": "sha1-n7CwmbzSoCGUDmA8ZCVNwAPZp6g=" - }, - "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-object-hash": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/node-object-hash/-/node-object-hash-2.3.1.tgz", - "integrity": "sha512-ab7pm34jqISawXpJ+fHjj2E9CmzDtm2fTTdurgzbWXIrdTEk2q2cSZRzoeGrwa0cvq6Sqezq6S9bhOBYPHRzuQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-releases": { - "version": "1.1.72", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz", - "integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==" - }, - "node_modules/noms": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", - "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "~1.0.31" - } - }, - "node_modules/noms/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/noms/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/noms/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "dependencies": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/normalize-url/node_modules/query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url/node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/null-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", - "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/null-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/null-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-path": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.5.tgz", - "integrity": "sha512-jgSbThcoR/s+XumvGMTMf81QVBmah+/Q7K7YduKeKVWL7N111unR2d6pZZarSk6kY/caeNxUDyxOvMWyzoU2eg==", - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", - "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", - "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opentracing": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/opentracing/-/opentracing-0.14.5.tgz", - "integrity": "sha512-XLKtEfHxqrWyF1fzxznsv78w3csW41ucHnjiKnfzZLD5FN8UBDZZL1i4q0FR29zjxXhm+2Hop+5Vr/b8tKIvEg==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/opn/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dependencies": { - "url-parse": "^1.4.3" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dependencies": { - "retry": "^0.12.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dependencies": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/package-json/node_modules/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json/node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/package-json/node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/package-json/node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/package-json/node_modules/got/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json/node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "node_modules/package-json/node_modules/normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/package-json/node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-path": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz", - "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==", - "dependencies": { - "is-ssh": "^1.3.0", - "protocols": "^1.4.0", - "qs": "^6.9.4", - "query-string": "^6.13.8" - } - }, - "node_modules/parse-path/node_modules/qs": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", - "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/parse-url": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-5.0.2.tgz", - "integrity": "sha512-Czj+GIit4cdWtxo3ISZCvLiUjErSo0iI3wJ+q9Oi3QuMYTI6OZu+7cewMWZ+C1YAnKhYTk6/TLuhIgCypLthPA==", - "dependencies": { - "is-ssh": "^1.3.0", - "normalize-url": "^3.3.0", - "parse-path": "^4.0.0", - "protocols": "^1.4.0" - } - }, - "node_modules/parse-url/node_modules/normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" - }, - "node_modules/parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/password-prompt": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz", - "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==", - "dependencies": { - "ansi-escapes": "^3.1.0", - "cross-spawn": "^6.0.5" - } - }, - "node_modules/password-prompt/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/password-prompt/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/password-prompt/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/password-prompt/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/password-prompt/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/password-prompt/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "node_modules/path-starts-with": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-starts-with/-/path-starts-with-1.0.0.tgz", - "integrity": "sha1-soJDAV6LE43lcmgqxS2kLmRq2E4=", - "dependencies": { - "normalize-path": "^2.1.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-starts-with/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/peek-readable": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.3.tgz", - "integrity": "sha512-mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg==", - "engines": { - "node": ">=8" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/physical-cpu-count": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", - "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" - }, - "node_modules/picomatch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dependencies": { - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dependencies": { - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/platform": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", - "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==" - }, - "node_modules/pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dependencies": { - "ts-pnp": "^1.1.6" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.0.tgz", - "integrity": "sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==", - "dependencies": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-calc": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", - "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", - "dependencies": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.1.0.tgz", - "integrity": "sha512-5s+VNfQ5CsR6yvBc6Tc8NK9cxb/c8sA547zy+8ofL04gs/GygmOcVZt2s6jJn7TvntAw0Bp6MDpq4bd51EPwdw==", - "dependencies": { - "browserslist": "^4.16.0", - "colord": "^1.7.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", - "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "peerDependencies": { - "postcss": "^8.1.4" - } - }, - "node_modules/postcss-loader": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.3.0.tgz", - "integrity": "sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "semver": "^7.3.4" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-loader/node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", - "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", - "dependencies": { - "css-color-names": "^1.0.1", - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.1.tgz", - "integrity": "sha512-UR6R5Ph0c96QB9TMBH3ml8/kvPCThPHepdhRqAbvMRDRHQACPC8iM5NpfIC03+VRMZTGXy4L/BvFzcDFCgb+fA==", - "dependencies": { - "browserslist": "^4.16.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", - "postcss-selector-parser": "^6.0.5", - "vendors": "^1.0.3" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.1.tgz", - "integrity": "sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "is-color-stop": "^1.1.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", - "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", - "dependencies": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.0", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-modules": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.0.0.tgz", - "integrity": "sha512-ghS/ovDzDqARm4Zj6L2ntadjyQMoyJmi0JkLlYtH2QFLrvNlxH5OAVRPWPeKilB0pY7SbuhO173KOWkPAxRJcw==", - "dev": true, - "dependencies": { - "generic-names": "^2.0.1", - "icss-replace-symbols": "^1.1.0", - "lodash.camelcase": "^4.3.0", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "string-hash": "^1.1.1" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", - "dependencies": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.1.tgz", - "integrity": "sha512-hkbG0j58Z1M830/CJ73VsP7gvlG1yF+4y7Fd1w4tD2c7CaA2Psll+pQ6eQhth9y9EaqZSLzamff/D0MZBMbYSg==", - "dependencies": { - "is-absolute-url": "^3.0.3", - "normalize-url": "^4.5.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url/node_modules/normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.1.tgz", - "integrity": "sha512-6mkCF5BQ25HvEcDfrMHCLLFHlraBSlOXFnQMHYhSpDO/5jSR1k8LdEXOkv+7+uzW6o6tBYea1Km0wQSRkPJkwA==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", - "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", - "dependencies": { - "browserslist": "^4.16.0", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.1.tgz", - "integrity": "sha512-cD7DFo6tF9i5eWvwtI4irKOHCpmASFS0xvZ5EQIgEdA1AWfM/XiHHY/iss0gcKHhkqwgYmuo2M0KhJLd5Us6mg==", - "dependencies": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.3.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", - "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5", - "uniqs": "^2.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "engines": { - "node": ">=4" - } - }, - "node_modules/prettier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz", - "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "node_modules/proper-lockfile": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", - "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", - "dependencies": { - "graceful-fs": "^4.2.4", - "retry": "^0.12.0", - "signal-exit": "^3.0.2" - } - }, - "node_modules/protocols": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", - "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==" - }, - "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dependencies": { - "escape-goat": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/query-string": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", - "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", - "dependencies": { - "decode-uri-component": "^0.2.0", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/raw-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/raw-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dev-utils": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz", - "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==", - "dependencies": { - "@babel/code-frame": "7.10.4", - "address": "1.1.2", - "browserslist": "4.14.2", - "chalk": "2.4.2", - "cross-spawn": "7.0.3", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "2.0.0", - "filesize": "6.1.0", - "find-up": "4.1.0", - "fork-ts-checker-webpack-plugin": "4.1.6", - "global-modules": "2.0.0", - "globby": "11.0.1", - "gzip-size": "5.1.1", - "immer": "8.0.1", - "is-root": "2.1.0", - "loader-utils": "2.0.0", - "open": "^7.0.2", - "pkg-up": "3.1.0", - "prompts": "2.4.0", - "react-error-overlay": "^6.0.9", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "strip-ansi": "6.0.0", - "text-table": "0.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/react-dev-utils/node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/react-dev-utils/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-dev-utils/node_modules/browserslist": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz", - "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==", - "dependencies": { - "caniuse-lite": "^1.0.30001125", - "electron-to-chromium": "^1.3.564", - "escalade": "^3.0.2", - "node-releases": "^1.1.61" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/react-dev-utils/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-dev-utils/node_modules/chalk/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/react-dev-utils/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/react-dev-utils/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/react-dev-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/react-dev-utils/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/react-dev-utils/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/react-dev-utils/node_modules/prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/react-dev-utils/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "peerDependencies": { - "react": "17.0.2" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", - "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "node_modules/react-refresh": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", - "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "dependencies": { - "mute-stream": "~0.0.4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-web-to-node-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.1.tgz", - "integrity": "sha512-4zDC6CvjUyusN7V0QLsXVB7pJCD9+vtrM9bYDRv6uBQ+SKfx36rp5AFNPRgh9auKRul/a1iFZJYXcCbwRL+SaA==", - "dependencies": { - "@types/readable-stream": "^2.3.9", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/receptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/receptor/-/receptor-1.0.0.tgz", - "integrity": "sha1-v1RHfgOH5Evr84VRILvaWt6gj4s=", - "peer": true, - "dependencies": { - "element-closest": "^2.0.1", - "keyboardevent-key-polyfill": "^1.0.2", - "matches-selector": "^1.0.0", - "object-assign": "^4.1.0" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "dependencies": { - "minimatch": "3.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/redux": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.0.tgz", - "integrity": "sha512-uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==", - "dependencies": { - "@babel/runtime": "^7.9.2" - } - }, - "node_modules/redux-thunk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", - "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", - "dev": true - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "node_modules/regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/remark-mdx": { - "version": "2.0.0-next.9", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.0.0-next.9.tgz", - "integrity": "sha512-I5dCKP5VE18SMd5ycIeeEk8Hl6oaldUY6PIvjrfm65l7d0QRnLqknb62O2g3QEmOxCswcHTtwITtz6rfUIVs+A==", - "dependencies": { - "mdast-util-mdx": "^0.1.1", - "micromark-extension-mdx": "^0.2.0", - "micromark-extension-mdxjs": "^0.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdxjs": { - "version": "2.0.0-next.8", - "resolved": "https://registry.npmjs.org/remark-mdxjs/-/remark-mdxjs-2.0.0-next.8.tgz", - "integrity": "sha512-Z/+0eWc7pBEABwg3a5ptL+vCTWHYMFnYzpLoJxTm2muBSk8XyB/CL+tEJ6SV3Q/fScHX2dtG4JRcGSpbZFLazQ==", - "dependencies": { - "@babel/core": "7.10.5", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.10.4", - "@babel/plugin-syntax-jsx": "7.10.4", - "@mdx-js/util": "^2.0.0-next.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdxjs/node_modules/@babel/core": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz", - "integrity": "sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.5", - "@babel/helper-module-transforms": "^7.10.5", - "@babel/helpers": "^7.10.4", - "@babel/parser": "^7.10.5", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.5", - "@babel/types": "^7.10.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/remark-mdxjs/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/remark-mdxjs/node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", - "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/remark-mdxjs/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", - "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/remark-mdxjs/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/remark-mdxjs/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/remark-mdxjs/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/remark-mdxjs/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/remark-parse": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", - "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", - "dependencies": { - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", - "xtend": "^4.0.1" - } - }, - "node_modules/remark-parse/node_modules/parse-entities": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", - "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, - "node_modules/remark-parse/node_modules/unist-util-is": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", - "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" - }, - "node_modules/remark-parse/node_modules/unist-util-remove-position": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", - "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", - "dependencies": { - "unist-util-visit": "^1.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse/node_modules/unist-util-visit": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", - "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", - "dependencies": { - "unist-util-visit-parents": "^2.0.0" - } - }, - "node_modules/remark-parse/node_modules/unist-util-visit-parents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", - "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", - "dependencies": { - "unist-util-is": "^3.0.0" - } - }, - "node_modules/remark-stringify": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz", - "integrity": "sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==", - "dependencies": { - "ccount": "^1.0.0", - "is-alphanumeric": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "longest-streak": "^2.0.1", - "markdown-escapes": "^1.0.0", - "markdown-table": "^2.0.0", - "mdast-util-compact": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "stringify-entities": "^3.0.0", - "unherit": "^1.0.4", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "node_modules/renderkid": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", - "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", - "dependencies": { - "css-select": "^2.0.2", - "dom-converter": "^0.2", - "htmlparser2": "^3.10.1", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" - } - }, - "node_modules/renderkid/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/renderkid/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "node_modules/require-package-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz", - "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=" - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-id-refs": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/resolve-id-refs/-/resolve-id-refs-0.1.0.tgz", - "integrity": "sha1-MSZiS4h0idqPwK6IljL4QTrGw+w=", - "peer": true - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" - }, - "node_modules/resolve-url-loader": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.3.tgz", - "integrity": "sha512-WbDSNFiKPPLem1ln+EVTE+bFUBdTTytfQZWbmghroaFNFaAVmGq0Saqw6F/306CwgPXsGwXVxbODE+3xAo/YbA==", - "dev": true, - "dependencies": { - "adjust-sourcemap-loader": "3.0.0", - "camelcase": "5.3.1", - "compose-function": "3.0.3", - "convert-source-map": "1.7.0", - "es6-iterator": "2.0.3", - "loader-utils": "1.2.3", - "postcss": "7.0.21", - "rework": "1.0.1", - "rework-visit": "1.0.0", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/resolve-url-loader/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url-loader/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url-loader/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url-loader/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/resolve-url-loader/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/resolve-url-loader/node_modules/emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/resolve-url-loader/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/resolve-url-loader/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/resolve-url-loader/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", - "dev": true, - "dependencies": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - } - }, - "node_modules/rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", - "dev": true - }, - "node_modules/rework/node_modules/convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", - "dev": true - }, - "node_modules/rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "node_modules/rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sass": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.33.0.tgz", - "integrity": "sha512-9v0MUXnSi62FtfjqcwZ+b8B9FIxdwFEb3FPUkjEPXWd0b5KcnPGSp2XF9WrzcH1ZxedfgJVTdA3A1j4eEj53xg==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/sass-loader": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.1.1.tgz", - "integrity": "sha512-fOCp/zLmj1V1WHDZbUbPgrZhA7HKXHEqkslzB+05U5K9SbSbcmH91C7QLW31AsXikxUMaxXRhhcqWZAxUMLDyA==", - "dev": true, - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", - "sass": "^1.3.0", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" - }, - "node_modules/selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", - "dependencies": { - "node-forge": "^0.10.0" - } - }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semver-diff/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallow-compare": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/shallow-compare/-/shallow-compare-1.2.2.tgz", - "integrity": "sha512-LUMFi+RppPlrHzbqmFnINTrazo0lPNwhcgzuAXVVcfy/mqPDrQmHAyz5bvV0gDAuRFrk804V0HpQ6u9sZ0tBeg==" - }, - "node_modules/shallow-equal": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", - "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/single-trailing-newline": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/single-trailing-newline/-/single-trailing-newline-1.0.0.tgz", - "integrity": "sha1-gfCtKtZFGBlFyAlSpcFBSZLulmQ=", - "dependencies": { - "detect-newline": "^1.0.3" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slugify": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.5.3.tgz", - "integrity": "sha512-/HkjRdwPY3yHJReXu38NiusZw2+LLE2SrhkWJtmlPDB1fqFSvioYj62NkPcrKiNCgRLeGcGK7QBvr1iQwybeXw==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/socket.io": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.1.tgz", - "integrity": "sha512-7cBWdsDC7bbyEF6WbBqffjizc/H4YF1wLdZoOzuYfo2uMNSFjJKuQ36t0H40o9B20DO6p+mSytEd92oP4S15bA==", - "dependencies": { - "@types/cookie": "^0.4.0", - "@types/cors": "^2.8.8", - "@types/node": "^14.14.10", - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.1", - "engine.io": "~4.1.0", - "socket.io-adapter": "~2.1.0", - "socket.io-parser": "~4.0.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz", - "integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==" - }, - "node_modules/socket.io-client": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.1.1.tgz", - "integrity": "sha512-BLgIuCjI7Sf3mDHunKddX9zKR/pbkP7IACM3sJS3jha+zJ6/pGKRV6Fz5XSBHCfUs9YzT8kYIqNwOOuFNLtnYA==", - "dependencies": { - "@types/component-emitter": "^1.2.10", - "backo2": "~1.0.2", - "component-emitter": "~1.3.0", - "debug": "~4.3.1", - "engine.io-client": "~4.1.0", - "parseuri": "0.0.6", - "socket.io-parser": "~4.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-client/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "dependencies": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-parser/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/socket.io/node_modules/@types/node": { - "version": "14.17.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.0.tgz", - "integrity": "sha512-w8VZUN/f7SSbvVReb9SWp6cJFevxb4/nkG65yLAya//98WgocKm5PLDAtSs5CtJJJM+kHmJjO/6mmYW4MHShZA==" - }, - "node_modules/socket.io/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs-client": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", - "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", - "dependencies": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.1" - } - }, - "node_modules/sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.8.tgz", - "integrity": "sha512-NDgA96EnaLSvtbM7trJj+t1LUR3pirkDCcz9nOUlPb5DMBGsH7oES6C3hs3j7R9oHEa1EMvReS/BUAIT5Tcr0g==" - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/spdy-transport/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/spdy-transport/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/spdy-transport/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/spdy/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/spdy/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/st": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/st/-/st-2.0.0.tgz", - "integrity": "sha512-drN+aGYnrZPNYIymmNwIY7LXYJ8MqsqXj4fMRue3FOgGMdGjSX10fhJ3qx0sVQPhcWxhEaN4U/eWM4O4dbYNAw==", - "dependencies": { - "async-cache": "^1.1.0", - "bl": "^4.0.0", - "fd": "~0.0.2", - "mime": "^2.4.4", - "negotiator": "~0.6.2" - }, - "bin": { - "st": "bin/server.js" - }, - "optionalDependencies": { - "graceful-fs": "^4.2.3" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "engines": { - "node": "*" - } - }, - "node_modules/stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==" - }, - "node_modules/state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/streamsearch": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", - "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-env-interpolation": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz", - "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==" - }, - "node_modules/string-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", - "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", - "dev": true - }, - "node_modules/string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "node_modules/string-similarity": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-1.2.2.tgz", - "integrity": "sha512-IoHUjcw3Srl8nsPlW04U3qwWPk3oG2ffLM0tN853d/E/JlIvcmZmDY2Kz5HzKp4lEi2T7QD7Zuvjq/1rDw+XcQ==", - "dependencies": { - "lodash.every": "^4.6.0", - "lodash.flattendeep": "^4.4.0", - "lodash.foreach": "^4.5.0", - "lodash.map": "^4.6.0", - "lodash.maxby": "^4.6.0" - } - }, - "node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz", - "integrity": "sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has-symbols": "^1.0.1", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-entities": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", - "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", - "dependencies": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strtok3": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.0.8.tgz", - "integrity": "sha512-QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw==", - "dependencies": { - "@tokenizer/token": "^0.1.1", - "@types/debug": "^4.1.5", - "peek-readable": "^3.1.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/strtok3/node_modules/@types/debug": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", - "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" - }, - "node_modules/style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/style-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/style-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, - "node_modules/stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dependencies": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/subscriptions-transport-ws": { - "version": "0.9.18", - "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.18.tgz", - "integrity": "sha512-tztzcBTNoEbuErsVQpTN2xUNN/efAZXyCyL5m3x4t6SKrEiTL2N8SaKWBFWM4u56pL79ULif3zjyeq+oV+nOaA==", - "dependencies": { - "backo2": "^1.0.2", - "eventemitter3": "^3.1.0", - "iterall": "^1.2.1", - "symbol-observable": "^1.0.4", - "ws": "^5.2.0" - }, - "peerDependencies": { - "graphql": ">=0.10.0" - } - }, - "node_modules/subscriptions-transport-ws/node_modules/eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" - }, - "node_modules/subscriptions-transport-ws/node_modules/ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/sudo-prompt": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz", - "integrity": "sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==" - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/svgo": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.0.tgz", - "integrity": "sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q==", - "dependencies": { - "@trysound/sax": "0.1.1", - "chalk": "^4.1.0", - "commander": "^7.1.0", - "css-select": "^3.1.2", - "css-tree": "^1.1.2", - "csso": "^4.2.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/svgo/node_modules/css-select": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", - "integrity": "sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^4.0.0", - "domhandler": "^4.0.0", - "domutils": "^2.4.3", - "nth-check": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/css-what": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", - "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/svgo/node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/svgo/node_modules/domhandler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/svgo/node_modules/domutils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", - "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/svgo/node_modules/nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sync-fetch": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.3.0.tgz", - "integrity": "sha512-dJp4qg+x4JwSEW1HibAuMi0IIrBI3wuQr2GimmqB7OXR50wmwzfdusG+p39R9w3R6aFtZ2mzvxvWKQ3Bd/vx3g==", - "dependencies": { - "buffer": "^5.7.0", - "node-fetch": "^2.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "dependencies": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.5.0.tgz", - "integrity": "sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/table/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.2.tgz", - "integrity": "sha512-6QhDaAiVHIQr5Ab3XUWZyDmrIPCHMiqJVljMF91YKyqwKkL5QHnYMkrMBy96v9Z7ev1hGhSEw1HQZc2p/s5Z8Q==", - "dependencies": { - "jest-worker": "^26.6.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.7.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "node_modules/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/timers-ext": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", - "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", - "dependencies": { - "es5-ext": "~0.10.46", - "next-tick": "1" - } - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/token-types": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-2.1.1.tgz", - "integrity": "sha512-wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==", - "dependencies": { - "@tokenizer/token": "^0.1.1", - "ieee754": "^1.2.1" - }, - "engines": { - "node": ">=0.1.98" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, - "node_modules/trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/true-case-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" - }, - "node_modules/ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", - "dependencies": { - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "typescript": ">=2.7" - } - }, - "node_modules/ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "engines": { - "node": ">=6" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.0.2.tgz", - "integrity": "sha512-a720oz3Kjbp3ll0zkeN9qjRhO7I34MKMhPGQiQJAmaZQZQ1lo+NWThK322f7sXV+kTg9B1Ybt16KgBXWgteT8w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-of": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-of/-/type-of-2.0.1.tgz", - "integrity": "sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI=" - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", - "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", - "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", - "dependencies": { - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-3.0.0.tgz", - "integrity": "sha512-17kIOuolVuK16LMb9KyMJlqdfCtlfQY5FjY3Sdo9iC7F5wqdXhNjMq0PBvMpkVNNnAmHxXssUW+rZ9T2zbP0Rg==", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unixify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", - "integrity": "sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=", - "dependencies": { - "normalize-path": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unixify/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dependencies": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/boxen": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", - "integrity": "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==", - "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.0", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated" - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "engines": { - "node": ">= 4" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "node_modules/url/node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uswds": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/uswds/-/uswds-2.10.3.tgz", - "integrity": "sha512-krNRzx1jRzOJpuH/qtmQhd5zxnXTaDVqrPNYT99sJbxzWUqjb1zZHh3jFNo+xKDpNuiO0XMPwZwlaSp2YdZ3Ag==", - "peer": true, - "dependencies": { - "classlist-polyfill": "^1.0.3", - "del": "^6.0.0", - "domready": "^1.0.8", - "elem-dataset": "^2.0.0", - "lodash.debounce": "^4.0.7", - "object-assign": "^4.1.1", - "receptor": "^1.0.0", - "resolve-id-refs": "^0.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/uswds/node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "peer": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/uswds/node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "peer": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - }, - "node_modules/valid-url": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/value-or-promise": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.6.tgz", - "integrity": "sha512-9r0wQsWD8z/BxPOvnwbPf05ZvFngXyouE9EKB+5GbYix+BYnAwrIChCUyFIinfbf2FL/U71z+CPpbnmTdxrwBg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", - "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vue": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.11.tgz", - "integrity": "sha512-3/eUi4InQz8MPzruHYSTQPxtM3LdZ1/S/BvaU021zBnZi0laRUyH6pfuE4wtUeLvI8wmUNwj5wrZFvbHUXL9dw==", - "dev": true, - "peer": true, - "dependencies": { - "@vue/compiler-dom": "3.0.11", - "@vue/runtime-dom": "3.0.11", - "@vue/shared": "3.0.11" - } - }, - "node_modules/watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/webpack": { - "version": "5.37.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.37.1.tgz", - "integrity": "sha512-btZjGy/hSjCAAVHw+cKG+L0M+rstlyxbO2C+BOTaQ5/XAnxkDrP5sVbqWhXgo4pL3X2dcOib6rqCP20Zr9PLow==", - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.47", - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/wasm-edit": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "acorn": "^8.2.1", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.4.0", - "eslint-scope": "^5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.0.0", - "webpack-sources": "^2.1.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz", - "integrity": "sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==", - "dependencies": { - "colorette": "^1.2.2", - "mem": "^8.1.1", - "memfs": "^3.2.2", - "mime-types": "^2.1.30", - "range-parser": "^1.2.1", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= v10.23.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", - "dependencies": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 6.11.5" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/webpack-dev-server/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/webpack-dev-server/node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/webpack-dev-server/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/webpack-dev-server/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "node_modules/webpack-dev-server/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" - }, - "node_modules/webpack-dev-server/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/webpack-dev-server/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-dev-server/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/webpack-dev-server/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-server/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/webpack-dev-server/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack-dev-server/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/webpack-dev-server/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/webpack-dev-server/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dependencies": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-log/node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-stats-plugin": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/webpack-stats-plugin/-/webpack-stats-plugin-1.0.3.tgz", - "integrity": "sha512-tV/SQHl6lKfBahJcNDmz8JG1rpWPB9NEDQSMIoL74oVAotdxYljpgIsgLzgc1N9QrtA9KEA0moJVwQtNZv2aDA==" - }, - "node_modules/webpack-virtual-modules": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.3.2.tgz", - "integrity": "sha512-RXQXioY6MhzM4CNQwmBwKXYgBs6ulaiQ8bkNQEl2J6Z+V+s7lgl/wGvaI/I0dLnYKB8cKsxQc17QOAVIphPLDw==", - "dependencies": { - "debug": "^3.0.0" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.2.4.tgz", - "integrity": "sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack/node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/webpack-sources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", - "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", - "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", - "dependencies": { - "microevent.ts": "~0.1.1" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", - "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/xmlhttprequest-ssl": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz", - "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/xss": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.9.tgz", - "integrity": "sha512-2t7FahYnGJys6DpHLhajusId7R0Pm2yTmuL0GV9+mV0ZlaLSnb2toBmppATfg5sWIhZQGlsTLoecSzya+l4EAQ==", - "dependencies": { - "commander": "^2.20.3", - "cssfilter": "0.0.10" - }, - "bin": { - "xss": "bin/xss" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/xss/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/xstate": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.19.1.tgz", - "integrity": "sha512-tnBh6ue9MiyoMkE2+w1IqfvJm4nBe3S4Ky/RLvlo9vka8FdO4WyyT3M7PA0pQoM/FZ9aJVWFOlsNw0Nc7E+4Bw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/xstate" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yaml-loader": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.6.0.tgz", - "integrity": "sha512-1bNiLelumURyj+zvVHOv8Y3dpCri0F2S+DCcmps0pA1zWRLjS+FhZQg4o3aUUDYESh73+pKZNI18bj7stpReow==", - "dependencies": { - "loader-utils": "^1.4.0", - "yaml": "^1.8.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yoga-layout-prebuilt": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.10.0.tgz", - "integrity": "sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==", - "dependencies": { - "@types/yoga-layout": "1.9.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yurnalist": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/yurnalist/-/yurnalist-2.1.0.tgz", - "integrity": "sha512-PgrBqosQLM3gN2xBFIMDLACRTV9c365VqityKKpSTWpwR+U4LAFR3rSVyEoscWlu3EzX9+Y0I86GXUKxpHFl6w==", - "dependencies": { - "chalk": "^2.4.2", - "inquirer": "^7.0.0", - "is-ci": "^2.0.0", - "read": "^1.0.7", - "strip-ansi": "^5.2.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/yurnalist/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/yurnalist/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/yurnalist/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/yurnalist/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/yurnalist/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/yurnalist/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/yurnalist/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - }, - "dependencies": { - "@ardatan/aggregate-error": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz", - "integrity": "sha512-vyrkEHG1jrukmzTPtyWB4NLPauUw5bQeg4uhn8f+1SSynmrOcyvlb1GKQjjgoBzElLdfXCRYX8UnBlhklOHYRQ==", - "requires": { - "tslib": "~2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/compat-data": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", - "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==" - }, - "@babel/core": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz", - "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.3", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.14.2", - "@babel/helpers": "^7.14.0", - "@babel/parser": "^7.14.3", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.2", - "@babel/types": "^7.14.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "@babel/eslint-parser": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.14.3.tgz", - "integrity": "sha512-IfJXKEVRV/Gisvgmih/+05gkBzzg4Dy0gcxkZ84iFiLK8+O+fI1HLnGJv3UrUMPpsMmmThNa69v+UnF80XP+kA==", - "requires": { - "eslint-scope": "^5.1.0", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/generator": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", - "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", - "requires": { - "@babel/types": "^7.14.2", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", - "requires": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.3.tgz", - "integrity": "sha512-BnEfi5+6J2Lte9LeiL6TxLWdIlEv9Woacc1qXzXBgbikcOzMRM2Oya5XGg/f/ngotv1ej2A/b+3iJH8wbS1+lQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.14.2", - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.14.3", - "@babel/helper-split-export-declaration": "^7.12.13" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz", - "integrity": "sha512-JIB2+XJrb7v3zceV2XzDhGIB902CmKGSpSl4q2C6agU9SNLG/2V1RtFRGPG1Ajh9STj3+q6zJMOC+N/pp2P9DA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", - "requires": { - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-function-name": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz", - "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==", - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.14.2" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", - "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", - "requires": { - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-module-transforms": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz", - "integrity": "sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==", - "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.2", - "@babel/types": "^7.14.2" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz", - "integrity": "sha512-Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.14.2", - "@babel/types": "^7.14.2" - } - }, - "@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==" - }, - "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==" - }, - "@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/helpers": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", - "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", - "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" - } - }, - "@babel/highlight": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.3.tgz", - "integrity": "sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==" - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz", - "integrity": "sha512-b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz", - "integrity": "sha512-HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.3", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-class-static-block": "^7.12.13" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz", - "integrity": "sha512-oxVQZIWFh91vuNEMKltqNsKLFWkOIyJc95k2Gv9lWVyDfPUQGSSlbDEgWuJUU1afGE9WwlzpucMZ3yDRHIItkA==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz", - "integrity": "sha512-sRxW3z3Zp3pFfLAgVEvzTFutTXax837oOatUIvSG9o5gRj9mKwm3br1Se5f4QalTQs9x4AzlA/HrCWbQIHASUQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.2.tgz", - "integrity": "sha512-w2DtsfXBBJddJacXMBhElGEYqCZQqN99Se1qeYn8DVLB33owlrlLftIbMzn5nz1OITfDVknXF433tBrLEAOEjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz", - "integrity": "sha512-1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz", - "integrity": "sha512-ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz", - "integrity": "sha512-DcTQY9syxu9BpU3Uo94fjCB3LN9/hgPS8oUL7KrSW3bA2ePrKZZPJcc5y0hoJAM9dft3pGfErtEUvxXQcfLxUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.2.tgz", - "integrity": "sha512-hBIQFxwZi8GIp934+nj5uV31mqclC1aYDhctDu5khTi9PCCUOczyy0b34W0oE9U/eJXiqQaKyVsmjeagOaSlbw==", - "requires": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.2" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz", - "integrity": "sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz", - "integrity": "sha512-qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz", - "integrity": "sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-create-class-features-plugin": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-private-property-in-object": "^7.14.0" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz", - "integrity": "sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", - "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz", - "integrity": "sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", - "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", - "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.2.tgz", - "integrity": "sha512-neZZcP19NugZZqNwMTH+KoBjx5WyvESPSIOQb4JHpfd+zPfqcH65RMu5xJju5+6q/Y2VzYrleQTr+b6METyyxg==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.2.tgz", - "integrity": "sha512-7oafAVcucHquA/VZCsXv/gmuiHeYd64UJyyTYU+MPfNu0KeNlxw06IeENBO8bJjXVbolu+j1MM5aKQtH1OMCNg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.14.2", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.2.tgz", - "integrity": "sha512-hPC6XBswt8P3G2D1tSV2HzdKvkqOpmbyoy+g73JG0qlF/qx2y3KaMmXb1fLrpmWGLZYA0ojCvaHdzFWjlmV+Pw==", - "requires": { - "@babel/helper-module-transforms": "^7.14.2", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz", - "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==", - "requires": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.13.12", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", - "requires": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz", - "integrity": "sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==", - "requires": { - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz", - "integrity": "sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.2.tgz", - "integrity": "sha512-zCubvP+jjahpnFJvPaHPiGVfuVUjXHhFvJKQdNnsmSsiU9kR/rCZ41jHc++tERD2zV+p7Hr6is+t5b6iWTCqSw==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.3.tgz", - "integrity": "sha512-uuxuoUNVhdgYzERiHHFkE4dWoJx+UFVyuAl0aqN8P2/AKFHwqgUC5w2+4/PjpKXJsFgBlYAFXlUmDQ3k3DUkXw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-jsx": "^7.12.13", - "@babel/types": "^7.14.2" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz", - "integrity": "sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.12.17" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", - "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", - "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz", - "integrity": "sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg==", - "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.3.tgz", - "integrity": "sha512-G5Bb5pY6tJRTC4ag1visSgiDoGgJ1u1fMUgmc2ijLkcIdzP83Q1qyZX4ggFQ/SkR+PNOatkaYC+nKcTlpsX4ag==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.3", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-typescript": "^7.12.13" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/preset-env": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.2.tgz", - "integrity": "sha512-7dD7lVT8GMrE73v4lvDEb85cgcQhdES91BSD7jS/xjC6QY8PnRhux35ac+GCpbiRhp8crexBvZZqnaL6VrY8TQ==", - "requires": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.14.2", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-class-static-block": "^7.13.11", - "@babel/plugin-proposal-dynamic-import": "^7.14.2", - "@babel/plugin-proposal-export-namespace-from": "^7.14.2", - "@babel/plugin-proposal-json-strings": "^7.14.2", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.2", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.2", - "@babel/plugin-proposal-numeric-separator": "^7.14.2", - "@babel/plugin-proposal-object-rest-spread": "^7.14.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.2", - "@babel/plugin-proposal-optional-chaining": "^7.14.2", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-private-property-in-object": "^7.14.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.12.13", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.0", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.14.2", - "@babel/plugin-transform-classes": "^7.14.2", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.17", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.14.2", - "@babel/plugin-transform-modules-commonjs": "^7.14.0", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.14.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.14.2", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.2", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.13.13", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.13.13.tgz", - "integrity": "sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-transform-react-display-name": "^7.12.13", - "@babel/plugin-transform-react-jsx": "^7.13.12", - "@babel/plugin-transform-react-jsx-development": "^7.12.17", - "@babel/plugin-transform-react-pure-annotations": "^7.12.1" - } - }, - "@babel/preset-typescript": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz", - "integrity": "sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==", - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-transform-typescript": "^7.13.0" - } - }, - "@babel/runtime": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", - "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/runtime-corejs3": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz", - "integrity": "sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg==", - "requires": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/standalone": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.14.3.tgz", - "integrity": "sha512-nv9eIzaXjrPwfytt5SfKAbM5DJWfpJ6EiGhRar+p95k8r6ZNydF8svvjQVpbqqPIubR+tz1WyRlMJ3AUfXg4Pg==" - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", - "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.2", - "@babel/helper-function-name": "^7.14.2", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.14.2", - "@babel/types": "^7.14.2", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@babel/types": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz", - "integrity": "sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.0", - "to-fast-properties": "^2.0.0" - } - }, - "@endemolshinegroup/cosmiconfig-typescript-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", - "integrity": "sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==", - "requires": { - "lodash.get": "^4", - "make-error": "^1", - "ts-node": "^9", - "tslib": "^2" - } - }, - "@eslint/eslintrc": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", - "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "requires": { - "type-fest": "^0.8.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - } - } - }, - "@formatjs/cli": { - "version": "4.2.15", - "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-4.2.15.tgz", - "integrity": "sha512-B8fMtNMJViBRocRPlt9iPzuJa5/wadVHj0tySITGXQd9T1SyijuBMlxHRWrq4jyx6wZSIN5AwapWZkeHMZQ9YA==", - "dev": true, - "requires": { - "@formatjs/icu-messageformat-parser": "2.0.3", - "@formatjs/ts-transformer": "3.3.14", - "@types/json-stable-stringify": "^1.0.32", - "@types/lodash": "^4.14.150", - "@types/node": "14", - "@vue/compiler-core": "^3.0.0", - "@vue/compiler-sfc": "^3.0.5", - "chalk": "^4.0.0", - "commander": "7", - "fast-glob": "^3.2.4", - "fs-extra": "^9.0.0", - "json-stable-stringify": "^1.0.1", - "lodash": "^4.17.15", - "loud-rejection": "^2.2.0", - "tslib": "^2.1.0", - "typescript": "^4.0" - }, - "dependencies": { - "@types/node": { - "version": "14.17.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.0.tgz", - "integrity": "sha512-w8VZUN/f7SSbvVReb9SWp6cJFevxb4/nkG65yLAya//98WgocKm5PLDAtSs5CtJJJM+kHmJjO/6mmYW4MHShZA==", - "dev": true - } - } - }, - "@formatjs/ecma402-abstract": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.9.0.tgz", - "integrity": "sha512-hKWk3t4uKmGW1kS6lR8j3vzHhyK3oXb/sgQ6YImsHLen8FFbmPDEEiwz6geNaKtEioCGYFF1B2BYLBH8JjbFxQ==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.3.tgz", - "integrity": "sha512-Tk0nIj21f3XO6PP+9k9L9bmBbrIZqHIBDOVyT1M4mYXdryWPs6ZKF8irnLc3gIWG4wjBhCDAnDeaXIjoF7roPA==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.9.0", - "@formatjs/icu-skeleton-parser": "1.2.4", - "tslib": "^2.1.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.2.4.tgz", - "integrity": "sha512-7Cce3JTBwav9ubcI2Nk1qQ0NOacq9N1xvJ6zzpuyK54a80TwaWYum988imD/qiLQ5fQkKcwKeB3/bSugzRlqZw==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.9.0", - "tslib": "^2.1.0" - } - }, - "@formatjs/intl-displaynames": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-1.2.10.tgz", - "integrity": "sha512-GROA2RP6+7Ouu0WnHFF78O5XIU7pBfI19WM1qm93l6MFWibUk67nCfVCK3VAYJkLy8L8ZxjkYT11VIAfvSz8wg==", - "dev": true, - "requires": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "@formatjs/intl-listformat": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-1.4.8.tgz", - "integrity": "sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ==", - "dev": true, - "requires": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "@formatjs/intl-pluralrules": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-1.5.9.tgz", - "integrity": "sha512-37E1ZG+Oqo3qrpUfumzNcFTV+V+NCExmTkkQ9Zw4FSlvJ4WhbbeYdieVapUVz9M0cLy8XrhCkfuM/Kn03iKReg==", - "dev": true, - "requires": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "@formatjs/intl-relativetimeformat": { - "version": "4.5.16", - "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.16.tgz", - "integrity": "sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A==", - "dev": true, - "requires": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "@formatjs/intl-unified-numberformat": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz", - "integrity": "sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==", - "dev": true, - "requires": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "@formatjs/intl-utils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz", - "integrity": "sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==", - "dev": true - }, - "@formatjs/ts-transformer": { - "version": "3.3.14", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-3.3.14.tgz", - "integrity": "sha512-uU1WTcFyK880mq3uv43xNDIzaXttE+KshRfxDKWqyoyrcgEpMqyKbwXtN0R3tjjJqB0ITmXa9eFaXXC6HARfiA==", - "dev": true, - "requires": { - "@formatjs/icu-messageformat-parser": "2.0.3", - "tslib": "^2.1.0", - "typescript": "^4.0" - } - }, - "@gatsbyjs/reach-router": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@gatsbyjs/reach-router/-/reach-router-1.3.6.tgz", - "integrity": "sha512-RW9ZBir9kqtw4IWm+Z+DLWGOeoJxoaTvNVrnR5fV9zD8EmfAhbBN/hS6i6VnTMFZ7rdd6mnpx2/XtnMvYfsaVQ==", - "requires": { - "invariant": "^2.2.3", - "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4" - } - }, - "@gatsbyjs/webpack-hot-middleware": { - "version": "2.25.2", - "resolved": "https://registry.npmjs.org/@gatsbyjs/webpack-hot-middleware/-/webpack-hot-middleware-2.25.2.tgz", - "integrity": "sha512-IFxleSfFQlvEXho2sDRa0PM+diTI+6tlb38jeUo/Lsi+mDzyjPte5Cj4aWL6PR8FpKGMl+DYfq1jxNvjH2gqkA==", - "requires": { - "ansi-html": "0.0.7", - "html-entities": "^2.1.0", - "querystring": "^0.2.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "@graphql-tools/batch-execute": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-7.1.2.tgz", - "integrity": "sha512-IuR2SB2MnC2ztA/XeTMTfWcA0Wy7ZH5u+nDkDNLAdX+AaSyDnsQS35sCmHqG0VOGTl7rzoyBWLCKGwSJplgtwg==", - "requires": { - "@graphql-tools/utils": "^7.7.0", - "dataloader": "2.0.0", - "tslib": "~2.2.0", - "value-or-promise": "1.0.6" - } - }, - "@graphql-tools/delegate": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-7.1.5.tgz", - "integrity": "sha512-bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g==", - "requires": { - "@ardatan/aggregate-error": "0.0.6", - "@graphql-tools/batch-execute": "^7.1.2", - "@graphql-tools/schema": "^7.1.5", - "@graphql-tools/utils": "^7.7.1", - "dataloader": "2.0.0", - "tslib": "~2.2.0", - "value-or-promise": "1.0.6" - } - }, - "@graphql-tools/graphql-file-loader": { - "version": "6.2.7", - "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-6.2.7.tgz", - "integrity": "sha512-5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ==", - "requires": { - "@graphql-tools/import": "^6.2.6", - "@graphql-tools/utils": "^7.0.0", - "tslib": "~2.1.0" - }, - "dependencies": { - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } - } - }, - "@graphql-tools/import": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-6.3.1.tgz", - "integrity": "sha512-1szR19JI6WPibjYurMLdadHKZoG9C//8I/FZ0Dt4vJSbrMdVNp8WFxg4QnZrDeMG4MzZc90etsyF5ofKjcC+jw==", - "requires": { - "resolve-from": "5.0.0", - "tslib": "~2.2.0" - } - }, - "@graphql-tools/json-file-loader": { - "version": "6.2.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-6.2.6.tgz", - "integrity": "sha512-CnfwBSY5926zyb6fkDBHnlTblHnHI4hoBALFYXnrg0Ev4yWU8B04DZl/pBRUc459VNgO2x8/mxGIZj2hPJG1EA==", - "requires": { - "@graphql-tools/utils": "^7.0.0", - "tslib": "~2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "@graphql-tools/load": { - "version": "6.2.8", - "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-6.2.8.tgz", - "integrity": "sha512-JpbyXOXd8fJXdBh2ta0Q4w8ia6uK5FHzrTNmcvYBvflFuWly2LDTk2abbSl81zKkzswQMEd2UIYghXELRg8eTA==", - "requires": { - "@graphql-tools/merge": "^6.2.12", - "@graphql-tools/utils": "^7.5.0", - "globby": "11.0.3", - "import-from": "3.0.0", - "is-glob": "4.0.1", - "p-limit": "3.1.0", - "tslib": "~2.2.0", - "unixify": "1.0.0", - "valid-url": "1.0.9" - } - }, - "@graphql-tools/merge": { - "version": "6.2.14", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.14.tgz", - "integrity": "sha512-RWT4Td0ROJai2eR66NHejgf8UwnXJqZxXgDWDI+7hua5vNA2OW8Mf9K1Wav1ZkjWnuRp4ztNtkZGie5ISw55ow==", - "requires": { - "@graphql-tools/schema": "^7.0.0", - "@graphql-tools/utils": "^7.7.0", - "tslib": "~2.2.0" - } - }, - "@graphql-tools/schema": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-7.1.5.tgz", - "integrity": "sha512-uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA==", - "requires": { - "@graphql-tools/utils": "^7.1.2", - "tslib": "~2.2.0", - "value-or-promise": "1.0.6" - } - }, - "@graphql-tools/url-loader": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-6.10.1.tgz", - "integrity": "sha512-DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==", - "requires": { - "@graphql-tools/delegate": "^7.0.1", - "@graphql-tools/utils": "^7.9.0", - "@graphql-tools/wrap": "^7.0.4", - "@microsoft/fetch-event-source": "2.0.1", - "@types/websocket": "1.0.2", - "abort-controller": "3.0.0", - "cross-fetch": "3.1.4", - "extract-files": "9.0.0", - "form-data": "4.0.0", - "graphql-ws": "^4.4.1", - "is-promise": "4.0.0", - "isomorphic-ws": "4.0.1", - "lodash": "4.17.21", - "meros": "1.1.4", - "subscriptions-transport-ws": "^0.9.18", - "sync-fetch": "0.3.0", - "tslib": "~2.2.0", - "valid-url": "1.0.9", - "ws": "7.4.5" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "@graphql-tools/utils": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.10.0.tgz", - "integrity": "sha512-d334r6bo9mxdSqZW6zWboEnnOOFRrAPVQJ7LkU8/6grglrbcu6WhwCLzHb90E94JI3TD3ricC3YGbUqIi9Xg0w==", - "requires": { - "@ardatan/aggregate-error": "0.0.6", - "camel-case": "4.1.2", - "tslib": "~2.2.0" - } - }, - "@graphql-tools/wrap": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-7.0.8.tgz", - "integrity": "sha512-1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==", - "requires": { - "@graphql-tools/delegate": "^7.1.5", - "@graphql-tools/schema": "^7.1.5", - "@graphql-tools/utils": "^7.8.1", - "tslib": "~2.2.0", - "value-or-promise": "1.0.6" - } - }, - "@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" - }, - "@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" - }, - "@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==" - }, - "@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "requires": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", - "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "requires": { - "@hapi/hoek": "^8.3.0" - } - }, - "@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" - }, - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "@mdx-js/util": { - "version": "2.0.0-next.8", - "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-2.0.0-next.8.tgz", - "integrity": "sha512-T0BcXmNzEunFkuxrO8BFw44htvTPuAoKbLvTG41otyZBDV1Rs+JMddcUuaP5vXpTWtgD3grhcrPEwyx88RUumQ==" - }, - "@microsoft/fetch-event-source": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz", - "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==" - }, - "@mikaelkristiansson/domready": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mikaelkristiansson/domready/-/domready-1.0.11.tgz", - "integrity": "sha512-nEBLOa0JgtqahmPrnJZ18epLiFBzxhdKgo4uhN3TaBFRmM30pEVrS9FAEV4tg92d8PTdU+dYQx2lnpPyFMgMcg==" - }, - "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "requires": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==" - }, - "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "requires": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - } - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", - "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==", - "requires": { - "ansi-html": "^0.0.7", - "error-stack-parser": "^2.0.6", - "html-entities": "^1.2.1", - "native-url": "^0.2.6", - "schema-utils": "^2.6.5", - "source-map": "^0.7.3" - }, - "dependencies": { - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } - } - }, - "@sideway/address": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.2.tgz", - "integrity": "sha512-idTz8ibqWFrPU8kMirL0CoPH/A29XOzzAzpyN3zQ4kAWnzmNfFmRaoMNN6VI8ske5M73HZyhIaW4OuSFIdM4oA==", - "requires": { - "@hapi/hoek": "^9.0.0" - }, - "dependencies": { - "@hapi/hoek": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz", - "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" - } - } - }, - "@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" - }, - "@sindresorhus/slugify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz", - "integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==", - "requires": { - "@sindresorhus/transliterate": "^0.1.1", - "escape-string-regexp": "^4.0.0" - } - }, - "@sindresorhus/transliterate": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz", - "integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==", - "requires": { - "escape-string-regexp": "^2.0.0", - "lodash.deburr": "^4.1.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@tokenizer/token": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", - "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" - }, - "@trussworks/react-uswds": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@trussworks/react-uswds/-/react-uswds-1.17.0.tgz", - "integrity": "sha512-1LI7IcMEUIG4MwIfm0NlTtUf/1AwQbW/vIk9evuSoWkwiK8CpXHOVZXKwalhVrncyDzjf+CpV9PDmlnf747Vvg==", - "requires": {} - }, - "@trysound/sax": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz", - "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==" - }, - "@turist/fetch": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/@turist/fetch/-/fetch-7.1.7.tgz", - "integrity": "sha512-XP20kvfyMNlWdPVQXyuzA40LoCHbbJptikt7W+TlZ5sS+NNjk70xjXCtHBLEudp7li3JldXEFSIUzpW1a0WEhA==", - "requires": { - "@types/node-fetch": "2" - } - }, - "@turist/time": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@turist/time/-/time-0.0.1.tgz", - "integrity": "sha512-M2BiThcbxMxSKX8W4z5u9jKZn6datnM3+FpEU+eYw0//l31E2xhqi7vTAuJ/Sf0P3yhp66SDJgPu3bRRpvrdQQ==" - }, - "@types/common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-htRqZr5qn8EzMelhX/Xmx142z218lLyGaeZ3YR8jlze4TATRU9huKKvuBmAJEW4LCC4pnY1N6JAm6p85fMHjhg==" - }, - "@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" - }, - "@types/configstore": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/configstore/-/configstore-2.1.1.tgz", - "integrity": "sha1-zR6FU2M60xhcPy8jns/10mQ+krY=" - }, - "@types/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==" - }, - "@types/cors": { - "version": "2.8.10", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz", - "integrity": "sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==" - }, - "@types/debug": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-0.0.30.tgz", - "integrity": "sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ==" - }, - "@types/eslint": { - "version": "7.2.11", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.11.tgz", - "integrity": "sha512-WYhv//5K8kQtsSc9F1Kn2vHzhYor6KpwPbARH7hwYe3C3ETD0EVx/3P5qQybUoaBEuUa9f/02JjBiXFWalYUmw==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", - "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.47", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz", - "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==" - }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" - }, - "@types/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q==" - }, - "@types/glob": { - "version": "5.0.36", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz", - "integrity": "sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==", - "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "dev": true, - "requires": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } - }, - "@types/http-proxy": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.6.tgz", - "integrity": "sha512-+qsjqR75S/ib0ig0R9WN+CDoZeOBU6F2XLewgC4KVgdXiNHiKKHFEMRHOrs5PbYE97D5vataw5wPj4KLYfUkuQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/invariant": { - "version": "2.2.34", - "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.34.tgz", - "integrity": "sha512-lYUtmJ9BqUN688fGY1U1HZoWT1/Jrmgigx2loq4ZcJpICECm/Om3V314BxdzypO0u5PORKGMM6x0OXaljV1YFg==", - "dev": true - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-patch": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/json-patch/-/json-patch-0.0.30.tgz", - "integrity": "sha512-MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==" - }, - "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" - }, - "@types/json-stable-stringify": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz", - "integrity": "sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" - }, - "@types/lodash": { - "version": "4.14.170", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.170.tgz", - "integrity": "sha512-bpcvu/MKHHeYX+qeEN8GE7DIravODWdACVA1ctevD8CN24RhPZIKMn9ntfAsrvLfSX3cR5RrBKAbYm9bGs0A+Q==" - }, - "@types/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" - }, - "@types/mkdirp": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", - "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.0.tgz", - "integrity": "sha512-gCYSfQpy+LYhOFTKAeE8BkyGqaxmlFxe+n4DKM6DR0wzw/HISUE/hAmkC/KT8Sw5PCJblqg062b3z9gucv3k0A==" - }, - "@types/node-fetch": { - "version": "2.5.10", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.10.tgz", - "integrity": "sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ==", - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" - }, - "@types/reach__router": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.7.tgz", - "integrity": "sha512-cyBEb8Ef3SJNH5NYEIDGPoMMmYUxROatuxbICusVRQIqZUB85UCt6R2Ok60tKS/TABJsJYaHyNTW3kqbpxlMjg==", - "requires": { - "@types/react": "*" - } - }, - "@types/react": { - "version": "17.0.6", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.6.tgz", - "integrity": "sha512-u/TtPoF/hrvb63LdukET6ncaplYsvCvmkceasx8oG84/ZCsoLxz9Z/raPBP4lTAiWW1Jb889Y9svHmv8R26dWw==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "17.0.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.5.tgz", - "integrity": "sha512-ikqukEhH4H9gr4iJCmQVNzTB307kROe3XFfHAOTxOXPOw7lAoEXnM5KWTkzeANGL5Ce6ABfiMl/zJBYNi7ObmQ==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/readable-stream": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.10.tgz", - "integrity": "sha512-xwSXvAv9x4B9Vj88AMZnFyEVLilz1EBxKvRUhGqIF4nJpRQBSTm7jS236X4Y9Y2qPsVvaMxwrGJlNhLHEahlFQ==", - "requires": { - "@types/node": "*", - "safe-buffer": "*" - } - }, - "@types/rimraf": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.4.tgz", - "integrity": "sha512-8gBudvllD2A/c0CcEX/BivIDorHFt5UI5m46TsNj8DjWCCTTZT74kEe4g+QsY7P/B9WdO98d82zZgXO/RQzu2Q==", - "requires": { - "@types/glob": "*", - "@types/node": "*" - } - }, - "@types/scheduler": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz", - "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==" - }, - "@types/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha1-EHPEvIJHVK49EM+riKsCN7qWTk0=" - }, - "@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" - }, - "@types/websocket": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.2.tgz", - "integrity": "sha512-B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", - "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" - }, - "@types/yoga-layout": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@types/yoga-layout/-/yoga-layout-1.9.2.tgz", - "integrity": "sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.24.0.tgz", - "integrity": "sha512-qbCgkPM7DWTsYQGjx9RTuQGswi+bEt0isqDBeo+CKV0953zqI0Tp7CZ7Fi9ipgFA6mcQqF4NOVNwS/f2r6xShw==", - "requires": { - "@typescript-eslint/experimental-utils": "4.24.0", - "@typescript-eslint/scope-manager": "4.24.0", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.24.0.tgz", - "integrity": "sha512-IwTT2VNDKH1h8RZseMH4CcYBz6lTvRoOLDuuqNZZoThvfHEhOiZPQCow+5El3PtyxJ1iDr6UXZwYtE3yZQjhcw==", - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.24.0", - "@typescript-eslint/types": "4.24.0", - "@typescript-eslint/typescript-estree": "4.24.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.24.0.tgz", - "integrity": "sha512-dj1ZIh/4QKeECLb2f/QjRwMmDArcwc2WorWPRlB8UNTZlY1KpTVsbX7e3ZZdphfRw29aTFUSNuGB8w9X5sS97w==", - "requires": { - "@typescript-eslint/scope-manager": "4.24.0", - "@typescript-eslint/types": "4.24.0", - "@typescript-eslint/typescript-estree": "4.24.0", - "debug": "^4.1.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@typescript-eslint/scope-manager": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.24.0.tgz", - "integrity": "sha512-9+WYJGDnuC9VtYLqBhcSuM7du75fyCS/ypC8c5g7Sdw7pGL4NDTbeH38eJPfzIydCHZDoOgjloxSAA3+4l/zsA==", - "requires": { - "@typescript-eslint/types": "4.24.0", - "@typescript-eslint/visitor-keys": "4.24.0" - } - }, - "@typescript-eslint/types": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.24.0.tgz", - "integrity": "sha512-tkZUBgDQKdvfs8L47LaqxojKDE+mIUmOzdz7r+u+U54l3GDkTpEbQ1Jp3cNqqAU9vMUCBA1fitsIhm7yN0vx9Q==" - }, - "@typescript-eslint/typescript-estree": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.24.0.tgz", - "integrity": "sha512-kBDitL/by/HK7g8CYLT7aKpAwlR8doshfWz8d71j97n5kUa5caHWvY0RvEUEanL/EqBJoANev8Xc/mQ6LLwXGA==", - "requires": { - "@typescript-eslint/types": "4.24.0", - "@typescript-eslint/visitor-keys": "4.24.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.24.0.tgz", - "integrity": "sha512-4ox1sjmGHIxjEDBnMCtWFFhErXtKA1Ec0sBpuz0fqf3P+g3JFGyTxxbF06byw0FRsPnnbq44cKivH7Ks1/0s6g==", - "requires": { - "@typescript-eslint/types": "4.24.0", - "eslint-visitor-keys": "^2.0.0" - } - }, - "@vue/compiler-core": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.11.tgz", - "integrity": "sha512-6sFj6TBac1y2cWCvYCA8YzHJEbsVkX7zdRs/3yK/n1ilvRqcn983XvpBbnN3v4mZ1UiQycTvOiajJmOgN9EVgw==", - "dev": true, - "requires": { - "@babel/parser": "^7.12.0", - "@babel/types": "^7.12.0", - "@vue/shared": "3.0.11", - "estree-walker": "^2.0.1", - "source-map": "^0.6.1" - } - }, - "@vue/compiler-dom": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.11.tgz", - "integrity": "sha512-+3xB50uGeY5Fv9eMKVJs2WSRULfgwaTJsy23OIltKgMrynnIj8hTYY2UL97HCoz78aDw1VDXdrBQ4qepWjnQcw==", - "dev": true, - "requires": { - "@vue/compiler-core": "3.0.11", - "@vue/shared": "3.0.11" - } - }, - "@vue/compiler-sfc": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.11.tgz", - "integrity": "sha512-7fNiZuCecRleiyVGUWNa6pn8fB2fnuJU+3AGjbjl7r1P5wBivfl02H4pG+2aJP5gh2u+0wXov1W38tfWOphsXw==", - "dev": true, - "requires": { - "@babel/parser": "^7.13.9", - "@babel/types": "^7.13.0", - "@vue/compiler-core": "3.0.11", - "@vue/compiler-dom": "3.0.11", - "@vue/compiler-ssr": "3.0.11", - "@vue/shared": "3.0.11", - "consolidate": "^0.16.0", - "estree-walker": "^2.0.1", - "hash-sum": "^2.0.0", - "lru-cache": "^5.1.1", - "magic-string": "^0.25.7", - "merge-source-map": "^1.1.0", - "postcss": "^8.1.10", - "postcss-modules": "^4.0.0", - "postcss-selector-parser": "^6.0.4", - "source-map": "^0.6.1" - } - }, - "@vue/compiler-ssr": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.11.tgz", - "integrity": "sha512-66yUGI8SGOpNvOcrQybRIhl2M03PJ+OrDPm78i7tvVln86MHTKhM3ERbALK26F7tXl0RkjX4sZpucCpiKs3MnA==", - "dev": true, - "requires": { - "@vue/compiler-dom": "3.0.11", - "@vue/shared": "3.0.11" - } - }, - "@vue/reactivity": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.11.tgz", - "integrity": "sha512-SKM3YKxtXHBPMf7yufXeBhCZ4XZDKP9/iXeQSC8bBO3ivBuzAi4aZi0bNoeE2IF2iGfP/AHEt1OU4ARj4ao/Xw==", - "dev": true, - "peer": true, - "requires": { - "@vue/shared": "3.0.11" - } - }, - "@vue/runtime-core": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.11.tgz", - "integrity": "sha512-87XPNwHfz9JkmOlayBeCCfMh9PT2NBnv795DSbi//C/RaAnc/bGZgECjmkD7oXJ526BZbgk9QZBPdFT8KMxkAg==", - "dev": true, - "peer": true, - "requires": { - "@vue/reactivity": "3.0.11", - "@vue/shared": "3.0.11" - } - }, - "@vue/runtime-dom": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.11.tgz", - "integrity": "sha512-jm3FVQESY3y2hKZ2wlkcmFDDyqaPyU3p1IdAX92zTNeCH7I8zZ37PtlE1b9NlCtzV53WjB4TZAYh9yDCMIEumA==", - "dev": true, - "peer": true, - "requires": { - "@vue/runtime-core": "3.0.11", - "@vue/shared": "3.0.11", - "csstype": "^2.6.8" - }, - "dependencies": { - "csstype": { - "version": "2.6.17", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz", - "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==", - "dev": true, - "peer": true - } - } - }, - "@vue/shared": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz", - "integrity": "sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", - "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", - "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", - "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", - "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==" - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", - "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", - "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", - "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", - "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", - "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", - "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", - "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/helper-wasm-section": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-opt": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "@webassemblyjs/wast-printer": "1.11.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", - "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", - "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", - "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", - "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "requires": {} - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" - }, - "adjust-sourcemap-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", - "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "requires": {} - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "anser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/anser/-/anser-2.0.1.tgz", - "integrity": "sha512-4g5Np4CVD3c5c/36Mj0jllEA5bQcuXF0dqakZcuHGeubBzw93EAhwRuQCzgFm4/ZwvyBMzFdtn9BcihOjnxIdQ==" - }, - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "requires": { - "string-width": "^3.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-field": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" - }, - "application-config-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.0.tgz", - "integrity": "sha1-GTxfCoZUGkxm+6Hi3DhYM2LqXo8=" - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==" - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - } - }, - "arity-n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", - "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=", - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" - } - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "async-cache": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/async-cache/-/async-cache-1.1.0.tgz", - "integrity": "sha1-SppaidBl7F2OUlS9nulrp2xTK1o=", - "requires": { - "lru-cache": "^4.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - } - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "async-retry-ng": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-retry-ng/-/async-retry-ng-2.0.1.tgz", - "integrity": "sha512-iitlc2murdQ3/A5Re3CcplQBEf7vOmFrFQ6RFn3+/+zZUyIHYkZnnEziMSa6YIb2Bs2EJEPZWReTxjHqvQbDbw==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "autoprefixer": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.5.tgz", - "integrity": "sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA==", - "requires": { - "browserslist": "^4.16.3", - "caniuse-lite": "^1.0.30001196", - "colorette": "^1.2.2", - "fraction.js": "^4.0.13", - "normalize-range": "^0.1.2", - "postcss-value-parser": "^4.1.0" - } - }, - "axe-core": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.2.1.tgz", - "integrity": "sha512-evY7DN8qSIbsW2H/TWQ1bX3sXN1d4MNb5Vb4n7BzPuCwRHdkZ1H2eNLuSh73EoQqkGKUtju2G2HCcjCfhvZIAA==" - }, - "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "requires": { - "follow-redirects": "^1.10.0" - } - }, - "axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "peer": true - } - } - }, - "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - } - }, - "babel-plugin-add-module-exports": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", - "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==" - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-lodash": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz", - "integrity": "sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg==", - "requires": { - "@babel/helper-module-imports": "^7.0.0-beta.49", - "@babel/types": "^7.0.0-beta.49", - "glob": "^7.1.1", - "lodash": "^4.17.10", - "require-package-name": "^2.0.1" - } - }, - "babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "requires": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.0", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.0", - "core-js-compat": "^3.9.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.0" - } - }, - "babel-plugin-remove-graphql-queries": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-3.5.0.tgz", - "integrity": "sha512-JGVMfrPk7TwRSDxs8Rro748SbSrj+5h4iQvbE5dfUIUOELVoPm9FrhiEn/kIMvwd+nMgn8td9sg0Pp24HtjZlQ==", - "requires": {} - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "babel-preset-gatsby": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-gatsby/-/babel-preset-gatsby-1.5.0.tgz", - "integrity": "sha512-XV66eQQhfTgx0V3KtIo2fSZYUpL9zXa8jO91kApYHOAqZa9vuMC1leo0X5CQQofeyaJTHIlrGnRcAhH//qADHQ==", - "requires": { - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-runtime": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@babel/runtime": "^7.12.5", - "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-macros": "^2.8.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24", - "gatsby-core-utils": "^2.5.0", - "gatsby-legacy-polyfills": "^1.5.0" - } - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" - }, - "bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" - }, - "better-opn": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-2.1.1.tgz", - "integrity": "sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==", - "requires": { - "open": "^7.0.3" - } - }, - "better-queue": { - "version": "3.8.10", - "resolved": "https://registry.npmjs.org/better-queue/-/better-queue-3.8.10.tgz", - "integrity": "sha512-e3gwNZgDCnNWl0An0Tz6sUjKDV9m6aB+K9Xg//vYeo8+KiH8pWhLFxkawcXhm6FpM//GfD9IQv/kmvWCAVVpKA==", - "requires": { - "better-queue-memory": "^1.0.1", - "node-eta": "^0.9.0", - "uuid": "^3.0.0" - } - }, - "better-queue-memory": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/better-queue-memory/-/better-queue-memory-1.0.4.tgz", - "integrity": "sha512-SWg5wFIShYffEmJpI6LgbL8/3Dqhku7xI1oEiy6FroP9DbcZlG0ZDjxvPdP9t7hTGW40IpIcC6zVoGT1oxjOuA==" - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-lang": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/browser-lang/-/browser-lang-0.1.0.tgz", - "integrity": "sha512-p4mdcU9fIsoDtbAVorKtxo5H86mK040MYn96yshyhfN3OF0iySuITgR8IxldI72MJAultMnwqDgwfWWwjUrSsw==", - "dev": true - }, - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - }, - "busboy": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", - "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", - "requires": { - "dicer": "0.2.5", - "readable-stream": "1.1.x" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cache-manager": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-2.11.1.tgz", - "integrity": "sha512-XhUuc9eYwkzpK89iNewFwtvcDYMUsvtwzHeyEOPJna/WsVsXcrzsA1ft2M0QqPNunEzLhNCYPo05tEfG+YuNow==", - "requires": { - "async": "1.5.2", - "lodash.clonedeep": "4.5.0", - "lru-cache": "4.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz", - "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=", - "requires": { - "pseudomap": "^1.0.1", - "yallist": "^2.0.0" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - } - } - }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001228", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz", - "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==" - }, - "ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" - }, - "character-entities-html4": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", - "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==" - }, - "character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" - }, - "character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "classlist-polyfill": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", - "integrity": "sha1-k1vC39lFiodrJ5YXUUY4vKqWSi4=", - "peer": true - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, - "clipboardy": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", - "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", - "requires": { - "arch": "^2.1.1", - "execa": "^1.0.0", - "is-wsl": "^2.1.1" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colord": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-1.7.2.tgz", - "integrity": "sha512-/sQCxy6PEhZbrAn1+NVRRefy3k4jkWQGxk7mo2o0CoNA24jq4ujDc2jXzJ5uXphm/TwfdGOP0w8U+H+9ys4Peg==" - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - }, - "common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compose-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", - "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", - "dev": true, - "requires": { - "arity-n": "^1.0.4" - } - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - } - }, - "confusing-browser-globals": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", - "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==" - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" - }, - "consolidate": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", - "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==", - "dev": true, - "requires": { - "bluebird": "^3.7.2" - } - }, - "contains-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-1.0.0.tgz", - "integrity": "sha1-NFizMhhWA+ju0Y9RjUoQiIo6vJE=", - "requires": { - "normalize-path": "^2.1.1", - "path-starts-with": "^1.0.0" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "contentful-management": { - "version": "7.22.2", - "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-7.22.2.tgz", - "integrity": "sha512-NIdscTgo4EezPvs4zYi7aTm2IISX2G/DV0hZ1AlbtH8YTGqvMDX/gZJ0NcbDJ9aqwzv8c95AToGm5wwae5/cTA==", - "requires": { - "@types/json-patch": "0.0.30", - "axios": "^0.21.0", - "contentful-sdk-core": "^6.8.0", - "fast-copy": "^2.1.0", - "lodash.isplainobject": "^4.0.6", - "type-fest": "1.0.2" - } - }, - "contentful-sdk-core": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-6.8.0.tgz", - "integrity": "sha512-X45uNrcbQ2qY2p4G/Wx2EFUdnLnoDXjw29i+d0JVTUXqCG58p3q4GHuAPzTX+uafJL4h0ZY2xPOn4nvJ83eRBQ==", - "requires": { - "fast-copy": "^2.1.0", - "qs": "^6.9.4" - }, - "dependencies": { - "qs": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", - "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", - "requires": { - "side-channel": "^1.0.4" - } - } - } - }, - "convert-hrtime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-3.0.0.tgz", - "integrity": "sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==" - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "copyfiles": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", - "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", - "requires": { - "glob": "^7.0.5", - "minimatch": "^3.0.3", - "mkdirp": "^1.0.4", - "noms": "0.0.0", - "through2": "^2.0.1", - "untildify": "^4.0.0", - "yargs": "^16.1.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "core-js": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.1.tgz", - "integrity": "sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw==" - }, - "core-js-compat": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.12.1.tgz", - "integrity": "sha512-i6h5qODpw6EsHAoIdQhKoZdWn+dGBF3dSS8m5tif36RlWvW3A6+yu2S16QHUo3CrkzrnEskMAt9f8FxmY9fhWQ==", - "requires": { - "browserslist": "^4.16.6", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - } - } - }, - "core-js-pure": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.12.1.tgz", - "integrity": "sha512-1cch+qads4JnDSWsvc7d6nzlKAippwjUlf6vykkTLW53VSV+NkE6muGBToAjEA8pG90cSfcud3JgVmW2ds5TaQ==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "cosmiconfig-toml-loader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-toml-loader/-/cosmiconfig-toml-loader-1.0.0.tgz", - "integrity": "sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==", - "requires": { - "@iarna/toml": "^2.2.5" - } - }, - "create-gatsby": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/create-gatsby/-/create-gatsby-1.5.0.tgz", - "integrity": "sha512-oEGYAvysG5OogLp06mp6Hk84ay7kirCIe2/XAWAz5r/11SIzAL/bvcOF5FDTnRdWHrYNu8JZHmfab6NqlvpiWw==" - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "cross-fetch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", - "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", - "requires": { - "node-fetch": "2.6.1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "css-color-names": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", - "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==" - }, - "css-declaration-sorter": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz", - "integrity": "sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw==", - "requires": { - "timsort": "^0.3.0" - } - }, - "css-loader": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.5.tgz", - "integrity": "sha512-bH6QQacvSRtLX0lycAOs43S173n+lfXxB5cx4FjVkTLw5tAEwk5bxNLbkt5K1iETd5KxazRx70GpqOxsuwKiFA==", - "requires": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "css-minimizer-webpack-plugin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-2.0.0.tgz", - "integrity": "sha512-cG/uc94727tx5pBNtb1Sd7gvUPzwmcQi1lkpfqTpdkuNq75hJCw7bIVsCNijLm4dhDcr1atvuysl2rZqOG8Txw==", - "requires": { - "cssnano": "^5.0.0", - "jest-worker": "^26.3.0", - "p-limit": "^3.0.2", - "postcss": "^8.2.9", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1" - }, - "dependencies": { - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssfilter": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=" - }, - "cssnano": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.3.tgz", - "integrity": "sha512-Ga/a+IA6U0F9+MNmqrXgwn1A3btY5jFkla2iurL7i9PTmQmMu2Kc99W9a8KSxT8iLV0aoI+Q5Q9i3SpVAVNnrQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "cssnano-preset-default": "^5.1.0", - "is-resolvable": "^1.1.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - } - } - }, - "cssnano-preset-default": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.0.tgz", - "integrity": "sha512-VTO0WAlrEsU0u+A4RwALRs5zSVnD23WgYO8Np3HowBMZTqWIP1GvIWWzs9zZmjNgeL8U+70megRZymb+1yGg/w==", - "requires": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.1.0", - "postcss-convert-values": "^5.0.1", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", - "postcss-merge-longhand": "^5.0.2", - "postcss-merge-rules": "^5.0.1", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.1", - "postcss-minify-params": "^5.0.1", - "postcss-minify-selectors": "^5.1.0", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", - "postcss-normalize-url": "^5.0.1", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.1", - "postcss-reduce-initial": "^5.0.1", - "postcss-reduce-transforms": "^5.0.1", - "postcss-svgo": "^5.0.1", - "postcss-unique-selectors": "^5.0.1" - } - }, - "cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - } - }, - "csstype": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", - "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "damerau-levenshtein": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz", - "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==" - }, - "dataloader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.0.0.tgz", - "integrity": "sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ==" - }, - "date-fns": { - "version": "2.21.3", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.21.3.tgz", - "integrity": "sha512-HeYdzCaFflc1i4tGbj7JKMjM4cKGYoyxwcIIkHzNgCkX8xXDNJDZXgDDVchIWpN4eQc3lH37WarduXFZJOtxfw==" - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", - "requires": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0" - }, - "dependencies": { - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-newline": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-1.0.3.tgz", - "integrity": "sha1-6XsQA4d9cMCa8a81v63/Fo3kkg0=", - "requires": { - "get-stdin": "^4.0.1", - "minimist": "^1.1.0" - } - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "detect-port": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "devcert": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/devcert/-/devcert-1.1.3.tgz", - "integrity": "sha512-7/nIzKdQ8y2K0imjIP7dyg2GJ2h38Ps6VOMXWZHIarNDV3p6mTXyEugKFnkmsZ2DD58JEG34ILyVb3qdOMmP9w==", - "requires": { - "@types/configstore": "^2.1.1", - "@types/debug": "^0.0.30", - "@types/get-port": "^3.2.0", - "@types/glob": "^5.0.34", - "@types/lodash": "^4.14.92", - "@types/mkdirp": "^0.5.2", - "@types/node": "^8.5.7", - "@types/rimraf": "^2.0.2", - "@types/tmp": "^0.0.33", - "application-config-path": "^0.1.0", - "command-exists": "^1.2.4", - "debug": "^3.1.0", - "eol": "^0.9.1", - "get-port": "^3.2.0", - "glob": "^7.1.2", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "password-prompt": "^1.0.4", - "rimraf": "^2.6.2", - "sudo-prompt": "^8.2.0", - "tmp": "^0.0.33", - "tslib": "^1.10.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "dicer": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", - "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", - "requires": { - "readable-stream": "1.1.x", - "streamsearch": "0.1.2" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - }, - "diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" - } - } - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "requires": { - "domelementtype": "1" - } - }, - "domready": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/domready/-/domready-1.0.8.tgz", - "integrity": "sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw=", - "peer": true - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==" - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.735", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.735.tgz", - "integrity": "sha512-cp7MWzC3NseUJV2FJFgaiesdrS+A8ZUjX5fLAxdRlcaPDkaPGFplX930S5vf84yqDp4LjuLdKouWuVOTwUfqHQ==" - }, - "elem-dataset": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/elem-dataset/-/elem-dataset-2.0.0.tgz", - "integrity": "sha512-e7gieGopWw5dMdEgythH3lUS7nMizutPDTtkzfQW/q2gCvFnACyNnK3ytCncAXKxdBXQWcXeKaYTTODiMnp8mw==", - "peer": true - }, - "element-closest": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/element-closest/-/element-closest-2.0.2.tgz", - "integrity": "sha1-cqdAoQdFM4LijfnOXbtajfD5Zuw=", - "peer": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "engine.io": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz", - "integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==", - "requires": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.0", - "ws": "~7.4.2" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "engine.io-client": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.4.tgz", - "integrity": "sha512-843fqAdKeUMFqKi1sSjnR11tJ4wi8sIefu6+JC1OzkkJBmjtc/gM/rZ53tJfu5Iae/3gApm5veoS+v+gtT0+Fg==", - "requires": { - "base64-arraybuffer": "0.1.4", - "component-emitter": "~1.3.0", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.1", - "has-cors": "1.1.0", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.6.2", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "engine.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", - "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", - "requires": { - "base64-arraybuffer": "0.1.4" - } - }, - "enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "dependencies": { - "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==" - } - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" - }, - "eol": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz", - "integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==" - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "requires": { - "stackframe": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" - } - }, - "es-module-lexer": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", - "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==" - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - }, - "dependencies": { - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - } - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "eslint": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.26.0.tgz", - "integrity": "sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==", - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.1", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.21", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "globals": { - "version": "13.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", - "integrity": "sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - } - }, - "eslint-config-react-app": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz", - "integrity": "sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==", - "requires": { - "confusing-browser-globals": "^1.0.10" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "eslint-module-utils": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", - "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", - "requires": { - "debug": "^3.2.7", - "pkg-dir": "^2.0.0" - } - }, - "eslint-plugin-flowtype": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.7.2.tgz", - "integrity": "sha512-7Oq/N0+3nijBnYWQYzz/Mp/7ZCpwxYvClRyW/PLAmimY9uLCBvoXsNsERcJdkKceyOjgRbFhhxs058KTrne9Mg==", - "requires": { - "lodash": "^4.17.15", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-graphql": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-graphql/-/eslint-plugin-graphql-4.0.0.tgz", - "integrity": "sha512-d5tQm24YkVvCEk29ZR5ScsgXqAGCjKlMS8lx3mS7FS/EKsWbkvXQImpvic03EpMIvNTBW5e+2xnHzXB/VHNZJw==", - "requires": { - "@babel/runtime": "^7.10.0", - "graphql-config": "^3.0.2", - "lodash.flatten": "^4.4.0", - "lodash.without": "^4.4.0" - } - }, - "eslint-plugin-import": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.2.tgz", - "integrity": "sha512-LmNoRptHBxOP+nb0PIKz1y6OSzCJlB+0g0IGS3XV4KaKk2q4szqQ6s6F1utVf5ZRkxk/QOTjdxe7v4VjS99Bsg==", - "requires": { - "array-includes": "^3.1.3", - "array.prototype.flat": "^1.2.4", - "contains-path": "^1.0.0", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.1", - "find-up": "^2.0.0", - "has": "^1.0.3", - "is-core-module": "^2.4.0", - "minimatch": "^3.0.4", - "object.values": "^1.1.3", - "pkg-up": "^2.0.0", - "read-pkg-up": "^3.0.0", - "resolve": "^1.20.0", - "tsconfig-paths": "^3.9.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", - "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", - "requires": { - "@babel/runtime": "^7.11.2", - "aria-query": "^4.2.2", - "array-includes": "^3.1.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.0.2", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.6", - "emoji-regex": "^9.0.0", - "has": "^1.0.3", - "jsx-ast-utils": "^3.1.0", - "language-tags": "^1.0.5" - } - }, - "eslint-plugin-react": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz", - "integrity": "sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==", - "requires": { - "array-includes": "^3.1.3", - "array.prototype.flatmap": "^1.2.4", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.3", - "object.fromentries": "^2.0.4", - "object.values": "^1.1.3", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "string.prototype.matchall": "^4.0.4" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", - "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==", - "requires": {} - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - }, - "eslint-webpack-plugin": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz", - "integrity": "sha512-7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw==", - "requires": { - "@types/eslint": "^7.2.6", - "arrify": "^2.0.1", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "estree-util-is-identifier-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-1.1.0.tgz", - "integrity": "sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==" - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "event-source-polyfill": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.24.tgz", - "integrity": "sha512-aEtMhrH5ww3X6RgbsNcwu0whw8zjOoeRnwPqRKqKuxWS5KlAZhCY+rTm6wMlHOXbxmLGn8lW6Xox7rfpBExzGA==" - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", - "requires": { - "original": "^1.0.0" - } - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "express-graphql": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/express-graphql/-/express-graphql-0.9.0.tgz", - "integrity": "sha512-wccd9Lb6oeJ8yHpUs/8LcnGjFUUQYmOG9A5BNLybRdCzGw0PeUrtBxsIR8bfiur6uSW4OvPkVDoYH06z6/N9+w==", - "requires": { - "accepts": "^1.3.7", - "content-type": "^1.0.4", - "http-errors": "^1.7.3", - "raw-body": "^2.4.1" - }, - "dependencies": { - "http-errors": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", - "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "raw-body": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", - "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.3", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - } - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - } - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", - "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - } - } - }, - "extract-files": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", - "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==" - }, - "fast-copy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-2.1.1.tgz", - "integrity": "sha512-Qod3DdRgFZ8GUIM6ygeoZYpQ0QLW9cf/FS9KhhjlYggcSZXWAemAw8BOCO5LuYCrR3Uj3qXDVTUzOUwG8C7beQ==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" - }, - "fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fd": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/fd/-/fd-0.0.3.tgz", - "integrity": "sha512-iAHrIslQb3U68OcMSP0kkNWabp7sSN6d2TBSb2JO3gcLJVDd4owr/hKM4SFJovFOUeeXeItjYgouEDTMWiVAnA==" - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "file-type": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.4.0.tgz", - "integrity": "sha512-MDAkwha3wHg11Lp++2T3Gu347eC/DB4r7nYj6iZaf1l7UhGBh2746QKxg0BWC8w2dJsxUEmH8KvLueX+GthN2w==", - "requires": { - "readable-web-to-node-stream": "^3.0.0", - "strtok3": "^6.0.3", - "token-types": "^2.0.0", - "typedarray-to-buffer": "^3.1.5" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true - }, - "filesize": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", - "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=" - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" - }, - "follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "fork-ts-checker-webpack-plugin": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", - "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", - "requires": { - "@babel/code-frame": "^7.5.5", - "chalk": "^2.4.1", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fraction.js": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.0.tgz", - "integrity": "sha512-o9lSKpK0TDqDwTL24Hxqi6I99s942l6TYkfl6WvGWgLOIFz/YonSGKfiSeMadoiNvTfqnfOa9mjb5SGVbBK9/w==" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-exists-cached": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", - "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=" - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "gatsby": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-3.5.1.tgz", - "integrity": "sha512-wmhU5dsm2Is/aFgNyxjnuVMNK1chP0Kg5cS15JWAk593xk/hUj0i/lomirNmzvl+2Yk2LC8KZ0M/8OM4cocrKg==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/core": "^7.12.3", - "@babel/eslint-parser": "^7.13.4", - "@babel/parser": "^7.12.5", - "@babel/runtime": "^7.12.5", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.6", - "@gatsbyjs/reach-router": "^1.3.6", - "@gatsbyjs/webpack-hot-middleware": "^2.25.2", - "@mikaelkristiansson/domready": "^1.0.10", - "@nodelib/fs.walk": "^1.2.4", - "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", - "@types/http-proxy": "^1.17.4", - "@typescript-eslint/eslint-plugin": "^4.15.2", - "@typescript-eslint/parser": "^4.15.2", - "address": "1.1.2", - "anser": "^2.0.1", - "autoprefixer": "^10.2.4", - "axios": "^0.21.1", - "babel-loader": "^8.2.2", - "babel-plugin-add-module-exports": "^1.0.4", - "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-lodash": "^3.3.4", - "babel-plugin-remove-graphql-queries": "^3.5.0", - "babel-preset-gatsby": "^1.5.0", - "better-opn": "^2.0.0", - "bluebird": "^3.7.2", - "body-parser": "^1.19.0", - "browserslist": "^4.12.2", - "cache-manager": "^2.11.1", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "common-tags": "^1.8.0", - "compression": "^1.7.4", - "cookie": "^0.4.1", - "copyfiles": "^2.3.0", - "core-js": "^3.9.0", - "cors": "^2.8.5", - "css-loader": "^5.0.1", - "css-minimizer-webpack-plugin": "^2.0.0", - "css.escape": "^1.5.1", - "date-fns": "^2.14.0", - "debug": "^3.2.7", - "del": "^5.1.0", - "detect-port": "^1.3.0", - "devcert": "^1.1.3", - "dotenv": "^8.2.0", - "eslint": "^7.20.0", - "eslint-config-react-app": "^6.0.0", - "eslint-plugin-flowtype": "^5.3.1", - "eslint-plugin-graphql": "^4.0.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-react": "^7.23.1", - "eslint-plugin-react-hooks": "^4.2.0", - "eslint-webpack-plugin": "^2.5.3", - "event-source-polyfill": "^1.0.15", - "execa": "^4.0.3", - "express": "^4.17.1", - "express-graphql": "^0.9.0", - "fastest-levenshtein": "^1.0.12", - "fastq": "^1.10.0", - "file-loader": "^6.2.0", - "find-cache-dir": "^3.3.1", - "fs-exists-cached": "1.0.0", - "fs-extra": "^8.1.0", - "gatsby-cli": "^3.5.0", - "gatsby-core-utils": "^2.5.0", - "gatsby-graphiql-explorer": "^1.5.0", - "gatsby-legacy-polyfills": "^1.5.0", - "gatsby-link": "^3.5.0", - "gatsby-plugin-page-creator": "^3.5.0", - "gatsby-plugin-typescript": "^3.5.0", - "gatsby-plugin-utils": "^1.5.0", - "gatsby-react-router-scroll": "^4.5.0", - "gatsby-telemetry": "^2.5.0", - "glob": "^7.1.6", - "got": "8.3.2", - "graphql": "^15.4.0", - "graphql-compose": "~7.25.0", - "graphql-playground-middleware-express": "^1.7.18", - "hasha": "^5.2.0", - "http-proxy": "^1.18.1", - "invariant": "^2.2.4", - "is-relative": "^1.0.0", - "is-relative-url": "^3.0.0", - "jest-worker": "^24.9.0", - "joi": "^17.2.1", - "json-loader": "^0.5.7", - "json-stringify-safe": "^5.0.1", - "latest-version": "5.1.0", - "lodash": "^4.17.21", - "md5-file": "^5.0.0", - "meant": "^1.0.1", - "memoizee": "^0.4.15", - "micromatch": "^4.0.2", - "mime": "^2.4.6", - "mini-css-extract-plugin": "1.6.0", - "mitt": "^1.2.0", - "mkdirp": "^0.5.1", - "moment": "^2.27.0", - "multer": "^1.4.2", - "name-all-modules-plugin": "^1.0.1", - "normalize-path": "^3.0.0", - "null-loader": "^4.0.1", - "opentracing": "^0.14.4", - "p-defer": "^3.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "0.1.7", - "physical-cpu-count": "^2.0.0", - "platform": "^1.3.6", - "pnp-webpack-plugin": "^1.6.4", - "postcss": "8.2.6", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^5.0.0", - "prompts": "^2.3.2", - "prop-types": "^15.7.2", - "query-string": "^6.13.1", - "raw-loader": "^4.0.2", - "react-dev-utils": "^11.0.3", - "react-refresh": "^0.9.0", - "redux": "^4.0.5", - "redux-thunk": "^2.3.0", - "resolve-from": "^5.0.0", - "semver": "^7.3.2", - "shallow-compare": "^1.2.2", - "signal-exit": "^3.0.3", - "slugify": "^1.4.4", - "socket.io": "3.1.1", - "socket.io-client": "3.1.1", - "source-map": "^0.7.3", - "source-map-support": "^0.5.19", - "st": "^2.0.0", - "stack-trace": "^0.0.10", - "string-similarity": "^1.2.2", - "strip-ansi": "^5.2.0", - "style-loader": "^2.0.0", - "terser-webpack-plugin": "^5.1.1", - "tmp": "^0.2.1", - "true-case-path": "^2.2.1", - "type-of": "^2.0.1", - "url-loader": "^4.1.1", - "util.promisify": "^1.0.1", - "uuid": "3.4.0", - "v8-compile-cache": "^2.2.0", - "webpack": "^5.35.0", - "webpack-dev-middleware": "^4.1.0", - "webpack-dev-server": "^3.11.2", - "webpack-merge": "^5.7.3", - "webpack-stats-plugin": "^1.0.3", - "webpack-virtual-modules": "^0.3.2", - "xstate": "^4.11.0", - "yaml-loader": "^0.6.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "postcss": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.6.tgz", - "integrity": "sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg==", - "requires": { - "colorette": "^1.2.1", - "nanoid": "^3.1.20", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "gatsby-cli": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-3.5.0.tgz", - "integrity": "sha512-Z7MsqYK7tZJV8gxJilu6ieWvO+RxzFz2Eizineqm4jS1WRhiaK8aqIECRf/kTiT4NQXsxbdmdr9CexauVUEqeQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@types/common-tags": "^1.8.0", - "better-opn": "^2.0.0", - "chalk": "^4.1.0", - "clipboardy": "^2.3.0", - "common-tags": "^1.8.0", - "configstore": "^5.0.1", - "convert-hrtime": "^3.0.0", - "create-gatsby": "^1.5.0", - "envinfo": "^7.7.3", - "execa": "^3.4.0", - "fs-exists-cached": "^1.0.0", - "fs-extra": "^8.1.0", - "gatsby-core-utils": "^2.5.0", - "gatsby-recipes": "^0.16.0", - "gatsby-telemetry": "^2.5.0", - "hosted-git-info": "^3.0.6", - "is-valid-path": "^0.1.1", - "joi": "^17.4.0", - "lodash": "^4.17.21", - "meant": "^1.0.2", - "node-fetch": "^2.6.1", - "opentracing": "^0.14.4", - "pretty-error": "^2.1.1", - "progress": "^2.0.3", - "prompts": "^2.3.2", - "redux": "^4.0.5", - "resolve-cwd": "^3.0.0", - "semver": "^7.3.2", - "signal-exit": "^3.0.3", - "source-map": "0.7.3", - "stack-trace": "^0.0.10", - "strip-ansi": "^5.2.0", - "update-notifier": "^5.0.1", - "uuid": "3.4.0", - "yargs": "^15.4.1", - "yoga-layout-prebuilt": "^1.9.6", - "yurnalist": "^2.1.0" - }, - "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "gatsby-core-utils": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-2.5.0.tgz", - "integrity": "sha512-YbKv7FLpeTCts28bv0H2lSuHrKgUxnsC1ZG1PPydOheQgPW9G8pdNlYvwZzGJmmS7rBcC/w859ss90wlvF6GEw==", - "requires": { - "ci-info": "2.0.0", - "configstore": "^5.0.1", - "file-type": "^16.2.0", - "fs-extra": "^8.1.0", - "node-object-hash": "^2.0.0", - "proper-lockfile": "^4.1.1", - "tmp": "^0.2.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "gatsby-graphiql-explorer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-1.5.0.tgz", - "integrity": "sha512-u0fa3ZakFgnzHLH6zEsacnKgitqcuLdeqmQ+I6mUrRm9ijKOs884Or5nFYziTVBGbXyVyaAiK4rjxwM1BjEETw==", - "requires": { - "@babel/runtime": "^7.12.5" - } - }, - "gatsby-legacy-polyfills": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-1.5.0.tgz", - "integrity": "sha512-aRVk/ArXt7majaxlIKftybY7V6Q22MKiBaQcVWp2Sn7P5xc8M7WO4B7D2vgaEqTxfOmopcWuzHSnCbvMgSPe+A==", - "requires": { - "core-js-compat": "3.9.0" - }, - "dependencies": { - "core-js-compat": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.0.tgz", - "integrity": "sha512-YK6fwFjCOKWwGnjFUR3c544YsnA/7DoLL0ysncuOJ4pwbriAtOpvM2bygdlcXbvQCQZ7bBU9CL4t7tGl7ETRpQ==", - "requires": { - "browserslist": "^4.16.3", - "semver": "7.0.0" - } - }, - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - } - } - }, - "gatsby-link": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/gatsby-link/-/gatsby-link-3.5.0.tgz", - "integrity": "sha512-zmf64g8gC7GfZkJSP93MPFqhuKF3tEW/BowHNPqL0VJ/5GbhJrNOfL7FZCwAUc7F2LNsw3Uz7DvKpMY7PFghQg==", - "requires": { - "@babel/runtime": "^7.12.5", - "@types/reach__router": "^1.3.7", - "prop-types": "^15.7.2" - } - }, - "gatsby-page-utils": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-1.5.0.tgz", - "integrity": "sha512-hL6bY2sYuO7Nk6W6lQw9TBpunMPcZvp3LEZ9WS1YfHWfygVm6v8hKOn09Wsv0n+CSjBH/EJ3ocX5iDlSYkqbKg==", - "requires": { - "@babel/runtime": "^7.12.5", - "bluebird": "^3.7.2", - "chokidar": "^3.5.1", - "fs-exists-cached": "^1.0.0", - "gatsby-core-utils": "^2.5.0", - "glob": "^7.1.6", - "lodash": "^4.17.21", - "micromatch": "^4.0.2" - } - }, - "gatsby-plugin-intl": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/gatsby-plugin-intl/-/gatsby-plugin-intl-0.3.3.tgz", - "integrity": "sha512-VPugNJv3GDkT6RcOBfncZPw3Eqh98RyvChsXfX7VuMQ8mBVoNB6XyNSIiEGG/atxFrpSp/r3WUKpnzpLLpY5dg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4", - "@formatjs/intl-pluralrules": "^1.5.2", - "@formatjs/intl-relativetimeformat": "^4.5.9", - "browser-lang": "^0.1.0", - "intl": "^1.2.5", - "react-intl": "^3.12.0" - }, - "dependencies": { - "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "dev": true, - "peer": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-intl": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-3.12.1.tgz", - "integrity": "sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg==", - "dev": true, - "requires": { - "@formatjs/intl-displaynames": "^1.2.0", - "@formatjs/intl-listformat": "^1.4.1", - "@formatjs/intl-relativetimeformat": "^4.5.9", - "@formatjs/intl-unified-numberformat": "^3.2.0", - "@formatjs/intl-utils": "^2.2.0", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/invariant": "^2.2.31", - "hoist-non-react-statics": "^3.3.2", - "intl-format-cache": "^4.2.21", - "intl-messageformat": "^7.8.4", - "intl-messageformat-parser": "^3.6.4", - "shallow-equal": "^1.2.1" - } - } - } - }, - "gatsby-plugin-page-creator": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-3.5.0.tgz", - "integrity": "sha512-0rH+WWnp8sgNyyKmEtcQAt7EGcBHom6r8oZYqOaVXJsgwr+uzTjg4ncz+Qcz+rb6lMHFY6ajxStFvU/VzIMAxA==", - "requires": { - "@babel/traverse": "^7.12.5", - "@sindresorhus/slugify": "^1.1.2", - "chokidar": "^3.5.1", - "fs-exists-cached": "^1.0.0", - "gatsby-core-utils": "^2.5.0", - "gatsby-page-utils": "^1.5.0", - "gatsby-telemetry": "^2.5.0", - "globby": "^11.0.3", - "lodash": "^4.17.21" - } - }, - "gatsby-plugin-sass": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-sass/-/gatsby-plugin-sass-4.5.0.tgz", - "integrity": "sha512-0FP4aDI/3ts83X+cA0IVGI+Wm0spOGT4AFIB0KhMlTdcMEgOq8nWmD//FHPMEBQ73sZiNF2fnfEFQAvYW1HTkg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5", - "resolve-url-loader": "^3.1.2", - "sass-loader": "^10.1.1" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "sass-loader": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz", - "integrity": "sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==", - "dev": true, - "requires": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "gatsby-plugin-typescript": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-3.5.0.tgz", - "integrity": "sha512-8Nd4iklXvf0R7kp3H1zHw7KlIniGsz0fc0iBZuWoT/ES43EkZqEHfJWUszJo1wyB1RM3nyob6I+mWbLsrl11Zw==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.5", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/preset-typescript": "^7.12.1", - "@babel/runtime": "^7.12.5", - "babel-plugin-remove-graphql-queries": "^3.5.0" - } - }, - "gatsby-plugin-utils": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/gatsby-plugin-utils/-/gatsby-plugin-utils-1.5.0.tgz", - "integrity": "sha512-IqCXOGTC+WRtzLUhEbJzR9RlumDGtN/xmsl41AOgfeJvfdeXiomm9nrlCs915XDZh/fYa5MbRpf7Xu4S3skhLA==", - "requires": { - "joi": "^17.2.1" - } - }, - "gatsby-react-router-scroll": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/gatsby-react-router-scroll/-/gatsby-react-router-scroll-4.5.0.tgz", - "integrity": "sha512-iE58ZuyMpgfaeuzkcR5P3y6RKYRPfGYYkIeYnXDJ2fwYNpKzPOcf0kPH12fBtb2ZKjHMy4ZmyqHppKqClvu0GQ==", - "requires": { - "@babel/runtime": "^7.12.5" - } - }, - "gatsby-recipes": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.16.0.tgz", - "integrity": "sha512-xS48KK4F/CLxlaHBq4AbTL6/2uSdfTdZuSrNPNPTvNnm9FMiot64e5SZpnZOMz4Wnts5pGPAVqnhfL37iy6V1g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/generator": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-transform-react-jsx": "^7.12.5", - "@babel/standalone": "^7.12.6", - "@babel/template": "^7.10.4", - "@babel/types": "^7.12.6", - "@graphql-tools/schema": "^7.0.0", - "@graphql-tools/utils": "^7.0.2", - "@hapi/hoek": "8.x.x", - "@hapi/joi": "^15.1.1", - "better-queue": "^3.8.10", - "chokidar": "^3.4.2", - "contentful-management": "^7.5.1", - "cors": "^2.8.5", - "debug": "^4.3.1", - "detect-port": "^1.3.0", - "dotenv": "^8.2.0", - "execa": "^4.0.2", - "express": "^4.17.1", - "express-graphql": "^0.9.0", - "fs-extra": "^8.1.0", - "gatsby-core-utils": "^2.5.0", - "gatsby-telemetry": "^2.5.0", - "glob": "^7.1.6", - "graphql": "^15.4.0", - "graphql-compose": "~7.25.0", - "graphql-subscriptions": "^1.1.0", - "graphql-type-json": "^0.3.2", - "hicat": "^0.8.0", - "is-binary-path": "^2.1.0", - "is-url": "^1.2.4", - "jest-diff": "^25.5.0", - "lock": "^1.0.0", - "lodash": "^4.17.21", - "mitt": "^1.2.0", - "mkdirp": "^0.5.1", - "node-fetch": "^2.5.0", - "pkg-dir": "^4.2.0", - "prettier": "^2.0.5", - "prop-types": "^15.6.1", - "remark-mdx": "^2.0.0-next.4", - "remark-mdxjs": "^2.0.0-next.4", - "remark-parse": "^6.0.3", - "remark-stringify": "^8.1.0", - "resolve-from": "^5.0.0", - "semver": "^7.3.2", - "single-trailing-newline": "^1.0.0", - "strip-ansi": "^6.0.0", - "style-to-object": "^0.3.0", - "unified": "^8.4.2", - "unist-util-remove": "^2.0.0", - "unist-util-visit": "^2.0.2", - "uuid": "3.4.0", - "ws": "^7.3.0", - "xstate": "^4.9.1", - "yoga-layout-prebuilt": "^1.9.6" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "gatsby-telemetry": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-2.5.0.tgz", - "integrity": "sha512-PbyYw74t/RLVbEWicjAdrCMttV1GSbuHZit0PsVPqqwNlL1LalJa/V7lcVMqqGrEbkB+fUoKkk1u2o+TDgvIng==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@turist/fetch": "^7.1.7", - "@turist/time": "^0.0.1", - "async-retry-ng": "^2.0.1", - "boxen": "^4.2.0", - "configstore": "^5.0.1", - "fs-extra": "^8.1.0", - "gatsby-core-utils": "^2.5.0", - "git-up": "^4.0.2", - "is-docker": "^2.1.1", - "lodash": "^4.17.21", - "node-fetch": "^2.6.1", - "uuid": "3.4.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "generic-names": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz", - "integrity": "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0" - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "git-up": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.2.tgz", - "integrity": "sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==", - "requires": { - "is-ssh": "^1.3.0", - "parse-url": "^5.0.0" - } - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "requires": { - "ini": "2.0.0" - }, - "dependencies": { - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - } - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - } - } - }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - } - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - }, - "graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" - }, - "graphql-compose": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/graphql-compose/-/graphql-compose-7.25.1.tgz", - "integrity": "sha512-TPXTe1BoQkMjp/MH93yA0SQo8PiXxJAv6Eo6K/+kpJELM9l2jZnd5PCduweuXFcKv+nH973wn/VYzYKDMQ9YoQ==", - "requires": { - "graphql-type-json": "0.3.2", - "object-path": "0.11.5" - } - }, - "graphql-config": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-3.3.0.tgz", - "integrity": "sha512-mSQIsPMssr7QrgqhnjI+CyVH6oQgCrgS6irHsTvwf7RFDRnR2k9kqpQOQgVoOytBSn0DOYryS0w0SAg9xor/Jw==", - "requires": { - "@endemolshinegroup/cosmiconfig-typescript-loader": "3.0.2", - "@graphql-tools/graphql-file-loader": "^6.0.0", - "@graphql-tools/json-file-loader": "^6.0.0", - "@graphql-tools/load": "^6.0.0", - "@graphql-tools/merge": "^6.0.0", - "@graphql-tools/url-loader": "^6.0.0", - "@graphql-tools/utils": "^7.0.0", - "cosmiconfig": "7.0.0", - "cosmiconfig-toml-loader": "1.0.0", - "minimatch": "3.0.4", - "string-env-interpolation": "1.0.1" - }, - "dependencies": { - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - } - } - }, - "graphql-playground-html": { - "version": "1.6.29", - "resolved": "https://registry.npmjs.org/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz", - "integrity": "sha512-fbF/zZKuw2sdfKp8gjTORJ/I9xBsqeEYRseWxBzuR15NHMptRTT9414IyRCs3ognZzUDr5MDJgx97SlLZCtQyA==", - "requires": { - "xss": "^1.0.6" - } - }, - "graphql-playground-middleware-express": { - "version": "1.7.22", - "resolved": "https://registry.npmjs.org/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.22.tgz", - "integrity": "sha512-PJLiCxLmN6Dp+dHGyHU92m9y3hB/RAkcUBWcqYl2fiP+EbpDDgNfElrsVzW60MhJe+LTV1PFqiInH2d3KNvlCQ==", - "requires": { - "graphql-playground-html": "^1.6.29" - } - }, - "graphql-subscriptions": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.2.1.tgz", - "integrity": "sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==", - "requires": { - "iterall": "^1.3.0" - } - }, - "graphql-type-json": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.2.tgz", - "integrity": "sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg==", - "requires": {} - }, - "graphql-ws": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-4.5.1.tgz", - "integrity": "sha512-GE7vCMKe2D7fc0ugkM1V8QMneHcbV9c3BpPBzdlW/Uzkqv0F/zZq9DDHxLzg55ZhE5OSLL+n/gyqAMPgH59hcw==", - "requires": {} - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" - }, - "hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true - }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "dependencies": { - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - } - } - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "hicat": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/hicat/-/hicat-0.8.0.tgz", - "integrity": "sha512-om8L9O5XwqeSdwl5NtHgrzK3wcF4fT9T4gb/NktoH8EyoZipas/tvUZLV48xT7fQfMYr9qvb0WEutqdf0LWSqA==", - "requires": { - "highlight.js": "^10.4.1", - "minimist": "^1.2.5" - } - }, - "highlight.js": { - "version": "10.7.2", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", - "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==" - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dev": true, - "requires": { - "react-is": "^16.7.0" - } - }, - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, - "html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==" - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "requires": {} - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, - "immer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", - "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - } - } - }, - "import-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", - "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", - "requires": { - "resolve-from": "^5.0.0" - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "requires": { - "find-up": "^3.0.0" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - } - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - } - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "intl": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", - "integrity": "sha1-giRKIZDE5Bn4Nx9ao02qNCDiq94=", - "dev": true - }, - "intl-format-cache": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.3.1.tgz", - "integrity": "sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==", - "dev": true - }, - "intl-messageformat": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-7.8.4.tgz", - "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", - "dev": true, - "requires": { - "intl-format-cache": "^4.2.21", - "intl-messageformat-parser": "^3.6.4" - } - }, - "intl-messageformat-parser": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", - "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", - "dev": true, - "requires": { - "@formatjs/intl-unified-numberformat": "^3.2.0" - } - }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" - }, - "is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" - }, - "is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, - "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - }, - "dependencies": { - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" - } - } - }, - "is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==" - }, - "is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - } - }, - "is-invalid-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", - "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=", - "requires": { - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, - "is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==" - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - }, - "is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "requires": { - "is-path-inside": "^2.1.0" - }, - "dependencies": { - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "requires": { - "path-is-inside": "^1.0.2" - } - } - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" - }, - "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - } - }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "requires": { - "is-unc-path": "^1.0.0" - } - }, - "is-relative-url": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-relative-url/-/is-relative-url-3.0.0.tgz", - "integrity": "sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA==", - "requires": { - "is-absolute-url": "^3.0.0" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-ssh": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz", - "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==", - "requires": { - "protocols": "^1.1.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - }, - "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==" - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "requires": { - "unc-path-regex": "^0.1.2" - } - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "is-valid-path": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", - "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=", - "requires": { - "is-invalid-path": "^0.1.0" - } - }, - "is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "requires": {} - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "iterall": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", - "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" - }, - "jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", - "requires": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==" - }, - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "joi": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.4.0.tgz", - "integrity": "sha512-F4WiW2xaV6wc1jxete70Rw4V/VuMd6IN+a5ilZsxG4uYtUXWu2kq9W5P2dz30e7Gmw8RCbY/u/uk+dMPma9tAg==", - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.0", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - }, - "dependencies": { - "@hapi/hoek": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz", - "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" - }, - "@hapi/topo": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.0.0.tgz", - "integrity": "sha512-tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", - "requires": { - "array-includes": "^3.1.2", - "object.assign": "^4.1.2" - } - }, - "keyboardevent-key-polyfill": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/keyboardevent-key-polyfill/-/keyboardevent-key-polyfill-1.1.0.tgz", - "integrity": "sha1-ijGdjkWhMXL8pWKGNy+QwdTHAUw=", - "peer": true - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==" - }, - "language-subtag-registry": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", - "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==" - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "requires": { - "package-json": "^6.3.0" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lock": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/lock/-/lock-1.1.0.tgz", - "integrity": "sha1-UxV0mdFlOxNspmRRBx/KYVcD+lU=" - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, - "lodash.deburr": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", - "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=" - }, - "lodash.every": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.every/-/lodash.every-4.6.0.tgz", - "integrity": "sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc=" - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" - }, - "lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" - }, - "lodash.maxby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.maxby/-/lodash.maxby-4.6.0.tgz", - "integrity": "sha1-CCJABo88eiJ6oAqDgOTzjPB4bj0=" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "lodash.without": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz", - "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=" - }, - "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" - }, - "longest-streak": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", - "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-2.2.0.tgz", - "integrity": "sha512-S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.2" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "requires": { - "tslib": "^2.0.3" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "lru-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", - "requires": { - "es5-ext": "~0.10.2" - } - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "requires": { - "p-defer": "^1.0.0" - }, - "dependencies": { - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" - } - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" - }, - "markdown-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", - "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", - "requires": { - "repeat-string": "^1.0.0" - } - }, - "matches-selector": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/matches-selector/-/matches-selector-1.2.0.tgz", - "integrity": "sha512-c4vLwYWyl+Ji+U43eU/G5FwxWd4ZH0ePUsFs5y0uwD9HUEFBXUQ1zUUan+78IpRD+y4pUfG0nAzNM292K7ItvA==", - "peer": true - }, - "md5-file": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-5.0.0.tgz", - "integrity": "sha512-xbEFXCYVWrSx/gEKS1VPlg84h/4L20znVIulKw6kMfmBUAZNAnF00eczz9ICMl+/hjQGo5KSXRxbL/47X3rmMw==" - }, - "mdast-util-compact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", - "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", - "requires": { - "unist-util-visit": "^2.0.0" - } - }, - "mdast-util-mdx": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-0.1.1.tgz", - "integrity": "sha512-9nncdnHNYSb4HNxY3AwE6gU632jhbXsDGXe9PkkJoEawYWJ8tTwmEOHGlGa2TCRidtkd6FF5I8ogDU9pTDlQyA==", - "requires": { - "mdast-util-mdx-expression": "~0.1.0", - "mdast-util-mdx-jsx": "~0.1.0", - "mdast-util-mdxjs-esm": "~0.1.0", - "mdast-util-to-markdown": "^0.6.1" - } - }, - "mdast-util-mdx-expression": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-0.1.1.tgz", - "integrity": "sha512-SoO8y1B9NjMOYlNdwXMchuTVvqSTlUmXm1P5QvZNPv7OH7aa8qJV+3aA+vl1DHK9Vk1uZAlgwokjvDQhS6bINA==", - "requires": { - "strip-indent": "^3.0.0" - } - }, - "mdast-util-mdx-jsx": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-0.1.4.tgz", - "integrity": "sha512-67KOAvCmypBSpr+AJEAVQg1Obig5Wnguo4ETTxASe5WVP4TLt57bZjDX/9EW5sWYQsO4gPqLxkUOlypVn5rkhg==", - "requires": { - "mdast-util-to-markdown": "^0.6.0", - "parse-entities": "^2.0.0", - "stringify-entities": "^3.1.0", - "unist-util-remove-position": "^3.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - } - }, - "mdast-util-mdxjs-esm": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-0.1.1.tgz", - "integrity": "sha512-kBiYeashz+nuhfv+712nc4THQhzXIH2gBFUDbuLxuDCqU/fZeg+9FAcdRBx9E13dkpk1p2Xwufzs3wsGJ+mISQ==" - }, - "mdast-util-to-markdown": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", - "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", - "requires": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - } - }, - "mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "meant": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.3.tgz", - "integrity": "sha512-88ZRGcNxAq4EH38cQ4D85PM57pikCwS8Z99EWHODxN7KBY+UuPiqzRTtZzS8KTXO/ywSWbdjjJST2Hly/EQxLw==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "mem": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", - "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", - "requires": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^3.1.0" - }, - "dependencies": { - "mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==" - } - } - }, - "memfs": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.2.tgz", - "integrity": "sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q==", - "requires": { - "fs-monkey": "1.0.3" - } - }, - "memoizee": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", - "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", - "requires": { - "d": "^1.0.1", - "es5-ext": "^0.10.53", - "es6-weak-map": "^2.0.3", - "event-emitter": "^0.3.5", - "is-promise": "^2.2.2", - "lru-queue": "^0.1.0", - "next-tick": "^1.1.0", - "timers-ext": "^0.1.7" - }, - "dependencies": { - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - } - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "meros": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/meros/-/meros-1.1.4.tgz", - "integrity": "sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ==", - "requires": {} - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" - }, - "micromark": { - "version": "2.11.4", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", - "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", - "requires": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "micromark-extension-mdx": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx/-/micromark-extension-mdx-0.2.1.tgz", - "integrity": "sha512-J+nZegf1ExPz1Ft6shxu8M9WfRom1gwRIx6gpJK1SEEqKzY5LjOR1d/WHRtjwV4KoMXrL53+PoN7T1Rw1euJew==", - "requires": { - "micromark": "~2.11.0", - "micromark-extension-mdx-expression": "~0.3.0", - "micromark-extension-mdx-jsx": "~0.3.0", - "micromark-extension-mdx-md": "~0.1.0" - } - }, - "micromark-extension-mdx-expression": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-0.3.2.tgz", - "integrity": "sha512-Sh8YHLSAlbm/7TZkVKEC4wDcJE8XhVpZ9hUXBue1TcAicrrzs/oXu7PHH3NcyMemjGyMkiVS34Y0AHC5KG3y4A==", - "requires": { - "micromark": "~2.11.0", - "vfile-message": "^2.0.0" - } - }, - "micromark-extension-mdx-jsx": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-0.3.3.tgz", - "integrity": "sha512-kG3VwaJlzAPdtIVDznfDfBfNGMTIzsHqKpTmMlew/iPnUCDRNkX+48ElpaOzXAtK5axtpFKE3Hu3VBriZDnRTQ==", - "requires": { - "estree-util-is-identifier-name": "^1.0.0", - "micromark": "~2.11.0", - "micromark-extension-mdx-expression": "^0.3.2", - "vfile-message": "^2.0.0" - } - }, - "micromark-extension-mdx-md": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-0.1.1.tgz", - "integrity": "sha512-emlFQEyfx/2aPhwyEqeNDfKE6jPH1cvLTb5ANRo4qZBjaUObnzjLRdzK8RJ4Xc8+/dOmKN8TTRxFnOYF5/EAwQ==" - }, - "micromark-extension-mdxjs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-0.3.0.tgz", - "integrity": "sha512-NQuiYA0lw+eFDtSG4+c7ao3RG9dM4P0Kx/sn8OLyPhxtIc6k+9n14k5VfLxRKfAxYRTo8c5PLZPaRNmslGWxJw==", - "requires": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark": "~2.11.0", - "micromark-extension-mdx-expression": "~0.3.0", - "micromark-extension-mdx-jsx": "~0.3.0", - "micromark-extension-mdx-md": "~0.1.0", - "micromark-extension-mdxjs-esm": "~0.3.0" - }, - "dependencies": { - "acorn": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.2.4.tgz", - "integrity": "sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg==" - } - } - }, - "micromark-extension-mdxjs-esm": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-0.3.1.tgz", - "integrity": "sha512-tuLgcELrgY1a5tPxjk+MrI3BdYtwW67UaHZdzKiDYD8loNbxwIscfdagI6A2BKuAkrfeyHF6FW3B8KuDK3ZMXw==", - "requires": { - "micromark": "~2.11.0", - "micromark-extension-mdx-expression": "^0.3.0", - "vfile-message": "^2.0.0" - } - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" - }, - "mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" - }, - "mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", - "requires": { - "mime-db": "1.47.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" - }, - "mini-css-extract-plugin": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.0.tgz", - "integrity": "sha512-nPFKI7NSy6uONUo9yn2hIfb9vyYvkFu95qki0e21DQ9uaqNKDP15DGpK0KnV6wDroWxPHtExrdEwx/yDQ8nVRw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mitt": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", - "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==" - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "multer": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.2.tgz", - "integrity": "sha512-xY8pX7V+ybyUpbYMxtjM9KAiD9ixtg5/JkeKUTD6xilfDv0vzzOFcCp4Ljb1UU3tSOM3VTZtKo63OmzOrGi3Cg==", - "requires": { - "append-field": "^1.0.0", - "busboy": "^0.2.11", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.1", - "object-assign": "^4.1.1", - "on-finished": "^2.3.0", - "type-is": "^1.6.4", - "xtend": "^4.0.0" - } - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "name-all-modules-plugin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz", - "integrity": "sha1-Cr+2rYNXGLn7Te8GdOBmV6lUN1w=" - }, - "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "optional": true - }, - "nanoid": { - "version": "3.1.23", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", - "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "native-url": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", - "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==", - "requires": { - "querystring": "^0.2.0" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-eta": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-eta/-/node-eta-0.9.0.tgz", - "integrity": "sha1-n7CwmbzSoCGUDmA8ZCVNwAPZp6g=" - }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-object-hash": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/node-object-hash/-/node-object-hash-2.3.1.tgz", - "integrity": "sha512-ab7pm34jqISawXpJ+fHjj2E9CmzDtm2fTTdurgzbWXIrdTEk2q2cSZRzoeGrwa0cvq6Sqezq6S9bhOBYPHRzuQ==" - }, - "node-releases": { - "version": "1.1.72", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz", - "integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==" - }, - "noms": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", - "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "~1.0.31" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, - "dependencies": { - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - } - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "null-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", - "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-path": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.5.tgz", - "integrity": "sha512-jgSbThcoR/s+XumvGMTMf81QVBmah+/Q7K7YduKeKVWL7N111unR2d6pZZarSk6kY/caeNxUDyxOvMWyzoU2eg==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", - "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - } - }, - "object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", - "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "opentracing": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/opentracing/-/opentracing-0.14.5.tgz", - "integrity": "sha512-XLKtEfHxqrWyF1fzxznsv78w3csW41ucHnjiKnfzZLD5FN8UBDZZL1i4q0FR29zjxXhm+2Hop+5Vr/b8tKIvEg==" - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "requires": { - "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - } - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" - }, - "p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - }, - "dependencies": { - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - } - } - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "requires": { - "retry": "^0.12.0" - } - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - } - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse-path": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz", - "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==", - "requires": { - "is-ssh": "^1.3.0", - "protocols": "^1.4.0", - "qs": "^6.9.4", - "query-string": "^6.13.8" - }, - "dependencies": { - "qs": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", - "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", - "requires": { - "side-channel": "^1.0.4" - } - } - } - }, - "parse-url": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-5.0.2.tgz", - "integrity": "sha512-Czj+GIit4cdWtxo3ISZCvLiUjErSo0iI3wJ+q9Oi3QuMYTI6OZu+7cewMWZ+C1YAnKhYTk6/TLuhIgCypLthPA==", - "requires": { - "is-ssh": "^1.3.0", - "normalize-url": "^3.3.0", - "parse-path": "^4.0.0", - "protocols": "^1.4.0" - }, - "dependencies": { - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" - } - } - }, - "parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" - }, - "parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "password-prompt": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz", - "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==", - "requires": { - "ansi-escapes": "^3.1.0", - "cross-spawn": "^6.0.5" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-starts-with": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-starts-with/-/path-starts-with-1.0.0.tgz", - "integrity": "sha1-soJDAV6LE43lcmgqxS2kLmRq2E4=", - "requires": { - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "peek-readable": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.3.tgz", - "integrity": "sha512-mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg==" - }, - "physical-cpu-count": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", - "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" - }, - "picomatch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "requires": { - "find-up": "^2.1.0" - } - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "requires": { - "find-up": "^2.1.0" - } - }, - "platform": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", - "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==" - }, - "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.0.tgz", - "integrity": "sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==", - "requires": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - } - }, - "postcss-calc": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", - "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", - "requires": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.1.0.tgz", - "integrity": "sha512-5s+VNfQ5CsR6yvBc6Tc8NK9cxb/c8sA547zy+8ofL04gs/GygmOcVZt2s6jJn7TvntAw0Bp6MDpq4bd51EPwdw==", - "requires": { - "browserslist": "^4.16.0", - "colord": "^1.7.0", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-convert-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", - "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", - "requires": {} - }, - "postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "requires": {} - }, - "postcss-loader": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.3.0.tgz", - "integrity": "sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw==", - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "semver": "^7.3.4" - }, - "dependencies": { - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - } - } - }, - "postcss-merge-longhand": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", - "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", - "requires": { - "css-color-names": "^1.0.1", - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - } - }, - "postcss-merge-rules": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.1.tgz", - "integrity": "sha512-UR6R5Ph0c96QB9TMBH3ml8/kvPCThPHepdhRqAbvMRDRHQACPC8iM5NpfIC03+VRMZTGXy4L/BvFzcDFCgb+fA==", - "requires": { - "browserslist": "^4.16.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", - "postcss-selector-parser": "^6.0.5", - "vendors": "^1.0.3" - } - }, - "postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-minify-gradients": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.1.tgz", - "integrity": "sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g==", - "requires": { - "cssnano-utils": "^2.0.1", - "is-color-stop": "^1.1.0", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-minify-params": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", - "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", - "requires": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.0", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0", - "uniqs": "^2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", - "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.0.0.tgz", - "integrity": "sha512-ghS/ovDzDqARm4Zj6L2ntadjyQMoyJmi0JkLlYtH2QFLrvNlxH5OAVRPWPeKilB0pY7SbuhO173KOWkPAxRJcw==", - "dev": true, - "requires": { - "generic-names": "^2.0.1", - "icss-replace-symbols": "^1.1.0", - "lodash.camelcase": "^4.3.0", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "string-hash": "^1.1.1" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", - "requires": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-url": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.1.tgz", - "integrity": "sha512-hkbG0j58Z1M830/CJ73VsP7gvlG1yF+4y7Fd1w4tD2c7CaA2Psll+pQ6eQhth9y9EaqZSLzamff/D0MZBMbYSg==", - "requires": { - "is-absolute-url": "^3.0.3", - "normalize-url": "^4.5.0", - "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" - } - } - }, - "postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-ordered-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.1.tgz", - "integrity": "sha512-6mkCF5BQ25HvEcDfrMHCLLFHlraBSlOXFnQMHYhSpDO/5jSR1k8LdEXOkv+7+uzW6o6tBYea1Km0wQSRkPJkwA==", - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-reduce-initial": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", - "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", - "requires": { - "browserslist": "^4.16.0", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.1.tgz", - "integrity": "sha512-cD7DFo6tF9i5eWvwtI4irKOHCpmASFS0xvZ5EQIgEdA1AWfM/XiHHY/iss0gcKHhkqwgYmuo2M0KhJLd5Us6mg==", - "requires": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.3.0" - } - }, - "postcss-unique-selectors": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", - "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", - "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, - "prettier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz", - "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==" - }, - "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "proper-lockfile": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", - "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", - "requires": { - "graceful-fs": "^4.2.4", - "retry": "^0.12.0", - "signal-exit": "^3.0.2" - } - }, - "protocols": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", - "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==" - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "requires": { - "escape-goat": "^2.0.0" - } - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "query-string": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", - "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", - "requires": { - "decode-uri-component": "^0.2.0", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - } - }, - "querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==" - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "raw-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - } - } - }, - "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "react-dev-utils": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz", - "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==", - "requires": { - "@babel/code-frame": "7.10.4", - "address": "1.1.2", - "browserslist": "4.14.2", - "chalk": "2.4.2", - "cross-spawn": "7.0.3", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "2.0.0", - "filesize": "6.1.0", - "find-up": "4.1.0", - "fork-ts-checker-webpack-plugin": "4.1.6", - "global-modules": "2.0.0", - "globby": "11.0.1", - "gzip-size": "5.1.1", - "immer": "8.0.1", - "is-root": "2.1.0", - "loader-utils": "2.0.0", - "open": "^7.0.2", - "pkg-up": "3.1.0", - "prompts": "2.4.0", - "react-error-overlay": "^6.0.9", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "strip-ansi": "6.0.0", - "text-table": "0.2.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "browserslist": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz", - "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==", - "requires": { - "caniuse-lite": "^1.0.30001125", - "electron-to-chromium": "^1.3.564", - "escalade": "^3.0.2", - "node-releases": "^1.1.61" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - } - } - }, - "prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - } - }, - "react-error-overlay": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", - "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "react-refresh": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", - "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==" - }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "requires": { - "mute-stream": "~0.0.4" - } - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "^3.0.0" - } - } - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readable-web-to-node-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.1.tgz", - "integrity": "sha512-4zDC6CvjUyusN7V0QLsXVB7pJCD9+vtrM9bYDRv6uBQ+SKfx36rp5AFNPRgh9auKRul/a1iFZJYXcCbwRL+SaA==", - "requires": { - "@types/readable-stream": "^2.3.9", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "receptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/receptor/-/receptor-1.0.0.tgz", - "integrity": "sha1-v1RHfgOH5Evr84VRILvaWt6gj4s=", - "peer": true, - "requires": { - "element-closest": "^2.0.1", - "keyboardevent-key-polyfill": "^1.0.2", - "matches-selector": "^1.0.0", - "object-assign": "^4.1.0" - } - }, - "recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "requires": { - "minimatch": "3.0.4" - } - }, - "redux": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.0.tgz", - "integrity": "sha512-uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==", - "requires": { - "@babel/runtime": "^7.9.2" - } - }, - "redux-thunk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", - "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==" - }, - "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "requires": { - "rc": "^1.2.8" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } - } - }, - "remark-mdx": { - "version": "2.0.0-next.9", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.0.0-next.9.tgz", - "integrity": "sha512-I5dCKP5VE18SMd5ycIeeEk8Hl6oaldUY6PIvjrfm65l7d0QRnLqknb62O2g3QEmOxCswcHTtwITtz6rfUIVs+A==", - "requires": { - "mdast-util-mdx": "^0.1.1", - "micromark-extension-mdx": "^0.2.0", - "micromark-extension-mdxjs": "^0.3.0" - } - }, - "remark-mdxjs": { - "version": "2.0.0-next.8", - "resolved": "https://registry.npmjs.org/remark-mdxjs/-/remark-mdxjs-2.0.0-next.8.tgz", - "integrity": "sha512-Z/+0eWc7pBEABwg3a5ptL+vCTWHYMFnYzpLoJxTm2muBSk8XyB/CL+tEJ6SV3Q/fScHX2dtG4JRcGSpbZFLazQ==", - "requires": { - "@babel/core": "7.10.5", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.10.4", - "@babel/plugin-syntax-jsx": "7.10.4", - "@mdx-js/util": "^2.0.0-next.8" - }, - "dependencies": { - "@babel/core": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz", - "integrity": "sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.5", - "@babel/helper-module-transforms": "^7.10.5", - "@babel/helpers": "^7.10.4", - "@babel/parser": "^7.10.5", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.5", - "@babel/types": "^7.10.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", - "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.4" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", - "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "remark-parse": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", - "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", - "requires": { - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "parse-entities": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", - "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, - "unist-util-is": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", - "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" - }, - "unist-util-remove-position": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", - "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", - "requires": { - "unist-util-visit": "^1.1.0" - } - }, - "unist-util-visit": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", - "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", - "requires": { - "unist-util-visit-parents": "^2.0.0" - } - }, - "unist-util-visit-parents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", - "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", - "requires": { - "unist-util-is": "^3.0.0" - } - } - } - }, - "remark-stringify": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz", - "integrity": "sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==", - "requires": { - "ccount": "^1.0.0", - "is-alphanumeric": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "longest-streak": "^2.0.1", - "markdown-escapes": "^1.0.0", - "markdown-table": "^2.0.0", - "mdast-util-compact": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "stringify-entities": "^3.0.0", - "unherit": "^1.0.4", - "xtend": "^4.0.1" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "renderkid": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", - "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", - "requires": { - "css-select": "^2.0.2", - "dom-converter": "^0.2", - "htmlparser2": "^3.10.1", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "require-package-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz", - "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - }, - "resolve-id-refs": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/resolve-id-refs/-/resolve-id-refs-0.1.0.tgz", - "integrity": "sha1-MSZiS4h0idqPwK6IljL4QTrGw+w=", - "peer": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "resolve-url-loader": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.3.tgz", - "integrity": "sha512-WbDSNFiKPPLem1ln+EVTE+bFUBdTTytfQZWbmghroaFNFaAVmGq0Saqw6F/306CwgPXsGwXVxbODE+3xAo/YbA==", - "dev": true, - "requires": { - "adjust-sourcemap-loader": "3.0.0", - "camelcase": "5.3.1", - "compose-function": "3.0.3", - "convert-source-map": "1.7.0", - "es6-iterator": "2.0.3", - "loader-utils": "1.2.3", - "postcss": "7.0.21", - "rework": "1.0.1", - "rework-visit": "1.0.0", - "source-map": "0.6.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", - "dev": true, - "requires": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - }, - "dependencies": { - "convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", - "dev": true - } - } - }, - "rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", - "dev": true - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sass": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.33.0.tgz", - "integrity": "sha512-9v0MUXnSi62FtfjqcwZ+b8B9FIxdwFEb3FPUkjEPXWd0b5KcnPGSp2XF9WrzcH1ZxedfgJVTdA3A1j4eEj53xg==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0" - } - }, - "sass-loader": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.1.1.tgz", - "integrity": "sha512-fOCp/zLmj1V1WHDZbUbPgrZhA7HKXHEqkslzB+05U5K9SbSbcmH91C7QLW31AsXikxUMaxXRhhcqWZAxUMLDyA==", - "dev": true, - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" - }, - "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - } - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "requires": { - "kind-of": "^6.0.2" - } - }, - "shallow-compare": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/shallow-compare/-/shallow-compare-1.2.2.tgz", - "integrity": "sha512-LUMFi+RppPlrHzbqmFnINTrazo0lPNwhcgzuAXVVcfy/mqPDrQmHAyz5bvV0gDAuRFrk804V0HpQ6u9sZ0tBeg==" - }, - "shallow-equal": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", - "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "single-trailing-newline": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/single-trailing-newline/-/single-trailing-newline-1.0.0.tgz", - "integrity": "sha1-gfCtKtZFGBlFyAlSpcFBSZLulmQ=", - "requires": { - "detect-newline": "^1.0.3" - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "slugify": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.5.3.tgz", - "integrity": "sha512-/HkjRdwPY3yHJReXu38NiusZw2+LLE2SrhkWJtmlPDB1fqFSvioYj62NkPcrKiNCgRLeGcGK7QBvr1iQwybeXw==" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "socket.io": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.1.tgz", - "integrity": "sha512-7cBWdsDC7bbyEF6WbBqffjizc/H4YF1wLdZoOzuYfo2uMNSFjJKuQ36t0H40o9B20DO6p+mSytEd92oP4S15bA==", - "requires": { - "@types/cookie": "^0.4.0", - "@types/cors": "^2.8.8", - "@types/node": "^14.14.10", - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.1", - "engine.io": "~4.1.0", - "socket.io-adapter": "~2.1.0", - "socket.io-parser": "~4.0.3" - }, - "dependencies": { - "@types/node": { - "version": "14.17.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.0.tgz", - "integrity": "sha512-w8VZUN/f7SSbvVReb9SWp6cJFevxb4/nkG65yLAya//98WgocKm5PLDAtSs5CtJJJM+kHmJjO/6mmYW4MHShZA==" - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "socket.io-adapter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz", - "integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==" - }, - "socket.io-client": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.1.1.tgz", - "integrity": "sha512-BLgIuCjI7Sf3mDHunKddX9zKR/pbkP7IACM3sJS3jha+zJ6/pGKRV6Fz5XSBHCfUs9YzT8kYIqNwOOuFNLtnYA==", - "requires": { - "@types/component-emitter": "^1.2.10", - "backo2": "~1.0.2", - "component-emitter": "~1.3.0", - "debug": "~4.3.1", - "engine.io-client": "~4.1.0", - "parseuri": "0.0.6", - "socket.io-parser": "~4.0.4" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "requires": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "sockjs-client": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", - "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", - "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.1" - } - }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.8.tgz", - "integrity": "sha512-NDgA96EnaLSvtbM7trJj+t1LUR3pirkDCcz9nOUlPb5DMBGsH7oES6C3hs3j7R9oHEa1EMvReS/BUAIT5Tcr0g==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "st": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/st/-/st-2.0.0.tgz", - "integrity": "sha512-drN+aGYnrZPNYIymmNwIY7LXYJ8MqsqXj4fMRue3FOgGMdGjSX10fhJ3qx0sVQPhcWxhEaN4U/eWM4O4dbYNAw==", - "requires": { - "async-cache": "^1.1.0", - "bl": "^4.0.0", - "fd": "~0.0.2", - "graceful-fs": "^4.2.3", - "mime": "^2.4.4", - "negotiator": "~0.6.2" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==" - }, - "state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "streamsearch": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", - "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" - }, - "strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-env-interpolation": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz", - "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==" - }, - "string-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", - "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", - "dev": true - }, - "string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "string-similarity": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-1.2.2.tgz", - "integrity": "sha512-IoHUjcw3Srl8nsPlW04U3qwWPk3oG2ffLM0tN853d/E/JlIvcmZmDY2Kz5HzKp4lEi2T7QD7Zuvjq/1rDw+XcQ==", - "requires": { - "lodash.every": "^4.6.0", - "lodash.flattendeep": "^4.4.0", - "lodash.foreach": "^4.5.0", - "lodash.map": "^4.6.0", - "lodash.maxby": "^4.6.0" - } - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "string.prototype.matchall": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz", - "integrity": "sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has-symbols": "^1.0.1", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "stringify-entities": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", - "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", - "requires": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - } - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "requires": { - "min-indent": "^1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "strtok3": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.0.8.tgz", - "integrity": "sha512-QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw==", - "requires": { - "@tokenizer/token": "^0.1.1", - "@types/debug": "^4.1.5", - "peek-readable": "^3.1.3" - }, - "dependencies": { - "@types/debug": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", - "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" - } - } - }, - "style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "requires": { - "inline-style-parser": "0.1.1" - } - }, - "stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "requires": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - } - }, - "subscriptions-transport-ws": { - "version": "0.9.18", - "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.18.tgz", - "integrity": "sha512-tztzcBTNoEbuErsVQpTN2xUNN/efAZXyCyL5m3x4t6SKrEiTL2N8SaKWBFWM4u56pL79ULif3zjyeq+oV+nOaA==", - "requires": { - "backo2": "^1.0.2", - "eventemitter3": "^3.1.0", - "iterall": "^1.2.1", - "symbol-observable": "^1.0.4", - "ws": "^5.2.0" - }, - "dependencies": { - "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" - }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "sudo-prompt": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz", - "integrity": "sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "svgo": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.0.tgz", - "integrity": "sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q==", - "requires": { - "@trysound/sax": "0.1.1", - "chalk": "^4.1.0", - "commander": "^7.1.0", - "css-select": "^3.1.2", - "css-tree": "^1.1.2", - "csso": "^4.2.0", - "stable": "^0.1.8" - }, - "dependencies": { - "css-select": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", - "integrity": "sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^4.0.0", - "domhandler": "^4.0.0", - "domutils": "^2.4.3", - "nth-check": "^2.0.0" - } - }, - "css-what": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", - "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==" - }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" - }, - "domhandler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", - "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", - "requires": { - "boolbase": "^1.0.0" - } - } - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, - "sync-fetch": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.3.0.tgz", - "integrity": "sha512-dJp4qg+x4JwSEW1HibAuMi0IIrBI3wuQr2GimmqB7OXR50wmwzfdusG+p39R9w3R6aFtZ2mzvxvWKQ3Bd/vx3g==", - "requires": { - "buffer": "^5.7.0", - "node-fetch": "^2.6.1" - } - }, - "table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "requires": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.5.0.tgz", - "integrity": "sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - }, - "term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" - }, - "terser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } - } - }, - "terser-webpack-plugin": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.2.tgz", - "integrity": "sha512-6QhDaAiVHIQr5Ab3XUWZyDmrIPCHMiqJVljMF91YKyqwKkL5QHnYMkrMBy96v9Z7ev1hGhSEw1HQZc2p/s5Z8Q==", - "requires": { - "jest-worker": "^26.6.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.7.0" - }, - "dependencies": { - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, - "timers-ext": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", - "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", - "requires": { - "es5-ext": "~0.10.46", - "next-tick": "1" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "token-types": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-2.1.1.tgz", - "integrity": "sha512-wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==", - "requires": { - "@tokenizer/token": "^0.1.1", - "ieee754": "^1.2.1" - } - }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, - "trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" - }, - "trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" - }, - "true-case-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" - }, - "ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", - "requires": { - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - } - }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" - }, - "tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.0.2.tgz", - "integrity": "sha512-a720oz3Kjbp3ll0zkeN9qjRhO7I34MKMhPGQiQJAmaZQZQ1lo+NWThK322f7sXV+kTg9B1Ybt16KgBXWgteT8w==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "type-of": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-of/-/type-of-2.0.1.tgz", - "integrity": "sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI=" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==" - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" - }, - "unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "requires": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" - }, - "unified": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", - "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - } - } - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - } - } - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" - }, - "unist-util-remove": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", - "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", - "requires": { - "unist-util-is": "^4.0.0" - } - }, - "unist-util-remove-position": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-3.0.0.tgz", - "integrity": "sha512-17kIOuolVuK16LMb9KyMJlqdfCtlfQY5FjY3Sdo9iC7F5wqdXhNjMq0PBvMpkVNNnAmHxXssUW+rZ9T2zbP0Rg==", - "requires": { - "unist-util-visit": "^2.0.0" - } - }, - "unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "requires": { - "@types/unist": "^2.0.2" - } - }, - "unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - } - }, - "unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "unixify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", - "integrity": "sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=", - "requires": { - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "requires": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "boxen": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", - "integrity": "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==", - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.0", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - } - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - } - } - }, - "url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "requires": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "uswds": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/uswds/-/uswds-2.10.3.tgz", - "integrity": "sha512-krNRzx1jRzOJpuH/qtmQhd5zxnXTaDVqrPNYT99sJbxzWUqjb1zZHh3jFNo+xKDpNuiO0XMPwZwlaSp2YdZ3Ag==", - "peer": true, - "requires": { - "classlist-polyfill": "^1.0.3", - "del": "^6.0.0", - "domready": "^1.0.8", - "elem-dataset": "^2.0.0", - "lodash.debounce": "^4.0.7", - "object-assign": "^4.1.1", - "receptor": "^1.0.0", - "resolve-id-refs": "^0.1.0" - }, - "dependencies": { - "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "peer": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "peer": true, - "requires": { - "aggregate-error": "^3.0.0" - } - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - }, - "valid-url": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "value-or-promise": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.6.tgz", - "integrity": "sha512-9r0wQsWD8z/BxPOvnwbPf05ZvFngXyouE9EKB+5GbYix+BYnAwrIChCUyFIinfbf2FL/U71z+CPpbnmTdxrwBg==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - }, - "vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - } - }, - "vfile-location": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", - "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==" - }, - "vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "vue": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.11.tgz", - "integrity": "sha512-3/eUi4InQz8MPzruHYSTQPxtM3LdZ1/S/BvaU021zBnZi0laRUyH6pfuE4wtUeLvI8wmUNwj5wrZFvbHUXL9dw==", - "dev": true, - "peer": true, - "requires": { - "@vue/compiler-dom": "3.0.11", - "@vue/runtime-dom": "3.0.11", - "@vue/shared": "3.0.11" - } - }, - "watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webpack": { - "version": "5.37.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.37.1.tgz", - "integrity": "sha512-btZjGy/hSjCAAVHw+cKG+L0M+rstlyxbO2C+BOTaQ5/XAnxkDrP5sVbqWhXgo4pL3X2dcOib6rqCP20Zr9PLow==", - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.47", - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/wasm-edit": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "acorn": "^8.2.1", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.4.0", - "eslint-scope": "^5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.0.0", - "webpack-sources": "^2.1.1" - }, - "dependencies": { - "acorn": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.2.4.tgz", - "integrity": "sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg==" - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==" - }, - "webpack-sources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, - "webpack-dev-middleware": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz", - "integrity": "sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==", - "requires": { - "colorette": "^1.2.2", - "mem": "^8.1.1", - "memfs": "^3.2.2", - "mime-types": "^2.1.30", - "range-parser": "^1.2.1", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "requires": { - "async-limiter": "~1.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - } - } - }, - "webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "webpack-stats-plugin": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/webpack-stats-plugin/-/webpack-stats-plugin-1.0.3.tgz", - "integrity": "sha512-tV/SQHl6lKfBahJcNDmz8JG1rpWPB9NEDQSMIoL74oVAotdxYljpgIsgLzgc1N9QrtA9KEA0moJVwQtNZv2aDA==" - }, - "webpack-virtual-modules": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.3.2.tgz", - "integrity": "sha512-RXQXioY6MhzM4CNQwmBwKXYgBs6ulaiQ8bkNQEl2J6Z+V+s7lgl/wGvaI/I0dLnYKB8cKsxQc17QOAVIphPLDw==", - "requires": { - "debug": "^3.0.0" - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.0" - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", - "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", - "requires": { - "microevent.ts": "~0.1.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", - "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", - "requires": {} - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" - }, - "xmlhttprequest-ssl": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz", - "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==" - }, - "xss": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.9.tgz", - "integrity": "sha512-2t7FahYnGJys6DpHLhajusId7R0Pm2yTmuL0GV9+mV0ZlaLSnb2toBmppATfg5sWIhZQGlsTLoecSzya+l4EAQ==", - "requires": { - "commander": "^2.20.3", - "cssfilter": "0.0.10" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "xstate": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.19.1.tgz", - "integrity": "sha512-tnBh6ue9MiyoMkE2+w1IqfvJm4nBe3S4Ky/RLvlo9vka8FdO4WyyT3M7PA0pQoM/FZ9aJVWFOlsNw0Nc7E+4Bw==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yaml-loader": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.6.0.tgz", - "integrity": "sha512-1bNiLelumURyj+zvVHOv8Y3dpCri0F2S+DCcmps0pA1zWRLjS+FhZQg4o3aUUDYESh73+pKZNI18bj7stpReow==", - "requires": { - "loader-utils": "^1.4.0", - "yaml": "^1.8.3" - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==" - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - }, - "yoga-layout-prebuilt": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.10.0.tgz", - "integrity": "sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==", - "requires": { - "@types/yoga-layout": "1.9.2" - } - }, - "yurnalist": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/yurnalist/-/yurnalist-2.1.0.tgz", - "integrity": "sha512-PgrBqosQLM3gN2xBFIMDLACRTV9c365VqityKKpSTWpwR+U4LAFR3rSVyEoscWlu3EzX9+Y0I86GXUKxpHFl6w==", - "requires": { - "chalk": "^2.4.2", - "inquirer": "^7.0.0", - "is-ci": "^2.0.0", - "read": "^1.0.7", - "strip-ansi": "^5.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" - } - } -} diff --git a/client/package.json b/client/package.json deleted file mode 100644 index e5092b9e..00000000 --- a/client/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "justice40-tool", - "version": "1.0.0", - "private": true, - "description": "Justice40 Tool", - "author": "Nat Hillard", - "keywords": [ - "gatsby" - ], - "scripts": { - "develop": "gatsby develop", - "start": "gatsby develop", - "build": "gatsby build", - "serve": "gatsby serve", - "clean": "gatsby clean", - "intl:extract": "formatjs extract 'src/(pages|components)/*.tsx' --out-file src/intl/en.json", - "intl:compile": "formatjs compile src/intl/en.json --ast --out-file compiled-lang/en.json" - }, - "devDependencies": { - "@formatjs/cli": "^4.2.15", - "@types/node": "^15.3.1", - "@types/react": "^17.0.1", - "@types/react-dom": "^17.0.1", - "gatsby-cli": "^3.5.0", - "gatsby-plugin-intl": "^0.3.3", - "gatsby-plugin-sass": "^4.5.0", - "sass": "^1.33.0", - "sass-loader": "^11.1.1" - }, - "dependencies": { - "@trussworks/react-uswds": "^1.17.0", - "gatsby": "^3.4.1", - "react": "^17.0.1", - "react-dom": "^17.0.1" - } -} diff --git a/client/src/components/J40footer.tsx b/client/src/components/J40footer.tsx deleted file mode 100644 index dd00763c..00000000 --- a/client/src/components/J40footer.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import { Footer } from '@trussworks/react-uswds'; -import {Link} from 'gatsby-plugin-intl'; - -const footerLinks = [ - Home -]; - -const J40Footer = () => { - return ( - <> -